串行AD轉(zhuǎn)換器TLC2543與51單片機的接口設(shè)計
關(guān)鍵詞:串行外設(shè)接口;單片機;接口
TLC2543是11個輸入端的12位模數(shù)轉(zhuǎn)換器,具有轉(zhuǎn)換快、穩(wěn)定性好、與微處理器接口簡單、價格低等優(yōu)點,應(yīng)用前景好。由于它帶有串行外設(shè)接口(SPI,Seri-al PeripheralInterface),而51系列單片機沒有SPI,因此研究它與51單片機的接口就非常有意義。
1 TLC2543的引腳及功能
TLC2543是12位開關(guān)電容逐次逼近模數(shù)轉(zhuǎn)換器,有多種封裝形式,其中DB、DW或N封裝的管腳圖見圖1。引腳的功能簡要分類說明如下。
I/OCLOCK:控制輸入輸出的時鐘,由外部輸入?! ?BR> DATAINPUT:控制字輸入端,用于選擇轉(zhuǎn)換及輸出數(shù)據(jù)格式。
DATAOUT:A/D轉(zhuǎn)換結(jié)果的輸出端。
2 TLC2543的使用方法
2.1 控制字的格式
控制字為從DATAINPUT端串行輸入的8位數(shù)據(jù),它規(guī)定了TLC2543要轉(zhuǎn)換的模擬量通道、轉(zhuǎn)換后的輸出數(shù)據(jù)長度、輸出數(shù)據(jù)的格式。其中高4位(D7~D4)決定通道號,對于0通道至10通道,該4位分別為0000~1010H,當(dāng)為1011~1101時,用于對TLC2543的自檢,分別測試(VREF++VREF-)/2、VREF-、VREF+的值,當(dāng)為1110時,TLC2543進入休眠狀態(tài)。低4位決定輸出數(shù)據(jù)長度及格式,其中D3、D2決定輸出數(shù)據(jù)長度,01表示輸出數(shù)據(jù)長度為8位,11表示輸出數(shù)據(jù)長度為16位,其他為12位。D1決定輸出數(shù)據(jù)是高位先送出,還是低位先送出,為0表示高位先送出。D0決定輸出數(shù)據(jù)是單極性(二進制)還是雙極性(2的補碼),若為單極性,該位為0,反之為1。
2.2 轉(zhuǎn)換過程
上電后,片選CS必須從高到低,才能開始一次工作周期,此時EOC為高,輸入數(shù)據(jù)寄存器被置為0,輸出數(shù)據(jù)寄存器的內(nèi)容是隨機的。
開始時,CS片選為高,I/O CLOCK、DATA INPUT被禁止,DATA OUT 呈高阻狀,EOC為高。使CS變低,I/OCLOCK、DATAINPUT使能,DATAOUT脫離高阻狀態(tài)。12個時鐘信號從I/OCLOCK端依次加入,隨著時鐘信號的加入,控制字從DATAINPUT一位一位地在時鐘信號的上升沿時被送入TLC2543(高位先送入),同時上一周期轉(zhuǎn)換的A/D數(shù)據(jù),即輸出數(shù)據(jù)寄存器中的數(shù)據(jù)從DATAOUT一位一位地移出。TLC2543收到第4個時鐘信號后,通道號也已收到,此時TLC2543開始對選定通道的模擬量進行采樣,并保持到第12個時鐘的下降沿。在第12個時鐘下降沿,EOC變低,開始對本次采樣的模擬量進行A/D轉(zhuǎn)換,轉(zhuǎn)換時間約需10μs,轉(zhuǎn)換完成后EOC變高,轉(zhuǎn)換的數(shù)據(jù)在輸出數(shù)據(jù)寄存器中,待下一個工作周期輸出。此后,可以進行新的工作周期。
3 TLC2543與單片機的接口和采集程序
目前使用的51系列單片機沒有SPI接口,為了與TLC2543接口,可以用軟件功能來實現(xiàn)SPI的功能,其硬件接口如圖2所示。本示例采用延時進行采集,故省去了EOC引腳的接口。
下面是采用C51編寫的A/D轉(zhuǎn)換程序。其中port是待采集的模擬量通道號,ad_data是采樣值。delay()是延時函數(shù),大約為20微秒。
參考文獻
[1]TEXAS產(chǎn)品說明書[Z].2000.
[2]馬明建,周長城.?dāng)?shù)據(jù)采集與處理[M].西安:西安交通大學(xué)出版社,1998.
[3]何立民.MCS-51單片機應(yīng)用系統(tǒng)[M].北京:北京航空航天大學(xué)出版社,1998