丁求啟,陶 敏,耿文建
(中國衛(wèi)星海上測控部 江蘇 江陰 214431)
測量船在海上執(zhí)行任務(wù)期間,機房環(huán)境(溫度、濕度等)對測控設(shè)備的影響至關(guān)重要,一旦機房環(huán)境出現(xiàn)異常,就會影響設(shè)備的正常運行、降低系統(tǒng)的可靠性,如果事故不能及時處理,就可能會影響到試驗任務(wù)的成敗,甚至威脅到船舶的安全。目前測量船主要采取人員定時巡查機房環(huán)境的方案,這樣不僅加重了崗位人員的負擔,而且更多的時候不能及時的發(fā)現(xiàn)隱患,因此非常有必要設(shè)計一套機房溫濕度監(jiān)測系統(tǒng),實現(xiàn)對各機房溫濕度的統(tǒng)一監(jiān)測,即可減輕崗位人員的負擔,又提高系統(tǒng)的可靠性,實現(xiàn)對機房的科學管理。目前,溫濕度監(jiān)測系統(tǒng)通常采用由PC機和單片機組成的主從式多機聯(lián)網(wǎng)系統(tǒng),單片機作為下位機,負責機房各采樣點溫濕度數(shù)據(jù)的采集,PC機作為上位機則負責數(shù)據(jù)的集中顯示和管理記錄[1]。PC機和單片機的通訊方式主要采用RS485總線技術(shù)和現(xiàn)場總線技術(shù)[2],該技術(shù)由于采用了有線通信,導致安裝復雜、擴展性差,同時在軟件結(jié)構(gòu)上采用C/S模型,只能實現(xiàn)數(shù)據(jù)的小范圍共享。隨著微電子技術(shù)和嵌入式技術(shù)的快速發(fā)展,使得嵌入式WEB服務(wù)器可以實現(xiàn)更加強大的功能和更高的運行效率,用戶可以通過瀏覽器對基于嵌入式WEB的設(shè)備進行遠程配置和訪問,讓設(shè)備利用WEB內(nèi)容來報告采用數(shù)據(jù)、工作狀態(tài),實現(xiàn)對嵌入式WEB設(shè)備的遠程監(jiān)測。這種WEB訪問方式具有功能強、實時性強、低功耗、可靠性高以及結(jié)構(gòu)小巧等優(yōu)點[3]。為此本文針對測量船的實際情況,設(shè)計了一套基于嵌入式WEB服務(wù)器的機房溫濕度監(jiān)測系統(tǒng),實現(xiàn)了對機房溫濕度的實時監(jiān)控,使得崗位人員能夠?qū)崟r掌握其內(nèi)的溫濕度情況。
系統(tǒng)的整體結(jié)構(gòu)原理圖如圖1所示,主要由計算機、嵌入式WEB服務(wù)器和溫濕度傳感器模塊3部分組成。嵌入式服務(wù)器與溫濕度傳感器模塊間為主從結(jié)構(gòu),傳感器模塊不主動與嵌入式服務(wù)器通信,而是等待嵌入式服務(wù)器輪詢。由于溫濕度不會發(fā)生劇烈的變化,所以嵌入式服務(wù)器采用定時查詢的方式,每隔一個周期依次向每個傳感器模塊發(fā)送讀取數(shù)據(jù)的命令,然后將收到的數(shù)據(jù)存入數(shù)據(jù)存儲區(qū)。嵌入式服務(wù)器基于嵌入式WEB技術(shù),直接接入Internet,這樣就實現(xiàn)了本地數(shù)據(jù)的遠程共享。用戶可以隨時隨地通過Internet瀏覽器查看機房的現(xiàn)場溫濕度數(shù)據(jù)和歷史數(shù)據(jù),并可設(shè)置或修改相關(guān)信息。
圖1 系統(tǒng)總體結(jié)構(gòu)圖Fig.1 Structure diagram of the monitoring system
溫濕度傳感器的測量精度是決定系統(tǒng)性能的關(guān)鍵,本系統(tǒng)選用瑞士Sensirion數(shù)字溫濕度一體化傳感器SHT15,該產(chǎn)品為高度集成傳感芯片,包括一個電容性聚合體濕度敏感元件和一個用能隙材料制成的溫度敏感元件,這兩個敏感元件與一個14位A/D轉(zhuǎn)換器以及一個串行接口電路設(shè)計在同一芯片中。該傳感器工作電壓為24 V(DC),其溫度測量范圍為-20~80℃,工作范圍在5~40℃時溫度檢測準確度為±0.3℃,反應(yīng)時間20 s,分辨率為0.1℃。其相對濕度測量范圍為0~100%RH,工作范圍在10~90%RH時濕度檢測準確度為±3%RH,分辨率為0.1%RH。該傳感器具有響應(yīng)快、抗干擾能力強、測量精度高、體積小、功耗低等優(yōu)點,已廣泛應(yīng)用于各個領(lǐng)域。
嵌入式服務(wù)器分為核心板和主板兩部分,這樣設(shè)計主要是為了系統(tǒng)擴展方便。核心板是系統(tǒng)的數(shù)據(jù)處理和控制單元,其結(jié)構(gòu)框圖如圖2所示。其中,AT91M40800以ATMEL的高密度CMOS工藝制造,其核心為32位RISC體系結(jié)構(gòu),并具有高密度的16位指令集和極低的功耗,通過將ARM7TMDI處理器核與高速片內(nèi)存儲器以及各種外圍功能模塊集成于單一硅片,從而簡化了外圍電路設(shè)計,降低了產(chǎn)品成本、體積和功耗。數(shù)據(jù)存儲器SRAM選用的芯片是IDV71V424,單片容量512 kB,采用3.3 V供電。因為IDV71V424是8位的數(shù)據(jù)總線,所以將兩片并聯(lián),構(gòu)成16位的數(shù)據(jù)帶寬,對它數(shù)據(jù)訪問時,兩次寫入,一次讀出。程序存儲器采用ATMEL公司的AT49BV160,單片容量為2 Mb,具有16位的數(shù)據(jù)總線。它是一種線性FLASH,具有標準的內(nèi)存接口,采用隨機訪問方式,不但能存儲程序代碼,而且還可以直接在其內(nèi)部運行程序。JTAG接口用于調(diào)試系統(tǒng);外部總線由接插件引出,用于擴展系統(tǒng)主板。
圖2 核心板框架Fig.2 Structure diagram of the core-board
嵌入式服務(wù)器的主板作為核心板的外圍擴展,主要包括網(wǎng)絡(luò)接口、USB接口、時鐘芯片、電源模塊等。這里重點介紹網(wǎng)卡芯片RTL8019AS和USB接口芯片CH375的電路設(shè)計。
2.3.1 網(wǎng)卡芯片RTL8019AS的電路設(shè)計
RTL8019AS是臺灣Realtek公司推出的10Mbps的全雙工以太網(wǎng)控制芯片,支持pnp,兼容EthernetⅡ和IEE802.3的10Base5、10Base2、10BaseT,完全可以滿足實際要求。RTL8019AS與AT91M40800連接的電路原理圖如圖3所示。RTL8019AS有3種工作方式,即跳線方式、即插即用方式和免跳線方式。采用哪種方式由RTL8019AS的第65腳JP決定。JP懸空時輸入低電平,此時網(wǎng)卡工作在后兩種方式,需要使用93C46芯片。但在嵌入式應(yīng)用場合,不使用93C46可以降低成本,還可以減少連線。這里使用跳線方式,即將65腳接高電平。此時RTL8019AS的I/O地址由引腳81、82、84、85決定,中斷由78、79、80決定。在本系統(tǒng)的應(yīng)用設(shè)計中,IRQS0~2懸空, 第4腳INT0為中斷輸出信號,與AT91M40800的FIQ腳相連,以提高嵌入式服務(wù)器對網(wǎng)絡(luò)的響應(yīng)速度。
圖3 RTL8019AS與AT91M40800連接的電路原理圖Fig.3 Circuit diagram of the RTL8019AS and AT91M40800
由于RTL8019AS具有Ethernet協(xié)議處理,系統(tǒng)便可直接通過RJ45連接到以太網(wǎng)(再通過以太網(wǎng)接入Internet)。本系統(tǒng)選用的網(wǎng)絡(luò)變壓器為TG110-S050N2,它已經(jīng)具有電平轉(zhuǎn)換功能,簡化了PCB設(shè)計。RTL8019AS的TPIN+(59腳)、TPIN-(58腳)是TP的一對輸入腳,能以10Mbit/s的速率從雙絞線接收差分曼徹斯特編碼的數(shù)據(jù),分別于TG110-S050N2的14/16腳相連。HD(45腳)、LD(46腳)是一對曼徹斯特編碼的差分TP輸出信號。為了防止雙絞線超載,該輸出信號會被提前中斷,這樣可以減少擁塞,這兩腳分別接到TG110-S050N2的9、11腳。TG110-S050N2的其他管腳都通過一個電容接地,其接口原理圖如圖4所示。
圖4 TG110-S050N2的接口電路原理圖Fig.4 Circuit diagram of the TG110-S050N2 chip
2.3.2 USB接口芯片CH375的電路設(shè)計
CH375是一個USB總線的通用接口芯片,直接USBHOST主機方式和DEVICE設(shè)備方式。在本地端,CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制以及中斷輸出,可以方便的掛接到單片機等控制器的系統(tǒng)總線上。
CH375芯片內(nèi)置了電源上電復位電路,一般情況下,不需要外部提供復位。為了在電源上電期間可靠復位并且減少外部干擾,在RSTI引腳與VCC之間跨接一個容量為0.47μF的電容。CH375的RD#和WR#引腳分別接到AT91M40800的NRD和NWR0引腳,CS#連接AT91M40800的NCS3腳,INT#輸出的中斷請求是低電平有效,連接到AT91M40800的IRQ1腳,其接口原理圖如圖5所示。
圖5 CH375的接口電路原理圖Fig.5 Circuit diagram of the CH375 chip
本系統(tǒng)的軟件設(shè)計是基于嵌入式實時系統(tǒng)UC/0S-Ⅱ的,并對UC/0S-Ⅱ內(nèi)核進行了擴展,在其上移植了嵌入式TCP/IP的協(xié)議棧LWIP,并在此基礎(chǔ)上構(gòu)建了嵌入式WEB服務(wù)器,采用CGI(通用網(wǎng)關(guān)接口)技術(shù)實現(xiàn)了動態(tài)網(wǎng)頁,從而構(gòu)成了一個完整的嵌入式應(yīng)用系統(tǒng)。
由于UC/0S-Ⅱ不是針對特定的硬件進行設(shè)計,因此UC/0S-Ⅱ把內(nèi)核代碼分成了三部分,即與處理器無關(guān)的代碼、與處理器有關(guān)的代碼以及與應(yīng)用有關(guān)的代碼[4]。因此為了使UC/0S-Ⅱ在基于ARM7TDMI的嵌入式系統(tǒng)AT91M40800上能夠正常的運行,需要實現(xiàn)相應(yīng)的啟動程序以及對UC/0S-Ⅱ中與處理器相關(guān)部分的設(shè)計。
LWIP(Light Weight IP)即輕型IP協(xié)議實現(xiàn)的重點是在保持TCP協(xié)議主要功能的基礎(chǔ)上減少對RAM的占用,一般它只需要幾十K的RAM和40K作用的ROM就可以運行,這使得LWIP協(xié)議棧適合在嵌入式系統(tǒng)中使用[5]。
LWIP協(xié)議棧在設(shè)計時就考慮到了將來的移植問題,因此把所有與硬件、操作系統(tǒng)、編譯器相關(guān)的部分獨立出來,放在/SRC/ARCH目錄下,因此LWIP在UC/0S-Ⅱ上的移植就是修改這個目錄下的文件,其他的文件一般不修改[6]。
RTL8019AS的驅(qū)動程序主要分為初始化、發(fā)送、接收、中斷處理這幾個部分。LWIP的網(wǎng)絡(luò)驅(qū)動有一定的模型,/SRC/NETIF/ETHERNETIF.C文件即為驅(qū)動的模板,用戶為自己的網(wǎng)絡(luò)設(shè)備實現(xiàn)驅(qū)動時應(yīng)參照此模板。
在LWIP中可以有多個網(wǎng)路接口、每個網(wǎng)絡(luò)接口都對應(yīng)了一個struct netif,這個netif包含了相應(yīng)網(wǎng)絡(luò)接口的屬性、收發(fā)函數(shù)。LWIP調(diào)用netif的方法為netif->input()及netif->output()進行以太網(wǎng)packet的收、發(fā)等操作。
在本方案中,將顯示界面的不變部分作為一個靜態(tài)頁面存儲在flash中,flash里的WEB內(nèi)容采用原始數(shù)據(jù)的形式存儲,沒有進行封裝和編碼,文本內(nèi)容以ASCⅡ碼形式存儲,圖像內(nèi)容以二進制數(shù)據(jù)形式存儲。
對于需要實時變化的溫濕度值在程序中設(shè)為特殊標記。程序運行時,先將靜態(tài)頁面由flash讀入內(nèi)存,然后嵌入式服務(wù)器定時輪詢各個傳感器節(jié)點,將得到的實際溫度值代替每個節(jié)點對應(yīng)的標記,就生成了一個包含實時信息的動態(tài)網(wǎng)頁,服務(wù)器程序?qū)⑦@一動態(tài)網(wǎng)頁發(fā)到瀏覽器,在客戶端就會看到機房的實時溫濕度數(shù)據(jù),如圖6所示。
圖6 軟件運行界面實時溫濕度數(shù)據(jù)Fig.6 Software interface of the monitoring system
文中針對傳統(tǒng)溫濕度監(jiān)測系統(tǒng)的不足,提出于嵌入式WEB服務(wù)器的測量船機房溫濕度監(jiān)測方案,詳細介紹了AT91M40800微處理器+UC/0S-Ⅱ為開發(fā)平臺的硬件結(jié)構(gòu)及服務(wù)器配置,實現(xiàn)了遠程監(jiān)測機房的功能,用戶通過瀏覽器可以查詢機房的實時溫濕度數(shù)據(jù),具有監(jiān)測能力強、可靠性高和擴展性強等優(yōu)點。
[1]李玉峰,李玉寶.LonWorks技術(shù)在溫度控制系統(tǒng)中的應(yīng)用[J].天津科技大學學報,2004,19(1):29-31.LI Yu-feng,LI Yu-bao.The application of lonworks technologyin temperature control system[J].Journal of Tianjin University of Science&Technology,2004,19(1):29-31.
[2]邱國華,袁靜,蔡亮.基于CAN總線的倉儲糧情測控系統(tǒng)[J].儀表技術(shù)與傳感器,2001(11):25-27.
QIU Guo-hua,YUAN Jing,CAI Liang.A control system of monitoring the storing grain’s situation based on can bus[J].Instrument Technique and Sensor,2001(11):25-27.
[3]付保川,班建民,陸衛(wèi)忠.基于嵌入式Web服務(wù)器的遠程監(jiān)控系統(tǒng)設(shè)計[J].微計算機信息,2005(20):36-39.FU Bao-chuan,BAN Jian-min,LU Wei-zhong.Design of remote supervisory system based on Embedded-Web server[J].Control&Automation,2005(20):36-39.
[4]李建明,夏路易.基于AT91M40800和μcos2Ⅱ的嵌入式系統(tǒng)設(shè)計[J].太原理工大學學報,2006(S1):16-21.LI Jian-ming,XIA Lu-yi.Design of embedded system based on AT91M40800 andμcos2Ⅱ[J].Jounal of Taiyuan University of Technology,2006(S1):16-21.
[5]周小兵.嵌入式系統(tǒng)Internet方案的設(shè)計與實現(xiàn)[D].成都:電子科技大學,2004:32-40.
[6]羅淳榕,秦現(xiàn)生,馬新剛.基于CGI的嵌入式遠程控制系統(tǒng)[J].測控技術(shù),2006,25(8):50-55.LUO Chun-rong,QIN Xian-sheng,MA Xin-gang.An embedded remote control system based on common gateway interface[J].Measurement&Contro Technology,2006,25(8):50-55.