新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 串行A/D轉(zhuǎn)換器ADS1110及其在AT89C51單片機(jī)中的應(yīng)用

串行A/D轉(zhuǎn)換器ADS1110及其在AT89C51單片機(jī)中的應(yīng)用

作者:黃建兵,郝鵬飛,段明亮 時(shí)間:2008-08-25 來(lái)源:中電網(wǎng) 收藏

  1 引言

本文引用地址:http://www.butianyuan.cn/article/87313.htm

  系統(tǒng)經(jīng)常使用。雖然并行速度高、轉(zhuǎn)換通道多,但其價(jià)格高,占用接口資源比串行多。工業(yè)檢測(cè)控制及智能化儀器儀表中經(jīng)常采用串行A/D轉(zhuǎn)換器。ADS1110是一種精密、可連續(xù)自校準(zhǔn)的串行A/D轉(zhuǎn)換器,帶有差分輸入和高達(dá)16位的分辨率,其串行接口為I2C總線。通過(guò)軟件模擬I2C總線實(shí)現(xiàn)與ADS1110的連接。

  2 ADS1110的特點(diǎn)與內(nèi)部結(jié)構(gòu)

  2.1 ADS1110的特點(diǎn)

  完整的數(shù)據(jù)采集系統(tǒng)和小型SOT23-6封裝;片內(nèi)基準(zhǔn)電壓:精度2.048 V+0.05%;片內(nèi)可編程增益放大器PGA;片內(nèi)振蕩器;16位分辨率;可編程的轉(zhuǎn)換速率15次/秒~240次/秒;I2C總線接口(8個(gè)有效地址);電源電壓2.7 V~5.5 V;低電流消耗240 μA。

  2.2 ADS1110的引腳功能

  ADS1110串行A/D轉(zhuǎn)換器采用6引腳貼片封裝,其引腳排列如圖1所示。VDD:電源端,通常接+5V;GND:模擬地和數(shù)字地;VIN+、VIN-:采樣模擬信號(hào)輸入端,其范圍為2.048 V~2.048 V;SCL:I2C總線時(shí)鐘線;SDA:I2C總線數(shù)據(jù)線。

   2.3 ADS1110的內(nèi)部結(jié)構(gòu)

  ADS1110是由帶有可調(diào)增益的△-∑型轉(zhuǎn)換器內(nèi)核、2.048 V的電壓基準(zhǔn)、時(shí)鐘振蕩器和I2C總線接口組成。其內(nèi)部結(jié)構(gòu)如圖2所示。

  ADS1110的A/D轉(zhuǎn)換器內(nèi)核是由差分開關(guān)電容△-∑調(diào)節(jié)器和數(shù)字濾波器組成。調(diào)節(jié)器測(cè)量正模擬輸入和負(fù)模擬輸入的壓差,并將其與基準(zhǔn)電壓相比較。數(shù)字濾波器接收高速數(shù)據(jù)流并輸出代碼,該代碼是一個(gè)與輸入電壓成比例的數(shù)字,即A/D轉(zhuǎn)換后的數(shù)據(jù)。

  ADS1110片內(nèi)電壓基準(zhǔn)是2.048 V。ADS1110只能采用內(nèi)部電壓基準(zhǔn)該基準(zhǔn),不能測(cè)量,也不用于外部電路。ADS1110片內(nèi)集成時(shí)鐘振蕩器用于驅(qū)動(dòng)△-∑調(diào)節(jié)器和數(shù)字濾波器。ADS1110的信號(hào)輸入端設(shè)有可編程增益放大器PGA,其輸入阻抗在差分輸入時(shí)的典型值為2.8 MΩ。

  3 ADS1110的使用

  3.1 I2C總線接口

  ADS1110通過(guò)I2C總線(內(nèi)部集成電路)接口通信,單片機(jī)的2個(gè)I/O接口最多可掛接8個(gè)ADS1110,單片機(jī)對(duì)ADS1110的識(shí)別通過(guò)I2C地址實(shí)現(xiàn)。ADS1110只能作為從機(jī)。

  ADS1110的I2C地址是1001aaa,其中aaa是出廠時(shí)默認(rèn)設(shè)置。ADS1110有8種不同類型,每種類型都有不同的I2C地址。封裝上,ADS1110的每種類型都以EDx為標(biāo)識(shí),其中x表示地址變量。

  3.2寄存器

  ADS1110含有輸出寄存器和配置寄存器,可通過(guò)I2C端口進(jìn)行訪問(wèn)。輸出寄存器存儲(chǔ)A/D轉(zhuǎn)換結(jié)果,而配置寄存器用于設(shè)置ADS1110的工作方式,數(shù)據(jù)速率和可編程增益放大器,也可用于查詢器件狀態(tài)。

  3.3 ADS1110的讀寫

  3.3.1讀操作

  若從ADS1110中讀取輸出寄存器和配置寄存器的內(nèi)容,需對(duì)ADS1110尋址。從ADS1110中讀取3個(gè)字節(jié),前2個(gè)字節(jié)是輸出寄存器的內(nèi)容,第3個(gè)字節(jié)是配置寄存器的內(nèi)容。讀操作時(shí),只讀前2個(gè)字節(jié)而不讀第3個(gè)字節(jié)。ADS1110的讀操作時(shí)序如圖3所示。


   3.3.2寫操作

  為了對(duì)配置寄存器寫操作,要對(duì)ADS1110尋址,并向配置寄存器寫入1個(gè)字節(jié),但不能向輸出寄存器寫人字節(jié)。其寫操作時(shí)序如圖4所示。


 

  4 ADS1110在AT89C51系統(tǒng)應(yīng)用

  4.1硬件設(shè)計(jì)

  由于AT89C51單片機(jī)沒有I2C總線接口,可通過(guò)軟件模擬實(shí)現(xiàn)與I2C總線器件的連接。具體方法是將單片機(jī)的I/O接口連接至I2C的數(shù)據(jù)線SDA和時(shí)鐘線SCL。通過(guò)軟件控制時(shí)鐘和數(shù)據(jù)傳輸,系統(tǒng)靈活性強(qiáng)。

  圖5所示是數(shù)據(jù)采集顯示系統(tǒng),采集工業(yè)現(xiàn)場(chǎng)的4路模擬信號(hào)并輪詢顯示。采用4個(gè)ADS1110作為A/D轉(zhuǎn)換器,地址為ED0~ED3。具有I2C總線接口的EEPROM AT24C16作為存儲(chǔ)器。本系統(tǒng)有4位LED數(shù)碼顯示管和4個(gè)參數(shù)設(shè)定按鍵。采集數(shù)據(jù)經(jīng)數(shù)字濾波、16進(jìn)制→工程值轉(zhuǎn)換后,送至數(shù)碼管輪詢顯示。ADS1110和AT24C16的I2C接口連ADSl110數(shù)據(jù)線SDA至單片機(jī)的P1.0,時(shí)鐘線SCL連接單片機(jī)的P1.1,上拉電阻阻值選10 kΩ。

  4.2軟件設(shè)計(jì)

  按照硬件電路,編寫A/D轉(zhuǎn)換子程序?yàn)锳DS0,其中嵌套調(diào)用了START,為起始命令子程序,F(xiàn)SDZ1為向ADS1110發(fā)送單個(gè)字節(jié)命令的子程序,ADREAD是讀取輸出寄存器和配置寄存器的子程序,STOP是停止命令子程序。ADS0只對(duì)地址為ED0的ADS1110讀數(shù),如果要讀取其他ADS1110,只需更改地址即可。系統(tǒng)中ADS1110的工作方式選用默認(rèn)設(shè)置,即配置寄存器內(nèi)容為#8CH,所以程序未向配置寄存器寫入數(shù)據(jù)。程序代碼如下:
 




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

  ADS1110是一款高性價(jià)比具有I2C總線接口的串行A/D轉(zhuǎn)換器。ADS1110已在單片機(jī)系統(tǒng)中應(yīng)用,并用于現(xiàn)場(chǎng)。實(shí)踐證明,ADS1110和單片機(jī)組成的數(shù)據(jù)采集系統(tǒng),占用I/O端口少、功耗低,適用無(wú)電源場(chǎng)合。但需注意的是,因I2C總線為串行擴(kuò)展總線,數(shù)據(jù)采集時(shí)不能用于實(shí)時(shí)速度要求較高的場(chǎng)合。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉