一種工業(yè)級(jí)數(shù)據(jù)采集監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
隨著現(xiàn)代電子技術(shù)的發(fā)展 ,單片機(jī)的可靠性和高性?xún)r(jià)比 ,使它成為控制系統(tǒng)、智能儀表和數(shù)據(jù)采集等各個(gè)領(lǐng)域發(fā)展的主流。在當(dāng)今工業(yè)生產(chǎn)和科學(xué)研究的各行業(yè)中 ,經(jīng)常會(huì)遇到利用微機(jī)控制,需要輸入各種模擬信號(hào)的情況,這時(shí)需要進(jìn)行 A/D轉(zhuǎn)換。在某些實(shí)際項(xiàng)目中,為了采集某些模擬量而選用一些數(shù)據(jù)采集卡 ,其特點(diǎn)是:可擴(kuò)展性差、安裝麻煩、易受機(jī)箱內(nèi)環(huán)境的干擾,在許多場(chǎng)合尤其是便攜式應(yīng)用場(chǎng)合不適用。USB是為解決計(jì)算機(jī)外設(shè)種類(lèi)日益增加與有限的主板插槽和端口的矛盾,由 Intel、Microsoft、IBM及 NEC共同制定的微機(jī)總線接口規(guī)范。當(dāng)前的計(jì)算機(jī)外部設(shè)備,都在追求高速度和高通用性,USB總線接口技術(shù)適用了這種要求,并以速度快、使用方便、成本低、可靠性高等優(yōu)點(diǎn),使外設(shè)向 USB過(guò)渡成為必然趨勢(shì)。
1 系統(tǒng)體系結(jié)構(gòu)
基于 AT89S52的數(shù)據(jù)采集系統(tǒng)的體系結(jié)構(gòu)如圖 1所示。系統(tǒng)的工作過(guò)程就是一個(gè)數(shù)據(jù)采集的過(guò)程 ,其中的每一步都需要不同組的支持。首先 ,溫度和壓力參數(shù)經(jīng)傳感器轉(zhuǎn)換成模擬信號(hào),模擬信號(hào)經(jīng)過(guò) A/D轉(zhuǎn)換芯片 TLC2543變?yōu)閱纹瑱C(jī)可識(shí)別的數(shù)字信號(hào)。單片機(jī)將數(shù)字信號(hào)進(jìn)行處理之后,就可以送往 LED顯示或者通過(guò) USB接口發(fā)送給上位機(jī) ,同時(shí)如果檢測(cè)出現(xiàn)了異常,通過(guò)蜂鳴報(bào)警模塊來(lái)加以警示。系統(tǒng)也可以通過(guò)按鍵來(lái)設(shè)定相關(guān)的操作。USB接口在主機(jī)需要的時(shí)候把接收到的數(shù)據(jù)發(fā)送給主機(jī)進(jìn)行處理和顯示,同樣主機(jī)也可以通過(guò)USB口對(duì)下位機(jī)進(jìn)行控制。
500)this.style.width=500;" border="0" />
2.1 采集模塊設(shè)計(jì)
TLC2543是一種開(kāi)關(guān)電容結(jié)構(gòu)的逐次逼近式 A/D轉(zhuǎn)換器,片內(nèi)提供轉(zhuǎn)換時(shí)鐘,12位或 8位串行數(shù)據(jù)輸出。可采集 11路模擬輸入電壓 ,由片內(nèi)多路開(kāi)關(guān)選通,并采樣保持。在本芯片工作溫度(0℃ ~70℃)范圍內(nèi) ,A/D轉(zhuǎn)換時(shí)間 10微秒,具有單+5V電源工作的一大優(yōu)點(diǎn)。通過(guò)對(duì)該芯片內(nèi)數(shù)據(jù)輸入寄存器的編程,可實(shí)現(xiàn):僅輸出轉(zhuǎn)換的高 8位或 12位、輸出二進(jìn)制數(shù)的格擴(kuò)展存儲(chǔ)器 PDIUSBD12 USB通信式為無(wú)符號(hào)數(shù)或有符號(hào)數(shù)、是最高有效位( MSB)導(dǎo)前輸出還是最低有效位( LSB)導(dǎo)前輸出。采集模塊電路如圖 2所示。89S52單片機(jī)的 P1.0、P1.1與 P1.2作輸出,其中 P1.0模擬片選,P1.1產(chǎn)生時(shí)鐘輸出 ,P1.2輸出地址與控制信息。TLC2543C數(shù)據(jù)輸出寄存器中的數(shù)據(jù)通過(guò) P1.3輸入單片機(jī) ,轉(zhuǎn)換結(jié)束信號(hào)通過(guò) P1.4進(jìn)入單片機(jī)并被查詢(xún)。
500)this.style.width=500;" border="0" />
2.2 USB接口電路設(shè)計(jì)
PDIUSBD12是飛利浦公司推出的一款高性?xún)r(jià)比的 USB固件,完全符合 USB 1.1的協(xié)議規(guī)范,自帶并行接口,可與多種 MCU相結(jié)合。其硬件接口如圖 3所示。另外,它還支持本地的 DMA傳輸,為微控制系統(tǒng)與 PC機(jī)進(jìn)行大規(guī)模數(shù)據(jù)傳輸提供了解決方案。PDIUSBD12所具有的掛起低功耗功能,可以滿足 USB電源管理的要求,可使其應(yīng)用于使用總線供電的外部設(shè)備。此外,它集成了內(nèi)部上拉電阻、連通指示等功能。AT89S52控制器與 PDIUSBD12通過(guò) 8位并行總線連接(采用地址總線與數(shù)據(jù)總線復(fù)用的方式),采用 MCU與 PDIUSBD12結(jié)合的形式實(shí)現(xiàn) USB數(shù)據(jù)的高速傳輸,使系統(tǒng)變得形式靈活、編程簡(jiǎn)潔、成本低廉。
500)this.style.width=500;" border="0" />
2.3 顯示模塊及存儲(chǔ)器擴(kuò)展設(shè)計(jì)系統(tǒng)的顯示是使用 MAX7219實(shí)現(xiàn)的 8位穩(wěn)定靜態(tài)顯示 ,MAX7219是串行共陰極數(shù)碼管
動(dòng)態(tài)掃描顯示驅(qū)動(dòng)芯片,僅使用3線串行接口傳送數(shù)據(jù) ,可直接與單片機(jī)接口,用戶還可以方便地修改其內(nèi)部參數(shù)以實(shí)現(xiàn)多位 LED顯示,因此可以方便地使用單片機(jī)的 USB口送出顯示數(shù)據(jù),并且其占用的時(shí)間少,方便編程及對(duì)信號(hào)的檢測(cè)。
存儲(chǔ)器擴(kuò)展采用了 8片 8K的 6264芯片。他們通過(guò)地址所存芯片 74LS373和譯碼芯片 74LS138進(jìn)行地址的所存和芯片的選擇。采用 A0-A12作為它們的地址線 ,A13-A15作為 74LS138芯片的 3個(gè)引腳 ,用來(lái)與 8片 6264的選通信號(hào)相連。因此 ,第一片 6264的地址對(duì)應(yīng)范圍是:0000H-1FFFFH;第二片為 2000H-3FFFH,依次類(lèi)推,第 7片 6264對(duì)應(yīng)的地址范圍是 E000-FFFFH。 3 軟件部分設(shè)計(jì)
3.1 系統(tǒng)軟件算法
采集系統(tǒng)的主要功能是采集各模擬量輸入通道的數(shù)據(jù) ,并將收到的信息進(jìn)行存儲(chǔ)。程序結(jié)構(gòu)分為主程序和中斷程序 ,其中包括初始化、信號(hào)的采集和數(shù)據(jù)處理顯示輸出。初始化包括定時(shí)器、終端系統(tǒng)、工作狀態(tài)和 USB接口的初始化等。系統(tǒng)每隔 20ms采集一次信號(hào) ,保證對(duì)信號(hào)有很好的跟隨性。在下位機(jī)固件程序中 ,在設(shè)備接入主機(jī)后 ,首先對(duì)下位機(jī)進(jìn)行系統(tǒng)初始化,然后進(jìn)行 USB連接,被主機(jī)識(shí)別并能正常驅(qū)動(dòng),進(jìn)入正常使用狀態(tài),等待數(shù)據(jù)傳輸。如果有 PC數(shù)據(jù)傳輸,則調(diào)用通訊模塊接收數(shù)據(jù),并將數(shù)據(jù)存入下位機(jī)存儲(chǔ)器,然后調(diào)用讀數(shù)據(jù)模塊與顯示模塊進(jìn)行顯示;否則直接執(zhí)行讀數(shù)據(jù)模塊并調(diào)用顯示模塊進(jìn)行顯示(顯示上次存儲(chǔ)的數(shù)據(jù))。系統(tǒng)軟件的流程圖如圖4所示。
500)this.style.width=500;" border="0" />
3.2 基于 TLC2543的軟件編程
將采集程序編成一個(gè)子摸塊 ,由主程序訪問(wèn)。由主程序確定采集模擬通道、采集次數(shù)以及數(shù)據(jù)處理 ,并對(duì)子程序進(jìn)行帶參調(diào)用。由子程序完成查詢(xún)式轉(zhuǎn)換 ,首先查詢(xún)轉(zhuǎn)換結(jié)束信號(hào) , 若轉(zhuǎn)換結(jié)束則執(zhí)行 I/O操作,并啟動(dòng)下一次轉(zhuǎn)換 ,最后將轉(zhuǎn)換結(jié)果作為出口參數(shù)返回到主程序。
500)this.style.width=500;" border="0" />
本文的創(chuàng)新點(diǎn)是由TLC2543和AT89S52單片機(jī)組成的數(shù)據(jù)采集監(jiān)控系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、接口方便、集成度高、可靠性強(qiáng)、功能豐富;其次,通過(guò)USB接口與PC機(jī)連接不僅使數(shù)據(jù)存儲(chǔ)量大,而且更易于進(jìn)行數(shù)據(jù)處理,經(jīng)濟(jì)簡(jiǎn)單, 采樣數(shù)據(jù)精度較高 ,在實(shí)際應(yīng)用中有較高的實(shí)用價(jià)值。設(shè)計(jì)TLC2543和AT89S52單片機(jī)組成的數(shù)據(jù)采集監(jiān)控系統(tǒng)和 VC++.NET語(yǔ)言組成的上位機(jī),在數(shù)據(jù)監(jiān)測(cè)系統(tǒng)在傳感器接收外界信號(hào)的同時(shí)對(duì)信號(hào)進(jìn)行轉(zhuǎn)換、采集、通信和圖形顯示輸出, 實(shí)時(shí)反映傳感器的信號(hào)變化和理解被測(cè)目標(biāo)的新特性 , 是現(xiàn)場(chǎng)監(jiān)控、信息預(yù)報(bào)的必要方法,在應(yīng)用方面有很大的現(xiàn)實(shí)意義。