可編程多路A/D轉(zhuǎn)換芯片THS1206的原理及應(yīng)用
摘要:THS1206是TI公司推出的可編程、多通道、低功耗、內(nèi)置FIFO的12位并行高速A/D轉(zhuǎn)換芯片。文章主要介紹了THS1206的主要特點(diǎn)、引腳功能、內(nèi)部結(jié)構(gòu)以及控制寄存器的功能和位定義。給出了以THS1206和DSP(TMS320C542)為核心構(gòu)成的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計方案。
關(guān)鍵詞:可編程;多通道;高速;FIFO
1 概述
THS1206有4個模擬信號輸入端,每個輸入端既可作為4個單獨(dú)的非極性信號的輸入通道,也可作為2個差分信號輸入通道,而且兩種方式可同時混合使用,具體的輸入通道模式可由內(nèi)部控制寄存器控制。THS1206采用5V單電源供電,內(nèi)置的16字深度環(huán)形FIFO可存儲多次連續(xù)采集的數(shù)據(jù),從而避免每次采集數(shù)據(jù)都要讀取。且在采集多次數(shù)據(jù)之后才通知CPU讀取數(shù)據(jù),減少了CPU讀取數(shù)據(jù)的中斷次數(shù),提高了系統(tǒng)的實時性。THS1206既可采用內(nèi)部標(biāo)準(zhǔn)電壓,也可采用外部輸入標(biāo)準(zhǔn)電壓,并可由內(nèi)部寄存器控制。 圖1為其引腳圖,各引腳定義如下:
AINP、AINM、BINP、BINM:模擬輸入通道,這四個引腳既可用做4個單獨(dú)的非極性模擬輸入信號,也可作為差分輸入通道A和B的正負(fù)模擬信號輸入端。
AVDD、AGND:ADC模擬電壓和模擬地。
BVDD、BGND:FIFO的數(shù)字電壓和數(shù)字地。
DVDD、DGND:ADC數(shù)字電壓和數(shù)字地。
CONV CLK?CONVST?:啟動轉(zhuǎn)換信號輸入端。
CS0、CS1:片選信號,低電平有效。
DATA AV:AD轉(zhuǎn)換結(jié)束信號,數(shù)據(jù)輸出有效。
D0~D9:十位雙向數(shù)據(jù)線。
D10/RA0:既可作為數(shù)據(jù)線D10,也可作為內(nèi)部控制寄存器的地址線RA0。
D11/RA1:既可作為數(shù)據(jù)線D11,也可作為內(nèi)部控制寄存器的地址線RA1。
REFOUT:2.5V參考電壓輸出。
REFIN:共模輸入?yún)⒖茧妷?,作為AD轉(zhuǎn)換的標(biāo)準(zhǔn)參考電壓,可直接將此引腳接至REFOUT引腳以輸入2.5V標(biāo)準(zhǔn)電壓。
REFP、REFM:外部輸入?yún)⒖茧妷旱恼?fù)極接入。
RD、WR(R/W):讀寫控制信號。
2 內(nèi)部結(jié)構(gòu)及功能
2.1 內(nèi)部結(jié)構(gòu)
THS1206內(nèi)部由采樣保持器、邏輯控制單元、控制寄存器、FIFO、參考電壓控制單元等部分組成。其內(nèi)部功能框圖如圖2所示。
THS1206有4路采樣保持器,可同時對4路信號進(jìn)行采樣保持,并按順序依次對各通道的采樣保持值進(jìn)行轉(zhuǎn)換。THS1206單個通道的最高采樣頻率可達(dá)6MSPS。同時采樣多個通道的模擬信號時,其采樣頻率與輸入信號的通道數(shù)有關(guān)。多通道采樣信號的采樣頻率與模擬信號的輸入通道數(shù)成反比。
2.2 內(nèi)部控制寄存器
THS1206內(nèi)置2個控制寄存器(CR1和CR0),通過向內(nèi)部控制寄存器寫入特定的控制命令可設(shè)定ADC的具體工作狀態(tài)。D11/RA1和D10/RA0兩個輸入引腳可作為內(nèi)部控制寄存器的地址線,通過輸入來選擇控制寄存器CR0或CR1。
CR0各位定義如下:
D11 | D10 | D9 | D8 | D7 | D6 |
0 | 0 | TEST1 | TEST0 | SCAN | DIFF1 |
D5 | D4 | D3 | D2 | D1 | D0 |
DIFF0 | CHSEL1 | CHSEL0 | PD | MODE | VREF |
TEST1、TEST0:啟用測試功能,用于選擇ADC 的測試電壓。THS1206有VREFP、(VREFM+VREFP?/2、VREFM 三個測試電壓,通過測試3個不同電壓下的AD轉(zhuǎn)換值來檢查AD與CPU的連接是否良好,并測試AD是否正常工作。THS1206處于測試模式時,DATA AV輸出無效。THS1206從測試模式返回正常工作模式后,必須重新初始化。
SCAN:自動掃描模式。就是在有多個模擬信號輸入時,ADC同時采樣各信號并同時保持各通道采樣值,然后依次對掃描的各采樣值進(jìn)行AD轉(zhuǎn)換。多通道輸入模擬信號時都采用自動掃描模式。SCAN為1,禁止自動掃描模式,SCAN為0?啟用自動掃描模式。
DIFF1、DIFF0:定義差分模擬信號輸入的通道數(shù)。
CHSEL1、CHSEL0:定義ADC所有模擬信號輸入的通道數(shù)。
PD:節(jié)電模式選擇,PD=‘1’? ADC處于正常工作狀態(tài),PD=‘0’,ADC處于節(jié)電模式。
MODE:轉(zhuǎn)換模式選擇,MODE =‘0’,ADC處于連續(xù)轉(zhuǎn)換模式;MODE=‘1’?ADC采用獨(dú)立的轉(zhuǎn)換模式。
VFEF:參考電壓選擇,VFEF=‘0’,選擇內(nèi)部參考電壓;VFEF=‘1’,選擇外部參考電壓。
控制寄存器CR1的各位定義如下:
D11 | D10 | D9 | D8 | D7 | D6 |
0 | 1 | RBACK | OFFSET | BIN/2s | R/W |
D5 | D4 | D3 | D2 | D1 | D0 |
DATA-P | DATA-T | TRIG1 | TRIG0 | OVF1/FRST | RESET |
RBACK:調(diào)試模式 ,PBACK=‘0’,ADC處于正常工作狀態(tài),PBACK=‘1’,ADC處于調(diào)試狀態(tài)。當(dāng)ADC處于調(diào)試狀態(tài)時,可依次讀取內(nèi)部控制寄存器CR1和CR0的值。
OFFSET:零偏移補(bǔ)償模式,OFFSET=‘0’,ADC處于正常工作狀態(tài);OFFSET=‘1’,ADC處于校準(zhǔn)補(bǔ)償模式。ADC采用零偏移補(bǔ)償模式時,輸入模擬信號置為零電平并進(jìn)行轉(zhuǎn)換?轉(zhuǎn)換值(即零偏移補(bǔ)償值)存入內(nèi)部補(bǔ)償寄存器;而當(dāng)ADC正常工作時,其轉(zhuǎn)換數(shù)值減去零偏移值以得到校正后的AD轉(zhuǎn)換值。通過零偏移補(bǔ)償有利于提高信號采集的準(zhǔn)確度。
BIN/2s:輸出數(shù)據(jù)表示模式,BIN/2s=‘0’,輸出數(shù)據(jù)以補(bǔ)碼形式表示;BIN/2s=‘1’,輸出數(shù)據(jù)以二進(jìn)制碼表示。
R/ W:讀寫選擇,R/ W為1時,WR為讀寫信號,RD輸入引腳禁止。R/ W為0時,RD輸入引腳為讀信號,WR輸入引腳為寫信號。
DATA P:DATA AV極性控制,DATA P為1時,高電平有效,DATA P為0時,低電平有效。
DATA T:DATA AV輸出方式控制,DATA T為0時,DATA AV為電平觸發(fā);DATA T為1時,DATA AV為邊沿觸發(fā)。
TRIG1、TRIG0:設(shè)置FIFO觸發(fā)門限,通過TRIG1和TRIG0 設(shè)置不同輸入通道時FIFO的觸發(fā)門限。
OVFL/FRST:讀寫顯示信號,當(dāng)作為讀信號OVFL時,顯示FIFO的溢出狀態(tài),OVFL為1時, 表示FIFO 沒有溢出,OVFL為0時,FIFO溢出。當(dāng)作為寫信號FRST時,復(fù)位FIFO,對FRST寫入1可復(fù)位FIFO。
RESET:復(fù)位信號,對該位寫1,將對內(nèi)部控制寄存器CR1、CR0設(shè)置復(fù)位值,同時也對FIFO和補(bǔ)償寄存器復(fù)位。
應(yīng)當(dāng)注意的是,在ADC正常工作前,必須對其內(nèi)部控制寄存器初始化,并設(shè)定其具體的工作模式。初始化的流程如圖3所示。
2.3 FIFO的使用
THS1206內(nèi)置一個靈活的環(huán)形FIFO,AD轉(zhuǎn)換數(shù)據(jù)可直接寫入FIFO?最多可存入16個字。使用內(nèi)部FIFO 時,ADC無需每采樣一次都產(chǎn)生中斷,因而可減少微處理器讀取采樣數(shù)據(jù)的中斷次數(shù)。為了控制FIFO的讀寫,FIFO用其設(shè)置的讀指針來指示下一讀取數(shù)據(jù)的位置?而用內(nèi)置的寫指針來指示最后一次采樣數(shù)據(jù)放置的位置。若有多個模擬信號輸入,各個通道的轉(zhuǎn)換值依次寫入FIFO中。通過內(nèi)部寄存器控制FIFO的觸發(fā)門限,觸發(fā)門限設(shè)定存入采樣數(shù)據(jù)的深度,存入數(shù)據(jù)達(dá)到此深度時,DATA AV有效。
2.4 AD轉(zhuǎn)換
THS1206通過內(nèi)部控制寄存器來設(shè)置ADC的轉(zhuǎn)換模式是單獨(dú)轉(zhuǎn)換模式,還是連續(xù)轉(zhuǎn)換模式。單獨(dú)轉(zhuǎn)換模式時,啟動內(nèi)部振蕩電路產(chǎn)生內(nèi)部時鐘。在外部輸入CONVST的下降沿觸發(fā)ADC采樣,并保持各模擬輸入信號,同時依次對各信號進(jìn)行轉(zhuǎn)換并存入FI-FO。AD轉(zhuǎn)換開始到DATA AV有效的時間段為轉(zhuǎn)換時間,轉(zhuǎn)換時間大小為ADC內(nèi)部振蕩器產(chǎn)生的內(nèi)部時鐘和FIFO觸發(fā)門限的乘積。當(dāng)轉(zhuǎn)換時間達(dá)到FIFO的觸發(fā)門限時間時,數(shù)據(jù)存入FIFO,此時,DATA AV輸出有效,以通知微處理器讀取數(shù)據(jù)。輸入不同模擬信號通道時,FIFO的觸發(fā)門限不同,通過內(nèi)部控制寄存器CR1中的控制位TRIG1、TRIG0可設(shè)定具體的FIFO觸發(fā)門限。相鄰CONVST的輸入時間應(yīng)足夠長,以保證ADC在此時間內(nèi)完成AD轉(zhuǎn)換。
ADC處于連續(xù)轉(zhuǎn)換模式時,內(nèi)部振蕩電路關(guān)閉。外部時鐘信號可輸入CONV CLK引腳,并在CONV CLK的上升沿觸發(fā)AD轉(zhuǎn)換,以便ADC依次采集保持各輸入信號。轉(zhuǎn)換時間為外部輸入時鐘信號和FIFO觸發(fā)門限的乘積。經(jīng)過觸發(fā)門限時間后,其轉(zhuǎn)換值存入FIFO,DATA AV有效,以通知CPU讀取數(shù)據(jù)。此時CPU讀取的數(shù)據(jù)為一段AD采集數(shù)據(jù),數(shù)據(jù)個數(shù)等于觸發(fā)門限值。
3 采集系統(tǒng)構(gòu)成
利用THS1206和TMS320C542構(gòu)成的數(shù)據(jù)采集系統(tǒng)如圖4所示,ADC作為DSP的I/O存儲空間。通過設(shè)定控制寄存器使ADC處于連續(xù)轉(zhuǎn)換模式,DSP的緩存串口輸出時鐘作為ADC的輸入時鐘,并用其上升沿觸發(fā)ADC轉(zhuǎn)換。DATA AV連接TMS320C542的外部中斷引腳,ADC轉(zhuǎn)換數(shù)據(jù)存入FIFO,在溢出時發(fā)出中斷,然后由DSP響應(yīng)中斷并讀?。桑峡臻g?即FIFO?的數(shù)據(jù)。