TLC1549系列是美國德州儀器公司生產(chǎn)的具有串行控制、連續(xù)逐次逼近型的模數(shù)轉(zhuǎn)換器,它采用兩個差分基準(zhǔn)電壓高阻輸入和一個三態(tài)輸出構(gòu)成三線接口,其中三態(tài)輸出分別為片選(CS低電平有效),輸入/輸出時鐘(I/O CLOCK),數(shù)據(jù)輸出(DATAOUT)。TLC1549引腳排列如圖1所示。TLC1549能以串行方式送給單片機(jī),其功能結(jié)構(gòu)如圖2所示。由于TLC1549采用CMOS工藝。內(nèi)部具有自動采樣保持、可按比例量程校準(zhǔn)轉(zhuǎn)換范圍、抗噪聲干擾功能,而且開關(guān)電容設(shè)計(jì)使在滿刻度時總誤差最大僅為±1 LSB(4.8 mV),因此可廣泛應(yīng)用于模擬量和數(shù)字量的轉(zhuǎn)換電路。
TLC1549在工作溫度范圍內(nèi)的極限參數(shù):
電源電壓范圍:-0.5 V~6.5 V;
125℃輸入電壓范圍:-0.3 V~VCC+0.3 V;
輸出電壓范圍:-0.3~VCC+0.3 V;
正基準(zhǔn)電壓:VCC+0.1 V;
負(fù)基準(zhǔn)電壓:-0.1 V;
峰值輸入電流:+20 mA;
峰值總輸入電流:±30 mA;
工作溫度范圍:TLC1549M為-55℃~125℃,TLC1549C為0℃~70℃,TLC1549I為-40℃~85℃。
2 工作原理
TLC1549具有6種串行接口時序模式,這些模式是由I/O CLOCK周期和CS定義。根據(jù)TLC1549的功能結(jié)構(gòu)和工作時序,其工作過程可分為3個階段:模擬量采樣、模擬量轉(zhuǎn)換和數(shù)字量傳輸。圖3所示為TLC1549的時序圖。
2.1 輸入的模擬量采樣
在第3個I/O CLOCK下降沿,輸入模擬量開始采樣,采樣持續(xù)7個I/O CLOCK周期,采樣值在第10個I/O CLOCK下降沿鎖存。
2.2 輸入的模擬量轉(zhuǎn)換
對于連續(xù)逐次逼近型的模數(shù)轉(zhuǎn)換器TLC1549,CMOS門限檢測器通過檢測一系列電容的充電電壓決定A/D轉(zhuǎn)換后的數(shù)字量的每一位,如圖4所示。在轉(zhuǎn)換過程的第一階段,模擬輸入量同時關(guān)閉SC和ST進(jìn)行充電采樣,這一過程使所有電容的充電電壓之和達(dá)到模數(shù)轉(zhuǎn)換器的輸入電壓。轉(zhuǎn)換過程的第二階段打開所有SC和ST,CMOS門限檢測器通過識別每一只電容的電壓確定每一位,使其接近參考電壓。在這個過程中,10只電容逐一檢測,直到確定轉(zhuǎn)換的十位數(shù)字量。其詳細(xì)步驟為:門限檢測器檢測第一只電容(weight=512)的電壓,該電容的節(jié)點(diǎn)512連接到REF+。梯型網(wǎng)絡(luò)中,其他電容的等效節(jié)點(diǎn)接到REF-。如果總節(jié)點(diǎn)的電壓大于門限檢測器的電壓(大約VCC的一半),“0”被送至輸出寄存器,此時512-weight的電容連接到REF-。經(jīng)反相后為“1”,即為最高位MSB為1;如果總節(jié)點(diǎn)的電壓小于門限檢測器的電壓(大約VCC的一半),“1”被送至輸出寄存器,此時512-weight的電容連接到REF+,經(jīng)反相后為“0”,存為最高位MSB為0。對于256-weight的電容和128-weight的電容也要通過連續(xù)逐次逼近型的重復(fù)操作,直到確定從高位(MSB)到低位(LSB)所有數(shù)字量,即為初始的模擬電壓數(shù)字量。整個轉(zhuǎn)換過程調(diào)整VREF+和VREF1以便從數(shù)字0至1跳變的電壓(VZT)為0.002 4 V,滿度跳變電壓(VFT)為4.908 V,即1 LSB=4.8 mV。
2.3 數(shù)字量的傳輸
當(dāng)片選CS由低電平變?yōu)楦邥r,I/O CLOCK禁止且A/D轉(zhuǎn)換結(jié)果的三態(tài)串行輸出DATA OUT處于高阻狀態(tài);當(dāng)串行接口將CS拉至有效時,即CS由高變?yōu)榈蜁r,CS復(fù)位內(nèi)部時鐘,控制并使能DA-TA OUT和I/O CLOCK,允許I/O CLOCK工作并使DATA OUT脫離高阻狀態(tài)。串行接口把輸入/輸出時鐘序列供給I/O CLOCK并接收上一次轉(zhuǎn)換結(jié)果。首先移出上一次轉(zhuǎn)換結(jié)果數(shù)字量對應(yīng)的最高位,下一個I/O CLOCK的下降沿驅(qū)動DATA OUT輸出上一次轉(zhuǎn)換結(jié)果數(shù)字量對應(yīng)的次高位,第9個I/OCLOCK的下降沿將按次序驅(qū)動DATA OUT輸出上一次轉(zhuǎn)換結(jié)果數(shù)字量的最低位,第10個I/OCLOCK的下降沿,DATA OUT輸出一個低電平,以便串行接口傳輸超過10個時鐘;I/O CLOCK從主機(jī)串行接口接收長度在10~16個時鐘的輸入序列。
CS的下降沿,上一次轉(zhuǎn)換的MSB出現(xiàn)在DATA OUT端。10位數(shù)字量通過DATA OUT發(fā)送到主機(jī)串行接口。為了開始傳輸,最少需要10個時鐘脈沖,如果I/OCLOCK傳送大于10個時鐘,那么在第10個時鐘的下降沿,內(nèi)部邏輯把DATA OUT拉至低電平以確保其余位清零。在正常轉(zhuǎn)換周期內(nèi),即規(guī)定的時間內(nèi)CS端由高電平至低電平的跳變可以終止該周期,器件返回初始狀態(tài)(輸出數(shù)據(jù)寄存器的內(nèi)容保持為上一次轉(zhuǎn)換結(jié)果)。由于可能破壞輸出數(shù)據(jù),所以在接近轉(zhuǎn)換完成時要小心防止CS拉至低電平。
3 實(shí)例應(yīng)用及編程
實(shí)踐中,某功能模塊需將模擬電壓轉(zhuǎn)換為數(shù)字量,經(jīng)過單片機(jī)處理后,儲存在EEPROM中。利用P1.7作為片選端ADCS,P1.6作為數(shù)據(jù)輸出端AD-DATA,P1.5作為時鐘端ADCLK。圖5所示為A/D串行接口應(yīng)用原理圖。
對于較大程序,應(yīng)采用結(jié)構(gòu)化程序設(shè)計(jì),將整個程序按功能分成若干個模塊,不同的模塊完成不同的功能,這樣可使整個應(yīng)用系統(tǒng)程序結(jié)構(gòu)清晰,易于調(diào)試和維護(hù)。以下給出了程序代碼:
4 結(jié)束語
利用A/D串行輸出設(shè)計(jì)不但提高了模數(shù)轉(zhuǎn)換的精度,具有抗干擾性,而且節(jié)省了大量元件和印刷電路板的空間。該系統(tǒng)設(shè)計(jì)已經(jīng)成功應(yīng)用于工業(yè)現(xiàn)場控制系統(tǒng)的數(shù)據(jù)測量。