《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 帶嵌入式MCU的8通道12位AD轉(zhuǎn)換器ADuC812及其應(yīng)用
帶嵌入式MCU的8通道12位AD轉(zhuǎn)換器ADuC812及其應(yīng)用
摘要: /D轉(zhuǎn)換器的種類(lèi)很多,,不同的應(yīng)用場(chǎng)合對(duì)其要求不同,有的要求高轉(zhuǎn)換速率,,有的要求有高精度,,還有的用于便攜式儀表中,,需要低功耗等等。用于數(shù)據(jù)采集板的A/D轉(zhuǎn)換器,,一般是和計(jì)算機(jī)或微處理器結(jié)合在一起使用,。隨著單片機(jī)在各種智能儀器儀表中的廣泛應(yīng)用,出現(xiàn)了一些將A/D轉(zhuǎn)換器和單片機(jī)內(nèi)核集成在一塊芯片上的數(shù)據(jù)采集芯片,,ADuC812就是這樣一種芯片,。
Abstract:
Key words :
 

  1 引言

  A/D轉(zhuǎn)換器的種類(lèi)很多,不同的應(yīng)用場(chǎng)合對(duì)其要求不同,,有的要求高轉(zhuǎn)換速率,,有的要求有高精度,,還有的用于便攜式儀表中,需要低功耗等等,。用于數(shù)據(jù)采集板的A/D轉(zhuǎn)換器,,一般是和計(jì)算機(jī)或微處理器結(jié)合在一起使用。隨著單片機(jī)在各種智能儀器儀表中的廣泛應(yīng)用,,出現(xiàn)了一些將A/D轉(zhuǎn)換器和單片機(jī)內(nèi)核集成在一塊芯片上的數(shù)據(jù)采集芯片,,ADuC812就是這樣一種芯片。

  ADuC812是8通道12位逐次逼近式A/D轉(zhuǎn)換器,,它具有如下特點(diǎn)(見(jiàn)Analog Devices公司的資料:MicroConverter,,Multichannel 12-Bit ADC withEmbedded Flash MCU ADuC812,2002):

  內(nèi)含8通道高精度12位A/D轉(zhuǎn)換器,;高達(dá)200kHz的采樣轉(zhuǎn)換速率,;可通過(guò)DMA控制器實(shí)現(xiàn)由ADC到外部數(shù)據(jù)存儲(chǔ)器之間的高速數(shù)據(jù)存儲(chǔ);片內(nèi)還包含2個(gè)12位D/A轉(zhuǎn)換器,;片內(nèi)包含有溫度傳感器,;片內(nèi)集成有和8051兼容的MCU內(nèi)核,工作頻率為12MHz,,最高可達(dá)16MHz,,MCU上帶有3個(gè)16位定時(shí)/計(jì)數(shù)器,9個(gè)中斷源,,兩級(jí)中斷優(yōu)先級(jí),;片內(nèi)帶8K字節(jié)的FLASH程序存儲(chǔ)器,640字節(jié)FLASH數(shù)據(jù)存儲(chǔ)器,,以及256字節(jié)的片內(nèi)RAM數(shù)據(jù)存儲(chǔ)器,,同時(shí)還可擴(kuò)展16M字節(jié)外部數(shù)據(jù)存儲(chǔ)器以及64K字節(jié)的程序存儲(chǔ)器;低電壓3V或5V供電,,有節(jié)電模式,;帶UART和SPI串行接口;帶看門(mén)狗定時(shí)器,。

  2 管腳說(shuō)明

     ADuC812采用S-52封裝,,它的大部分管腳和8051相應(yīng)管腳功能相同,幾個(gè)主要管腳功能如下:

  P1口:和8051的P1口功能不同,,它只能作為模擬或數(shù)字信號(hào)的輸入口,,而不能作為輸出口,缺省狀態(tài)為8路模擬信號(hào)輸入端,,要使它們中的某位變?yōu)閿?shù)字信號(hào)輸入腳,,應(yīng)向P1口對(duì)應(yīng)的特殊功能寄存器的相應(yīng)位寫(xiě)入“0”信號(hào),如果該特殊功能寄存器的相應(yīng)位為“1”,,則該位對(duì)應(yīng)的管腳為模擬信號(hào)輸入腳,;

  DAC0,、DAC1:為兩路D/A轉(zhuǎn)換器的模擬信號(hào)輸出腳;

  SS,、SCLK,、MOSI、MISO:為串行設(shè)備接口(SPI),。

  SS為SPI接口的從屬設(shè)備選擇,,在多機(jī)通信中使用,SCLK為SPI接口時(shí)鐘,,MOSI以及MISO為輸入/輸出數(shù)據(jù)線(xiàn),;

  D0、D1:和SPI接口復(fù)用的數(shù)字輸出腳,,通過(guò)DCON特殊功能寄存器控制從D0或D1腳輸出數(shù)字信號(hào),;

  T2:定時(shí)器2數(shù)字信號(hào)輸入腳;

  T2EX:數(shù)字輸入腳,,讀取定時(shí)器2的計(jì)數(shù)器或重裝該計(jì)數(shù)器的觸發(fā)腳,,負(fù)跳變時(shí)有效。

  其它腳的功能和8051相應(yīng)腳的功能相同,。

  3 使用方法

  3.1 程序存儲(chǔ)器

  程序存儲(chǔ)器分為片內(nèi)程序存儲(chǔ)器和片外程序存儲(chǔ)器,片內(nèi)含有8K字節(jié)的FLASH可編程程序存儲(chǔ)器,,可滿(mǎn)足大部分?jǐn)?shù)據(jù)采集系統(tǒng)的設(shè)計(jì)要求,,該段程序存儲(chǔ)器可以用兩種方式寫(xiě)入,一種是通過(guò)標(biāo)準(zhǔn)的UART串行接口進(jìn)行串行下載寫(xiě)入,,當(dāng)PSEN管腳通過(guò)外部電阻接地時(shí),,在上電后自動(dòng)進(jìn)入串行下載模式,通過(guò)串行口自動(dòng)從外部開(kāi)發(fā)系統(tǒng)中下載程序,;第二種方式和E2PROM的編程方式相同,,通過(guò)編程器進(jìn)行并行寫(xiě)入。

  3.2 數(shù)據(jù)存儲(chǔ)器

  ADuC812的用戶(hù)數(shù)據(jù)存儲(chǔ)器包含三部分,,片內(nèi)640字節(jié)的FLASH數(shù)據(jù)存儲(chǔ)器,、256字節(jié)的RAM以及片外可擴(kuò)展到16M字節(jié)的數(shù)據(jù)存儲(chǔ)器,其中640字節(jié)的數(shù)據(jù)存儲(chǔ)器被分成160頁(yè),,每頁(yè)4字節(jié),,通過(guò)6個(gè)特殊功能寄存器來(lái)進(jìn)行存取,即通過(guò)ECON,、EADRL以及EDATA1~4來(lái)存取,,EADRL寄存器指定要進(jìn)行數(shù)據(jù)存取的頁(yè)地址,ECON控制寄存器可控制EDATA1~4寄存器和EADRL指定的頁(yè)內(nèi)4個(gè)存儲(chǔ)器之間進(jìn)行數(shù)據(jù)交換,,而ECON還可控制FLASH數(shù)據(jù)存儲(chǔ)器的擦除,、校驗(yàn)等操作,,它的控制模式如表1所示?! ?nbsp;

  外部數(shù)據(jù)存儲(chǔ)器的尋址范圍為000000H~0FFFFFFH,,共有16M字節(jié)地址空間,低16位地址線(xiàn)的連接和8051單片機(jī)系統(tǒng)中的外部數(shù)據(jù)存儲(chǔ)器的地址連接方式相同,,高8位的連接方式是復(fù)用P2口,,利用ALE地址鎖存信號(hào)在鎖存P0口的低8位地址信號(hào)的同時(shí)鎖存高8位地址信號(hào),來(lái)實(shí)現(xiàn)16M字節(jié)地址空間的尋址,。它的數(shù)據(jù)指針和8051單片機(jī)不同,,是由3個(gè)8位寄存器組成,即DPP(頁(yè)字節(jié)),、DPH(高位字節(jié)),、DPL(低位字節(jié))。

  3.3 A/D轉(zhuǎn)換器

  ADuC812包含一個(gè)8通道單電源12位逐次逼近A/D轉(zhuǎn)換器,,A/D轉(zhuǎn)換器的線(xiàn)性誤差為±1/2 LSB,,轉(zhuǎn)換時(shí)間為5μs,可以提供內(nèi)部2.5V參考電源,,同時(shí)也可以外接從2.5V到AVDD的參考電源,,通過(guò)ADCCON1~3三個(gè)特殊功能寄存器來(lái)控制A/D轉(zhuǎn)換,轉(zhuǎn)換結(jié)果可保存在ADCDATAH/L二個(gè)特殊功能寄存器中,,轉(zhuǎn)換數(shù)據(jù)的低8位保存在ADCDATAL寄存器中,,而高4位保存在ADCDATAH的低4位中,ADCDATAH的高四位用來(lái)保存采樣的通道號(hào),。如果采樣數(shù)據(jù)較大,,如以200kHz的速率對(duì)被輸入的模擬信號(hào)進(jìn)行連續(xù)采樣,這時(shí)必須用DMA模式,,將采樣數(shù)據(jù)直接保存在外部數(shù)據(jù)存儲(chǔ)器中,,采樣結(jié)束后再對(duì)數(shù)據(jù)進(jìn)行處理。

  三個(gè)控制寄存器的功能如下,。

 ?。?)ADCCON1控制采集和轉(zhuǎn)換時(shí)間以及轉(zhuǎn)換模式,各位的功能如下:   

 

  CK1,、CK0選擇主時(shí)鐘分頻系數(shù),,從主時(shí)鐘分頻來(lái)產(chǎn)生ADC時(shí)鐘,CK1-0為00~11,,分別按1,、2、4,、8分頻,。

  AQ1,、AQ0選擇ADC采樣保持時(shí)鐘,分頻系數(shù)從ADC時(shí)鐘分頻產(chǎn)生,,AQ1-0為00~11時(shí)分別按1,、2、4,、8分頻,。

  T2C:定時(shí)器2溢出觸發(fā)位,通過(guò)置位該位,,可使用定時(shí)器2的溢出信號(hào)作為ADC轉(zhuǎn)換觸發(fā)信號(hào),。

  EXC:ADC轉(zhuǎn)換外部觸發(fā)使能位,通過(guò)置位該位,,可由外部引腳(CONVST)來(lái)觸發(fā)ADC轉(zhuǎn)換,。

  (2)ADCCON2控制通道選擇和轉(zhuǎn)換模式:   

 

  其中,,ADCI為中斷標(biāo)志位,;DMA為DMA模式使能位;CCONV為連續(xù)轉(zhuǎn)換模式使能位,;SCONV為單次轉(zhuǎn)換模式使能位,;CS3、CS2,、CS1,、CS0為通道選擇位,用戶(hù)通過(guò)程序指定須進(jìn)行A/D轉(zhuǎn)換的通道,。CS3-0為0000~0111時(shí)指示8個(gè)通道號(hào),1000時(shí)指示溫度傳感器,,1111為DMA終止信號(hào),,其他情況保留。

 ?。?)ADCCON3用于給出ADC狀態(tài)指示位,,只有第7位為BUSY位,其它位保留,,BUSY位為只讀位,,在一個(gè)有效的ADC轉(zhuǎn)換或校驗(yàn)周期中,該位為“1”,,當(dāng)轉(zhuǎn)換或校驗(yàn)結(jié)束后,,該位清“0”。

  3.4 D/A轉(zhuǎn)換器

  ADuC812包含兩個(gè)12位的D/A轉(zhuǎn)換器,,每個(gè)D/A轉(zhuǎn)換器可用于轉(zhuǎn)換12位或8位數(shù)據(jù),,兩個(gè)D/A轉(zhuǎn)換器共用一個(gè)控制寄存器DACCON,,每個(gè)轉(zhuǎn)換器還有兩個(gè)數(shù)據(jù)寄存器,實(shí)現(xiàn)A/D轉(zhuǎn)換的12位數(shù)據(jù)在寄存器中是右調(diào)整,,低8位在DACxL寄存器中,,高4位在DACxH的低4位中,控制寄存器DACCON各位

  的作用如下所示:

  其中,,MODE用于控制DAC轉(zhuǎn)換的模式,,“1”為8位模式,“0”為12位模式,;RNG1,、RNG0用于輸出范圍控制,“1”為0~VDD,,“0”為0~VREF,;CLR1、CLR0為輸出清除位,,“0”使輸出強(qiáng)迫為0V,,“1”使輸出正常;SYNC為兩通道輸出同步控制位,,為“1”時(shí),,改寫(xiě)DACxL寄存器,輸出即產(chǎn)生變化,,要使兩通道同步變化,,須在SYNC為“0”時(shí),更新兩個(gè)通道的DACxL/H寄存器,,然后使SYNC位置“1”,,兩通道同步更新輸出值;PD1,、PD0為節(jié)電模式位,,“0”關(guān)閉相應(yīng)通道的D/A轉(zhuǎn)換,“1”打開(kāi)D/A轉(zhuǎn)換,。

  D/A轉(zhuǎn)換器的參考電壓可由DACCON控制寄存器通過(guò)軟件選擇VREF或VDD,,使輸出電壓范圍分別為0~VREF或0~VDD,D/A轉(zhuǎn)換的響應(yīng)時(shí)間小于15μs,。

  4 應(yīng)用

  基于ADuC812的諸多特點(diǎn),,如果加上必要的外部信號(hào)調(diào)理電路,就可以構(gòu)成一個(gè)完整實(shí)用的數(shù)據(jù)采集及控制系統(tǒng),,并且系統(tǒng)的硬件結(jié)構(gòu)非常簡(jiǎn)單,。

  圖1是一個(gè)由ADuC812構(gòu)成的動(dòng)平衡機(jī)測(cè)量系統(tǒng)。   

 

 

  轉(zhuǎn)子在旋轉(zhuǎn)過(guò)程中,,由于不平衡而產(chǎn)生離心力引起擺架系統(tǒng)振動(dòng),,動(dòng)平衡機(jī)通過(guò)傳感器將此機(jī)械振動(dòng)量變成電信號(hào),然后經(jīng)平面分離,、衰減和定標(biāo)調(diào)整,、濾波放大等處理電路,最后由指示儀表進(jìn)行顯示,。動(dòng)平衡機(jī)在平衡轉(zhuǎn)子時(shí),,轉(zhuǎn)子的任一平面上有不平衡量,必然要在左右兩個(gè)支承上同時(shí)引起振動(dòng),,振動(dòng)的大小可以通過(guò)左,、右兩個(gè)傳感器測(cè)量出來(lái),設(shè)m1r1和m2r2為左右校正面上的不平衡量,,左校正面上的單位不平衡量在左右兩端引起的振動(dòng)分別為αL1和αR1,,右校正面上的單位不平衡量在左右兩端引起的振動(dòng)分別為αL2和αR2,左右兩端總的振動(dòng)為VL和VR,,如圖2所示,,則有,  

  式中,,Δ=αL1αR2-αR1αL2是方程組的系數(shù)行列式,,如果通過(guò)分壓電路,將右端的振動(dòng)量取出和左端的振動(dòng)量相減,,則左端的不平衡量m1r1只與左端的振動(dòng)VL有關(guān),,只是與左端不平衡量大小有關(guān)的一個(gè)標(biāo)量,通過(guò)定標(biāo)設(shè)定可以補(bǔ)償它們,。這樣就消除了右端的不平衡量對(duì)左端的影響,,同樣也可以消除左端的不平衡量對(duì)右端的影響,通過(guò)信號(hào)調(diào)理電路,,可完成對(duì)信號(hào)的衰減控制,、平面分離、信號(hào)放大以及電平的偏置,,使輸出信號(hào)既包含交流的振動(dòng)信號(hào),又包含直流的偏置電平,。因A/D轉(zhuǎn)換電路是單電源器件,,只能轉(zhuǎn)換0~VREF的正電壓,不能轉(zhuǎn)換負(fù)電壓,,通過(guò)信號(hào)調(diào)理電路后的振動(dòng)信號(hào)在經(jīng)過(guò)相敏檢波后,,輸出的是正的直流電壓,滿(mǎn)足A/D轉(zhuǎn)換的要求。

  經(jīng)過(guò)R00和R900相敏檢波,,可將右端的振動(dòng)信號(hào)VR在00和900方向上進(jìn)行分解,,設(shè)分別為VR0和VR90,而經(jīng)過(guò)L00和L900相敏檢波,,可將左端的振動(dòng)信號(hào)VL在00和900方向上進(jìn)行分解,,設(shè)分別為VL0和VL90,則左右兩端的振動(dòng)的幅值分別為:  

  因此,,相敏檢波后,,得到了左右兩端兩個(gè)相位差為90°的分量,對(duì)它們進(jìn)行A/D轉(zhuǎn)換后,,由MCU分別計(jì)算左右兩端的幅值和相角,,振動(dòng)的幅值|VL|和|VR|反映了左右兩端振動(dòng)的大小,通過(guò)|VL|和|VR|的計(jì)算,,可解算出左右兩端不平衡量的大小,,而振動(dòng)的相位ΦL和ΦR反映了不平衡量所處的位置,相角的計(jì)算可求出不平衡量所在的相位,,指示出重點(diǎn)或輕點(diǎn)的相位位置,。

  轉(zhuǎn)子的轉(zhuǎn)速由外部中斷0腳控制定時(shí)/計(jì)數(shù)器0的計(jì)時(shí)時(shí)間來(lái)實(shí)現(xiàn),由8051的定時(shí)/計(jì)數(shù)器在工作方式0和方式1的結(jié)構(gòu)可看出,,當(dāng)TCON的TR0位為1,,TMOD的GATE位為1,且T0工作于定時(shí)方式時(shí),,內(nèi)部振蕩信號(hào)經(jīng)過(guò)12分頻后給T0提供時(shí)鐘信號(hào),,T0計(jì)數(shù)與否與外部中斷0的電平高低有關(guān),如果INT0=0,,T0不計(jì)數(shù),,如果INT0=1,T0開(kāi)始計(jì)數(shù),,這樣就可測(cè)量脈沖寬度,,通過(guò)光電頭將轉(zhuǎn)子的轉(zhuǎn)速轉(zhuǎn)換成脈沖信號(hào)后再2分頻,得到頻率為轉(zhuǎn)子旋轉(zhuǎn)頻率一半的方波信號(hào),,通過(guò)方波信號(hào)的高電平去控制T0的計(jì)數(shù),,該數(shù)值為轉(zhuǎn)子的旋轉(zhuǎn)周期,由轉(zhuǎn)子的旋轉(zhuǎn)周期可得到轉(zhuǎn)子的轉(zhuǎn)速大小,。

  轉(zhuǎn)子轉(zhuǎn)速及不平衡量的計(jì)算通過(guò)外部中斷0完成,,光電頭產(chǎn)生的脈沖信號(hào)經(jīng)2分頻后,得到頻率為轉(zhuǎn)子旋轉(zhuǎn)頻率一半的方波信號(hào),,該信號(hào)加到INT0上,,將外部中斷0設(shè)置成邊緣觸發(fā),,在每個(gè)方波的下降沿產(chǎn)生中斷,MCU讀取TL0和TH0寄存器值,,并將TL0和TH0清零,,開(kāi)始下一次計(jì)時(shí),然后根據(jù)TL0和TH0的數(shù)值,,計(jì)算轉(zhuǎn)子轉(zhuǎn)速,,并根據(jù)TL0和TH0中轉(zhuǎn)子旋轉(zhuǎn)周期值的四分之一配置定時(shí)/計(jì)數(shù)器1的TL1和TH1,定時(shí)/計(jì)數(shù)器1工作于定時(shí)方式,,通過(guò)定時(shí)/計(jì)數(shù)器1的中斷由兩路DAC產(chǎn)生相位差為90°兩路方波信號(hào),,用于對(duì)振動(dòng)信號(hào)的相敏檢波,MCU對(duì)ADC0~ADC3進(jìn)行A/D轉(zhuǎn)換,,計(jì)算左右兩平面的不平衡量的大小和相位,,然后將轉(zhuǎn)速及不平衡量的大小和相位送8279進(jìn)行顯示。不平衡量測(cè)量的流程圖如圖3所示,。該系統(tǒng)用于一臺(tái)渦輪轉(zhuǎn)子動(dòng)平衡機(jī)的改造,,收到了預(yù)期的效果。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。