朱志清
(國營第785廠,山西太原030024)
近年來模數(shù)轉(zhuǎn)換器制造技術(shù)發(fā)展十分迅速,低成本、高精度和高速度的ADC新產(chǎn)品不斷涌現(xiàn)。高速度、高采樣速率的12位ADC在各種數(shù)據(jù)采集系統(tǒng)中的應用已十分常見。隨著逐次逼近式A/D技術(shù)的發(fā)展,A/D在高速高精度的數(shù)據(jù)采集應用上有更出色的表現(xiàn)。在伺服控制系統(tǒng)中伺服控制器需對采集到的電流及電壓信號進行轉(zhuǎn)換,再通過一定的算法來確定被控裝置的位置。在這個過程中,兩路信號同時采樣轉(zhuǎn)換對整個系統(tǒng)的精度有著很重要的意義。AD7864可以直接適應這個需求,它是4通道同時采樣的高精度A/D轉(zhuǎn)換器,高速并行輸出接口與DSP芯片TMS320F2812直接相連,從而實現(xiàn)電流電壓兩路信號同時采樣轉(zhuǎn)換。
AD7864是一款高速低功耗四通道同步采樣單5 V供電的12位模數(shù)轉(zhuǎn)換器。它包含一個1.65 μs逐次逼近ADC,四采樣保持放大器,2.5 V電壓參考,時鐘振蕩器,信號調(diào)理電路和一高速并行接口,它可以同步采樣四路通道的輸入信號以保持四路模擬輸入的相對狀態(tài)信息。AD7864可以接受的輸入信號范圍為:AD7864-1型為±10 V,±5 V;AD7864-2型為0~2.5 V,0~5 V;AD7864-3 型為 ±2.5 V。模擬輸入的過電壓保護可以允許輸入電壓分別達到±20 V,+20 V/-1 V,+20/-5 V而對器件不產(chǎn)生損害或影響。通道選擇可以通過軟件或硬件進行選擇。功耗低達90 mW,省電模式下可達20 μW。AD7864四通道同時工作時,最大采樣率可以高達130 kHz。AD7864具有片內(nèi)時鐘、讀寫允許邏輯、多種通道選擇方式及內(nèi)部精確的2.5 V參考電壓,這使得其與高速處理器的接口變得非常簡單。
AD7864轉(zhuǎn)換后的數(shù)據(jù)讀取有兩種方法,即轉(zhuǎn)換中讀取數(shù)據(jù)和轉(zhuǎn)換后讀取數(shù)據(jù)。轉(zhuǎn)換中讀取數(shù)據(jù)是在下一個通道轉(zhuǎn)換結(jié)束之前讀取前一個通道的數(shù)據(jù)。轉(zhuǎn)換后讀取數(shù)據(jù)是在全部通道均轉(zhuǎn)換結(jié)束后,才讀取數(shù)據(jù)。
轉(zhuǎn)換中讀取數(shù)據(jù)芯片可以達到最高的數(shù)據(jù)吞吐率。其具體工作過程如下:一次轉(zhuǎn)換從轉(zhuǎn)換起始信號/CONVST的上升沿開始,4個采樣保持器進入保持狀態(tài),1.65 μs后,得到轉(zhuǎn)換順序中第一個通道的數(shù)據(jù),每個通道的轉(zhuǎn)換都有1.65 μs的間隔./EOC信號的下降沿便是每次轉(zhuǎn)換的結(jié)束。BUSY輸出信號表示所有選擇通道轉(zhuǎn)換都完成。每次/EOC信號變成低電平,執(zhí)行一次讀操作。
轉(zhuǎn)換后讀取數(shù)據(jù)的具體工作過程如下:當轉(zhuǎn)換起始信號/CONVST上升沿時,4個采樣保持器進入保持狀態(tài),開始對選擇的通道采樣。同時,BUSY輸出信號被觸發(fā)為高電平,并在轉(zhuǎn)換過程中一直保持為高,當全部通道轉(zhuǎn)換結(jié)束后,才變?yōu)榈碗娖健?EOC信號在每一個通道轉(zhuǎn)換結(jié)束時均有效。全部通道轉(zhuǎn)換后的數(shù)據(jù)保存在AD7864內(nèi)部相應的鎖存器中。全部通道轉(zhuǎn)換結(jié)束后,當片選信號和讀信號有效時,就可以按照轉(zhuǎn)換順序從數(shù)據(jù)總線上并行讀取數(shù)據(jù)。
考慮到本系統(tǒng)實際應用中要求的工作電壓、轉(zhuǎn)換速度以及系統(tǒng)硬件設(shè)計的便利等因素,在硬件系統(tǒng)中選用AD7864-2。DSP選用TI公司的TMS320F2812。
本系統(tǒng)用DSP擴展兩路模數(shù)轉(zhuǎn)換通道,分別采集工作電流與工作電壓信號(0 V~5 V),經(jīng)線性光隔HCNR201送入模數(shù)轉(zhuǎn)換器ADS7864進行模數(shù)轉(zhuǎn)換,對ADS7864的數(shù)據(jù)采用74LVC4245電平轉(zhuǎn)換(5 V與3.3 V之間)后接入DSP。DSP與AD7864接口電路圖見圖1。
線性光隔HCNR201可較好地實現(xiàn)模擬量與數(shù)字量的隔離,隔離電壓峰值達8 000 V;輸出跟隨輸入變化,線性度達0.01%。
通過將/HOLDX引腳拉低并保持最少15 ns,可啟動一次轉(zhuǎn)換,/BUSY輸出端則變成低電平,轉(zhuǎn)換結(jié)束后/BUSY變高。將/RD和/CS都拉低,則在轉(zhuǎn)換完成后可將數(shù)據(jù)從并行輸出總線讀出。
ADS7864接入8M 的外部時鐘,轉(zhuǎn)換時間為 1.65 μs,相應的數(shù)據(jù)采集時間為0.35 μs,可以達到最高輸出速率500 kHz。
DSP采樣程序設(shè)計采用C++語言編程的方式。在本系統(tǒng)中,采用了同時采樣模式,同時采樣ADCINA0和ADCINA1,當BUSY信號有效時,DSP控制A0和A1通道開始進行數(shù)據(jù)轉(zhuǎn)換,轉(zhuǎn)換結(jié)束后在CS和RD有效時,數(shù)據(jù)可以通過并行接口讀出。
圖1 DSP與AD7864接口電路圖
圖2 DSP讀取AD7864數(shù)據(jù)的流程圖
具體程序如下:
//讀AD7864數(shù)據(jù)
#include"DSP28_Device.h"
extern unsigned int dy,dl;
RAD()
{
unsigned int* RADAddress= (unsigned int* )
0x002000; while(!GpioDataRegs.GPBDAT.bit.GPIOB7);
//BUSY_AD7864
GpioDataRegs.GPBDAT.bit.GPIOB3=1; //HOLD_AD7864
GpioDataRegs.GPBDAT.bit.GPIOB3=0;GpioDataRegs.GPBDAT.bit.GPIOB3=1;
while(GpioDataRegs.GPBDAT.bit.GPIOB7);
while(!GpioDataRegs.GPBDAT.bit.GPIOB7); //BUSY_AD7864
GpioDataRegs.GPBDAT.bit.GPIOB3=1; //HOLD_AD7864
GpioDataRegs.GPBDAT.bit.GPIOB3=0;
GpioDataRegs.GPBDAT.bit.GPIOB3=1;
dl=* (RADAddress+0);
dy=* (RADAddress+1);
}
在伺服控制系統(tǒng)中,采用高精度、高速度、低功耗的模數(shù)轉(zhuǎn)換器AD7864對電流電壓進行采集轉(zhuǎn)換,實踐證明,該電路具有良好的轉(zhuǎn)換精度,運行穩(wěn)定,完全能滿足該系統(tǒng)數(shù)據(jù)采集的速度和精度要求。
[1]萬山明.TMS320F281X DSP原理及應用實例[M].北京:北京航空航天大學出版社,2007.
[2]智澤英,楊晉嶺,劉輝.DSP控制技術(shù)實踐[M].北京:中國電力出版社,2009.
[3]4-Channel,Simultaneous Sampling,High Speed,12-Bit ADC AD7864 Analog Devices Inc[Z].2004.