系統(tǒng)級ADC芯片MSC1210介紹及應(yīng)用
本文引用地址:http://m.butianyuan.cn/article/171343.htm
MSC1210內(nèi)帶8路24位模數(shù)轉(zhuǎn)換器,自身可實現(xiàn)溫度檢測、輸入源泉開路短路檢測、增益和漂移校準等。內(nèi)核中的32位累加器可實現(xiàn)24位結(jié)果的快速累加計算。
輸入多路轉(zhuǎn)換器將切換多路模擬輸入信號到輸入緩沖器。共有9路輸入信號,其中1路為片內(nèi)溫度傳感器信號,其余8路每路輸入可設(shè)置單極性輸入或差分輸入,通過ADMUX寄存器可隨意配置其輸入信號的正確與負端。片內(nèi)配置有模擬輸入緩沖,當使用輸入緩沖時,典型輸入阻抗為10GΩ;當不使用模擬輸入緩沖時,輸入阻抗(單位為Ω)由時鐘頻率與增益決定:
PGA的增益可以設(shè)置為2 n(n=0~7)。通過PGA的使用,可以用效提高A/D轉(zhuǎn)換結(jié)果的分辨率。如輸入信號幅度為40mV,設(shè)置PGA=128,最小分辨率可達75nV。PGA的模擬輸入可以通過設(shè)置ODAC寄存器進行偏置,最大偏置為輸入范圍的一半。
ADC的轉(zhuǎn)換結(jié)果存儲在ADRESH(高字節(jié))、ADRESM(中字節(jié))、ADRESL(低字節(jié))中,配合總和寄存器和移位寄存器,可以方便地實現(xiàn)多次測量結(jié)果的累加和平均。總和寄存器是1個32位的值,被分為SUMR0(LSB)、SUMR1、SUMR2、SUMR3(MSB),可以進行最大256次測量結(jié)果的累加和平均。當然,要得到測量結(jié)果的平均值,應(yīng)當使累加次數(shù)和平均次數(shù)一致。通過SSCON寄存器,可以設(shè)置成以下4種工作方式。
方式0:手動累加,每次測量完畢,將測量結(jié)果寫入總和寄存器,完成累加。
方式1:ADC自動累加,根據(jù)SSCON中設(shè)置的累加次數(shù),自動將測量結(jié)果累加到總和寄存器。
方式2:手動求平均值,將總和寄存器中的值除以次數(shù),得到測量結(jié)果。
方式3:ADC自動累加后求平均,根據(jù)SSCON中設(shè)置的累加次數(shù),自動完成測量結(jié)果的累加后求平均值。
下面的示意代碼完成ADC高精度測量過程。單次測量結(jié)果可以通過直接讀取ADRESH、ADRESM、ADRESL得到。
//設(shè)置ADC
PDCON=0x0f7; //打開轉(zhuǎn)換器,系統(tǒng)時鐘開啟
ACLK=9; //設(shè)置ACLK頻率
ADMUX=0x08; //選擇第一通道正極性,AINCON負極性
ADCON0=0x30;//選擇片內(nèi)參考電壓1.25V,關(guān)閉緩沖器,PGA=1
ADCON1=0x41;//單極性,濾波器自動模式,自校準
for(i=0;i4;i++) //四個采樣周期自校準
{while(!(AIE0X20));
resultl=ADRESL;
resultm=ADRESM;
resulth=ADRESH;}
SSCON=0XDB; //方式3,ADC自動累加后求平均,采樣16次累加
While(!(AISTAT0X40));//等待16次采樣結(jié)果被累加完成
SMU=(SUMR3〈〈24〉+(SUMR2〈〈16〉+(SUMR18)+SUMR0; 存儲器相關(guān)文章:存儲器原理
評論