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