串行A/D轉換器ADS1110及其在A(yíng)T89C51單片機中的應用
1 引言
本文引用地址:http://dyxdggzs.com/article/87313.htmAT89C51單片機系統經(jīng)常使用A/D轉換器。雖然并行A/D轉換器速度高、轉換通道多,但其價(jià)格高,占用單片機接口資源比串行A/D轉換器多。工業(yè)檢測控制及智能化儀器儀表中經(jīng)常采用串行A/D轉換器。ADS1110是一種精密、可連續自校準的串行A/D轉換器,帶有差分輸入和高達16位的分辨率,其串行接口為I2C總線(xiàn)。AT89C51單片機通過(guò)軟件模擬I2C總線(xiàn)實(shí)現與ADS1110的連接。
2 ADS1110的特點(diǎn)與內部結構
2.1 ADS1110的特點(diǎn)
完整的數據采集系統和小型SOT23-6封裝;片內基準電壓:精度2.048 V+0.05%;片內可編程增益放大器PGA;片內振蕩器;16位分辨率;可編程的轉換速率15次/秒~240次/秒;I2C總線(xiàn)接口(8個(gè)有效地址);電源電壓2.7 V~5.5 V;低電流消耗240 μA。
2.2 ADS1110的引腳功能
ADS1110串行A/D轉換器采用6引腳貼片封裝,其引腳排列如圖1所示。VDD:電源端,通常接+5V;GND:模擬地和數字地;VIN+、VIN-:采樣模擬信號輸入端,其范圍為2.048 V~2.048 V;SCL:I2C總線(xiàn)時(shí)鐘線(xiàn);SDA:I2C總線(xiàn)數據線(xiàn)。
2.3 ADS1110的內部結構
ADS1110是由帶有可調增益的△-∑型轉換器內核、2.048 V的電壓基準、時(shí)鐘振蕩器和I2C總線(xiàn)接口組成。其內部結構如圖2所示。
ADS1110的A/D轉換器內核是由差分開(kāi)關(guān)電容△-∑調節器和數字濾波器組成。調節器測量正模擬輸入和負模擬輸入的壓差,并將其與基準電壓相比較。數字濾波器接收高速數據流并輸出代碼,該代碼是一個(gè)與輸入電壓成比例的數字,即A/D轉換后的數據。
ADS1110片內電壓基準是2.048 V。ADS1110只能采用內部電壓基準該基準,不能測量,也不用于外部電路。ADS1110片內集成時(shí)鐘振蕩器用于驅動(dòng)△-∑調節器和數字濾波器。ADS1110的信號輸入端設有可編程增益放大器PGA,其輸入阻抗在差分輸入時(shí)的典型值為2.8 MΩ。
3 ADS1110的使用
3.1 I2C總線(xiàn)接口
ADS1110通過(guò)I2C總線(xiàn)(內部集成電路)接口通信,AT89C51單片機的2個(gè)I/O接口最多可掛接8個(gè)ADS1110,單片機對ADS1110的識別通過(guò)I2C地址實(shí)現。ADS1110只能作為從機。
ADS1110的I2C地址是1001aaa,其中aaa是出廠(chǎng)時(shí)默認設置。ADS1110有8種不同類(lèi)型,每種類(lèi)型都有不同的I2C地址。封裝上,ADS1110的每種類(lèi)型都以EDx為標識,其中x表示地址變量。
3.2寄存器
ADS1110含有輸出寄存器和配置寄存器,可通過(guò)I2C端口進(jìn)行訪(fǎng)問(wèn)。輸出寄存器存儲A/D轉換結果,而配置寄存器用于設置ADS1110的工作方式,數據速率和可編程增益放大器,也可用于查詢(xún)器件狀態(tài)。
3.3 ADS1110的讀寫(xiě)
3.3.1讀操作
若從ADS1110中讀取輸出寄存器和配置寄存器的內容,需對ADS1110尋址。從ADS1110中讀取3個(gè)字節,前2個(gè)字節是輸出寄存器的內容,第3個(gè)字節是配置寄存器的內容。讀操作時(shí),只讀前2個(gè)字節而不讀第3個(gè)字節。ADS1110的讀操作時(shí)序如圖3所示。
3.3.2寫(xiě)操作
為了對配置寄存器寫(xiě)操作,要對ADS1110尋址,并向配置寄存器寫(xiě)入1個(gè)字節,但不能向輸出寄存器寫(xiě)人字節。其寫(xiě)操作時(shí)序如圖4所示。
4 ADS1110在A(yíng)T89C51系統應用
4.1硬件設計
由于A(yíng)T89C51單片機沒(méi)有I2C總線(xiàn)接口,可通過(guò)軟件模擬實(shí)現與I2C總線(xiàn)器件的連接。具體方法是將單片機的I/O接口連接至I2C的數據線(xiàn)SDA和時(shí)鐘線(xiàn)SCL。通過(guò)軟件控制時(shí)鐘和數據傳輸,系統靈活性強。
圖5所示是數據采集顯示系統,采集工業(yè)現場(chǎng)的4路模擬信號并輪詢(xún)顯示。采用4個(gè)ADS1110作為A/D轉換器,地址為ED0~ED3。具有I2C總線(xiàn)接口的EEPROM AT24C16作為存儲器。本系統有4位LED數碼顯示管和4個(gè)參數設定按鍵。采集數據經(jīng)數字濾波、16進(jìn)制→工程值轉換后,送至數碼管輪詢(xún)顯示。ADS1110和AT24C16的I2C接口連ADSl110數據線(xiàn)SDA至單片機的P1.0,時(shí)鐘線(xiàn)SCL連接單片機的P1.1,上拉電阻阻值選10 kΩ。
4.2軟件設計
按照硬件電路,編寫(xiě)A/D轉換子程序為ADS0,其中嵌套調用了START,為起始命令子程序,FSDZ1為向ADS1110發(fā)送單個(gè)字節命令的子程序,ADREAD是讀取輸出寄存器和配置寄存器的子程序,STOP是停止命令子程序。ADS0只對地址為ED0的ADS1110讀數,如果要讀取其他ADS1110,只需更改地址即可。系統中ADS1110的工作方式選用默認設置,即配置寄存器內容為#8CH,所以程序未向配置寄存器寫(xiě)入數據。程序代碼如下:
5 結束語(yǔ)
ADS1110是一款高性?xún)r(jià)比具有I2C總線(xiàn)接口的串行A/D轉換器。ADS1110已在單片機系統中應用,并用于現場(chǎng)。實(shí)踐證明,ADS1110和單片機組成的數據采集系統,占用I/O端口少、功耗低,適用無(wú)電源場(chǎng)合。但需注意的是,因I2C總線(xiàn)為串行擴展總線(xiàn),數據采集時(shí)不能用于實(shí)時(shí)速度要求較高的場(chǎng)合。
評論