機(jī)控制系統(tǒng)通常要用到A/D轉(zhuǎn)換。根據(jù)輸出的信號格式,比較常用的A/D轉(zhuǎn)換方式可分為并行A/D和串行A/D。并行方式一般在轉(zhuǎn)換后可直接接收,但芯片的引腳比較多;串行方式所用芯片引腳少,封裝小,在PCB板上占用的空間也小,但需要軟件處理才能得到所需要的數(shù)據(jù)。
圖1 TLC0834的工作時(shí)序圖
1 TLC0834簡介
1.1 TLC0834的主要特點(diǎn)
TLC0834是TI公司生產(chǎn)的8位逐次逼近模數(shù)轉(zhuǎn)換器具有輸入可配置的多通道多路器和串形輸入輸出方式。其多路器可由軟件配置為單端或差分輸入,也可以配置為偽差分輸入。另外,其輸入基準(zhǔn)電壓大小可以調(diào)整。在全8位分辨率下,它允許任意小的模擬電壓編碼間隔。由于TLC0834采用的是串行輸入結(jié)構(gòu),因此封裝體積小,可節(jié)省51系列單片機(jī)I/O資源,價(jià)格也較適中。其主要特點(diǎn)如下:
● 8位分辨率;
● 可滿量程工作;
● 可用地址邏輯多路器選通4輸入通道;
● 單5V供電,輸入范圍為0~5V;
● 輸入和輸出與TTL、CMOS電平兼容;
● 時(shí)鐘頻率為250kHz時(shí),其轉(zhuǎn)換時(shí)間為32μs;
● 可以和美國國家半導(dǎo)體公司的ADC0834和ADC0838進(jìn)行替換,但它內(nèi)部不帶齊納穩(wěn)壓器網(wǎng)絡(luò);
● 總調(diào)整誤差為±1LSB。
1.2 工作特點(diǎn)
TLC0834可通過和控制處理器相連的串行數(shù)據(jù)鏈路來傳送控制命令,因而可用軟件對通道進(jìn)行選擇和輸入端進(jìn)行配置,其控制邏輯表如表1所列。
輸入配置可在多路器尋址時(shí)序中進(jìn)行。多路器地址可通過DI端移入轉(zhuǎn)換器。多路器地址選擇模擬輸入通道可決定輸入是單端輸入還是差分輸入。當(dāng)輸入是差分時(shí),應(yīng)分配輸入通道的極性,并應(yīng)將差分輸入分配到相鄰的輸入通道對中。例如通道0和通道1可被選為一對差分輸入。另外,在選擇差分輸入方式時(shí),極性也可以選擇。一對輸入通道的兩個(gè)輸入端的任何一個(gè)都可以作為正極或負(fù)極。
通常TLC0834在輸出以最高位(MSB)開頭的數(shù)據(jù)流后,會以最低位(LSB)開頭重輸出一遍(前面的數(shù)據(jù)流)。其工作時(shí)序如圖1所示。
1.3 引腳功能
TLC0834的引腳排列如圖2所示,其中CH0~CH3為模擬輸入端; CS 為片選端;DI為串行數(shù)據(jù)輸入,該端僅在多路器尋址時(shí)(MUX Settling TIme)才被檢測;DO為A/D轉(zhuǎn)換結(jié)果的三態(tài)串行輸出端;CLK為時(shí)鐘;SARS為轉(zhuǎn)換狀態(tài)輸出端,該端為高電平時(shí),表示轉(zhuǎn)換正在進(jìn)行,為低電平則表示轉(zhuǎn)換完成;REF為參考電壓輸入端;VCC為電源;DGTL GND為數(shù)字地,ANGL GND為模擬地。
2 與單片機(jī)的接口電路設(shè)計(jì)
TLC0834與89C51單片機(jī)的硬件接口電路的電路原理如圖3所示。圖中,單片機(jī)的P1.7接TLC0834的片選信號, P1.6用于產(chǎn)生A/D轉(zhuǎn)換的時(shí)鐘, P1.5為一個(gè)雙向I/O口位,可用于對模擬輸入進(jìn)行配置及輸出轉(zhuǎn)換所得的數(shù)據(jù)。在這里,模擬信號以單端方式輸入,參考電壓為5V,即A/D模擬量的輸入范圍為0~5V。
3 單片機(jī)的軟件設(shè)計(jì)
該系統(tǒng)在工作時(shí),單片機(jī)將通過編程產(chǎn)生串行時(shí)鐘,并按時(shí)序發(fā)送與接收數(shù)據(jù)位,以完成通道方式/通道數(shù)據(jù)的寫入和轉(zhuǎn)換結(jié)果的讀出。篇幅有限,現(xiàn)以通道0單端輸入模擬信號為例,給出A/D轉(zhuǎn)換的程序:
CLR P1.6 ;清時(shí)鐘
CLR P1.5
SETB P1.7 ;置片選為高
CLR P1.7 ;置片選為低
SETB P1.5 1 Start Bit
SETB P1.6
CLR P1.6
SETB P1.5 1
SETB P1.6
CLR P1.6
CLR P1.5 0
SETB P1.6
CLR P1.6
CLR P1.5 0 CH0
SETB P1.6
CLR P1.6 通道0,單端輸入
SETB P1.6
CLR P1.6
SETB P1.5 P1.5由輸出狀態(tài)改
為輸入狀態(tài)
LCALL ADCONV
···
···
···
ADCONV: MOV R0#08H
ADLOP0: MOV CP1.5 ;讀轉(zhuǎn)換結(jié)果
RLC A ;累加器A左移,將結(jié)果
逐位移入A中
STEB P1.6
CLR P1.6
DJNZ R0ADLOP0
MOV R0#07H
ADLOP1: SETB P1.6
CLR P1.6
DJNZ R0ADLOP1
SETB P1.6
CLR P1.6
SETB P1.6
CLR P1.6
SETB P1.7 ;置片選信號為高,
結(jié)束一次轉(zhuǎn)換
RET
轉(zhuǎn)換結(jié)果經(jīng)換算后可轉(zhuǎn)換為十進(jìn)制數(shù)顯示出來。如在精度要求較高的場合,可以選用位數(shù)更多的串行A/D并取高位數(shù)據(jù)。限于篇幅,該部分程序本文不作介紹。
4 結(jié)論
本文給出的硬件和軟件均經(jīng)實(shí)踐檢驗(yàn),并已在某公司的產(chǎn)品上應(yīng)用,其性價(jià)比較高,可大大降低生產(chǎn)成本。
-
單片機(jī)
+關(guān)注
關(guān)注
6037文章
44558瀏覽量
635402 -
AD轉(zhuǎn)換器
+關(guān)注
關(guān)注
4文章
250瀏覽量
41420
發(fā)布評論請先 登錄
相關(guān)推薦
評論