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