1 引言 實(shí)驗(yàn)和工程實(shí)際中我們要進(jìn)行大量的數(shù)據(jù)處理。運(yùn)用單片機(jī)采集系統(tǒng)能很好的解決這些問(wèn)題;镜牟杉到y(tǒng)一般由MCU,A/D,PC構(gòu)成, MCU 是整個(gè)系統(tǒng)的核心,A/D是數(shù)據(jù)的源頭,PC是數(shù)據(jù)的歸宿地。A/D轉(zhuǎn)換器的選擇直接關(guān)系到采集精度是否理想。現(xiàn)在TLC2543這款A(yù)/D轉(zhuǎn)換器運(yùn)用很廣泛。TLC2543是TI公司的12位串行模數(shù)轉(zhuǎn)換器,使用開關(guān)電容逐次 逼近技術(shù)完成A/D轉(zhuǎn)換過(guò)程。由于是串行輸入結(jié)構(gòu),能夠節(jié)省51系列單片機(jī)I/O資源;且價(jià)格適中,分辨率較高。 2 TLC2543的引腳排列及說(shuō)明 (1) TLC2543的封裝形式 TLC2543的封裝形式:DB、DW或N封裝以及FN封裝,這兩種封裝的引腳的排列及說(shuō)明見圖1。 (2) TLC2543的簡(jiǎn)要工作過(guò)程 TLC2543的工作過(guò)程分為兩個(gè)周期:I/O周期和轉(zhuǎn)換周期。 a) I/O周期 I/O周期由外部提供的I/O CLOCK定義,延續(xù)8、12或16個(gè)時(shí)鐘周期,決定于選定的輸出數(shù)據(jù)長(zhǎng)度。器件進(jìn)入I/O周期后同時(shí)進(jìn)行兩種操作。 l在I/O CLOCK的前8個(gè)脈沖的上升沿,以MSB前導(dǎo)方式從DATA INPUT端輸入8位數(shù)據(jù)流到輸入寄存器。其中前4位為模擬通道地址,控制14通道模擬多路器從11個(gè)模擬輸入和三個(gè)內(nèi)部測(cè)電壓中選通一路送到采樣保持電路,該電路從第4個(gè)I/O CLOCK脈沖的下降沿開始對(duì)所選信號(hào)進(jìn)行采樣,直到最后一個(gè)I/O CLOCK脈沖的下降沿。I/O周期的時(shí)鐘脈沖個(gè)數(shù)與輸出數(shù)據(jù)長(zhǎng)度(位數(shù))同時(shí)由輸入數(shù)據(jù)的D3、D2位選擇為8、12或16。當(dāng)工作于12或16位時(shí),在前8個(gè)時(shí)鐘脈沖之后,DATA INPUT無(wú)效。 l在DATA OUT端串行輸出8、12或16位數(shù)據(jù)。當(dāng)CS保持為低時(shí),第一個(gè)數(shù)據(jù)出現(xiàn)在EOC的上升沿。若轉(zhuǎn)換由CS控制,則第一個(gè)輸出數(shù)據(jù)發(fā)生在CS的下降沿。這個(gè)數(shù)據(jù)串是前一次轉(zhuǎn)換的結(jié)果,在第一個(gè)輸出數(shù)據(jù)位之后的每個(gè)后續(xù)位均由后續(xù)的I/O時(shí)鐘下降沿輸出。 b) 轉(zhuǎn)換周期 在I/O周期的最后一個(gè)I/O CLOCK下降沿之后,EOC變低,采樣值保持不變,轉(zhuǎn)換周期開始,片內(nèi)轉(zhuǎn)換器對(duì)采樣值進(jìn)行逐次逼近式A/D轉(zhuǎn)換,其工作由與I/O CLOCK同步的內(nèi)部時(shí)鐘控制。轉(zhuǎn)換完成后EOC變高,轉(zhuǎn)換結(jié)果鎖存在輸出數(shù)據(jù)寄存器中,待下一個(gè)I/O周期輸出。I/O周期和轉(zhuǎn)換周期交替進(jìn)行,從而可減小外部的數(shù)字噪聲對(duì)轉(zhuǎn)換精度的影響。 3 接口時(shí)序 可以用四種傳輸方法使TLC2543得到全12位分辯率,每次轉(zhuǎn)換和數(shù)據(jù)傳遞可以使用12或16個(gè)時(shí)鐘周期。 一個(gè)片選()脈沖要插到每次轉(zhuǎn)換的開始處,或是在轉(zhuǎn)換時(shí)序的開始處變化一次后保持為低,直到時(shí)序結(jié)束。 圖2顯示每次轉(zhuǎn)換和數(shù)據(jù)傳遞使用16個(gè)時(shí)鐘周期和在每次傳遞周期之間插入的時(shí)序,圖3顯示每次轉(zhuǎn)換和數(shù)據(jù)傳遞使用16個(gè)時(shí)鐘周期,僅在每次轉(zhuǎn)換序列開始處插入一次時(shí)序。 4 硬、軟件設(shè)計(jì) 4.1 硬件設(shè)計(jì) MAX3232為RS-232收發(fā)器,簡(jiǎn)單易用,單+5V電源供電,僅需外接幾個(gè)電容即可完成從TTL電平到RS-232電平的轉(zhuǎn)換;AT89C52 為51系列的芯片,使用方便可靠。引腳排列如圖4、圖5所示。 硬件電路原理圖如下圖6所示: 在設(shè)計(jì)制作時(shí)要注意如下3個(gè)問(wèn)題: (1) 電源去耦 當(dāng)使用TLC2543這種12位A/D器件時(shí),每個(gè)模擬IC的電源端必須用一個(gè)0.1μF的陶瓷電容連接到地,用作去耦電容。在噪聲影響較大的環(huán)境中,建議每個(gè)電源和陶瓷電容端并一個(gè)10μF的鉭電容,這樣能夠減小噪聲的影響。 (2) 接地 對(duì)模擬器件和數(shù)字器件,電源的地線回路必須分開,以防止數(shù)字部分的噪聲電流通過(guò)模擬地回路引入,產(chǎn)生噪聲電壓,從而對(duì)模擬信號(hào)產(chǎn)生干擾。所有的地線回路都有一定的阻抗,因此地線要盡可能寬或用地線平面,以減小阻抗,連線應(yīng)當(dāng)盡可能短,如果使用開關(guān)電源,則開關(guān)電源要遠(yuǎn)離模擬器件。 (3) 電路板布線 使用TLC2543時(shí)一定要注意電路板的布線,電路板的布線要確保數(shù)字信號(hào)和模擬信號(hào)隔開,模擬線和數(shù)字線特別是時(shí)鐘信號(hào)線不能互相平行,也不能在TLC2543芯片下面布數(shù)字信號(hào)線。 4.2 軟件編程 單片機(jī)程序主要包括串行數(shù)據(jù)采集模塊“DATA_AD”和串行數(shù)據(jù)傳輸模塊“RS232”,調(diào)試所用到的顯示子程序在此略去。 TLC2543的通道選擇和方式數(shù)據(jù)為8位,其功能為:D7、D6、D5和D4用來(lái)選擇要求轉(zhuǎn)換的通道,D7D6D5D4=0000時(shí)選擇0通道,D7D6D5D4=0001時(shí)選擇1通道,依次類推;D3和D2用來(lái)選擇輸出數(shù)據(jù)長(zhǎng)度,本程序選擇輸出數(shù)據(jù)長(zhǎng)度為12位,即D3D2=00或D3D2=10;D1,D0選擇輸入數(shù)據(jù)的導(dǎo)前位,D1D0=00選擇高位導(dǎo)前。TLC2543在每次I/O周期讀取的數(shù)據(jù)都是上次轉(zhuǎn)換的結(jié)果,當(dāng)前的轉(zhuǎn)換結(jié)果在下一個(gè)I/O周期中被串行移出。第一次讀數(shù)由于內(nèi)部調(diào)整,讀取的轉(zhuǎn)換結(jié)果可能不準(zhǔn)確,應(yīng)丟棄。(這里只給出A/D程序) file://TLC2543/ A/D轉(zhuǎn)換用程序用C51編寫。 #define uchar unsigned char #define uintunsigned int file://==========AD/采樣模塊============// sbit CLOCK =P1^1; sbit D_IN=P1^2; sbit D_OUT =P1^3; sbit _CS=P1^4; uint read2543(uchar port) file://從/TLC2543讀取采樣值, file://形/參port是采樣的通道號(hào) { uint data ad;uint data i; uchar data al=0,ah=0; CLOCK=0; _CS=0; for(i=0;i5結(jié)束語(yǔ) 實(shí)際運(yùn)行證明,用TLC2543芯片對(duì)數(shù)據(jù)進(jìn)行采集預(yù)定的功能已經(jīng)實(shí)現(xiàn)。同時(shí)用C51編寫的程序以后有很好的移植性。 |