數(shù)據(jù)采集是目前一種流行且實用的技術。經(jīng)調(diào)查,目前數(shù)據(jù)采集器的市場需求量大,以數(shù)據(jù)采集器為核心構成的小系統(tǒng)應用廣泛,因此開發(fā)高性能的數(shù)據(jù)采集器具有良好的市場前景。本文以實驗室數(shù)據(jù)采集、工業(yè)現(xiàn)場數(shù)據(jù)采集、野外數(shù)據(jù)采集為主要方向,設計一款結構簡單、操作方便、高性價比、具有顯示、記錄存儲功能的數(shù)據(jù)采集系統(tǒng)。
2 數(shù)據(jù)采集系統(tǒng)設計
2.1 系統(tǒng)硬件設計
數(shù)據(jù)采集系統(tǒng)硬件電路包括單片機控制、監(jiān)控、A/D采樣、顯示驅(qū)動、數(shù)據(jù)存儲、數(shù)據(jù)傳輸?shù)饶K。圖1所示為數(shù)據(jù)采集系統(tǒng)組成框圖。
2.1.1 單片機控制模塊
本數(shù)據(jù)采集系統(tǒng)的單片機控制模塊選用AT89S52。AT89S52具有40個引腳,8 KB Flash片內(nèi)程序存儲器,1個全雙工串行通信口,內(nèi)置看門狗(WDT)電路。
2.1.2 監(jiān)控模塊
測控系統(tǒng)中存在電源開斷、瞬時電壓不穩(wěn)定等因素,造成系統(tǒng)死機、信息丟失、運行不穩(wěn)定等故障。為實現(xiàn)系統(tǒng)安全可靠、穩(wěn)定、實時運行,須在測控系統(tǒng)中加入監(jiān)控模塊。系統(tǒng)的監(jiān)控模塊采用X25045,該器件具有電壓監(jiān)控、看門狗定時器和E2pROM等功能,可以直接與微控制器的I/O端口串連。
2.1.3 A/D采樣模塊
A/D采樣模塊采用TLCl543。TLC1543是TI公司采用SPI技術的模數(shù)轉(zhuǎn)換器,具有輸入通道多、高速、高分辨率、高性價比,易與單片機接口等特點。TLC1543的控制端CS、I/O CLOCK、ADDRESS和數(shù)據(jù)輸出端DATAOUT遵循串行外設接口SPI協(xié)議。雖然51系列單片機未內(nèi)置SPI接口,但僅需通過軟件模擬SPI協(xié)議即可實現(xiàn)通信。TLC1543和微處理器的串行接口之間可通過一個4線接口高速傳輸數(shù)據(jù)。
2.1.4 顯示驅(qū)動模塊
系統(tǒng)顯示驅(qū)動模塊采用PS7219。PS7219是一種高性價比的多位LED顯示管理器,采用同步串行外設接口(SPI),可與任何單片機相連,并可同時驅(qū)動8位LED。
2.1.5 串行通訊接口電路
在工業(yè)測控系統(tǒng)中,常用于51系列單片機采集現(xiàn)場模擬量、開關量,而PC機用于監(jiān)控整個控制現(xiàn)場。這兩者間的數(shù)據(jù)傳輸或所構成的局部網(wǎng)絡、多用戶系統(tǒng)和分布式控制系統(tǒng)一般采用串行通信,PC機為主機,單片機為從機。本系統(tǒng)數(shù)據(jù)傳輸采用異步串行通訊,采用Maxim公司的典型串行通信接口器件MAX232ECP實現(xiàn)數(shù)據(jù)傳輸。
2.1.6 數(shù)據(jù)存儲模塊
為了實現(xiàn)系統(tǒng)數(shù)據(jù)定時采集和按日期保存數(shù)據(jù),擴展一片實時時鐘日歷器件SD2001E。該器件具有I2C總線接口,內(nèi)置實時時鐘所需電池、晶體振蕩器、電源管理等電路。系統(tǒng)掉電時可保證時鐘正常運行。SD2001E無需外圍元件,即可構成高精度實時時鐘及具有256 KB非易失性SRAM的數(shù)據(jù)存儲電路。
SD2001E采用24引腳DIP封裝。SD2001E的主要特性:年、月、日、星期、時、分、秒的BCD碼輸入/輸出;I2C總線接口(包括實時時鐘部分和SRAM部分);自動日歷到2099年(包括閏年自動換算功能);內(nèi)置晶體振蕩器,出廠前已對時鐘校準,保證精度為±4×10-6,即時鐘年誤差小于2 min;低功耗,典型值為1.0μA(VDD=3.5 V);工作電壓為3.0 V~5.5 V:可設置兩路鬧鐘輸出及1 Hz~32 768 Hz的方波信號輸出;可設置每分鐘固定中斷輸出或選定頻率固定中斷輸出;內(nèi)置充電電路和充電電池,電源管理電路以及穩(wěn)壓電路和電池掉電檢測電路;內(nèi)置256 KB的非易失性SRAM,其擦寫次數(shù)為100億次,且無內(nèi)部寫延時。
本采集系統(tǒng)設計利用SD2001E實現(xiàn)以下功能:
(1)實時時鐘日歷。SD2001E可提供高精度的時鐘及日歷功能,以滿足具有定時數(shù)據(jù)采集、輸出控制、數(shù)據(jù)保存以及定時報警等功能的嵌入式系統(tǒng)需要,同時也可以為系統(tǒng)提供時間以及日期顯示功能。
(2)數(shù)據(jù)保存。利用SD2001E片內(nèi)32 KB、擦寫數(shù)為100億次的高性能NVRAM,無需考慮存儲器的擦寫壽命及數(shù)據(jù)存儲的可靠性問題。因而,SD2001E為那些需要頻繁讀寫數(shù)據(jù)的應用提供了解決方案。
(3)定時輸出。當系統(tǒng)需要以分鐘為基本單位定時輸出時(如采集周期固定的多路數(shù)據(jù)采集、巡回檢測系統(tǒng)等),可將SD2001E狀態(tài)寄存器的INT1ME位置“1”,INT1FE位置“0”,以選擇為每分鐘邊沿中斷輸出或?qū)NT1ME、INT1FE同時置“1”選擇為每分鐘固定中斷輸出。通過單片機的計數(shù)器或中斷次數(shù)軟件計數(shù)的方法,可得到以分鐘為單位的任意時間輸出。
SD2001E與AT89S52單片機的硬件連接電路如圖2所示。由于AT89S52沒有I2C總線,因此采用P2.0和P2.1接口線模擬I2C總線。SD2001E內(nèi)部SRAM的I2C總線接口SDAE與SDA并聯(lián),SCLE與SCL并聯(lián)。
2.2 系統(tǒng)軟件設計
利用ASM51匯編語言編寫數(shù)據(jù)采集與數(shù)值計算、數(shù)據(jù)顯示、數(shù)據(jù)存儲和數(shù)據(jù)通訊軟件;采用可視化語言VB6.0設計上位機軟件,編寫上位計算機數(shù)據(jù)接收和處理軟件。
系統(tǒng)主程序為數(shù)據(jù)采集系統(tǒng)的主體部分,它由自檢與初始化、A/D轉(zhuǎn)換程序、顯示驅(qū)動、監(jiān)控程序、按鍵程序、數(shù)據(jù)上傳通訊、數(shù)據(jù)定時存儲等模塊組成。首先是系統(tǒng)初始化。當系統(tǒng)運行正常,則開始運行數(shù)據(jù)采集軟件的主程序,使用默認配置參數(shù)設定系統(tǒng)的采集通道數(shù),完成數(shù)據(jù)采集、數(shù)據(jù)顯示、數(shù)據(jù)傳輸及數(shù)據(jù)定時存儲等功能。系統(tǒng)軟件設計流程圖如圖3所示。
聯(lián)系電話:021-31666777
新聞、技術文章投稿QQ:3267146135 投稿郵箱:syy@gongboshi.com