基于ADS8343及51單片機(jī)的多路采集系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:文中介紹了16位模數(shù)轉(zhuǎn)換芯片ADS8343的功能與特性,簡(jiǎn)述了ADS8343的工作時(shí)序,利用C51單片機(jī)、RS232串口和計(jì)算機(jī)系統(tǒng)構(gòu)成數(shù)據(jù)采集實(shí)時(shí)顯示系統(tǒng),并將數(shù)據(jù)通過上位機(jī)軟件以文本格式導(dǎo)出,同時(shí)給出了ADS8343與51單片機(jī)的接口電路和C語言驅(qū)動(dòng)程序。
關(guān)鍵詞:ADS8343;51單片機(jī);RS232;多路采集系統(tǒng)
ADS8343是TI公司的16位4路偽差分模數(shù)轉(zhuǎn)換芯片,具有分辨率高、轉(zhuǎn)換速度快(最快10μs)、串行接口傳輸節(jié)省I/O口資源等優(yōu)勢(shì),結(jié)合常用的51單片機(jī)可方便搭建多路采集系統(tǒng)。
1 ADS8343引腳
ADS8343是16位分辨率AD轉(zhuǎn)換器,具有片內(nèi)系統(tǒng)時(shí)鐘,4路(單端)模擬輸入通道,采樣率最高可達(dá)100kbps,偽差分輸入雙極性輸出。
ADS8343的引腳排列如圖1所示。引腳功能簡(jiǎn)述如下:
+VCC:電源端,+2.7~+5V;
CH0~CH3:模擬信號(hào)輸入端;
COM:模擬輸入的公共參考端,一般連接到VREF;
:關(guān)閉端。當(dāng)為低電平時(shí),器件進(jìn)入低耗電關(guān)閉模式;
VREF:參考電壓輸入端,500mV~+VCC/2;
GND:地;
DOUT:串行數(shù)據(jù)輸出端。數(shù)據(jù)在DCLK的下降沿被移出。當(dāng)為高電平時(shí)DOUT輸出呈現(xiàn)高阻態(tài);
BUSY:器件占用輸出端。當(dāng)為高電平時(shí)DOUT輸出呈現(xiàn)高阻態(tài);
DIN:串行數(shù)據(jù)輸入端。如果為低電平,數(shù)據(jù)在DCLK上升沿被鎖存;
:片選端??刂妻D(zhuǎn)換時(shí)序,使能串行輸入、輸出寄存器;
DCLK:外部時(shí)鐘輸入端。
2 ADS8343使用方法
2.1 模擬輸入端連接
ADS8343支持偽差動(dòng)輸入雙極性輸出,所有單、雙極性輸入電壓均是相對(duì)于公共參考端而言,輸入電壓可以采用單端或是差分輸入的方式驅(qū)動(dòng)模擬輸入端。注意,實(shí)際輸入電壓對(duì)地而言必須是正電壓,否則會(huì)造成芯片損壞。具體連接方式如圖2所示。
2.2 控制字
ADS8343在進(jìn)入轉(zhuǎn)換工作時(shí),必須先向DIN送入8位控制字,8位控制字第7位(MSB)為起始位,須置1:第6~4位為通道選擇位,結(jié)合第2位單端、差分控制端可以改變4個(gè)通道的輸入方式,具體如圖3所示:第1、0位是省電模式和內(nèi)部時(shí)鐘控制位,一般選擇外部時(shí)鐘模式,從而提高轉(zhuǎn)換精度,當(dāng)PD1、PD0均為0即工作在外部時(shí)鐘的正常供電模式;當(dāng)PD1=1、PD0=0即為內(nèi)部時(shí)鐘模式;當(dāng)PD1、PD0均為0時(shí),即工作在省電模式,在每次轉(zhuǎn)換完畢就進(jìn)入關(guān)閉節(jié)電狀態(tài)。
2.3 工作時(shí)序
ADS8343可以靠?jī)?nèi)部時(shí)鐘或是外部時(shí)鐘進(jìn)行工作,為了提高轉(zhuǎn)換精度,在此僅討論外部時(shí)鐘的工作情況。
當(dāng)有高電平轉(zhuǎn)為低電平時(shí),器件開始進(jìn)入轉(zhuǎn)換工作,此時(shí)在最初的8個(gè)時(shí)鐘周期的上升沿將8位控制字送入DIN,當(dāng)最后一位控制送入完成,BUSY馬上由低電平跳變成高電平,經(jīng)過一個(gè)時(shí)鐘周期后,在下降沿BUSY同步變成低電平,因此BUSY用來檢測(cè)DOUT高位數(shù)據(jù)是否到來,經(jīng)過逐次逼近后的16位數(shù)據(jù)在緊接著的16個(gè)時(shí)鐘周期的下降沿被送到DOUT端,全部轉(zhuǎn)換完成后變?yōu)楦唠娖?。因此要獲取16位數(shù)據(jù),必須要25個(gè)時(shí)鐘周期。如果按照SPI接口8位數(shù)據(jù)工作來看,可以通過完成32個(gè)時(shí)鐘周期來獲取16位數(shù)據(jù),把最后7位數(shù)據(jù)處理掉就可以了。其32時(shí)鐘周期時(shí)序圖如圖4所示。
3 多路采集系統(tǒng)
3.1 ADS8343與51單片機(jī)的接口
將ADS8343與常用的51單片機(jī)結(jié)合,可以方便的搭建多路采集系統(tǒng)。將DCLK、、DIN、BUSY、DOUT分別與單片機(jī)的P2.0~2.4連接,利用RS232串口與PC機(jī)連接,實(shí)現(xiàn)由計(jì)算機(jī)來控制采集過程及接收數(shù)據(jù)。
3.2 ADS8343的軟件編程
根據(jù)ADS8343的外部時(shí)鐘模式下32時(shí)鐘周期時(shí)序圖,結(jié)合整個(gè)轉(zhuǎn)換周期需要至少25個(gè)時(shí)鐘周期,采用單片機(jī)I/O給出DCLK的25個(gè)時(shí)鐘周期,這樣就可以完成一次完整的轉(zhuǎn)換。再通過RS232串口與PC機(jī)連接可以實(shí)現(xiàn)簡(jiǎn)單的控制與采集。采用C51編寫的AD轉(zhuǎn)換子程序及相應(yīng)注解如下所示,程序已用串口調(diào)試工具調(diào)試通過。
3.3 數(shù)據(jù)輸出格式
ADS8343是雙極性輸出,以單端輸入為例,當(dāng)輸入電壓為正(相對(duì)于COM而言,即輸入電壓高于VREF),其輸出16進(jìn)制值在0000~7FFF之間,其中+VREF對(duì)應(yīng)于7FFF;當(dāng)輸入電壓為負(fù)(相對(duì)于COM而言,即輸入電壓低于VREF),其輸出16進(jìn)制值在FFFF~8000之間,其中-VREF對(duì)應(yīng)于8000。
3.4 計(jì)算機(jī)(上位機(jī))編程
多種計(jì)算機(jī)編程語言可以實(shí)現(xiàn)串口數(shù)據(jù)的采集處理,在本系統(tǒng)上位機(jī)中使用VC編程,主要實(shí)現(xiàn)對(duì)單片機(jī)傳入數(shù)據(jù)的轉(zhuǎn)換,包括被測(cè)信號(hào)的電壓值的實(shí)時(shí)顯示、精度轉(zhuǎn)換、采集時(shí)間的設(shè)置、串行口端口號(hào)選擇、數(shù)據(jù)存放地址的選擇等,最終的數(shù)據(jù)以文本文件存放于指定地方。針對(duì)于恒電位儀測(cè)量合金極化曲線實(shí)驗(yàn)設(shè)計(jì)的軟件界面如圖5所示。
4 結(jié)束語
文中利用ADS8343模數(shù)轉(zhuǎn)換芯片和51單片機(jī)搭建了簡(jiǎn)易多路采集系統(tǒng),利用51單片機(jī)和C語言編程使整個(gè)控制變的簡(jiǎn)單、移植性強(qiáng),且整體成本低廉,可方便用于多路電壓采集場(chǎng)合,在選擇高精度低噪聲基準(zhǔn)源、良好的布線及軟硬件降噪處理后,可實(shí)現(xiàn)較高精度的采集。該系統(tǒng)已用于恒電位儀測(cè)量極化曲線實(shí)驗(yàn)的電壓采集,取得較好的效果。