《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 14位A/DMAX194在ARM單片機(jī)系統(tǒng)中的設(shè)計(jì)
14位A/DMAX194在ARM單片機(jī)系統(tǒng)中的設(shè)計(jì)
電子元器件應(yīng)用
楊占錄 董保國(guó)
摘要: 在使用MAX194中應(yīng)盡可能把數(shù)字地和模擬地分開。如果模擬電源和數(shù)字電源來(lái)自同一個(gè)電源,那么用一低值電阻(10 Ω)將數(shù)字電源和模擬電源隔離。MAX194內(nèi)部的高速比較器對(duì)VDDA和VSSA的高頻噪聲很敏感,應(yīng)該用0.1 μF與1 μF或10 μF的并聯(lián)電容將電源旁路接到模擬地。 用于數(shù)據(jù)采集系統(tǒng)的A/D轉(zhuǎn)換芯片有很多,新品更是層出不窮,數(shù)據(jù)采集的速度和精度等性能也在不斷提高,在應(yīng)用中不但應(yīng)根據(jù)實(shí)際情況采用性價(jià)比較高的A/D轉(zhuǎn)換芯片,而且應(yīng)選用高性價(jià)比的處理器(如本文所選LPC2104),這樣才能提高整個(gè)系統(tǒng)的性能。
Abstract:
Key words :

引言

    為了實(shí)現(xiàn)計(jì)算機(jī)的自動(dòng)測(cè)量與控制,越來(lái)越多的領(lǐng)域采用了A/D轉(zhuǎn)換技術(shù)。隨著大規(guī)模集成電路芯片技術(shù)的發(fā)展,速度更快、精度更高、使用更方便的集成電路芯片層出不窮。本文介紹了一種筆者使用后取得良好效果的新型A/D轉(zhuǎn)換芯片—MAX194。另外,由于32位處理器的價(jià)格不斷下降,用戶已可以大量使用,而32位RISC處理器則更是受到青睞,并將在某些領(lǐng)域替代原來(lái)的8位單片機(jī)。其中,ARM嵌入式微處理器系列處于領(lǐng)先地位。筆者所介紹的數(shù)據(jù)采集系統(tǒng)中采用的是PHILIPS公司生產(chǎn)的以ARM7處理器作為內(nèi)核的LPC2104單片機(jī)。

1    MAX194簡(jiǎn)介

    MAX194是MAXIM公司推出的一種逐次逼近型模數(shù)轉(zhuǎn)換器(ADC),具有高速、高精度、低功耗等特點(diǎn)。MAX194內(nèi)部設(shè)有校準(zhǔn)電路,用于保證全溫度范圍內(nèi)的線性度,從而維持全量程內(nèi)的高性能,且不需要外部的調(diào)整電路。分開的模擬和數(shù)字供電最大程度地減少了數(shù)字噪聲耦合。MAX194的內(nèi)部結(jié)構(gòu)如圖1所示,其主要特性如下:

◇ 14位分辨率,1/2LSB非線性度,82分貝的信噪比;
◇ A/D轉(zhuǎn)換時(shí)間為9.4 μs;
◇ 低功耗,節(jié)電模式下僅為10 μA;
◇ 內(nèi)置采樣/保持器(T/H);
◇ 單極性(0~VREF)或雙極性(-VREF~VREF)輸入;
◇ 3態(tài)串行接口輸出;
◇ 與16位的A/D轉(zhuǎn)換器MAX195引腳兼容、輸出數(shù)據(jù)格式相同,便于升級(jí)。

1.1    MAX194的主要引腳功能

◇ BP/UP/SHDN:三態(tài)輸入選擇端。0 V為關(guān)斷,+5 V為單極性,浮空為雙極性;
◇ CLK:轉(zhuǎn)換時(shí)鐘輸入端;
◇ SCLK:串行時(shí)鐘輸入端。用于移出數(shù)據(jù),可以與CLK異步;
◇ DOUT:串行數(shù)據(jù)輸出端。高位先出;
◇ EOC:轉(zhuǎn)換結(jié)束信號(hào)輸出端。轉(zhuǎn)換開始時(shí)上升,結(jié)束時(shí)下降;
◇ CS:片選輸入端。當(dāng)為低電平時(shí)允許三態(tài)數(shù)據(jù)輸出;
◇ CONV:轉(zhuǎn)換開始輸入端。在波形的下降沿開始轉(zhuǎn)換;
◇ RESET:復(fù)位輸入端;
◇ REF:參考電壓輸入端;
◇ AIN:模擬量輸入端。

1.2    工作模式

  MAX194有兩種接口模式。

◇ 同步模式:MAX194在轉(zhuǎn)換過(guò)程中,每轉(zhuǎn)換完成一個(gè),數(shù)據(jù)位就輸出一位。此時(shí),SCLK應(yīng)該接地,CLK既作為ADC的轉(zhuǎn)換時(shí)鐘又作為串行接口的移位輸出時(shí)鐘。

◇ 異步模式:?jiǎn)纹瑱C(jī)只能在MAX194完成一次轉(zhuǎn)換之后才能將轉(zhuǎn)換結(jié)果讀出,然后再啟動(dòng)下一次轉(zhuǎn)換。這種模式降低了MAX194連續(xù)轉(zhuǎn)換的速度。

1.3    硬件接口

    串行接口標(biāo)準(zhǔn)與SPITM、QSPITM兼容。MAX194在進(jìn)行A/D轉(zhuǎn)換時(shí)需要由外部提供時(shí)鐘信號(hào)。圖2是MAX194與單片機(jī)采用異步模式的硬件連接圖。該圖中,MAX194進(jìn)行A/D轉(zhuǎn)換所需的時(shí)鐘信號(hào)由外部晶振分頻得到。使用者也可根據(jù)需要由單片機(jī)提供該時(shí)鐘信號(hào)。時(shí)鐘信號(hào)的最大頻率是1.7 MHz,參考電壓的范圍是0~VDDA+0.3 V。為了防止從AIN端輸入的信號(hào)損壞ADC,應(yīng)在信號(hào)輸入端加電壓限幅電路以保護(hù)MAX194。圖3是其時(shí)序圖。P3.0產(chǎn)生的START信號(hào)與CLK信號(hào)相“或”后作為啟動(dòng)轉(zhuǎn)換的CONV信號(hào)。CONV的下降沿可以啟動(dòng)轉(zhuǎn)換,開始轉(zhuǎn)換后監(jiān)測(cè)EOC,當(dāng)它由高電平變低時(shí)說(shuō)明轉(zhuǎn)換已經(jīng)結(jié)束,適當(dāng)延時(shí)后就可以從串口讀出轉(zhuǎn)換結(jié)果,讀數(shù)據(jù)的最高速率是4.19 Mbps。


2    LPC2104芯片簡(jiǎn)介

    LPC2104 包含一個(gè)支持仿真的ARM7TDMI-S CPU、與片內(nèi)存儲(chǔ)器控制器進(jìn)行接口的ARM7局部總線、與中斷控制器接口的AMBA高性能總線(AHB)以及用于連接片內(nèi)外設(shè)的VLSI外設(shè)總線VPB與ARM7 高級(jí)外設(shè)總線相兼容的超集。主要特點(diǎn)有:128 K 片內(nèi)Flash 程序存儲(chǔ)器帶ISP 和IAP 功能;Flash 編程時(shí)間1 ms;可編程512字節(jié);扇區(qū)擦除和整片擦除只需400 ms;16 K 靜態(tài)RAM;向量中斷控制器;仿真跟蹤模塊支持實(shí)時(shí)跟蹤;標(biāo)準(zhǔn)ARM 測(cè)試/調(diào)試接口兼容現(xiàn)有工具;雙UART的其中一個(gè)帶有完全的調(diào)制解調(diào)器接口;高速I2C 串行接口400 kB/s;SPI 串行接口;兩個(gè)定時(shí)器分別具有4 路捕獲/比較通道;多達(dá)6 路輸出的PWM 單元;實(shí)時(shí)時(shí)鐘;看門狗定時(shí)器;通用I/O 口;CPU 操作頻率可達(dá)60 MHz。

3    MAX194與LPC2104接口設(shè)計(jì)

3.1    硬件接口

     MAX194和LPC2104都帶有標(biāo)準(zhǔn)的SPI接口,可以非常方便地實(shí)現(xiàn)它們的硬件和軟件接口。其硬件接口如圖2所示。SPI 是一個(gè)全雙工的串行接口,它被設(shè)計(jì)成用于處理在一個(gè)給定總線上多個(gè)互連的主機(jī)和從機(jī)。在一定數(shù)據(jù)傳輸過(guò)程中,接口上只能有一個(gè)主機(jī)和一個(gè)從機(jī)通信。在一次數(shù)據(jù)傳輸中,主機(jī)總是向從機(jī)發(fā)送一個(gè)字節(jié)數(shù)據(jù),而從機(jī)也總是向主機(jī)發(fā)送一個(gè)字節(jié)數(shù)據(jù)。
在該系統(tǒng)中,LPC2104設(shè)置為主機(jī),MAX194設(shè)置為從機(jī)主機(jī)操作。

3.1    軟件實(shí)現(xiàn)

軟件的流程圖如圖4所示。主要分為三大部分。

1、SPI配置部分:首先,配置LPC2104的SPI引腳模塊;隨后,設(shè)置SPI_SPCCR和SPI_SPCR,并將LPC2104的SPI模塊設(shè)置為主模式,MSB(最高位)先傳輸,禁止SPI中斷,SPI接口速率為1 MHz,CPOL=0、CPHA=0在SCLK下降沿觸發(fā)。

2、MAX194轉(zhuǎn)換部分:通過(guò)向MAX194的CONV引腳發(fā)低脈沖啟動(dòng)A/D轉(zhuǎn)換,轉(zhuǎn)換開始后MAX194的EOC引腳變?yōu)楦唠娖剑赏ㄟ^(guò)檢測(cè)EOC引腳是否變?yōu)榈碗娖絹?lái)判斷A/D轉(zhuǎn)換的完成。

3、MAX194數(shù)據(jù)讀取部分:首先置低MAX194的CS片選引腳,將無(wú)效數(shù)據(jù)0XFF送至SPI_SPDR以啟動(dòng)SPI總線,通過(guò)判SPIF位的置位來(lái)判斷SPI總線傳輸是否完成,讀取SPI_SPDR后,獲得A/D轉(zhuǎn)換結(jié)果的第一個(gè)字節(jié)(BIT13-BIT6)并調(diào)整數(shù)據(jù);將無(wú)效數(shù)據(jù)0XFF再送至SPI_SPDR,然后再啟動(dòng)SPI總線,仍通過(guò)判SPIF位的置位來(lái)判斷SPI總線傳輸?shù)耐瓿汕闆r,讀取SPI_SPDR后,獲得A/D轉(zhuǎn)換結(jié)果的第二個(gè)字節(jié)(BIT13-BIT6)并調(diào)整數(shù)據(jù),最后將MAX194 的14位A/D轉(zhuǎn)換數(shù)據(jù)存儲(chǔ)在16位無(wú)符號(hào)變量rcv_data中。

#include “LPC2104.H”// 調(diào)用LPC2104寄存器頭文件
#define   MAX194_CS      0x00000100       // P0.8口為MAX194的片選和信號(hào)
#define   MAX194_EOC  0x00000100       // P0.9口為MAX194的轉(zhuǎn)換結(jié)束信號(hào)
#define    MAX194_UP     0x00000400        //P0.10口為MAX194的三態(tài)選擇信號(hào)
#define MAX194_CONV 0x00000800       //P0.10口為MAX194的轉(zhuǎn)換啟動(dòng)信號(hào) 
int  main(void)
{ uint16  rcv_data;            //存儲(chǔ)A/D 轉(zhuǎn)換后的14位數(shù)據(jù)的變量
 PINSEL0 = 0x00005500;            //設(shè)置SPI管腳連接
 PINSEL1 = 0x00000000;
IODIR = MAX194_CS|MAX194_UP|MAX194_CONV;// 設(shè)置P0.8,P0.10,P0.11為輸出
……
MSpiIni(  );                 // 初始化SPI接口
MSendData(0xFF,rcv_data);      // 進(jìn)行A/D轉(zhuǎn)換病讀取數(shù)據(jù)
 ……  
}
void  MSpiIni(void)
{ SPI_SPCCR = 0x0B;   // 設(shè)置SPI時(shí)鐘分頻, SPI時(shí)鐘為1 MHz
SPI_SPCR = 0x20;   // 設(shè)置SPI接口模式,MSTR=1,CPOL=0,CPHA=0,LSBF=0
IOCLR = MAX194_UP;  //關(guān)斷輸入
}
uint8  MSendData(uint8 s_data,uint16 r_data)
{ uint32 temp;
         IOSET=Max194_UP;        // 打開輸入
         IOCLR = MAX194_CONV;   // 啟動(dòng)轉(zhuǎn)換
         Delay(10);                // 延時(shí) 10us
         IOSET = MAX194_CONV;
         do
         { temp=IOPIN;}
         while(temp&MAX194_EOC) ;   // 轉(zhuǎn)換結(jié)束
         IOCLR = MAX194_CS;  // 片選
         SPI_SPDR = s_data;           // 發(fā)送數(shù)據(jù)0xFF
         while( 0==(SPI_SPSR&0x80) );  // 等待SPIF置位,即等待數(shù)據(jù)發(fā)送完畢
         r_data= (uint16)SPI_SPDR;     //讀取第一個(gè)字節(jié)數(shù)據(jù)
         r_data<<=6;                 //調(diào)整數(shù)據(jù)
         SPI_SPDR = s_data;           // 發(fā)送數(shù)據(jù)0xFF
         while( 0==(SPI_SPSR&0x80) );  // 等待SPIF置位,即等待數(shù)據(jù)發(fā)送完畢
         r_data= r_data|(SPI_SPDR>>2);  //讀取第二個(gè)字節(jié)數(shù)據(jù)并調(diào)整
         IOSET = MAX194_CS;  
         IOCLR = MAX194_UP;        //關(guān)斷輸入
}

4    結(jié)束語(yǔ)

    在使用MAX194中應(yīng)盡可能把數(shù)字地和模擬地分開。如果模擬電源和數(shù)字電源來(lái)自同一個(gè)電源,那么用一低值電阻(10 Ω)將數(shù)字電源和模擬電源隔離。MAX194內(nèi)部的高速比較器對(duì)VDDA和VSSA的高頻噪聲很敏感,應(yīng)該用0.1 μF與1 μF或10 μF的并聯(lián)電容將電源旁路接到模擬地。

    用于數(shù)據(jù)采集系統(tǒng)的A/D轉(zhuǎn)換芯片有很多,新品更是層出不窮,數(shù)據(jù)采集的速度和精度等性能也在不斷提高,在應(yīng)用中不但應(yīng)根據(jù)實(shí)際情況采用性價(jià)比較高的A/D轉(zhuǎn)換芯片,而且應(yīng)選用高性價(jià)比的處理器(如本文所選LPC2104),這樣才能提高整個(gè)系統(tǒng)的性能。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品午夜国产小视频| 日韩午夜在线电影| 欧美日韩在线视频首页| 欧美国产日韩精品免费观看| 欧美va日韩va| 免费成人激情视频| 麻豆精品网站| 久久一区二区三区av| 久久久噜噜噜久久人人看| 久久av一区二区| 欧美一区二区在线免费播放| 性色av一区二区三区红粉影视| 亚洲一区亚洲| 午夜精品久久99蜜桃的功能介绍| 亚洲资源在线观看| 亚洲永久网站| 亚洲欧美激情视频| 性视频1819p久久| 久久福利电影| 久久三级福利| 免费一区二区三区| 欧美精品18videos性欧美| 欧美精彩视频一区二区三区| 欧美日韩国产综合一区二区| 欧美三区不卡| 国产精品视频一二三| 国产一区二区0| 伊人成人网在线看| 亚洲黄色影片| 在线亚洲自拍| 亚洲欧美在线播放| 亚洲第一搞黄网站| 亚洲三级性片| 欧美日韩一区二| 久久精品视频免费观看| 久热这里只精品99re8久| 欧美3dxxxxhd| 欧美视频精品在线观看| 国产情侣久久| 在线观看一区| 亚洲美女在线视频| 亚洲香蕉视频| 亚洲第一精品福利| 亚洲毛片在线观看| 亚洲免费伊人电影在线观看av| 久久国产精品99国产| 久久日韩精品| 欧美日韩午夜剧场| 国产亚洲一区二区三区| 亚洲大胆视频| 亚洲一区国产| 亚洲高清免费在线| 99亚洲一区二区| 性色av一区二区三区| 欧美成人午夜激情视频| 国产精品美女视频网站| 一区在线观看| 一区二区三区视频免费在线观看| 亚洲欧美网站| 日韩视频在线你懂得| 欧美专区第一页| 欧美激情小视频| 国产精品婷婷| 91久久精品国产91久久性色tv| 亚洲一区二区精品视频| 亚洲人精品午夜| 欧美一区二区三区在线看| 欧美大片在线观看一区二区| 国产精品视频1区| 91久久国产综合久久蜜月精品 | 国产一区二区中文| 亚洲精品网站在线播放gif| 午夜一区二区三区在线观看| 亚洲美女诱惑| 久久久国产一区二区三区| 欧美日韩三级一区二区| 激情小说亚洲一区| 亚洲一区二区在线观看视频| 99成人免费视频| 久久这里只有| 国产欧美日韩综合一区在线观看| 日韩视频二区| 亚洲电影免费在线| 亚洲精品一区在线观看| 欧美亚洲免费| 欧美日韩精品在线播放| 在线播放中文一区| 亚洲欧美日韩精品综合在线观看 | 麻豆精品视频在线观看| 国产精品日韩欧美一区| 一区二区三区黄色| 西西人体一区二区| 欧美激情精品久久久| 国产在线视频欧美| 亚洲色图综合久久| 一本大道久久a久久精二百| 久热成人在线视频| 国产亚洲精品久久久久动| 亚洲婷婷综合久久一本伊一区| 日韩午夜激情电影| 欧美va天堂va视频va在线| 国产一区二区三区视频在线观看| 亚洲视频一区二区免费在线观看| 99av国产精品欲麻豆| 久久亚洲视频| 国内精品久久久久久久果冻传媒 | 亚洲一二三区精品| 欧美精品日韩一本| 一区二区亚洲精品国产| 欧美一区二区三区视频| 欧美在线999| 国产精品一级二级三级| 一区二区三区精品久久久| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 国产精品国产三级国产普通话蜜臀| 亚洲人成高清| 亚洲美女av电影| 欧美精品久久一区| 亚洲精品系列| 99这里只有久久精品视频| 欧美理论电影网| 日韩一区二区高清| 中日韩美女免费视频网站在线观看 | 国产日本欧美一区二区三区| 91久久精品日日躁夜夜躁国产| 欧美一区在线直播| 国产精品视频导航| 亚洲午夜女主播在线直播| 亚洲一区二区黄| 国产精品白丝黑袜喷水久久久 | 亚洲视频日本| 欧美一区二视频| 国产在线视频欧美一区二区三区| 久久狠狠亚洲综合| 另类亚洲自拍| 亚洲日本免费| 亚洲一区视频在线| 国产日产亚洲精品系列| 久久av免费一区| 美女图片一区二区| 亚洲理论在线观看| 亚洲综合色丁香婷婷六月图片| 国产伦精品一区二区三区在线观看| 欧美影院在线| 欧美黑人国产人伦爽爽爽| 夜夜嗨av一区二区三区免费区| 午夜精品久久久久久久男人的天堂| 国产欧美一区二区三区在线老狼| 久久aⅴ国产欧美74aaa| 欧美激情一区二区三区全黄 | 免费观看一级特黄欧美大片| 亚洲精品乱码久久久久| 亚洲综合第一页| 国内一区二区三区| 日韩视频在线永久播放| 欧美亚韩一区| 亚洲电影网站| 欧美新色视频| 久久xxxx精品视频| 欧美精品一区二区三| 亚洲自拍偷拍福利| 毛片一区二区三区| 一区二区三区欧美在线观看| 久久精品国产一区二区电影 | 一区二区成人精品 | 在线观看中文字幕亚洲| 一区二区三区 在线观看视| 国产欧美精品日韩精品| 亚洲日本视频| 国产精品视频久久一区| 亚洲国产片色| 国产精品一区二区三区久久久| 亚洲欧洲日夜超级视频| 国产精品视频福利| 亚洲精品久久久久久久久久久久久 | 99视频精品| 久久综合给合久久狠狠狠97色69| 亚洲美女在线观看| 久久久夜夜夜| 99爱精品视频| 午夜精品视频在线观看| 99视频热这里只有精品免费| 国产欧美在线视频| 亚洲美女在线国产| 国产日韩欧美在线| 一区二区三区国产精华| 国内精品一区二区三区| 亚洲婷婷综合久久一本伊一区| 国语自产精品视频在线看抢先版结局 | 国产精品日韩在线播放| 亚洲精品中文字幕女同| 国产日本欧美一区二区| 国产精品99久久久久久久vr | 一本色道久久综合狠狠躁篇怎么玩 | 欧美成人中文字幕| 亚洲欧美综合另类中字| 欧美午夜不卡影院在线观看完整版免费| 亚洲第一精品久久忘忧草社区| 国产精品永久入口久久久| 国产精品99久久久久久www|