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