摘? 要: 介紹了以AT89C52單片機為核心的環(huán)保設備運行記錄儀及軟,、硬件的設計,提出了一種大容量存儲器擴展方案。
關鍵詞: 單片機? 環(huán)保監(jiān)測? 記錄儀
?
由于缺乏對污染處理設施運行狀況和污染排放指標監(jiān)控手段,影響了環(huán)保部門監(jiān)督管理力度,。我們研制開發(fā)了系列化的環(huán)保設備運行監(jiān)測系統(tǒng),。本系統(tǒng)工作穩(wěn)定,、記錄數據準確、存儲容量大,、組網方便,已被多家環(huán)保監(jiān)理部門采用,取得了良好的社會效益和經濟效益,。
1 系統(tǒng)組成及主要功能
環(huán)保設備運行監(jiān)測系統(tǒng)由環(huán)保設備運行記錄儀、讀碼器和管理計算機組成,。記錄儀安裝于環(huán)保設備運行現(xiàn)場,全天候監(jiān)測并記錄環(huán)保設備的運行狀況和主要污染物排放指標;讀碼器用于控制和操作記錄儀的運行及對記錄儀進行數據讀取;管理計算機用于對原始數據進行統(tǒng)計,、報表、存儲及查詢,。記錄儀既可單機運行,也可組成區(qū)域性環(huán)保監(jiān)測網,如圖1所示,。
?
記錄儀是整個系統(tǒng)的核心,其主要功能如下:
(1)記錄儀共8個數據采集通道,可接受來自現(xiàn)場儀表或傳感器輸出的4~20mA(或0~10mA)的電流信號,。每一通道可根據監(jiān)視對象自由設定為開關量通道(實時記錄環(huán)保設備開機/關機運行情況)、累積量通道(如對排放的污水流量進行累積)或瞬時量通道(記錄排放污染物濃度),。
(2)記錄儀能產生本身的運行記錄(記錄儀上電/掉電時間),。
(3)可通過讀碼器或管理計算機設定被監(jiān)測環(huán)保設備的工作電流范圍,對被監(jiān)測環(huán)保設備的工作電流發(fā)出超限報警。
(4)記錄儀提供了與管理計算機和讀碼器通訊的標準RS-232接口,。
(5)記錄儀內置通用MODEM及MODEM控制器,可與管理計算機遠程通訊,。
2 硬件設計
根據功能要求和記錄儀的工作特點,我們在設計時主要從記錄儀運行可靠性、記錄數據準確性及數據存儲容量三個方面考慮,。記錄儀采用ATMEL公司的AT89C52 單片機,片內集成了8K FLASH 程序存儲器,不需外擴程序存儲器,提高了系統(tǒng)的運行穩(wěn)定性,。圖2給出了記錄儀的結構框圖。
?
?
2.1 數據采集通道
數據采集通道A/D轉換器選用了美國TI公司的高性能10位串行A/D轉換器TLC1549,該A/D轉換器為CMOS工藝,采樣頻率可達40kHz,,具有較寬的工作電壓范圍(3~6V,,典型值為5V),功耗低,與單片機接口簡單,占用資源少(三線接口)。
2.2 實時時鐘
為了能準確記錄環(huán)保設備的開機/關機時間,記錄儀采用了廣泛應用于各類工控儀表中的DALLAS日歷芯片DS12887,。DS12887內置電池和晶振,可直接掛在單片機數據總線上,運行穩(wěn)定性好,、精度高,免維護時間可達10年以上,滿足了記錄儀對時間的要求。并且其內部有可掉電記憶的114字節(jié)RAM,為記錄儀的掉電系統(tǒng)維護提供了方便,。
2.3 大容量閃速存儲器
記錄儀要求具有掉電記憶的大容量數據存儲器,通過比較測試,選用TI公司的閃速存儲器FLASH-MEMORY TMS29F040(512KB 8-bit EEPROM),。記錄儀除具有擴展512KB的閃速存儲器外,還有多個I/O接口芯片,所需地址空間已超出51系列單片機常規(guī)64KB片外RAM空間。64KB的空間是由16根地址線決定的,它由P0口提供低8位,P2口提供高8位,。要想擴大空間,只有增加地址線,如可將P1口線當作地址線,。本系統(tǒng)中,擴展512KB的閃速存儲器需增加3根地址線,而P1口線僅有P1.7可用。為此我們采用了圖3所示的線選方法,實現(xiàn)了超大容量存儲器擴展,。
?
圖3中的日歷芯片DS12887,、并行輸出口74HC377(1、2,、3)的地址與閃速存儲器TMS29F040的地址重疊,但當置P1.7為“1”時,閃速存儲器TMS29F040的片選信號無效,此時CPU可對上述I/O接口芯片操作,。并行輸出口74HC377(1)的輸出Q0、Q1,、Q2作為閃速存儲器TMS29F040的高三位地址A16,、A17、A18,輸出Q3,、Q4,、Q5作為采樣通道多路模擬開關的通道地址A、B,、C,。當CPU對閃速存儲器TMS29F040操作時,先置P1.7為“1”,通過并行輸出口74HC377(1)的Q0、Q1,、Q2輸出閃速存儲器TMS29F040的高3位地址A16,、A17,、A18,然后清P1.7為“0”,選中閃速存儲器TMS29F040,即可按常規(guī)方式進行編程。程序如下:
SETB? P1.7
MOV? A, #add?? ??? ;#add為閃速存儲器TMS29F040的高3位地址,。
MOV DPTR,#0FDFFH??? ;FDFFH 為并行輸出口74HC377(1)的地址,。
MOVX @DPTR,A
CLR?? P1.7? ......
2.4 通訊接口
根據記錄儀具有“黑匣子”功能的特點,設計時為簡化人機界面,僅保留必要的通道狀態(tài)LED顯示,記錄儀各種初始化及記錄數據抄取均通過串口通訊完成。采用MAXIM公司的MAX202單+5V電源RS-232接口芯片提供與PC通訊的標準RS-232電平,。通訊分近程和遠程兩種方式,近程通訊直接通過標準RS-232口,而遠程通訊則通過內置遠傳模塊來實現(xiàn),。
3 軟件設計
記錄儀軟件主要由采樣濾波、數據記錄,、數據庫管理、通訊管理等功能模塊組成,。
3.1 采樣濾波模塊
該模塊根據設定的采樣周期將八個通道的模擬信號經過A/D轉換器輸入到數據緩沖區(qū)內,通過平均值濾波算法濾除信號中的工頻干擾,以提高記錄數據的準確性,。
3.2 數據記錄模塊
記錄儀的八個通道均可自由設定為開關量、累積量或瞬時量通道,程序首先判斷各通道的記錄類型,然后根據通道類型對采樣數據做相應處理以產生對應的運行記錄,。圖4給出了該模塊的流程圖,。
?
?
為了防止記錄儀掉電時丟失數據,記錄數據緩沖區(qū)開設在DS12887非揮發(fā)RAM單元中,上電時程序對記錄數據緩沖區(qū)狀態(tài)分析并處理,以保證數據的完整。
3.3 通訊管理模塊
對記錄儀的所有操作都是通過RS-232串口通訊來實現(xiàn)的,。通訊管理模塊完成操作命令的接收,、糾錯、密碼及序列號識別,、命令解釋及散轉執(zhí)行,、數據發(fā)送等功能。
3.4 數據庫管理模塊
該模塊用于運行數據的查詢,、存儲管理,、數據刪除等功能。讀碼器或管理計算機通過RS-232串口以通道號和記錄時間范圍位關鍵字讀取保存在記錄儀閃速存儲器中的運行數據,管理模塊根據上述關鍵字進行檢索,將符合條件的記錄送往發(fā)送緩沖區(qū),由通訊管理模塊通過串口發(fā)送,。
記錄儀產生的運行記錄交由數據庫管理模塊編程寫入閃速存儲器,。編程前先判斷剩余存儲容量大小。若剩余字節(jié)不能寫下一條完整記錄時,管理模塊將整理存儲區(qū)以獲取存儲空間,讀碼器或管理計算機可查詢記錄儀剩余存儲容量百分比,。
記錄儀工作環(huán)境較差,容易受到電磁干擾,。為了提高記錄儀運行的可靠性,除采用指令冗余和軟件陷阱等措施外,硬件上還采用了“看門狗”MAX813L,在程序彈飛到一個臨時構成的死循環(huán)中,冗余指令和軟件陷阱均無能為力而造成“死機”時,強制系統(tǒng)復位。
?
參考文獻
1 孫函芳,徐愛卿.MCS-51/96系列單片機原理及應用.北京:北京航空航天大學出版社,1996
2 周航慈.單片機應用程序設計技術.北京:北京航空航天大學出版社,1991