基于W77E58的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為了對實(shí)際信號進(jìn)行監(jiān)測,設(shè)計(jì)了以W77E58微控制器為核心的多路數(shù)據(jù)采集系統(tǒng),介紹了系統(tǒng)總體結(jié)構(gòu),闡明了模擬量采集的硬件和軟件設(shè)計(jì)方法,給出了具體的電路圖和軟件程序,經(jīng)實(shí)際測試表明,該系統(tǒng)具有采集精度高、功耗低、抗干擾能力強(qiáng)、通用性好的特點(diǎn)。
關(guān)鍵詞:W77E58;教據(jù)采集;MAX197
在現(xiàn)代工業(yè)生產(chǎn)、控制和科學(xué)研究領(lǐng)域中,對各種現(xiàn)場數(shù)據(jù)如溫度、壓力及振動等參數(shù)進(jìn)行采集、傳輸和處理是必不可少的組成部分。將溫度、壓力、流量、位移等模擬信息采集轉(zhuǎn)換成數(shù)字信息后,再由計(jì)算機(jī)進(jìn)行存儲、處理、顯示或打印的過程就是數(shù)據(jù)采集,相應(yīng)的系統(tǒng)稱為數(shù)據(jù)采集系統(tǒng)。高性能微控制器W77E58具有功耗低、體積小、功能強(qiáng)大等優(yōu)點(diǎn),非常適用于對現(xiàn)場數(shù)據(jù)進(jìn)行實(shí)時(shí)采集和現(xiàn)場控制。
1 采集系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)
數(shù)據(jù)采集系統(tǒng)主要由傳感器、調(diào)理電路、A/D轉(zhuǎn)換電路、微控制器、通信模塊、計(jì)算機(jī)(PC機(jī))等幾大模塊組成。如圖1所示。外部世界、現(xiàn)場等的各種參量是模擬量,傳感器的作用是把這些模擬量轉(zhuǎn)化為電信號模擬量(可以是電壓,也可以是電流、電脈沖),經(jīng)過適當(dāng)?shù)恼{(diào)理電路再把這些電信號模擬量送給模擬數(shù)字轉(zhuǎn)換器(A/D轉(zhuǎn)換器),使這些模擬量轉(zhuǎn)化為可以讓微控制器識別處理的數(shù)字信號,最后經(jīng)過通信模塊,微控制器將采集到的信號傳給PC機(jī),PC機(jī)人機(jī)接口界面負(fù)責(zé)控制、存儲和處理采集到的數(shù)據(jù)。
實(shí)際應(yīng)用中,因傳感器的輸出信號多為弱信號,信號與采集系統(tǒng)的距離相對較長,為防止信號的嚴(yán)重衰減,采用電流信號傳輸;在信號接收端,通過I/V轉(zhuǎn)換電路,再把信號復(fù)原成電壓信號,經(jīng)過放大、濾波等調(diào)理電路后,送到A/D轉(zhuǎn)換器,結(jié)構(gòu)框圖如圖2所示。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 I/V轉(zhuǎn)換電路設(shè)計(jì)
為減小電阻本身的噪聲和受環(huán)境的影響,采用40歐1%精密小電阻將4~20 mA電流信號轉(zhuǎn)換為0.144~0.72 V的電壓信號。如圖3所示,電容C1用于濾除高頻噪聲。
2.2 采集電路設(shè)計(jì)
對于每一個(gè)采集對象,都要通過模數(shù)轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字量,在輸入信號數(shù)目很多時(shí),需要使用多路模擬開關(guān)輪流將多個(gè)模擬量依次接入模數(shù)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。在本設(shè)計(jì)中選用的多路模擬開關(guān)是CD4051,A/D轉(zhuǎn)換器選用了美國MASIM公司的MAX197芯片,MAX197采用逐行逼近工作方式,內(nèi)部的輸入跟蹤/保持電路把模擬信號轉(zhuǎn)換為12位數(shù)字量輸出。
圖4是采集系統(tǒng)的一路模擬信號經(jīng)過濾波電路、多路選擇開關(guān)和A/D轉(zhuǎn)換后進(jìn)入微控制器的電路圖。單片機(jī)W77E58的P0口與MAX197的D0~D7相連,既用于輸入MAX197的初始化控制字,也用于讀取轉(zhuǎn)換結(jié)果數(shù)據(jù)。用W77E58單片機(jī)的P2.4作為MAX197的片選。選擇MAX197為軟件設(shè)置低功耗工作方式,所以置SHDN腳為高電平。采用內(nèi)部基準(zhǔn)電壓,所以REFADJ和REF均接低電平。W77E58單片機(jī)的P2.6腳用做判讀高、低位數(shù)據(jù)的選擇線。直接與HBEN腳相連。MAX197的腳與W77E5S8的P2.5相連,當(dāng)轉(zhuǎn)換結(jié)束和準(zhǔn)備讀輸出數(shù)據(jù)時(shí),變低。在電路中,AGND和DGND應(yīng)相互獨(dú)立,各種電源與模擬地之間都用0.1μF電容來消除電源的紋波。
3 系統(tǒng)軟件設(shè)計(jì)
模擬量采集程序的設(shè)計(jì)主要分為3個(gè)階段。第1階段為A/D轉(zhuǎn)換驅(qū)動程序設(shè)計(jì),第2階段為模擬量數(shù)字濾波程序設(shè)計(jì),第3階段是A/D轉(zhuǎn)換結(jié)果處理的程序設(shè)計(jì)。
3.1 A/D轉(zhuǎn)換驅(qū)動程序設(shè)計(jì)
硬件電路中MAX197芯片用于采集模擬量,MAX197控制字格式如表1所示。
A2,A1,A0通過不同0,1組合選擇8路模擬量中的某一路;RNG和BIP的0,1組合確定所采集模擬量的范圍,最大為±15 V;ACQMOD決定MAX197采用內(nèi)部采集模式還是外部采集模式;PD0和PD1組合決定選擇正常工作模式還是低功耗工作模式。具體程序如下:
3.2 數(shù)字濾波
為保證數(shù)據(jù)采集結(jié)果的準(zhǔn)確性,需對模擬量A/D轉(zhuǎn)換后的結(jié)果進(jìn)行數(shù)字濾波處理。在程序設(shè)計(jì)中采用了中位值平均濾波法。對每個(gè)模擬量連續(xù)采樣n次,求出n次采樣結(jié)果之和,去掉其中最大值xmax和最小值xmin,然后求剩下n-2個(gè)數(shù)平均值,以作為該模擬量的實(shí)際值。
3. 3 采集結(jié)果修正
模擬量的參考值是實(shí)際的運(yùn)行參數(shù),所以需要把采集到的數(shù)據(jù)經(jīng)過一定的變換關(guān)系修正為實(shí)際值,然后再執(zhí)行狀態(tài)判斷操作。
4 結(jié)束語
筆者設(shè)計(jì)的多路數(shù)據(jù)采集系統(tǒng)可實(shí)現(xiàn)對多路信號進(jìn)行實(shí)時(shí)監(jiān)測,可通過串口將數(shù)據(jù)傳至計(jì)算機(jī)并顯示,此系統(tǒng)在應(yīng)用時(shí)配上不同的傳感器及相應(yīng)的處理電路,稍加改動,便可在許多領(lǐng)域得到廣泛應(yīng)用,因而具有較高的實(shí)用性。