前一段時間,在做單片機、PLC、電路板、控制器/箱、儀器儀表、機電設備或系統、自動化、工控、傳感、數據采集、自控系統、控制系統,物聯網,電子產品,軟件、APP開發設計定制定做開發項目時,有要求用到24位的高精度ADC,用于對外部信號采集。
經查閱,初步獲得一款滿足要求的芯片:ADS1222,本文就介紹該芯片及其使用方法。
ADS1222是一個2通道、24位、Δ-∑-對數-數字(A/D)轉換器。它在TSSOP-14封裝中提供了出色的性能和低功耗。這個ADS1222非常適合要求苛刻的高分辨率測量,尤其是在便攜式系統以及其他節省空間和功率受限的應用中。
Δ-∑調制器和數字濾波器構成基礎A/D轉換器。模擬調制器具有±5V差分輸入范圍。輸入多路復用器(mux)是用于在兩個單獨的差分輸入之間進行選擇通道。可以選擇一個緩沖區來增加輸入測量阻抗。一個簡單的2線串行接口提供了所有必要的控制。數據檢索、自校準和待機模式只需幾個簡單的波形。
當僅需要單個轉換時,ADS1222可以快速關閉(待機模式)在兩次測量之間處于空閑狀態時降低了整體功耗,ADS1222s可以連接在一起以創建同步采樣多通道測量系統,ADS1222設計用于輕松連接諸如MSP430的微控制器。ADS1222支持2.7V至5.5V電源。在3V操作中功耗通常小于1mW,待機模式下為1μW。
主要特點有:
?帶4MHz時鐘的240SPS數據速率;
?20位有效分辨率;
?雙差分輸入復用器通道;
?引腳可選擇,高阻抗輸入緩沖器;
?±5V差分輸入范圍,建議在GND+0.05V至VDD?1.5V之間,超出會降低精度;
?0.0003%INL(典型值),0.0015%INL(最大值);
?自校準;
?簡單的2線串行接口;
?片上溫度傳感器;
?待機模式下的單次轉換;
?低電流消耗:300μA;
?模擬電源:2.7V至5.5V;
應用場景:
?手持式儀器;
?便攜式醫療設備;
?工業過程控制;
?磅秤等。
1、 封裝及引腳說明
2、 參考電路
ADS1222支持5V供電電源,將VDD接直流電源正極,GND接直流電源負極。
CLK給予一定頻率的脈沖信號給ADS1222,為TTL電平,一般為2MHz.
一般不用片上溫度傳感器,那么TEMPEN接0 (0V),選擇接入外部模擬量通道。
一般需要開啟緩沖器以獲得高輸入阻抗,那么BUFEN接1(5V).
參考電壓一般接高精度2.5V。
3、 使用說明
ADS1222輸入的模擬量電壓在GND + 0.05V to VDD ? 1.5V范圍內擁有較高的精度,超出這個范圍則精度降低。
其一般使用流程如下:
(1) 通道選擇
ADS1222是雙通道的模數轉換器,每個芯片里面有2路模擬量輸入通道,在使用時,首先得選擇通道,設置引腳MUX則可選擇通道。
MUX接0(0V),表示選擇通道1,MUX接1(5V),表示選擇通道2.
(2)等待轉換完成
將SCLK引腳拉低,并監測DRDY/DOUT引腳的電平,當其為0時,表示ADC轉換完成。
(3)讀取數據
a,只讀取數據,需要24個脈沖
數據在串行時鐘SCLK的驅動下輸出,先輸出數據的高位,然后輸出數據的低位,直到把全部24位數據輸出完。此時需在SCLK的下降沿后讀取數據,ADS1222在每個SCLK脈沖時輸出一位數據。
在第24個SCLK脈沖時SCLK保持為高,那么ADS1222則進入待機模式。
b,讀取數據后強制DRDY/DOUT引腳為高,需要25個脈沖
在前面24位數據輸出完后,SCLK再給一個脈沖,ADS1222將強制DRDY/DOUT引腳為高。
c,ADS1222自校準,需要26個脈沖
(4)數據解析
ADS1222的數據采用二進制補碼的方式存儲的,為24位,傳輸時高位在前。最高位為符號位,0為正數,1為負數。當獲得的數據為正數時,原碼即補碼,當為負數時,原碼等于除符號位以外的數據位全部取反后加一。
當模擬量輸入電壓為2倍參考電壓(一般5V)時,輸出的數據為(7FFFFFh,二進制為0111 1111 1111 1111 1111 1111),可知符號位為0為正數,正數的補碼即原碼,其余為全為1表示測量為正電壓的最大值5V。
當模擬量輸入電壓為0V時,輸出的數據為(000000h,二進制為0000 0000 0000 0000 0000 0000),可知符號位為0為正數,正數的補碼即原碼,其余為全為0表示測量為0V。
當模擬量輸入電壓約為2倍負參考電壓時,輸出的數據為(800000h,二進制為1000 0000 0000 0000 0000 0000),可知符號位為1為負數,將補碼轉換為原碼,為1 1000 0000 0000 0000 0000 0000(對于此數,負數的補碼求原碼后,數據變成25位(1位符號位+24位數據位)),表示測量為負電壓的最小值約-5V。
ADS1222說的是24位分辨率傳感器,但是其最高位是符號位,實際來說只有23位分辨率。業務:3w點yonko-tech點com
4、 參考程序
一個單片機C語言的參考程序如下:
sbit DOUT=P1^0;
sbit SCLK =P1^1;
sbit MUX1222 =P1^2;
unsigned long adc_convert_ch0() //通道0的AD轉換程序
{
unsigned long xdata adc_result=0;
unsigned char i=0;
unsigned char j=0;
//復位ADS1222
SCLK1222=0; //拉低SCLK
MUX1222=1;
delayus(1); //軟件延時1us,其實延時100ns即可覆蓋大部分場景
MUX1222=0; //復位并選擇低位的通道(mux由1變為0,表示通道復位+選擇通道0.假如是選擇通道1,那么mux引腳先0后1即可)
delayus(1);
//等待轉換完成。業務:3w點yonko-tech點com,扣扣:二五三一26三七二六
while(DOUT ==1) //當DRDY/DOUT =0時轉換完成
{ delayms(1);
j++;
if(j>=20) break;//等了20ms還沒轉換完成,退出等待
}
if(j<20) //只有轉換時間小于20ms的才正確,才讀取
{
//獲取數據
for(i=0;i<24;i++) //讀取數據,0-23共24個數據位
{
SCLK1222=0; //拉低SCLK
delayus(1);
SCLK1222=1; //拉高SCLK
delayus(1);
adc_result=adc_result<<1;
if(DOUT==1)
{adc_result=adc_result | 0x00000001UL;}
else
{adc_result=adc_result & (~0x00000001UL);}
}
//輸出第25個脈沖,強制DRDY/DOUT為高
SCLK1222=0; //拉低SCLK
delayus(1);
SCLK1222=1; //拉高SCLK
delayus(1);
SCLK1222=0; //拉低SCLK
delayus(1);
return adc_result;
}
}
//說明:以上程序是按照數據表編寫的,還沒來得及上芯片驗證,僅供參考。
-
微控制器
+關注
關注
48文章
7651瀏覽量
152124 -
ADS仿真
+關注
關注
1文章
71瀏覽量
10506 -
AD轉換器
+關注
關注
4文章
250瀏覽量
41527 -
ADC芯片
+關注
關注
3文章
78瀏覽量
20379 -
模擬調制器
+關注
關注
0文章
5瀏覽量
6810
發布評論請先 登錄
相關推薦
24位AD 模塊 單片機 模數轉換 高精度 采集卡 24位高精度ADS1256
【HarmonyOS HiSpark Wi-Fi IoT 套件試用連連載】高精度模擬ADC芯片的選型
基于高精度24位ADC的電子血壓計方案
ADS1222 pdf datasheet(具有2通道差動輸
ads1115使用方法
用于差分輸入多路復用器的2通道24位模數轉換器ADS1222的詳細資料概述
![用于差分輸入多路復用器的2通道<b class='flag-5'>24</b><b class='flag-5'>位</b>模數轉換器<b class='flag-5'>ADS1222</b>的詳細資料概述](https://file.elecfans.com/web1/M00/50/FE/o4YBAFr-iJqAPmhNAABK_6uevdI372.png)
評論