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