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