摘要介紹TI公司的TLC2543的特性,與51系列單片機(jī)的接口以及在儀器儀表中的應(yīng)用。
關(guān)鍵詞串行A/D應(yīng)用
--------------------------------------------------------------------------------
1引言
TLC2543是TI公司的12位串行模數(shù)轉(zhuǎn)換器,使用開關(guān)電容逐次逼近技術(shù)完成A/D轉(zhuǎn)換過程。由于是串行輸入結(jié)構(gòu),能夠節(jié)省51系列單片機(jī)I/O資源;且價格適中,分辨率較高,因此在儀器儀表中有較為廣泛的應(yīng)用。
2TLC2543的特點(diǎn)
(1)12位分辯率A/D轉(zhuǎn)換器;
(2)在工作溫度范圍內(nèi)10μs轉(zhuǎn)換時間;
(3)11個模擬輸入通道;
(4)3路內(nèi)置自測試方式;
(5)采樣率為66kbps;(6)線性誤差±1LSBmax;
(7)有轉(zhuǎn)換結(jié)束輸出EOC;
(8)具有單、雙極性輸出;
(9)可編程的MSB或LSB前導(dǎo);
(10)可編程輸出數(shù)據(jù)長度。
3TLC2543的引腳排列及說明
TLC2543有兩種封裝形式:DB、DW或N封裝以及FN封裝,這兩種封裝的引腳排列如圖1,引腳說明見表1。
圖1TLC2543的封裝
表1TLC2543引腳說明
4接口時序
可以用四種傳輸方法使TLC2543得到全12位分辯率,每次轉(zhuǎn)換和數(shù)據(jù)傳遞可以使用12或16個時鐘周期。
一個片選()脈沖要插到每次轉(zhuǎn)換的開始處,或是在轉(zhuǎn)換時序的開始處變化一次后保持為低,直到時序結(jié)束。
圖2顯示每次轉(zhuǎn)換和數(shù)據(jù)傳遞使用16個時鐘周期和在每次傳遞周期之間插入的時序,圖3顯示每次轉(zhuǎn)換和數(shù)據(jù)傳遞使用16個時鐘周期,僅在每次轉(zhuǎn)換序列開始處插入一次時序。
圖216時鐘傳送時序圖(使用,MSB在前)
圖316時鐘傳送時序圖(不使用,MSB在前)
5TLC2543在智能儀器儀表中的應(yīng)用
TLC2543是12位分辯率,與MAX186在功能上基本相同,但價格比MAX186低得多,因此TLC2543在便攜式數(shù)據(jù)記錄儀、醫(yī)用儀器、電力檢測儀表中具有廣泛的應(yīng)用。下面主要講述TLC2543在電力監(jiān)控顯示屏中的應(yīng)用。
在電廠和變電站中,電網(wǎng)中的電壓和電流由于多種原因常常處于波動狀態(tài),為了給工作人員提供有效數(shù)據(jù),并在超值范圍內(nèi)采取有效措施,監(jiān)測電網(wǎng)中電壓和電流值是非常必要的。該系統(tǒng)主要是采用TLC2543作A/D轉(zhuǎn)換器,把電壓和電流值轉(zhuǎn)換成數(shù)字信號,GMS90C32作CPU,進(jìn)行數(shù)字信號處理,PS7219作LED顯示驅(qū)動器,把監(jiān)測的電壓和電流值顯示出來,本文主要介紹TLC2543在電力監(jiān)控顯示屏中與單片機(jī)GMS90C32的接口部分,包括硬件和軟件兩部分。
5.1硬件
GMS90C××和GMS97C××系列是LGS公司的51系列單片機(jī),這類單片機(jī)都不帶SPI或相同的接口能力,為了和TLC2543模數(shù)轉(zhuǎn)換器接口,需要用軟件來模擬SPI的時序操作。圖4是TLC2543和GMS90C××或GMS97C××的接口簡圖,TLC2543的I/O時鐘、數(shù)據(jù)輸入、片選由并行雙向I/O口1的引腳P1.0、P1.1、P1.3提供。TLC2543的轉(zhuǎn)換結(jié)果數(shù)據(jù)通過口1的P1.2腳接收,通道選擇和方式數(shù)據(jù)通過口3輸入到微控制器。
圖4TLC2543和GMS90C32接口
在設(shè)計(jì)制作時要注意如下三個問題:
(1)電源去耦
當(dāng)使用TLC2543這種12位A/D器件時,每個模擬IC的電源端必須用一個0.1μF的陶瓷電容連接到地,用作去耦電容。在噪聲影響較大的環(huán)境中,建議每個電源和陶瓷電容端并一個10μF的鉭電容,這樣能夠減小噪聲的影響。
(2)接地
對模擬器件和數(shù)字器件,電源的地線回路必須分開,以防止數(shù)字部分的噪聲電流通過模擬地回路引入,產(chǎn)生噪聲電壓,從而對模擬信號產(chǎn)生干擾。所有的地線回路都有一定的阻抗,因此地線要盡可能寬或用地線平面,以減小阻抗,連線應(yīng)當(dāng)盡可能短,如果使用開關(guān)電源,則開關(guān)電源要遠(yuǎn)離模擬器件。
(3)電路板布線
使用TLC2543時一定要注意電路板的布線,電路板的布線要確保數(shù)字信號和模擬信號隔開,模擬線和數(shù)字線特別是時鐘信號線不能互相平行,也不能在TLC2543芯片下面布數(shù)字信號線。
5.2軟件
包括主程序和兩個子程序“SET1”、“SET2”。主程序定義口1的I/O引腳方向:P1.2設(shè)置為輸入端,P1.0、P1.1和P1.3設(shè)置為輸出端。設(shè)定P1.3使TLC2543片選端為高,“SET1”被調(diào)用,這個子程序模擬SPI操作,在TLC2543和微控制器間交換數(shù)據(jù)。檢測最低位前導(dǎo)(LSBF)標(biāo)志,即通道選擇/方式數(shù)據(jù)字節(jié)的位1,以決定轉(zhuǎn)換結(jié)果的哪個字節(jié)最先傳送,子程序“SET2”用于映射相應(yīng)于所選擇的特定通道的MSBYTE和LSBYTE到偶數(shù)或奇數(shù)的RAM地址。
程序清單如下:
ORG2000H
BEGIN:MOVSP,#50H;設(shè)置堆棧指針
MOVP1,#04H;定義口1的輸入和輸出
CLRP1.0;清I/O時鐘
SETBP1.3;設(shè)置片選
為高
MOVA,#0FFH
ACALLSET1;調(diào)SET1子程序
ACALLSET2;調(diào)SET2子程序
JMPBEGIN;轉(zhuǎn)到BEGIN
SET1:MOVR4,P3;讀方式/通道數(shù)據(jù)
MOVA,R4
CLRP1.3;設(shè)置片選為低
JBACC.1,LSB;如果A的位1為1,則先傳送低字節(jié)
MSB:MOVR5,#08H;設(shè)置高4位計(jì)數(shù)器
LOP1:MOVC,P1.2;讀轉(zhuǎn)換結(jié)果
RLCA;A寄存器的內(nèi)容左移
MOVP1.1,C;輸出方式/通道字節(jié)
SETBP1.0;設(shè)置I/O時鐘為高
CLRP1.0;設(shè)置I/O時鐘為低
DJNZR5,LOP1;不為0則返回LOP1
MOVR2,A;把高字節(jié)放到R2
MOVA,R4;把方式/通道控制字放到R2
JBACC.1,RETURN
LSB:MOVR5,#08H;設(shè)置低字節(jié)計(jì)數(shù)器
LOP2:MOVC,P1.2;讀轉(zhuǎn)換數(shù)據(jù)到C
RLCA;A的內(nèi)容到C
MOVP1.1,C;輸出方式/通道字節(jié)
SETBP1.0;設(shè)置時鐘為高
CLRP1.0;設(shè)置時鐘為低
DJNZR5,LOP2;R5不為0,則返回LOP2
MOVR3,A;把低字節(jié)反放到R3
MOVA,R4;把方式/通道控制字放到R3
JBACC.1,MSB;如果R4的位1為1,則傳送高字節(jié)
RETURN:RET
SET2:MOVA,R4;讀方式/通道控制字
ANLA,#0F0H;保留通道控制字
SWAPA;A寄存器中的高4和低4位交換
MOVB,#02H
MULA,B;A和B相乘
ADDA,#030H;A的內(nèi)容再加30H
MOVR1,A
MOVA,R2
MOV@R1,A;把高字節(jié)的內(nèi)容放到對應(yīng)地址中
INCR1
MOVA,R3
MOV@R1,A;把低字節(jié)的內(nèi)容放到對應(yīng)地址中
RET
END
參考文獻(xiàn)
1TI模數(shù)/數(shù)模轉(zhuǎn)換器數(shù)據(jù)手冊(第一冊).武漢力源電子股份有限公司,1998/04