久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

基于嵌入式網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)(樣例5)

時(shí)間:2019-05-13 01:13:26下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《基于嵌入式網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《基于嵌入式網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)》。

第一篇:基于嵌入式網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)

基于嵌入式網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)

摘要: 針對(duì)目前大量嵌入式網(wǎng)絡(luò)設(shè)備應(yīng)用于工業(yè)控制的監(jiān)控領(lǐng)域,監(jiān)控網(wǎng)絡(luò)的性能、帶寬、成本成為目前工業(yè)控制領(lǐng)域普遍關(guān)心的問題。而影響這一性能的是核心控制服務(wù)器的管理及設(shè)計(jì)結(jié)構(gòu)優(yōu)劣,為此本文提出了一個(gè)適于通用嵌入式設(shè)備的網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控系統(tǒng)服務(wù)器結(jié)構(gòu),分析了該服務(wù)器需要提供了功能需求,其中重點(diǎn)研究了該網(wǎng)絡(luò)監(jiān)控系統(tǒng)的通信協(xié)議、嵌入式技術(shù)和現(xiàn)場(chǎng)總線技術(shù)等。

關(guān)鍵詞: 嵌入式;監(jiān)控;服務(wù)器;網(wǎng)絡(luò)設(shè)備;工業(yè)控制前言

隨著控制、計(jì)算機(jī)、通信、網(wǎng)絡(luò)等技術(shù)的發(fā)展,信息交換溝通的領(lǐng)域迅速擴(kuò)大,覆蓋了從企業(yè)的現(xiàn)場(chǎng)設(shè)備到控制、管理的各個(gè)層次,從工段、車間、工廠、企業(yè)乃至世界各地的市場(chǎng)。所以,如何更好的實(shí)現(xiàn)企業(yè)內(nèi)現(xiàn)場(chǎng)控制、過程監(jiān)控、經(jīng)營(yíng)管理、市場(chǎng)管理等各層次的匯通和數(shù)據(jù)共享,即實(shí)現(xiàn)“管理監(jiān)控一體化”,是各個(gè)企業(yè)迫切需要解決的問題。工業(yè)控制網(wǎng)絡(luò)和 Internet的無縫連接能夠促進(jìn)企業(yè)的網(wǎng)絡(luò)化發(fā)展,順應(yīng)工業(yè)監(jiān)控系統(tǒng)的發(fā)展潮流,具有強(qiáng)大的社會(huì)推動(dòng)力和生命力。

嵌入式系統(tǒng)與網(wǎng)絡(luò)技術(shù)的結(jié)合是順應(yīng)著低成本、高性能、網(wǎng)絡(luò)化的時(shí)代潮流,是嵌入式系統(tǒng)迅速發(fā)展的方向,開創(chuàng)著嵌入式技術(shù)的美好未來。嵌入式系統(tǒng)與網(wǎng)絡(luò)技術(shù)結(jié)嵌入式網(wǎng)絡(luò)設(shè)備服務(wù)器聯(lián)網(wǎng)系統(tǒng)的研究與實(shí)現(xiàn),就是開發(fā)基于TCP/IP協(xié)議棧的Internet互聯(lián)的嵌入式系統(tǒng),即嵌入式Internet設(shè)備。它可以實(shí)現(xiàn)遠(yuǎn)程監(jiān)控、管理、診斷和維護(hù)現(xiàn)場(chǎng)設(shè)備,實(shí)現(xiàn)各種智能設(shè)備,例如家用電器、工業(yè)控制裝置或儀器、安全監(jiān)控系統(tǒng)、汽車電子等與Internet網(wǎng)絡(luò)的互聯(lián)。

如果在工業(yè)控制網(wǎng)絡(luò)體系結(jié)構(gòu)的縱向上,可以實(shí)現(xiàn)工業(yè)控制網(wǎng)絡(luò)和Internet網(wǎng)絡(luò)的無縫連接,那么整個(gè)工控網(wǎng)絡(luò)就好像只有一種通信協(xié)議,可以滿足控制系統(tǒng)各個(gè)層次的要求,實(shí)現(xiàn)生產(chǎn)、管理和控制一體化。如果在工業(yè)網(wǎng)絡(luò)體系結(jié)構(gòu)的橫向上,可以使多種工業(yè)控制網(wǎng)絡(luò)統(tǒng)一協(xié)議標(biāo)準(zhǔn),那么企業(yè)生產(chǎn)底層具有各種總線類型接口的現(xiàn)場(chǎng)儀表和設(shè)備就可以通訊,實(shí)現(xiàn)設(shè)備無差別化。嵌入式設(shè)備服務(wù)器組成結(jié)構(gòu)

嵌入式網(wǎng)絡(luò)設(shè)備服務(wù)器廣泛應(yīng)用于工業(yè)控制領(lǐng)域,實(shí)現(xiàn)對(duì)工業(yè)現(xiàn)場(chǎng)設(shè)備和儀器儀表的監(jiān)控。針對(duì)各種工業(yè)現(xiàn)場(chǎng)的不同應(yīng)用需求,嵌入式網(wǎng)絡(luò)設(shè)備服務(wù)器在設(shè)計(jì)時(shí)按用途分為兩大類,一類適用于對(duì)系統(tǒng)成本敏感,數(shù)據(jù)量少,對(duì)通訊指標(biāo)要求低的場(chǎng)合,價(jià)格低廉、貨源充足的8/16位嵌入式控制器是首選,即低端嵌入式服務(wù)器系統(tǒng);另一類適用于數(shù)據(jù)量大,對(duì)通訊的實(shí)時(shí)性和可靠性要求高的場(chǎng)合,性價(jià)比高的16/32位的嵌入式微處理器是最佳選擇,即中高端嵌入式服務(wù)器系統(tǒng)。因此,在設(shè)計(jì)前期需要考慮系統(tǒng)的應(yīng)用環(huán)境,選擇合適的方案最大程度的滿足工業(yè)現(xiàn)場(chǎng)各方面的需求。

在嵌入式網(wǎng)絡(luò)設(shè)備服務(wù)器聯(lián)網(wǎng)系統(tǒng)的軟件設(shè)計(jì)上,完成服務(wù)器和網(wǎng)絡(luò)接口功能的是嵌入式HTTP協(xié)議、EGI接口函數(shù)、嵌入式TCP/IP協(xié)議棧、異構(gòu)協(xié)議轉(zhuǎn)換程序、網(wǎng)絡(luò)芯片驅(qū)動(dòng)程序、CAN協(xié)議驅(qū)動(dòng)程序和RS485協(xié)議驅(qū)動(dòng)程序。只要實(shí)現(xiàn)了低端嵌入式服務(wù)器接口的軟件,在其基礎(chǔ)上做適當(dāng)?shù)男薷模涂梢猿晒σ浦驳街懈叨饲度胧椒?wù)器接口。

基于51單片機(jī)的嵌入式網(wǎng)絡(luò)設(shè)備服務(wù)器應(yīng)用于工業(yè)監(jiān)控系統(tǒng),連接現(xiàn)場(chǎng)總線和以太網(wǎng),使得以太網(wǎng)中的管理層工作人員可以遠(yuǎn)程監(jiān)控現(xiàn)場(chǎng)總線設(shè)備。考慮到單片機(jī)系統(tǒng)的資源局限性,基于51單片機(jī)的嵌入式系統(tǒng)就僅僅作為網(wǎng)絡(luò)設(shè)備,完成網(wǎng)絡(luò)設(shè)備服務(wù)器和網(wǎng)絡(luò)接口功能,監(jiān)控具有自診斷功能的智能型現(xiàn)場(chǎng)設(shè)備。智能型設(shè)備的自診斷功能能夠處理設(shè)備運(yùn)行中的突發(fā)問題,需要監(jiān)控的信息主要是運(yùn)行信息、報(bào)警信息和參數(shù)設(shè)置信息,傳輸數(shù)據(jù)量小,基于51單片機(jī)的嵌入式網(wǎng)絡(luò)設(shè)備服務(wù)器能夠滿足其傳輸指標(biāo)要求。考慮到現(xiàn)場(chǎng)總線協(xié)議的多樣性,無法顧及,僅以CAN總線為例,設(shè)計(jì)嵌入式網(wǎng)絡(luò)設(shè)備服務(wù)器系統(tǒng)的現(xiàn)場(chǎng)總線模塊。

根據(jù)功能需要,本系統(tǒng)設(shè)計(jì)包括以下模塊:嵌入式微控制器(Micro Control Unit簡(jiǎn)稱MCU)的主控模塊、工業(yè)現(xiàn)場(chǎng)總線CAN模塊和RS485模塊、與以太網(wǎng)連接的網(wǎng)絡(luò)控制模塊、系統(tǒng)調(diào)試用的串口RS232模塊、鍵盤輸入模塊和LCD顯示模塊以及電源模塊。整個(gè)系統(tǒng)的實(shí)現(xiàn)框架如圖一所示。

圖 一:嵌入式網(wǎng)絡(luò)設(shè)備服務(wù)器系統(tǒng)的硬件結(jié)構(gòu)圖

嵌入式網(wǎng)絡(luò)設(shè)備服務(wù)器系統(tǒng)需要實(shí)現(xiàn)網(wǎng)絡(luò)功能,為了適應(yīng)網(wǎng)絡(luò)的傳輸速度以及有足夠的時(shí)間解析數(shù)據(jù)包,僅僅依靠RTL8019AS內(nèi)部的RAM是遠(yuǎn)遠(yuǎn)不夠的,所以單片機(jī)外擴(kuò)了一個(gè)32K的RAM存儲(chǔ)器。外擴(kuò)的存儲(chǔ)器緩存以太網(wǎng)幀。嵌入式網(wǎng)絡(luò)設(shè)備服務(wù)器不僅要實(shí)現(xiàn)與以太網(wǎng)、CAN、RS4851232的通訊,還要提供人機(jī)交互接口LCD和鍵盤。因此,微控制器W77E58B需要訪問多個(gè)外部設(shè)備,又不能占用太多的引腳。譯碼器74HC 138為W77E58B訪問外部設(shè)備提供方便,只需W77E58B通過三個(gè)引腳A15,A14和A13就可以分別片選外擴(kuò)RAM存儲(chǔ)器HM62256B,網(wǎng)絡(luò)接口芯片RTL8019AS, CAN總線控制器SJA1000, LCD顯示芯片的ACM12232-E1和ACM12232-E2。

X5325芯片為單片機(jī)系統(tǒng)提供復(fù)位信號(hào)、32K的存儲(chǔ)空間和看門狗機(jī)制。X5325中的EEPROM是掉電不丟失信息的數(shù)據(jù)存儲(chǔ)器,所以用戶通過人機(jī)交互接口鍵盤輸入的信息可以存儲(chǔ)在X5325中。當(dāng)系統(tǒng)再次上電,W77E58B會(huì)從X5325的EEPROM中讀取用戶的設(shè)置信息在LCD上顯示。因此,嵌入式網(wǎng)絡(luò)設(shè)備服務(wù)器的最小系統(tǒng)由微控制器芯片W77E58B、靜態(tài)RAM存儲(chǔ)器芯片HM62256B、地址鎖存器74HC373、譯碼器74HC138、晶振電路和復(fù)位芯片X5325組成。系統(tǒng)設(shè)計(jì)中,W77E58B的參考時(shí)鐘由11.0592 MHz的晶體振蕩器產(chǎn)生。工業(yè)現(xiàn)場(chǎng)總線CAN和RS485的接口部分需要使用光電隔離措施。使用光耦6N137組成的光電隔離電路,隔離CAN的收發(fā)控制模塊PCA82C250和RS485的電平轉(zhuǎn)換模塊MAX485的電源。

完整的以太網(wǎng)接口除了以太網(wǎng)控制芯片外,還需要RJ45插座連接網(wǎng)絡(luò)傳輸?shù)奈锢斫橘|(zhì)雙絞線。除此之外還需要隔離變壓器進(jìn)行信號(hào)隔離以及兩個(gè)指示燈指示以太網(wǎng)的工作狀態(tài)。一個(gè)指示燈指示以太網(wǎng)是否連通,另一個(gè)指示燈指示嵌入式系統(tǒng)是否接收或發(fā)送以太網(wǎng)幀。3 嵌入式UDP/IP協(xié)議棧的實(shí)現(xiàn)

UDP/IP協(xié)議棧是一個(gè)復(fù)雜的綜合體,在實(shí)際運(yùn)用中,并不需要實(shí)現(xiàn)其全部協(xié)議。根據(jù)系統(tǒng)需要對(duì)網(wǎng)絡(luò)協(xié)議進(jìn)行裁剪,設(shè)計(jì)并實(shí)現(xiàn)UDP/IP協(xié)議簇的一個(gè)子集,即嵌入式UDP/IP協(xié)議棧只實(shí)現(xiàn)ARP。IP和UDP協(xié)議,如此便避免了單片機(jī)的系統(tǒng)速度和內(nèi)存的瓶頸。這樣,嵌入式UDP/IP協(xié)議具有向下兼容性和易移植性,不僅滿足嵌入式微處理器的高質(zhì)量通訊任務(wù)的基本需求,必要時(shí)可方便增加部分協(xié)議處理,又可以滿足單片機(jī)的聯(lián)網(wǎng)需要。嵌入式UDP/IP協(xié)議棧符合經(jīng)濟(jì)型嵌入式工業(yè)設(shè)備聯(lián)網(wǎng)的設(shè)計(jì)要求。

系統(tǒng)采用以太網(wǎng)的接入方式,因此必須實(shí)現(xiàn)IEEE802.3標(biāo)準(zhǔn),主要由RTL8019AS完成。為了保證系統(tǒng)能夠在以太網(wǎng)內(nèi)通信,還需要實(shí)現(xiàn)ARP協(xié)議。ARP協(xié)議的本質(zhì)就是完成網(wǎng)絡(luò)地址到物理地址的映射,從而保證網(wǎng)絡(luò)的正確傳輸。整個(gè)ARP處理過程由ARP請(qǐng)求和ARP應(yīng)答兩個(gè)函數(shù)實(shí)現(xiàn)。根據(jù)ARP報(bào)頭格式定義ARP報(bào)頭結(jié)構(gòu)體ARPHeader如下所示。其中,當(dāng)Operation=1時(shí)表示ARP請(qǐng)求數(shù)據(jù)包;當(dāng)Operation =2時(shí)表示ARP應(yīng)答數(shù)據(jù)包。實(shí)現(xiàn)協(xié)議棧的主要函數(shù)分發(fā)送部分和接收部分,發(fā)送函數(shù)有:①void fun_NetSendEther(void):封裝以太網(wǎng)幀。將上層協(xié)議的數(shù)據(jù)包封裝在以太網(wǎng)幀的數(shù)據(jù)部分,從EthernetHeader結(jié)構(gòu)體中讀取信息,填充以太網(wǎng)幀的幀頭并發(fā)送以太網(wǎng)幀。②void fun_NetSendIP(void):封裝IP數(shù)據(jù)包。將上層協(xié)議的數(shù)據(jù)包封裝在IP數(shù)據(jù)包的數(shù)據(jù)部分,從IpHeader結(jié)構(gòu)體、數(shù)組Deslp和數(shù)組NodeIp中讀取信息,調(diào)用fun_NetCheckSum函數(shù)計(jì)算校驗(yàn)和,填充IP數(shù)據(jù)包的報(bào)頭部分,判斷上層協(xié)議是TCP協(xié)議(協(xié)議標(biāo)識(shí)06)還是UDP(協(xié)議標(biāo)識(shí)17)協(xié)議,并將不同的協(xié)議標(biāo)識(shí)添加到IP數(shù)據(jù)包報(bào)頭,發(fā)送IP數(shù)據(jù)包。③void fun_NetSendUDP(void):封裝UDP數(shù)據(jù)包。將上層協(xié)議的數(shù)據(jù)包封裝在UDP數(shù)據(jù)包的數(shù)據(jù)部分,從UdpHeader結(jié)構(gòu)體、數(shù)組DesIp和數(shù)組Nodelp中讀取信息,調(diào)用fun NetCheckSum函數(shù)計(jì)算校驗(yàn)和,填充UDP數(shù)據(jù)包的報(bào)頭部分,并發(fā)送UDP數(shù)據(jù)包。

接收的函數(shù)主要有:①void fun_NetRecEther(void):該函數(shù)從接收的數(shù)據(jù)包中提取發(fā)送方的MAC地址,以便發(fā)送回復(fù)信息時(shí),填充數(shù)據(jù)包的接收方MAC地址。查看網(wǎng)絡(luò)層協(xié)議,判斷是IP協(xié)議還是ARP協(xié)議,并針對(duì)各種協(xié)議調(diào)用相應(yīng)的處理函數(shù)。②void fun_NetRecARPReq(void):將相應(yīng)的信息存儲(chǔ)在ARP結(jié)構(gòu)體中,以便回復(fù)時(shí)填充ARP數(shù)據(jù)包的報(bào)頭部分。分析ARP的請(qǐng)求數(shù)據(jù)包,若是發(fā)送給本IP的ARP請(qǐng)求,則將發(fā)送ARP應(yīng)答數(shù)據(jù)包,告知本IP地址對(duì)應(yīng)的MAC地址。③void funwe NetRecIP(void): IP協(xié)議的處理程序。首先檢驗(yàn)校驗(yàn)和,若校驗(yàn)和正確,就將IP信息存儲(chǔ)在IP結(jié)構(gòu)體中,以便回復(fù)時(shí)填充IP數(shù)據(jù)包的報(bào)頭,否則丟棄整個(gè)數(shù)據(jù)包。查看下層協(xié)議是UDP還是TCP協(xié)議,調(diào)用相應(yīng)的函數(shù)處理程序。④void fun_etRecUDP(void):首先檢驗(yàn)校驗(yàn)和,若校驗(yàn)和正確,就將UDP信息存儲(chǔ)在UDP結(jié)構(gòu)體中,以便回復(fù)時(shí)填充UDP數(shù)據(jù)包的報(bào)頭,否則丟棄整個(gè)數(shù)據(jù)包。

圖 二:數(shù)據(jù)收發(fā)流程

數(shù)據(jù)的整個(gè)收發(fā)流程如圖二所示。嵌入式網(wǎng)絡(luò)設(shè)備服務(wù)器系統(tǒng)接收到以太網(wǎng)數(shù)據(jù)幀,就調(diào)用嵌入式UDP/IP協(xié)議棧的接收函數(shù)接收,并按照協(xié)議棧的層次關(guān)系分析數(shù)據(jù)包。需要注意的是系統(tǒng)自動(dòng)丟棄ARP應(yīng)答數(shù)據(jù)包。4 現(xiàn)場(chǎng)總線技術(shù)實(shí)現(xiàn)

現(xiàn)場(chǎng)總線上連續(xù)傳輸?shù)腘個(gè)CAN協(xié)議幀。每幀10個(gè)字節(jié),其中控制字段占2個(gè)字節(jié),包括標(biāo)準(zhǔn)CAN協(xié)議幀的仲裁場(chǎng)和控制場(chǎng),信息字段占8個(gè)字節(jié),包括標(biāo)準(zhǔn)CAN協(xié)議幀的數(shù)據(jù)場(chǎng)。其中,信息字段由8個(gè)字節(jié)組成,發(fā)送CAN數(shù)據(jù)幀時(shí),信息字段由單片機(jī)W77E58B通過寫SJA1000的發(fā)送緩沖器的TXDATAO-TXDATA8設(shè)定。信息字段的數(shù)據(jù)信息內(nèi)容也由通訊雙方自定義。為適應(yīng)實(shí)際應(yīng)用的需要,數(shù)據(jù)信息分成了功能碼和數(shù)據(jù)信息兩個(gè)部分。功能碼有兩個(gè)作用,一是區(qū)分設(shè)備類型,另一個(gè)是區(qū)分信息類別。工業(yè)現(xiàn)場(chǎng)中有多種類型的設(shè)備都集成了CAN總線接口,都需要進(jìn)行CAN總線通訊,所以在設(shè)計(jì)CAN協(xié)議幀時(shí)就需要提供可以區(qū)分不同設(shè)備的標(biāo)識(shí),利用一個(gè)字節(jié)(8bits)的3 bit可以區(qū)分8種不同的設(shè)備。設(shè)備在通訊過程中需要交互各種類型的信息,例如動(dòng)態(tài)遙測(cè)數(shù)據(jù),報(bào)警遙測(cè)數(shù)據(jù)和設(shè)置參數(shù)等,就必須有標(biāo)識(shí)能夠區(qū)分,使得通訊方分析CAN協(xié)議幀時(shí)知道是何種類型信息的數(shù)據(jù),那么余下的5 bit就用于信息類別的區(qū)分。5bit能夠區(qū)分32種信息類別。接收到CAN協(xié)議幀,W77E58B讀SJA 1000的接收緩沖器的RDIDO, RDIDI和RDDATAO-RDDATA8,分析接收的數(shù)據(jù)信息。工作人員在監(jiān)控軟件的查詢或設(shè)置子菜單中填寫從機(jī)的寄存器信息發(fā)送到嵌入式網(wǎng)絡(luò)設(shè)備服務(wù)器聯(lián)網(wǎng)系統(tǒng)上,嵌入式系統(tǒng)分析此信息,根據(jù)從機(jī)的寄存器信息表,填充Modbus請(qǐng)求數(shù)據(jù)幀,發(fā)送到對(duì)應(yīng)的從機(jī)設(shè)備。當(dāng)從機(jī)設(shè)備返回Modbus應(yīng)答數(shù)據(jù)幀后,分析數(shù)據(jù)幀,提取寄存器的數(shù)據(jù)信息,將信息回復(fù)給工作人員。實(shí)際上,監(jiān)控軟件中工作人員發(fā)送的查詢信息,例如A相電流,從機(jī)接收的是該信息所對(duì)應(yīng)的內(nèi)部寄存器地址。兩者之間的對(duì)應(yīng)轉(zhuǎn)換,由嵌入式網(wǎng)絡(luò)設(shè)備服務(wù)器聯(lián)網(wǎng)系統(tǒng)根據(jù)從機(jī)設(shè)備的寄存器信息表完成。5 創(chuàng)新點(diǎn)總結(jié)

本文的創(chuàng)新點(diǎn)是提出了嵌入式網(wǎng)絡(luò)設(shè)備聯(lián)網(wǎng)服務(wù)器實(shí)現(xiàn)方案,根據(jù)嵌入式網(wǎng)絡(luò)設(shè)備的性能特點(diǎn)和實(shí)際工控領(lǐng)域的環(huán)境要求,提出了一種以單片機(jī)機(jī)為核心CPU的,適合嵌入式網(wǎng)絡(luò)設(shè)備的聯(lián)網(wǎng)服務(wù)器架構(gòu)。實(shí)現(xiàn)了現(xiàn)場(chǎng)總線和以太網(wǎng)相結(jié)合的“管控一體化”。設(shè)計(jì)的嵌入式系統(tǒng)通過實(shí)驗(yàn),測(cè)試和驗(yàn)證了系統(tǒng)的安全性、可靠性和實(shí)時(shí)性性能。參考文獻(xiàn): 陳俊,余兵.工業(yè)以太網(wǎng)絡(luò)技術(shù)的應(yīng)用與發(fā)展[J].PLC & FA, 2006, 3 2 韓黨群.CAN控制器SJA 1000及其應(yīng)用[J].電子技術(shù)應(yīng)用,2003, 1:66-69 3 部寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1996, 10 4 張曦煌 基于嵌入式Web的遠(yuǎn)程儀表接口[J],微計(jì)算機(jī)信息,2005,12-1:147-149。

第二篇:基于ARM嵌入式的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)

基于ARM嵌入式的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)

摘要:基于ARM 內(nèi)核的嵌入式系統(tǒng)在遠(yuǎn)程監(jiān)控報(bào)警系統(tǒng)中的設(shè)計(jì)實(shí)現(xiàn)與應(yīng)用。核心部分主要包 括 ARM 嵌入式平臺(tái)設(shè)計(jì)及 μC-OS 嵌入式實(shí)時(shí)操作系統(tǒng)移植;人機(jī)交互界面 μCGUI 的設(shè)計(jì)與實(shí)現(xiàn);遠(yuǎn)程通訊及自動(dòng)報(bào)警等;系統(tǒng)的設(shè)計(jì)還考慮到了擴(kuò)展性和通用性以及與其他監(jiān)控設(shè)備無縫連接等問題。

關(guān)鍵詞: ARM;μC/OS-II;μCGUI;遠(yuǎn)程監(jiān)控 引言

監(jiān)控系統(tǒng)現(xiàn)已成為現(xiàn)代化生產(chǎn)、生活中不可缺少的重要組成部分。目前,監(jiān)控系列產(chǎn)品 種類繁多,大部分廣泛應(yīng)用于交通、醫(yī)院、銀行、家居、學(xué)校等安防領(lǐng)域。

隨著嵌入式系統(tǒng)的出現(xiàn),尤其是基于 ARM 內(nèi)核芯片的嵌入式系統(tǒng)的出現(xiàn),使得監(jiān)控系統(tǒng)的應(yīng)用領(lǐng)域更為廣泛。本文設(shè)計(jì)的遠(yuǎn)程監(jiān)控報(bào)警系統(tǒng)除了作為安防功能外,還可以應(yīng)用于以下領(lǐng)域:通訊領(lǐng)域:遠(yuǎn)程通訊、視頻會(huì)議和視頻點(diǎn)播、證券、遠(yuǎn)程教育等。醫(yī)療領(lǐng)域:病房監(jiān)護(hù)、遠(yuǎn)程診斷等。工業(yè)領(lǐng)域:遠(yuǎn)程設(shè)備診斷、維護(hù)、維修,遠(yuǎn)程生產(chǎn)監(jiān)控等。家用領(lǐng)域:家用電器遠(yuǎn)程維護(hù);電、氣、火等重大事故自動(dòng)報(bào)警等。

系統(tǒng)設(shè)計(jì)

2.1系統(tǒng)組成

本文設(shè)計(jì)的遠(yuǎn)程監(jiān)控系統(tǒng)主要由中心控制器、數(shù)據(jù)終端、傳感器模塊、通訊模塊、接口模塊等幾部分組成。系統(tǒng)組成圖(如圖 1)。

2.2中心控制器 系統(tǒng)核心負(fù)責(zé)數(shù)據(jù)采集判斷處理。為了提高系統(tǒng)工作效率,這里使用的是三星公司的 S3C2410芯片作為處理器。S3C2410 芯片是一款高性價(jià)比的 ARM 芯片,非常適合作手機(jī)、PDA 等手持設(shè)備。主要特性包括: ARM920T 內(nèi)核,最高工作頻率 203MHz,LCD 控制器:可直接驅(qū)動(dòng)真彩液晶屏,最高支持 2048×1024 真彩液晶屏,2 個(gè) USB Host端口,1 個(gè)USB Device端口,支持 Nand flash 啟動(dòng)模式,SD 卡接口,UART、IIC、SPI、IIS 等多種類 型串行接口,4 通道DMA。

本文的監(jiān)控系統(tǒng)的 CPU 核心部分使用的是標(biāo)準(zhǔn)的 SO-DIMM200 金手指接口,便于后期維護(hù)和升級(jí)。如果該監(jiān)控系統(tǒng)的使用環(huán)境較為苛刻,可以將 CPU替換為S3C2440芯片。S3C2440完全兼容S3C2410全部特性(注意:芯片引腳不完全兼容)。與S3C2410芯片相比,S3C2440的性能更為優(yōu)越:最高工作頻率可達(dá)500MHz,內(nèi)部集成CMOS攝像頭接口,但價(jià)格較昂貴。

圖1 監(jiān)控系統(tǒng)組成框圖

2.3數(shù)據(jù)終端 數(shù)據(jù)終端的主要功能是對(duì)監(jiān)控?cái)?shù)據(jù)進(jìn)行分析、處理,及時(shí)將數(shù)據(jù)匯報(bào)給監(jiān)控人員。同時(shí),監(jiān)控人員可以根據(jù)現(xiàn)場(chǎng)情況,使用數(shù)據(jù)終端對(duì)監(jiān)控的設(shè)備進(jìn)行遠(yuǎn)程控制。數(shù)據(jù)終端最大優(yōu)勢(shì) 就是安全、可靠、便于攜帶。一般情況下為了節(jié)約成本,可以將手機(jī)、PDA 等移動(dòng)通訊設(shè)備作為數(shù)據(jù)終端使用。但是如果作為對(duì)高危環(huán)境或精密儀器的監(jiān)控系統(tǒng),數(shù)據(jù)終端需要專業(yè)定制。這里使用的是中心控制器的作為數(shù)據(jù)終端,即中心控制器既作為數(shù)據(jù)采集發(fā)送中心,也可數(shù)據(jù)接收處理中心使用。

2.4通訊模塊

通訊模塊主要負(fù)責(zé)遠(yuǎn)程數(shù)據(jù)通訊。帶有 RS232/485、GPRS、CDMA 等一種或多種通訊 方式。需要根據(jù)現(xiàn)場(chǎng)環(huán)境和用戶需要進(jìn)行定制。通訊模塊與控制器通過接口總線連接,連接 方式為 TTL/RS232/RS485 等。

2.5傳感器模塊

傳感器模塊的主要功能是感知外部環(huán)境,對(duì)外部環(huán)境進(jìn)行實(shí)時(shí)監(jiān)測(cè)。由人體紅外傳感器、振動(dòng)傳感器、超聲波傳感器、可燃?xì)怏w傳感器、溫度傳感器、濕度傳感器等一種或多種傳感 器組成。可根據(jù)現(xiàn)場(chǎng)監(jiān)測(cè)環(huán)境不同進(jìn)行定制。

2.6接口模塊

接口模塊主要作為系統(tǒng)擴(kuò)展功能使用,將控制器的 A/D 轉(zhuǎn)換、I2C、SPI 等多種接口進(jìn)行 外部擴(kuò)展。接口模塊沒有特定的功能,但可以根據(jù)需要與其他設(shè)備連接,例如可以與工業(yè)儀 器儀表或設(shè)備連接,實(shí)時(shí)對(duì)儀器或設(shè)備進(jìn)行監(jiān)控。

接口模塊雖然不是監(jiān)控系統(tǒng)的主要部分,但是對(duì)于整個(gè)系統(tǒng)來說卻是不可缺少。因?yàn)楸疚牡谋O(jiān)控系統(tǒng)主要考慮到了系統(tǒng)的可擴(kuò)展性和與其它系統(tǒng)無縫連接。通過接口模塊可以很方 便的對(duì)監(jiān)控系統(tǒng)進(jìn)行升級(jí),并且可以實(shí)現(xiàn)與其他系統(tǒng)或設(shè)備的無縫連接。這也是本系統(tǒng)區(qū)優(yōu) 于其他監(jiān)控系統(tǒng)的主要功能。軟件設(shè)計(jì)

3.1工作軟件

系統(tǒng)的軟件設(shè)計(jì)較為復(fù)雜,這里只給出了整個(gè)工作軟件流程(如圖 2)。

圖2 軟件流程圖

3.2操作系統(tǒng)移植

S3C2410 芯片支持多種嵌入式操作系統(tǒng),如 WINCE、uCLinux 等。但考慮到監(jiān)控系統(tǒng) 的實(shí)時(shí)性要求,這里使用的是 μC/OS-II 嵌入式實(shí)時(shí)操作系統(tǒng)。μC/OS-II 是一個(gè)源碼公開、可移植、可固化、可裁剪、占先式的實(shí)時(shí)多任務(wù)操作系統(tǒng)。其絕大部分源碼是用 ANSI C 寫的。整個(gè)嵌入式系統(tǒng)分為兩大層:硬件層和軟件層。這里主要研究軟件層的架構(gòu)。軟件層主要分為四個(gè)部分:實(shí)時(shí)操作系統(tǒng)內(nèi)核,與處理器相關(guān)部分,與應(yīng)用程序相關(guān)部分,用戶的應(yīng)用程序。移植 μC/OS-II 系統(tǒng)需要修改的文件有:應(yīng)用程序相關(guān)文件: OS_CFG.H INCLUDE.H; 處理器相關(guān)文件: OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C。

3.2.1 與處理器相關(guān)的代碼

這是移植中最關(guān)鍵的部分。內(nèi)核將應(yīng)用系統(tǒng)和底層硬件有機(jī)的結(jié)合成一個(gè)實(shí)時(shí)系統(tǒng),要 使同一個(gè)內(nèi)核能適用于不同的硬件體系,就需要在內(nèi)核和硬件之間有一個(gè)中間層,這就是與 處理器相關(guān)的代碼。處理器不同。這部分代碼也不同。我們?cè)谝浦矔r(shí)需要自己移植這部分代 碼。

a)OS_CPU.H

包括了用#define 定義的與處理器相關(guān)的常量,宏和類型定義,有系統(tǒng)數(shù)據(jù)類型定義,棧 增長(zhǎng)方向定義,關(guān)中斷和開中斷定義,系統(tǒng)軟中斷的定義等等。

b)OS_CPU_A.ASM

這部分需要對(duì)處理器的寄存器進(jìn)行操作,所以必須用匯編語言來編寫。包括四個(gè)子函數(shù): OSStartHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR()。OSStartHighRdy()在多任務(wù)系統(tǒng)啟動(dòng)函數(shù) OSStart()中調(diào)用。完成的功能是:設(shè)置系統(tǒng)運(yùn)行標(biāo)志位 OSRunning = TRUE;將就緒表中最高優(yōu)先級(jí)任務(wù)的棧指針 Load 到 SP 中,并強(qiáng)制中斷返回。這樣就緒的最高優(yōu)先級(jí)任務(wù)就如同從中斷里返回到運(yùn)行態(tài)一樣,使得整個(gè)系統(tǒng)得以運(yùn)轉(zhuǎn)。OSCtxSw()在任務(wù)級(jí)任 務(wù)切換函數(shù)中調(diào)用的。任務(wù)級(jí)切換是通過 SWI 或者 TRAP 人為制造的中斷來實(shí)現(xiàn)的。ISR 的向 量地址必須指向 OSCtxSw()。這一中斷完成的功能:保存任務(wù)的環(huán)境變量(主要是寄存器的值, 通過入棧來實(shí)現(xiàn)),將當(dāng)前 SP 存入任務(wù) TCB 中,載入就緒最高優(yōu)先級(jí)任務(wù)的 SP,恢復(fù)就緒最高優(yōu)先級(jí)任務(wù)的環(huán)境變量,中斷返回。這樣就完成了任務(wù)級(jí)的切換。OSIntCtxSw()在退出中斷 服務(wù)函數(shù) OSIntExit()中調(diào)用,實(shí)現(xiàn)中斷級(jí)任務(wù)切換.由于是在中斷里調(diào)用,所以處理器的寄存器入棧工作已經(jīng)做完,就不用作這部分工作了。具體完成的任務(wù);調(diào)整棧指針(因?yàn)檎{(diào)用函數(shù)會(huì)使任務(wù)棧結(jié)構(gòu)與系統(tǒng)任務(wù)切換時(shí)堆棧標(biāo)準(zhǔn)結(jié)構(gòu)不一致),保存當(dāng)前任務(wù) SP,載入就緒 最高優(yōu)先級(jí)任務(wù)的 SP,恢復(fù)就緒最高優(yōu)先級(jí)任務(wù)的環(huán)境變量,中斷返回。這樣就完成了中斷級(jí)任務(wù)切換。OSTickISR()系統(tǒng)時(shí)鐘節(jié)拍中斷服務(wù)函數(shù),這是一個(gè)周期性中斷,為內(nèi)核提供

時(shí)鐘節(jié)拍。頻率越高系統(tǒng)負(fù)荷越重。其周期的大小決定了內(nèi)核所能給應(yīng)用系統(tǒng)提供的最小時(shí) 間間隔服務(wù)。一般只限于 ms 級(jí)(跟 MCU 有關(guān)),對(duì)于要求更加苛刻的任務(wù)需要用戶自己建立中斷來解決.該函數(shù)具體內(nèi)容:保存寄存器(如果硬件自動(dòng)完成就可以省略),調(diào) OSIntEnter(),調(diào)用 OSTimeTick(),調(diào)用 OSIntExit(),恢復(fù)寄存器,中斷返回。

c)OS_CPU_C.C

該文件中共定義了 6 個(gè)函數(shù),但是最重要的是 OSTaskStkInit().其他都是對(duì)系統(tǒng)內(nèi)核的擴(kuò)展 時(shí)用的.OSTaskStkInit()是在用戶建立任務(wù)時(shí)系統(tǒng)內(nèi)部自己調(diào)用的,對(duì)用戶任務(wù)的堆棧進(jìn)行初始化。使建立好的進(jìn)入就緒態(tài)任務(wù)的堆棧與系統(tǒng)發(fā)生中斷并且將環(huán)境變量保存完畢時(shí) 的棧結(jié)構(gòu)一致。這樣就可以用中斷返回指令使就緒的任務(wù)運(yùn)行起來。

3.2.2與應(yīng)用相關(guān)的代碼

這部分包括兩個(gè)文件:OS_CFG.H, INCLUDES.H。用戶根據(jù)自己的應(yīng)用系統(tǒng)來定制合適 的內(nèi)核服務(wù)功能。OS_CFG.H 來配置內(nèi)核,用戶根據(jù)需要對(duì)內(nèi)核進(jìn)行定制,留下需要的部分,去掉不需要的部分,設(shè)置系統(tǒng)的基本情況。比如系統(tǒng)可提供的最大任務(wù)數(shù)量,是否定制郵箱服務(wù),是否需要系統(tǒng)提供任務(wù)掛起功能,是否提供任務(wù)優(yōu)先級(jí)動(dòng)態(tài)改變功能等等。INCLUDES.H 系統(tǒng)頭文件,整個(gè)實(shí)時(shí)系統(tǒng)程序所需要的文件,包括了內(nèi)核和用戶的頭文件。

3.3用戶圖形接口

雖然 μC/OS-II 操作系統(tǒng)具有很高的實(shí)時(shí)性,但不像 WINCE、uCLinux 等操作系統(tǒng)那樣 有良好的圖形界面支持。所以,在使用液晶和觸摸屏的情況下需要移植用戶圖形接口程序。這里使用的是 μC/GUI。μC/GUI 是一個(gè)軟件模塊集合,通過該模塊可以在我們的嵌入式產(chǎn)品 中加入用戶圖形接口(GUI)。μC/GUI 具有很高的執(zhí)行效率,并且與處理器和 LCD 控制器相 獨(dú)立。該模塊可以工作在單任務(wù)或者多任務(wù)環(huán)境,可以支持不同大小的顯示方式。

通過 μC/GUI 我們可以很方便的在液晶屏繪制圖形和界面。如果需要多種字體支持,必 須自己將相應(yīng)的字體字庫(kù)加入到 μC/GUI 中。為了避免出現(xiàn)亂碼,盡量使用 GB2312 國(guó)標(biāo)字庫(kù)。

3.4關(guān)于字庫(kù)的兼容性問題

我們國(guó)內(nèi)通常使用的漢字字庫(kù)是 GB 碼,但國(guó)際上使用的是 UNICODE 碼,所以如果數(shù)據(jù)終端使用的是手機(jī)、PDA 等移動(dòng)通信設(shè)備,那么在數(shù)據(jù)發(fā)送前必須進(jìn)行字碼轉(zhuǎn)換,即 GB 碼 轉(zhuǎn)換為 UNICODE 碼或者 UNICODE 碼轉(zhuǎn)換為 GB 碼。由于 GB 碼與 UNICODE 碼在排列組合上沒有任何規(guī)律,所以通常字碼轉(zhuǎn)換的方法就是 查表法。

4結(jié)束語

基于 ARM9 嵌入式系統(tǒng)的遠(yuǎn)程監(jiān)控系統(tǒng)與以往的監(jiān)控系統(tǒng)不同,高性能的處理器芯片大大提高了系統(tǒng)的性能。使監(jiān)控系統(tǒng)能夠工作在比較惡劣的環(huán)境中。并且在設(shè)計(jì)上充分考慮到了系統(tǒng)的可擴(kuò)展性和兼容性問題,實(shí)現(xiàn)了本系統(tǒng)與其他系統(tǒng)的無縫連接。以滿足不同工作環(huán) 境的需要。

作者創(chuàng)新觀點(diǎn):本文設(shè)計(jì)的遠(yuǎn)程監(jiān)控系統(tǒng)應(yīng)用范圍更廣,更靈活、方便。通過各個(gè)功能模塊 的不同組合,可以十分方便快速的應(yīng)用于各個(gè)領(lǐng)系域,真正實(shí)現(xiàn)智能化、自動(dòng)化且具有較高 的性價(jià)比。

第三篇:基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第1頁(yè)

共33頁(yè)

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

學(xué)生:劉 仁

指導(dǎo)老師:蔡 碩

摘要: 隨針對(duì)當(dāng)前國(guó)內(nèi)國(guó)外嵌入式服務(wù)器技術(shù)研究和發(fā)展情況的分析,本報(bào)告提出了將 WEB 服務(wù)器、嵌入式系統(tǒng)以及當(dāng)前的一些嵌入式實(shí)驗(yàn)板板載功能進(jìn)行融合的設(shè)計(jì)思想。設(shè)計(jì)了結(jié)合 WEB 服務(wù)器技術(shù)的嵌入式監(jiān)控系統(tǒng)。該系統(tǒng)具有瀏覽交互式網(wǎng)頁(yè),對(duì)嵌入式平臺(tái)進(jìn)行監(jiān)視和控制等功能。通過本套嵌入式WEB 服務(wù)器系統(tǒng),用戶可以通過 HTTP 協(xié)議方便的訪問相應(yīng)的嵌入式平臺(tái)進(jìn)行有效監(jiān)視的同時(shí)還可以進(jìn)行實(shí)時(shí)的有效控制。該系統(tǒng)對(duì)硬件要求極低、響應(yīng)速度快、安全性好、可擴(kuò)展性強(qiáng)等優(yōu)點(diǎn),具有較高的實(shí)際應(yīng)用價(jià)值。該系統(tǒng)在智能家居、嵌入式組網(wǎng)等方面的應(yīng)用將有較廣闊的發(fā)展前途。

關(guān)鍵詞:ARM 嵌入式系統(tǒng);嵌入式 web 監(jiān)控;boa 服務(wù)器;CGI 編程;Linux 操作系統(tǒng)

關(guān)鍵詞:自動(dòng)化、奏樂器、VHDL、數(shù)字電路

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第2頁(yè)

共33頁(yè)

Abstract: According to the analysis of the researches about the status of the mbeddedserver of the world.We rise a design of a embedded internet control system basedon the Web service which integrates the web server,embedded technology and thefunctions on the embedded experiment Board.This system has the function of browsing the web pages,monitoring theembedded Board and so on.With this embedded WEB server,the users can watchthe embedded system conveniently according the HTTP protocol.At the sametime the users can also monitor the ystem.This system have a lot of longtageslike a low request of the hardware,limited time of response and a stable status.Wewill see that this kind of system used in the application of intelligent familyelectronics,embedded neting and so on would have a good development.Keywords: ARM Embedded System;Embedded Web Server System;Boa Server;CGI Programing;Linux Operating System

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第3頁(yè)

共33頁(yè)

引 言

嵌入式系統(tǒng)課程設(shè)計(jì)是本專業(yè)在學(xué)習(xí)完 C 語言、LINUX 操作系統(tǒng)、嵌入式系統(tǒng)原理與接口設(shè)計(jì)、嵌入式操作系統(tǒng)原理之后的專業(yè)課程設(shè)計(jì),屬于專業(yè)課內(nèi)容。通過課程設(shè)計(jì)建立嵌入式系統(tǒng)主體環(huán)節(jié),嵌入式系統(tǒng)的最小結(jié)構(gòu)和系統(tǒng)應(yīng)用設(shè)計(jì)基本技能,培養(yǎng)分析和解決一些簡(jiǎn)單的實(shí)際問題的能力,為今后畢業(yè)設(shè)計(jì)奠定基礎(chǔ)。隨著嵌入式技術(shù)的發(fā)展和高速寬帶網(wǎng)絡(luò)的普及, 利用網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程監(jiān)控已為人們廣泛接受, 嵌入式網(wǎng)絡(luò)監(jiān)控技術(shù)正是在此條件下逐步發(fā)展成熟起來的。用戶使用 Web 瀏覽器, 通過以太網(wǎng)遠(yuǎn)程訪問內(nèi)置 Web 服務(wù)器的監(jiān)控?cái)z像機(jī), 不但可以實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)的遠(yuǎn)程視頻監(jiān)控, 而且可以向監(jiān)控現(xiàn)場(chǎng)發(fā)送指令。在整個(gè)系統(tǒng)的實(shí)現(xiàn)過程中, 嵌入式 Web 服務(wù)器起著十分重要的作用。本課題就是基于該項(xiàng)技術(shù),最終編程實(shí)現(xiàn)通過網(wǎng)絡(luò)控制下位機(jī)嵌入式控制器的電機(jī)啟動(dòng)和停止。

1.1研究目的和意義

1、通過嵌入式課程設(shè)計(jì),熟練掌握 C 語言的編程方法。基于 WEB 的遠(yuǎn)程監(jiān)控的實(shí)現(xiàn),CGI 的編寫和使用,將理論聯(lián)系到實(shí)踐中去,提高我們的動(dòng)腦和動(dòng)手的能力。

2、通過基于 WEB 的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì),掌握 S3C2410 實(shí)驗(yàn)箱,直流電機(jī)的工作原理,BOA 服務(wù)器的使用,CGI 的使用和簡(jiǎn)單程序的編寫及調(diào)試方法,最終提高我們的動(dòng)手實(shí)踐能力。

3、本課題的研究目的是用 BOA 服務(wù)器、CGI、IE 瀏覽器設(shè)計(jì)一個(gè)通過 IE 瀏覽器監(jiān)控電機(jī)的系統(tǒng),能夠通過兩個(gè)簡(jiǎn)單的按鍵對(duì)電機(jī)進(jìn)行啟動(dòng)和停止的控 3

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第4頁(yè)

共33頁(yè)

制,并能夠在 IE 瀏覽器上看到電機(jī)的當(dāng)前狀態(tài)。

4、由于基于 WEB 的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)將成為今后遠(yuǎn)程監(jiān)控技術(shù)發(fā)展的主流方向,所以需要設(shè)計(jì)出簡(jiǎn)單實(shí)用,讓人們更滿意的產(chǎn)品。

1.2 本設(shè)計(jì)任務(wù)和主要內(nèi)容

1.基本要求

本課題主要設(shè)計(jì)和研究基于WEB的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng),要求在保證可靠運(yùn)行的前提下,電路設(shè)計(jì)盡量簡(jiǎn)潔緊湊,以減小成本、提高系統(tǒng)的效率和安全性。

2.應(yīng)解決的問題 1)設(shè)計(jì)系統(tǒng)網(wǎng)絡(luò)方案

2)分析網(wǎng)絡(luò)程序結(jié)構(gòu)和應(yīng)用程序的使用方法 3)編程實(shí)現(xiàn)嵌入式系統(tǒng)服務(wù)器功能 4)編程實(shí)現(xiàn)嵌入式系統(tǒng)聯(lián)網(wǎng)功能

5)編程實(shí)現(xiàn)通過網(wǎng)絡(luò)控制下位機(jī)嵌入式控制器的電機(jī)啟動(dòng)和停止

3.?dāng)U展功能

演奏時(shí)可以通過按鍵選擇是手動(dòng)演奏還是自動(dòng)演奏,手動(dòng)演奏是通過按鍵進(jìn)行簡(jiǎn)易樂曲的演奏。

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第5頁(yè)

共33頁(yè)總體方案設(shè)計(jì)

2.1 整體方案設(shè)計(jì)

系統(tǒng)總體設(shè)計(jì)是基于嵌入式系統(tǒng)和 WEB 服務(wù)器結(jié)合的思想開發(fā)的,其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖 2.1 所示

圖 2.1 系統(tǒng)網(wǎng)絡(luò)拓?fù)鋱D

針對(duì)本次課程設(shè)計(jì)提出的系統(tǒng)設(shè)計(jì)如圖 2.2 所示

圖 2.2 系統(tǒng)方案框圖

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第6頁(yè)

共33頁(yè)

2.2 硬件系統(tǒng)設(shè)計(jì)

2.3.1 核心處理器的選擇

核心處理芯片需要完成處理和支持整個(gè)系統(tǒng)的功能需求,通過運(yùn)行 BOA 服務(wù)器要實(shí)施的接收來自各個(gè)客戶端的請(qǐng)求和信息,并根據(jù)獲得的請(qǐng)求和信息進(jìn)行相應(yīng)的后臺(tái)處理以及信息的反饋。為完成上述功能,實(shí)現(xiàn)服務(wù)器正常運(yùn)行,對(duì)處理芯片進(jìn)行選型,對(duì)比現(xiàn)有處理芯片的優(yōu)缺點(diǎn),選擇 ARM9 S3C2410X 芯片作為設(shè)計(jì)開發(fā)嵌入式服務(wù)器系統(tǒng)的核心處理芯片。S3C2410X 微處理器是一款由 Samsung 公司為手持設(shè)備設(shè)計(jì)的低功耗、高集成度的基于ARM920T 核的微處理器,為了降低系統(tǒng)總成本和減少外圍器件,這款芯片還集成了以下部件:16KB 指令 Cache、16KB 數(shù)據(jù) Cache、MMU、外部存儲(chǔ)器控制器、LCD 控制器、NAND FLASH 控制器、4 個(gè) DMA 通道、3 個(gè) UART 通道、1 個(gè) IIC 總線控制器、1 個(gè) IIS總線控制器、4 個(gè) PWM 定時(shí)器、1 個(gè)內(nèi)部定時(shí)器、通用 IO 口、實(shí)時(shí)時(shí)鐘、8 通道 10 位ADC 和觸摸屏接口、USB 主、USB 從、SD/MMC 卡接口等。

2.3 軟件環(huán)境選擇

2.3.1 操作系統(tǒng)的選擇

當(dāng)選定了硬件系統(tǒng)后,為了配合硬件達(dá)到系統(tǒng)的最優(yōu)控制要求,對(duì)市面上常用的嵌入式系統(tǒng)進(jìn)行分析比較。

(1)價(jià)格比較:Linux 是完全免費(fèi)的操作系統(tǒng),只需遵循 GPL 聲明,不需支付任何費(fèi)用;WinCE 是微軟的商用嵌入式操作系統(tǒng),使用它需要支付 WinCE 及其開發(fā)環(huán)境的費(fèi)用,開發(fā)出來的每套產(chǎn)品也需交納一定費(fèi)用。uc/os—II 系統(tǒng),可以免費(fèi)用于學(xué)習(xí)或科研,但開發(fā)商使用產(chǎn)品或銷售都是收費(fèi)的。

(2)開放性比較:Linux 是源代碼完全開放的操作系統(tǒng),可以自由下載,并且

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第7頁(yè)

共33頁(yè)

在遵循GPL 聲明的前提下可以自由地修改、移植,為系統(tǒng)的開發(fā)和調(diào)試帶來極大的便利;winCE是部分源碼開放的商用操作系統(tǒng),如果要修改其中的代碼,需獲得微軟公司的授權(quán);uc/os—II 也是開放的實(shí)時(shí)操作系統(tǒng)。

(3)文件系統(tǒng)的比較:Linux 支持絕大部分文件系統(tǒng),只需選擇相應(yīng)的文件系統(tǒng)即可;

WinCE 僅支持 Windows 系列的 FAT16、有限文件系統(tǒng);uc/os—II 本身沒有包括文件系統(tǒng),需購(gòu)買或移植。Linux 與 ARM 處理器從以上可以看出,Linux 系統(tǒng)在諸多方面都存在優(yōu)勢(shì),而且本身的 ARM 處理器與 Linux 也有著緊密的聯(lián)系。因此采用 Linux 操作系統(tǒng)。2.3.2 服務(wù)器的選擇

典型的嵌入式 Web 服務(wù)器有 Boa 和 thttpd 兩種,它們和 Apache 等高性能的 Web 服務(wù)器主要的區(qū)別在于它們一般是單進(jìn)程服務(wù)器,只有在完成一個(gè)用戶請(qǐng)求后才能響應(yīng)另一個(gè)用戶的請(qǐng)求,而無法并發(fā)響應(yīng),但這在嵌入式設(shè)備的應(yīng)用場(chǎng)合里已經(jīng)足夠了。Boa 是一個(gè)非常小巧的 Web 服務(wù)器,可執(zhí)行代碼只有約 60KB。它是一個(gè)單任務(wù) Web服務(wù)器,只能依次完成用戶的請(qǐng)求,而不會(huì) fork 出新的進(jìn)程來處理并發(fā)連接請(qǐng)求。但 Boa支持 CGI,能夠?yàn)?CGI 程序 fork 出一個(gè)進(jìn)程來執(zhí)行。Boa 的設(shè)計(jì)目標(biāo)是速度和安全,在其站點(diǎn)公布的性能測(cè)驗(yàn)中,Boa 的性能要好于 Apache 服務(wù)器。經(jīng)過上述的對(duì)比和判斷,選擇Boa 作為系統(tǒng)的嵌 入式服務(wù)器。

綜合以上的討論以及選擇,根據(jù)系統(tǒng)的實(shí)際需求,最終確定了采用 S3C2410X 為核心處理器,Linux 為嵌入式操作系統(tǒng),boa 為服務(wù)器以及相應(yīng)的 http 瀏覽器的系統(tǒng)設(shè)計(jì)方案。

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第8頁(yè)

共33頁(yè)硬件設(shè)計(jì)

3.1 系統(tǒng)硬件平臺(tái)介紹

我們所介紹的硬件平臺(tái)是基于 ARM 體系結(jié)構(gòu),由北京博創(chuàng)興業(yè)科技有限公司開發(fā)的UP-NetARM2410-S 實(shí)驗(yàn)儀器。UP-NetARM2410-S 的 CPU 為 ARM920T 內(nèi)核的三星S3c2410 芯片,由于有 MMU(內(nèi)存管理單元)可以運(yùn)行標(biāo)準(zhǔn)的 ARM-LINUX 內(nèi)核。通過這個(gè)平臺(tái),我們可以實(shí)現(xiàn)嵌入式 LINUX 中的針對(duì)無 MMU 的開發(fā)過程。

3.2 s3c2410 芯片介紹

圖 3.1 芯片結(jié)構(gòu)圖

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第9頁(yè)

共33頁(yè)

3.3 ARM 處理器的外圍設(shè)備

3.3.1 電源電路

設(shè)備提供 12v 的電源,經(jīng) LM1085-3.3V 和 AS1117-1.8V 分別得到 3.3V 和 1.8V 的工作電壓。開發(fā)板上的芯片多數(shù)使用了 3.3V 電壓,而 1.8V 是供給 S3C2410 內(nèi)核使用的。5V 電壓供給 LCD、電機(jī)、總線等電路使用。

圖 3.2 電源電路

3.3.2 硬件復(fù)位電路

硬件復(fù)位電路由IMP811T構(gòu)成,實(shí)現(xiàn)對(duì)電源電壓的監(jiān)控和手動(dòng)復(fù)位操作。2410-S主板復(fù)位電路設(shè)置專用邏輯:IMP811T 的復(fù)位電平可以使CPU JTAG(nTRST和板級(jí)系統(tǒng)(nRESET)全部復(fù)位;來自仿真器的ICE_nSRST 信號(hào)只能使板級(jí)復(fù)位;來自仿真器的ICE_nTRST 可以使JTAG(nTRST)復(fù)位,通過跳線選擇是否使板級(jí)nRESET復(fù)位。nRESET反相后得到RESET 信號(hào)。硬件復(fù)位電路如圖3.3所示

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第10頁(yè)

共33頁(yè)

圖3.3 硬件復(fù)位

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第11頁(yè)

共33頁(yè)軟件設(shè)計(jì)

4.1 設(shè)計(jì)思想

基于 web 的嵌入式監(jiān)控系統(tǒng)設(shè)計(jì)主要的功能有簡(jiǎn)單的網(wǎng)頁(yè)瀏覽,實(shí)現(xiàn)簡(jiǎn)單應(yīng)用功能(客戶端與服務(wù)器的交互)以及服務(wù)器端的控制功能。因此軟件的設(shè)計(jì)分為三個(gè)部分:boa 服務(wù)器的搭建、應(yīng)用程序設(shè)計(jì)和驅(qū)動(dòng)程序的加載。

4.2 BOA 服務(wù)器的簡(jiǎn)介與搭建

4.2.1 嵌入式 Web 服務(wù)器 Boa 的特點(diǎn)

Boa 是一款單任務(wù)的 HTTP 服務(wù)器, 與其他傳統(tǒng)的 Web 服務(wù)器不同的是當(dāng)有連接請(qǐng)求到來時(shí), 它并不為每個(gè)連接單獨(dú)創(chuàng)建進(jìn)程, 也不通過復(fù)制自身進(jìn)程來處理多鏈接, 而是通過建立 HTTP 請(qǐng)求列表來處理多路 HTTP 連接請(qǐng)求, 同時(shí)它只為 CGI 程序創(chuàng)建新的進(jìn)程,這樣就在最大程度上節(jié)省了系統(tǒng)資源, 這對(duì)嵌入式系統(tǒng)來說至關(guān)重要。同時(shí)它還具有自動(dòng)生成目錄、自動(dòng)解壓文件等功能, 因此 Boa 具有很高的 HTTP 請(qǐng)求處理速度和效率, 在嵌入式系統(tǒng)中具有很高的應(yīng)用價(jià)值。4.2.2 Boa 的功能實(shí)現(xiàn)

嵌入式 Web 服務(wù)器 Boa 和普通 Web 服務(wù)器一樣, 能夠完成接收客戶端請(qǐng)求、分析請(qǐng)求、響應(yīng)請(qǐng)求、向客 戶端返回請(qǐng)求結(jié)果等任務(wù)。它的工作過程主要包括:

(a)完成 Web 服務(wù)器的初始化工作, 如創(chuàng)建環(huán)境變量、創(chuàng)建 TCP 套接字、綁定端口、開始偵聽、進(jìn)入循環(huán)結(jié)構(gòu), 以及等待接收客戶瀏覽器的連接請(qǐng)求;

(b)當(dāng)有客戶端連接請(qǐng)求時(shí),Web 服務(wù)器負(fù)責(zé)接收客戶端請(qǐng)求, 并保存相關(guān)請(qǐng)求信息;

(c)在接收到客戶端的連接請(qǐng)求之后,分析客戶端請(qǐng)求, 解析出請(qǐng)求的方法、基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第12頁(yè)

共33頁(yè)

URL 目標(biāo)、可選的查詢信息及表單信息, 同時(shí)根據(jù)請(qǐng)求做出相應(yīng)的處理;

(d)Web 服務(wù)器完成相應(yīng)處理后, 向客戶端瀏覽器發(fā)送響應(yīng)信息, 關(guān)閉與客戶機(jī)的TCP 連接。嵌入式 Web 服務(wù)器 Boa 根據(jù)請(qǐng)求方法的不同,做出不同的響應(yīng)。如果請(qǐng)求方法為HEAD,則直接向?yàn)g覽器返回響應(yīng)首部;如果請(qǐng)求方法為 GET,則在返回響應(yīng)首部的同時(shí),將客戶端請(qǐng)求的 URL 目標(biāo)文件從服務(wù)器上讀出,并且發(fā)送給客戶端瀏覽器;如果請(qǐng)求方法為 POST,則將客戶發(fā)送過來的表單信息傳送給相應(yīng)的 CGI 程序,作為 CGI 的參數(shù)來執(zhí)行 CGI 程序,并將執(zhí)行結(jié)果發(fā)送給客戶端瀏覽器。Boa 的功能實(shí)現(xiàn)也是通過建立連接、綁定端口、進(jìn)行偵聽、請(qǐng)求處理等來實(shí)現(xiàn)的。4.2.3 BOA 的搭建與移植

(1)準(zhǔn)備源代碼、解壓軟件包,安裝源代碼到 boa 網(wǎng)站 http://www.tmdps.cnTB0 = DCM_TCNTB0;/* less than 10ms */ TCMPB0 = DCM_TCNTB0/2;TCON &=~(0xf);TCON |=(0x2);TCON &=~(0xf);TCON |=(0x19);})在 s3c2410_dcm_ioctl 中提供調(diào)速功能接口: case DCM_IOCTRL_SETPWM: return dcm_setpwm((int)arg);應(yīng)用程序 dcm_main.c 中調(diào)用:

ioctl(dcm_fd, DCM_IOCTRL_SETPWM,(setpwm * factor));實(shí)現(xiàn)直流電機(jī)速度的調(diào)整。a.編譯直流電機(jī)模塊 cd /arm2410s/kernel-2410s

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第20頁(yè)

共33頁(yè)

make menuconfig 進(jìn)入 Main Menu / Character devices 菜單,選擇 DC MOTOR 為模塊加載: b.編譯內(nèi)核模塊: make dep make make modules 直流電機(jī)模塊的編譯結(jié)果為:

/arm2410s/kernel-2410s/drivers/char/s3c2410-dc-motor.o c.編譯應(yīng)用程序

cd /arm2410s/exp/basic/10_dcmotor/ make 生成 dcm_main d.掛載驅(qū)動(dòng)模塊

insmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.o e.運(yùn)行程序

mount –t nfs 192.168.0.xxx:/arm2410s /host insmod /host/kernel-2410s/drivers/char/s3c2410-dc-motor.o cd /host/exp/basic/10_dcmotor/./dcm_main 程序運(yùn)行結(jié)果:直流電機(jī)轉(zhuǎn)動(dòng) 1 秒,停轉(zhuǎn) 1 秒。由于是根據(jù)原有變速程序稍做改動(dòng)完成的程序,所以遇到的問題不是很多,經(jīng)過幾次嘗試就得到了期望的結(jié)果。

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第21頁(yè)

共33頁(yè)

5.3 調(diào)試結(jié)果分析

5.3.1 調(diào)試結(jié)果

1、靜態(tài)網(wǎng)頁(yè)

圖 5.1 靜態(tài)網(wǎng)頁(yè)

2、乘法網(wǎng)頁(yè)

圖 5.2 乘法網(wǎng)頁(yè)

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第22頁(yè)

共33頁(yè)

3、電機(jī)控制網(wǎng)頁(yè)

圖 5.3 電機(jī)控制網(wǎng)頁(yè)

圖 5.4 返回結(jié)果

5.3.2 結(jié)果分析

經(jīng)過 x86 下的調(diào)試和基于 ARM 的下載與調(diào)試后,系統(tǒng)能夠?qū)崿F(xiàn)靜態(tài)網(wǎng)頁(yè)瀏覽,簡(jiǎn)單人機(jī)交互以及電機(jī)控制的功能,系統(tǒng)工作穩(wěn)定,響應(yīng)速度快,組網(wǎng)方便快捷,如果與 DNS 服務(wù)器或者 WINS 服務(wù)器相結(jié)合即可實(shí)現(xiàn)用主機(jī)名就能登錄相應(yīng)平臺(tái)的功能。

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第23頁(yè)

共33頁(yè)設(shè)計(jì)總結(jié)

經(jīng)過三個(gè)周的學(xué)習(xí)與努力,經(jīng)過系統(tǒng)分析、方案論證、硬件和軟件設(shè)計(jì)、調(diào)試 等階段完成了基于 web 的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)制作。在這三個(gè)周的課程設(shè)計(jì)中,我得到了老師和同學(xué)很大的幫助,有時(shí)候覺得進(jìn)行不下去了,老師或同學(xué)一句話就能讓我茅塞頓開。即使聽不懂,他們也會(huì)耐心的講解。

在系統(tǒng)的設(shè)計(jì)制作過程中,確實(shí)遇到了各種各樣的問題,如調(diào)試思路正確但是沒有能夠進(jìn)行找到合適的方法進(jìn)行進(jìn)一步的實(shí)驗(yàn),設(shè)計(jì)中對(duì)于程序的編寫以及目錄結(jié)構(gòu)的認(rèn)知上存在偏差,其主要原因還是基礎(chǔ)功不扎實(shí),把握系統(tǒng)的能力不足,這為我們以后的學(xué)習(xí)和工作提了一個(gè)醒。在問題的解決過程中,也提高了組員的動(dòng)手動(dòng)腦能力,學(xué)到了許多在書本上學(xué)不到的知識(shí)。在具體的設(shè)計(jì)當(dāng)中解決了諸如 boa 服務(wù)器的搭建,C 程序的修改及 CGI編程的理解,程序的調(diào)試和系統(tǒng)的整體認(rèn)識(shí)等問題,小組成員收獲很大。

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第24頁(yè)

共33頁(yè)

致謝

在這次課程設(shè)計(jì)中,學(xué)校和學(xué)院給予了大力的支持,提供了與設(shè)計(jì)有關(guān)的環(huán)境,方便了課程設(shè)計(jì)的順利進(jìn)行。在這其中我確實(shí)學(xué)到了很多知識(shí),在此僅代表個(gè)人衷心的感謝學(xué)校和學(xué)院的大力支持。本論文是在指導(dǎo)老師蔡爍的悉心指導(dǎo)和嚴(yán)格要求下完成的。在整個(gè)課程設(shè)計(jì)過程中,蔡爍老師時(shí)時(shí)督促和引導(dǎo),并在設(shè)計(jì)過程中進(jìn)行了方向指導(dǎo),在總體方向不出錯(cuò)的基礎(chǔ)上,施展自己的所學(xué),發(fā)揮個(gè)人的所長(zhǎng)。他不僅在學(xué)習(xí)上和生活上給予了我們多方面的指導(dǎo)和無微不至的關(guān)懷,而且他淵博的學(xué)識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、孜孜不倦的工作作風(fēng)和寬以待人的處事風(fēng)格使我終身受益,并且還從中學(xué)會(huì)了分析問題和解決問題的方法此外,在本次設(shè)計(jì)過程中,還得到了其他老師和的熱情關(guān)心和幫助,值此論文完成之際,謹(jǐn)向老師表示崇高的敬意和最誠(chéng)摯的謝意。

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第25頁(yè)

共33頁(yè)

參考文獻(xiàn)

[1]鄭靈翔編著 《嵌入式 LINUX 系統(tǒng)設(shè)計(jì)》 北京航空航天大學(xué) 2008 年 [2]孫紀(jì)坤、張小全編著 《嵌入式 LINUX 系統(tǒng)開發(fā)技術(shù)詳解-基于 ARM》人民郵電出版社 2007.9、[3]王進(jìn)德 編著 《嵌入式 LINUX 程序設(shè)計(jì)與應(yīng)用案例》 中國(guó)電力出版社 2007.5 [4]鄭慕德 編著 《嵌入式微型計(jì)算機(jī)系統(tǒng)實(shí)例教程-ARM 與 LINUX》 科學(xué)出版社2006.7 [5]劉淼 編著 《嵌入式系統(tǒng)接口設(shè)計(jì)與 LINUX 驅(qū)動(dòng)程序開發(fā)》 北京航空航天大學(xué)出版社,2006.5 [6]魏洪興等編著 《嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā) II-基于 ARM9 微處理器與 LINUX 操作系統(tǒng)》 清華大學(xué)出版社 2005.12 [7]魏洪興等編著 《嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)實(shí)驗(yàn)教材 II-基于 ARM9 微處理器與LINUX 操作系統(tǒng)》清華大學(xué)出版社 2005.12 [8]金敏等編著 《嵌入式組成、原理與設(shè)計(jì)編程》 人民郵電出版社 2007.6

基于web的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)

第26頁(yè)

共33頁(yè)

附錄 1 主要程序清單

乘法網(wǎng)頁(yè)的HTML表單: 測(cè)試

?測(cè)試

請(qǐng)?jiān)谙旅嫣钊氤藬?shù)和被乘數(shù),按下確定后可以看到結(jié)果

第四篇:基于嵌入式Web的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)

基于嵌入式Web的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)

摘 要:本文結(jié)合機(jī)房環(huán)境設(shè)備的管理需要,分析了遠(yuǎn)程監(jiān)控系統(tǒng)的特點(diǎn),提出基于嵌入式Web服務(wù)器的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)思路、體系架構(gòu)方法,并對(duì)基于OPC技術(shù)的互聯(lián)與基于嵌入式Web服務(wù)器的互聯(lián)作了簡(jiǎn)要對(duì)比。文章結(jié)合CGI程序的設(shè)計(jì),著重探討了嵌入式Web服務(wù)器的實(shí)現(xiàn)方法。關(guān)鍵詞:嵌入式平臺(tái),Web服務(wù)器,遠(yuǎn)程監(jiān)控,CGI程序

⒈引言

隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的普及,計(jì)算機(jī)系統(tǒng)的數(shù)量與日俱增,計(jì)算機(jī)機(jī)房已成為各大型單位的信息樞紐。機(jī)房中的環(huán)境設(shè)備(如空調(diào)、UPS電源、配電柜、消防設(shè)備等)為網(wǎng)絡(luò)系統(tǒng)的安全運(yùn)行提供了環(huán)境保障。同時(shí),環(huán)境設(shè)備自身的安全運(yùn)行,也成為機(jī)房管理的重要內(nèi)容之一。一旦機(jī)房的環(huán)境設(shè)備出現(xiàn)故障,就會(huì)直接影響計(jì)算機(jī)系統(tǒng)的正常運(yùn)行,嚴(yán)重的還會(huì)造成機(jī)房?jī)?nèi)的相關(guān)設(shè)備損壞,甚至導(dǎo)致網(wǎng)絡(luò)系統(tǒng)癱瘓[1]。因此,對(duì)機(jī)房環(huán)境設(shè)備的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控,是保證機(jī)房設(shè)備安全運(yùn)行的關(guān)鍵措施。

⒉遠(yuǎn)程監(jiān)控系統(tǒng)的需求分析

對(duì)機(jī)房環(huán)境設(shè)備的監(jiān)控主要涉及以下幾個(gè)方面的內(nèi)容:對(duì)配電系統(tǒng)、UPS系統(tǒng)、空調(diào)系統(tǒng)工作狀態(tài)的監(jiān)視;對(duì)機(jī)房的溫濕度、生活用水和供暖制冷系統(tǒng)漏水情況等進(jìn)行監(jiān)測(cè)、報(bào)警,以及對(duì)門禁系統(tǒng)、消防系統(tǒng)、保安系統(tǒng)等的管理。由于這些環(huán)境設(shè)備是連續(xù)工作的,因此要求監(jiān)控系統(tǒng)也必須是長(zhǎng)時(shí)間連續(xù)工作的。這樣就對(duì)系統(tǒng)設(shè)計(jì)的可靠性、安全性、可維護(hù)性等方面提出了更高的要求[1],具體表現(xiàn)在以下幾個(gè)方面:

⑴高可靠性。要求監(jiān)控系統(tǒng)可長(zhǎng)時(shí)間不間斷運(yùn)行,無故障運(yùn)行時(shí)間要長(zhǎng),且系統(tǒng)的維護(hù)快速簡(jiǎn)便。

⑵高安全性。系統(tǒng)應(yīng)能夠提供多種安全保護(hù)措施,對(duì)異常狀態(tài)進(jìn)行分析、記錄、及時(shí)報(bào)警,以便讓管理人員能夠盡快了解所發(fā)生的情況并及時(shí)處理。

⑶較強(qiáng)的實(shí)時(shí)性。監(jiān)控系統(tǒng)對(duì)信息的傳輸要及時(shí),不能有過大的延時(shí),否則難以及時(shí)跟蹤被監(jiān)控對(duì)象的當(dāng)前狀況。

⑷易用性和易維護(hù)性。機(jī)房環(huán)境設(shè)備監(jiān)控系統(tǒng),應(yīng)以GUI的方式提供良好的人機(jī)界面,便于人機(jī)交互。同時(shí),監(jiān)控系統(tǒng)要有通用性和靈活性,即可以在對(duì)系統(tǒng)進(jìn)行少量修改或擴(kuò)充就可增加新的監(jiān)控項(xiàng)目,擴(kuò)充監(jiān)測(cè)點(diǎn)數(shù),以滿足新的監(jiān)控要求。

⑸豐富的系統(tǒng)功能。要求監(jiān)控系統(tǒng)不僅能夠提供一般的報(bào)警功能,對(duì)采集的當(dāng)前數(shù)據(jù)進(jìn)行記錄且保存

歷史數(shù)據(jù),并以圖形方式對(duì)環(huán)境設(shè)備運(yùn)行狀態(tài)和參數(shù)進(jìn)行直觀顯示。

實(shí)施監(jiān)控的主要方法,即是在現(xiàn)場(chǎng)控制器的控制之下,實(shí)時(shí)地采集數(shù)據(jù)并與預(yù)設(shè)的值進(jìn)行比較,如果超出相應(yīng)的閥值則給出報(bào)警,以提示有關(guān)人員進(jìn)行相應(yīng)處理。根據(jù)對(duì)環(huán)境設(shè)備監(jiān)控的位置不同,可把監(jiān)控系統(tǒng)分為本地監(jiān)控和遠(yuǎn)程監(jiān)控兩大類。本地監(jiān)控方式往往需要派人長(zhǎng)期現(xiàn)場(chǎng)值守,管理成本較高;而借助于公共的Internet或企業(yè)內(nèi)部的Intranet網(wǎng)絡(luò)實(shí)施遠(yuǎn)程監(jiān)控則可做到無人值守,從而大幅度地節(jié)約管理成本、提高機(jī)房管理水平和效率,因此成為監(jiān)控系統(tǒng)發(fā)展的主流方向。

⒊遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)

基于對(duì)遠(yuǎn)程監(jiān)控系統(tǒng)的需求分析,進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)應(yīng)重點(diǎn)考慮如下幾種因素:首先,要考慮現(xiàn)場(chǎng)總線與數(shù)據(jù)網(wǎng)的互聯(lián)問題。由于被監(jiān)控對(duì)象的信號(hào)種類較多,所采用的現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)各異,因此不同總線標(biāo)準(zhǔn)之間的轉(zhuǎn)換以及現(xiàn)場(chǎng)總線與數(shù)據(jù)網(wǎng)之間的互聯(lián)是系統(tǒng)設(shè)計(jì)時(shí)需要重點(diǎn)考慮的問題[2]。其次,實(shí)時(shí)性要求是遠(yuǎn)程監(jiān)控網(wǎng)絡(luò)系統(tǒng)區(qū)別于普通網(wǎng)絡(luò)系統(tǒng)的基本特征。如果監(jiān)控系統(tǒng)的實(shí)時(shí)性得不到保障,現(xiàn)場(chǎng)監(jiān)控就失去了實(shí)用價(jià)值。第三,為滿足監(jiān)控系統(tǒng)的高可靠性要求,應(yīng)分別對(duì)硬件系統(tǒng)和軟件系統(tǒng)進(jìn)行抗干擾設(shè)計(jì)。第四,根據(jù)遠(yuǎn)程連接方式不同,應(yīng)采用不同的安全措施以保證信息的安全傳輸。3.1監(jiān)控系統(tǒng)的功能設(shè)計(jì)

監(jiān)控系統(tǒng)的基本功能主要包括:現(xiàn)場(chǎng)數(shù)據(jù)的實(shí)時(shí)采集、發(fā)送和顯示;對(duì)采集到的數(shù)據(jù)進(jìn)行處理和存儲(chǔ);對(duì)數(shù)據(jù)處理的結(jié)果進(jìn)行分析、判斷和報(bào)警;提供多種業(yè)務(wù)支持功能。3.1.1實(shí)時(shí)數(shù)據(jù)采集

實(shí)時(shí)數(shù)據(jù)采集是實(shí)施系統(tǒng)監(jiān)控的基礎(chǔ)。在環(huán)境設(shè)備的監(jiān)控系統(tǒng)中,需要實(shí)時(shí)采集的數(shù)據(jù)主要包括高低壓配電系統(tǒng)及UPS電源的電壓、電流、電源開關(guān)狀態(tài)等參數(shù),空調(diào)機(jī)的冷熱水溫度、流量、送風(fēng)量、送風(fēng)溫度、新風(fēng)量等狀態(tài)參數(shù),以及機(jī)房?jī)?nèi)部的環(huán)境參數(shù)(如溫度、濕度、水浸、煙感、門禁等)。不同的參數(shù)采用的總線標(biāo)準(zhǔn)不同(如RS232/485總線、Lonworks總線),只有把它們統(tǒng)一到TCP/IP協(xié)議上,才能實(shí)現(xiàn)真正意義上的遠(yuǎn)程監(jiān)控。

3.1.2報(bào)警功能

報(bào)警是監(jiān)控系統(tǒng)的基本功能之一。監(jiān)控系統(tǒng)對(duì)采集到的數(shù)據(jù)進(jìn)行分析、處理,如果發(fā)現(xiàn)相關(guān)數(shù)據(jù)超限、數(shù)據(jù)異常,則說明環(huán)境設(shè)備出現(xiàn)異常情況,此時(shí)應(yīng)發(fā)出相應(yīng)報(bào)警。設(shè)計(jì)報(bào)警功能時(shí),需要考慮被監(jiān)控對(duì)象的自身特性、優(yōu)先級(jí)別等因素,對(duì)多個(gè)報(bào)警信號(hào)進(jìn)行加權(quán)處理,以保證系統(tǒng)的所有重要報(bào)警都能被及時(shí)處理。

3.1.3多種業(yè)務(wù)支持功能

靈活的查詢和豐富的報(bào)表功能是對(duì)監(jiān)控系統(tǒng)基本功能的擴(kuò)展。通過對(duì)設(shè)備運(yùn)行狀態(tài)的實(shí)時(shí)數(shù)據(jù)、歷史數(shù)據(jù)進(jìn)行對(duì)比分析,從不同角度向管理者提供設(shè)備運(yùn)行和維護(hù)信息,為設(shè)備的維護(hù)、大修、更新、改造等質(zhì)量管理提供可靠依據(jù)。3.2監(jiān)控系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)

遠(yuǎn)程監(jiān)控系統(tǒng)由現(xiàn)場(chǎng)數(shù)據(jù)采集設(shè)備(可以為多個(gè)設(shè)備)、本地Web服務(wù)器和遠(yuǎn)端監(jiān)控主機(jī)三部分構(gòu)成[3]。Web服務(wù)器通過現(xiàn)場(chǎng)總線與本地?cái)?shù)據(jù)采集設(shè)備直接相連,并負(fù)責(zé)把本地傳感器采集到的數(shù)據(jù)進(jìn)行簡(jiǎn)單處理,通過網(wǎng)絡(luò)發(fā)送到遠(yuǎn)端的監(jiān)控主機(jī)上,從而為實(shí)現(xiàn)無人值守的管理方式創(chuàng)造條件。

遠(yuǎn)程監(jiān)控系統(tǒng)在設(shè)計(jì)時(shí)需要解決的關(guān)鍵問題,就是將不同類型的現(xiàn)場(chǎng)總線或控制網(wǎng)絡(luò)與以太網(wǎng)進(jìn)行互聯(lián)互通,從而實(shí)現(xiàn)監(jiān)控信息的遠(yuǎn)程實(shí)時(shí)傳輸。目前,實(shí)施遠(yuǎn)程監(jiān)控主要有如下幾種方法:①基于PSTN的傳統(tǒng)方法,即通過Modem連接異地的現(xiàn)場(chǎng)設(shè)備;②基于OPC技術(shù)。采用支持多種現(xiàn)場(chǎng)總線規(guī)范的OPC Server,通過OPC 接口實(shí)現(xiàn)現(xiàn)場(chǎng)總線到Internet或Intranet網(wǎng)絡(luò)的無縫連接;③基于嵌入式平臺(tái)實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。在嵌入式平臺(tái)上完成對(duì)現(xiàn)場(chǎng)數(shù)據(jù)的實(shí)時(shí)采集,通過現(xiàn)場(chǎng)總線與數(shù)據(jù)網(wǎng)的互連,將Server端的數(shù)據(jù)通過TCP/IP協(xié)議提供給遠(yuǎn)端的監(jiān)控主機(jī)(即Client端);④采用其它自定義方法實(shí)施遠(yuǎn)程監(jiān)控。3.2.1基于OPC的監(jiān)控系統(tǒng)

OPC 是以O(shè)LE/COM/DCOM機(jī)制作為應(yīng)用程序級(jí)的通信標(biāo)準(zhǔn),采用客戶/服務(wù)器模式,把開發(fā)訪問接口的任務(wù)放在硬件生產(chǎn)廠家或第三方廠家,以O(shè)PC服務(wù)器的形式向用戶提供通用的接口,解決了軟、硬件廠商之間的矛盾,提高了系統(tǒng)的開放性和互操作性[4]。基于OPC架構(gòu)的監(jiān)控系統(tǒng)結(jié)構(gòu)如圖1所示。其中,OPC DA Server為數(shù)據(jù)采集服務(wù)器,OPC AE Server為報(bào)警服務(wù)器。OPC Server 提供多種接口規(guī)范,應(yīng)用程序和Web瀏覽器(即OPC Client)可以通過這些接口取得與OPC Server相連的硬件設(shè)備信息,從而實(shí)現(xiàn)OPC Client通過以太網(wǎng)對(duì)OPC Server的訪問。同時(shí)OPC Server也可以將采集到的數(shù)據(jù)或報(bào)警信息通過網(wǎng)絡(luò)發(fā)送到客戶端或Web瀏覽器端。

在基于OPC的體系架構(gòu)中,由于 COM/DCOM 已被視為網(wǎng)絡(luò)功能的具體實(shí)現(xiàn)方法,使得Client對(duì)OPC Server的遠(yuǎn)程訪問成為標(biāo)準(zhǔn)的網(wǎng)絡(luò)訪問方式。但是OPC技術(shù)的缺點(diǎn)也是非常明顯的,由于LE/COM/DCOM機(jī)制是一個(gè)純軟件的架構(gòu),對(duì)系統(tǒng)資源配置的要求高。當(dāng)系統(tǒng)規(guī)模較大或監(jiān)控點(diǎn)數(shù)較多時(shí),系統(tǒng)的實(shí)時(shí)性將會(huì)明顯下降。

3.2.2基于嵌入式平臺(tái)的監(jiān)控系統(tǒng)

實(shí)時(shí)監(jiān)控系統(tǒng)需要長(zhǎng)時(shí)間不間斷地工作,對(duì)系統(tǒng)的可靠性和實(shí)時(shí)性均有較高要求。為此必須從系統(tǒng)功能、體系架構(gòu)、軟硬件系統(tǒng)的穩(wěn)定性、設(shè)備功耗等方面進(jìn)行綜合考慮(例如選用工控級(jí)的產(chǎn)品),設(shè)計(jì)小型化的智能型監(jiān)控系統(tǒng)。而建立在RTOS之上的嵌入式系統(tǒng)為控制系統(tǒng)的網(wǎng)絡(luò)化、小型化提供了有效途

徑,嵌入式網(wǎng)絡(luò)控制已成為監(jiān)控系統(tǒng)未來發(fā)展的重點(diǎn)方向之一。

基于嵌入式平臺(tái)的遠(yuǎn)程監(jiān)控系統(tǒng)結(jié)構(gòu)如圖2所示。其中,嵌入式Web服務(wù)器既是遠(yuǎn)程監(jiān)控系統(tǒng)的中心節(jié)點(diǎn),也是控制網(wǎng)絡(luò)與數(shù)據(jù)網(wǎng)絡(luò)進(jìn)行互聯(lián)的網(wǎng)關(guān),通過TCP/IP協(xié)議將其連接到以太網(wǎng)上,監(jiān)控主機(jī)則通過以太網(wǎng)(或Internet)在遠(yuǎn)程實(shí)時(shí)地監(jiān)視現(xiàn)場(chǎng)信號(hào)的動(dòng)態(tài)變化,從而實(shí)現(xiàn)遠(yuǎn)程監(jiān)控的目標(biāo)。對(duì)于能夠直接支持TCP/IP協(xié)議的現(xiàn)場(chǎng)檢測(cè)設(shè)備,則可以將其直接連接到以太網(wǎng)上,圖中的液體泄漏檢測(cè)儀即是如此;對(duì)于采用其他總線標(biāo)準(zhǔn)的現(xiàn)場(chǎng)設(shè)備,則需要通過嵌入式Web服務(wù)器進(jìn)行信號(hào)轉(zhuǎn)換之后把現(xiàn)場(chǎng)總線連接到以太網(wǎng)上。

圖2 遠(yuǎn)程監(jiān)控系統(tǒng)結(jié)構(gòu)圖

⒋嵌入式Web服務(wù)器的設(shè)計(jì)

在基于嵌入式平臺(tái)的遠(yuǎn)程監(jiān)控系統(tǒng)中,監(jiān)控系統(tǒng)的中心節(jié)點(diǎn)主要承擔(dān)兩方面的任務(wù):一方面負(fù)責(zé)對(duì)現(xiàn)場(chǎng)數(shù)據(jù)的采集,即Web服務(wù)器以定時(shí)巡檢的方式通過現(xiàn)場(chǎng)總線對(duì)傳感器的信號(hào)進(jìn)行采集;另一方面負(fù)責(zé)協(xié)議轉(zhuǎn)換,把現(xiàn)場(chǎng)總線來的數(shù)據(jù)轉(zhuǎn)換成TCP/IP協(xié)議的格式,通過以太網(wǎng)將其發(fā)送到遠(yuǎn)端的監(jiān)控主機(jī)上。在本設(shè)計(jì)中實(shí)現(xiàn)了從RS232、RS485到TCP/IP協(xié)議之間的相互轉(zhuǎn)換。4.1開發(fā)環(huán)境簡(jiǎn)介

考慮到系統(tǒng)開發(fā)的簡(jiǎn)便性,本方案選用uCLinux操作系統(tǒng)平臺(tái)作為系統(tǒng)的OS環(huán)境,輔助開發(fā)工具選用MiceTek公司的HiTool。嵌入式Web服務(wù)器的硬件環(huán)境選用MiceTek公司的Samsung44B0X開發(fā)板,利用其豐富的接口功能,可實(shí)現(xiàn)嵌入式Web服務(wù)器與傳感器的直接連接。4.2 嵌入式Web服務(wù)器的硬件設(shè)計(jì)

嵌入式Web服務(wù)器硬件環(huán)境的自定義,是根據(jù)監(jiān)控系統(tǒng)的需要,重新制作嵌入式系統(tǒng)的主板。該主板的CPU仍選用Samsung的S3C44B0X,1M的BootFlash,8M的SDRAM,并提供10M/100M的以太網(wǎng)端口,2個(gè)RS232接口和6個(gè)RS485接口。如果待檢測(cè)的參數(shù)較少,則選用一塊嵌入式Web服務(wù)器主板即可;如果待檢測(cè)的參數(shù)較多,則可選用多個(gè)同樣的Web服務(wù)器主板,并對(duì)每個(gè)Web服務(wù)器進(jìn)行參數(shù)配置(設(shè)置不同的IP地址),構(gòu)成分布式的Web服務(wù)器。如果監(jiān)控系統(tǒng)要求存儲(chǔ)的數(shù)據(jù)量很大,則可以采取以下兩種方法加以解決:一是嵌入式Web服務(wù)器外接硬盤;另一種方法是外加一臺(tái)由工業(yè)控制級(jí)的服務(wù)器,對(duì)多臺(tái)嵌入式Web服務(wù)器進(jìn)行統(tǒng)一管理。4.3 嵌入式Web服務(wù)器的軟件實(shí)現(xiàn)

嵌入式Web服務(wù)器的軟件開發(fā)主要包括以下幾項(xiàng)內(nèi)容:首先,完成嵌入式操作系統(tǒng)的移植和TCP/IP協(xié)議的剪裁;第二,編寫數(shù)據(jù)采集、數(shù)據(jù)處理應(yīng)用子程序;第三,編寫遠(yuǎn)程通信子程序;第四,報(bào)警處理子程序;第五,數(shù)據(jù)查詢和報(bào)表生成子程序。這些功能應(yīng)先在上述的開發(fā)環(huán)境中進(jìn)行初步實(shí)現(xiàn)之后,再移植到自定義的環(huán)境中。

由于嵌入式系統(tǒng)的資源有限,因此對(duì)上述功能的實(shí)現(xiàn)應(yīng)盡量簡(jiǎn)潔,例如對(duì)HTTP協(xié)議的移植,只需要保留基本的Get和Post方法即可,而Options、Head、Put、Delete和Trace方法在此可不考慮實(shí)現(xiàn),因?yàn)閷?duì)RAM(或EEPROM)中的數(shù)據(jù)存儲(chǔ)可以采用循環(huán)覆蓋的方式。

在此方案中,嵌入式Web服務(wù)器與Web瀏覽器及其他應(yīng)用程序之間的交互,可以通過調(diào)用CGI(Common Gateway Interface)程序來實(shí)現(xiàn)。CGI規(guī)定了Web服務(wù)器與瀏覽器及其他可執(zhí)行程序的接口協(xié)議標(biāo)準(zhǔn)。當(dāng)Web瀏覽器將請(qǐng)求信息發(fā)送給Web服務(wù)器時(shí),Web服務(wù)器觸發(fā)一個(gè)可執(zhí)行的CGI程序,該程序根據(jù)用戶請(qǐng)求的內(nèi)容做出相應(yīng)的處理,并將處理結(jié)果以Web服務(wù)器可識(shí)別的方式輸出,Web服務(wù)器再將該結(jié)果回送給Web瀏覽器[5]。

CGI程序中的信息傳遞是通過標(biāo)準(zhǔn)輸入設(shè)備stdin和標(biāo)準(zhǔn)輸出設(shè)備stdout來完成的。Web服務(wù)器在調(diào)用CGI程序之前,需要預(yù)先設(shè)置好所有的環(huán)境變量,以便把客戶的請(qǐng)求轉(zhuǎn)化為參數(shù)后存入環(huán)境變量,然后就可以調(diào)用CGI程序了。CGI程序根據(jù)不同的請(qǐng)求方法確定如何獲取客戶的請(qǐng)求內(nèi)容,而Web服務(wù)器則通過標(biāo)準(zhǔn)輸入設(shè)備stdin獲得客戶請(qǐng)求;對(duì)于CGI程序的輸出結(jié)果,Web服務(wù)器則是通過標(biāo)準(zhǔn)輸出設(shè)備stdout來獲得,Web服務(wù)器對(duì)其進(jìn)行語法分析之后,再傳送給客戶瀏覽器。至于CGI程序的實(shí)現(xiàn),本方案選用C語言,以保證CGI程序的快速、高效和安全。

⒌結(jié)語

基于嵌入式平臺(tái)的監(jiān)控系統(tǒng),以其體積小、可連續(xù)工作時(shí)間長(zhǎng)、性能穩(wěn)定等特點(diǎn),得到人們的廣泛認(rèn)可,成為網(wǎng)絡(luò)化遠(yuǎn)程監(jiān)控系統(tǒng)的主流方向。在本設(shè)計(jì)中,借助于相對(duì)穩(wěn)定和成熟的軟硬件開發(fā)環(huán)境,設(shè)計(jì)了一套較為完整和實(shí)用化的遠(yuǎn)程監(jiān)控方案并加以實(shí)現(xiàn)。經(jīng)使用證明,該設(shè)計(jì)方案是成功的并取得了較為理想的效果。

參考文獻(xiàn)

[1]關(guān)光富,計(jì)算機(jī)機(jī)房環(huán)境設(shè)備監(jiān)控系統(tǒng)與設(shè)計(jì)分析,電工技術(shù)雜志,2004.2 [2]周祖德編著,基于網(wǎng)絡(luò)環(huán)境的智能控制,國(guó)防工業(yè)出版社,2004.1,第1版 [3]宋廣軍,張敬,王睿,基于web的溫濕度遠(yuǎn)程監(jiān)控系統(tǒng),微計(jì)算機(jī)信息,2004.1 [4]孫敏,顧德英,汪晉寬,基于OPC技術(shù)的監(jiān)控組態(tài)程序的開發(fā),儀器儀表學(xué)報(bào)(增刊),2003.8 [5]湯碧玉,曾楠,鄭靈翔等,嵌入式系統(tǒng)中基于Web的遠(yuǎn)程監(jiān)控設(shè)計(jì)與實(shí)現(xiàn),廈門大學(xué)學(xué)報(bào)(自然科學(xué)版),vol.43(5),2004.9

第五篇:基于嵌入式Linux遠(yuǎn)程圖像監(jiān)控系統(tǒng)的設(shè)計(jì)

本文由wangyong1179貢獻(xiàn)

pdf文檔可能在WAP端瀏覽體驗(yàn)不佳。建議您優(yōu)先選擇TXT,或下載源文件到本機(jī)查看。2010年第 11期 文章編號(hào): 1006 2475(2010)11 0031 04 計(jì) 算 機(jī) 與 現(xiàn) 代 化 JISUAN JI YU X IAN DA I UA H 總第 183期

基于嵌入式 L inux遠(yuǎn)程圖像監(jiān)控系統(tǒng)的設(shè)計(jì)

唐人財(cái), 劉連浩

(中南大學(xué)信息科學(xué)與工程學(xué)院, 湖南 長(zhǎng)沙 410083)摘要: 系統(tǒng)以嵌入式微處理器 S3C2440和 L inux為核心平臺(tái), 采用 U SB攝像頭作為圖像采集設(shè) 備, 利用 L inux 下視頻設(shè)備 應(yīng)用編程接口 V 4L2和 Q t/Em bedded實(shí)現(xiàn)圖像的采集, 實(shí)時(shí) 顯示和 JPEG 格式 圖片保 存, 利 用 libjpeg 庫(kù)來實(shí) 現(xiàn)視頻 數(shù)據(jù) 的編解碼以及通過以太網(wǎng)進(jìn)行遠(yuǎn)程傳輸, 實(shí)現(xiàn)一種功耗低、可靠性高和低成 本的網(wǎng)絡(luò)圖像采集與傳輸系統(tǒng)設(shè)計(jì)方案。關(guān)鍵詞: L inux 圖像采集;Q t/Em bedded V 4L2;S3C2440;;中圖分類號(hào): T P391 41.文獻(xiàn)標(biāo)識(shí)碼: A do: 10 3969 /.j issn.1006 2475.2010.11.009 i.D esign of R emote I age M on itoring System Based on Em bedded L inux m TANG R en ca, L IU L ian hao i(Institu te of Infor ation Science and Eng ineer ing, C entra l South U niversity Changsha 410083, China)m , Ab stract T he syste uses e : m mbedded m icroprocesso r S3C2440 and L inux as the core platfo r T he applica tion prog ramm ing in m.te rface V 4L2 and Q t /Embedded library are tw o key techno log ies to realize i age acqu isition, rea l ti e display and JPEG p icture m m sav ing by using U SB ca era T his design of i age acqu isition and trans ission is a low powe r consumption, h igh reliab ility and m.m m inexpensive syste m, wh ich ach ieves encod ing o r decod ing of i ages by lib jpeg library and remo te transm ission o f E therne t m.K ey w ords L inux;i age acquisition;Q t/Em bedded V4L 2;S3C2440 : m;0 引

友好圖形操作界面, 實(shí)現(xiàn)現(xiàn)場(chǎng)圖像在終端上的實(shí)時(shí)顯 示和 JPEG圖片的保存。利用 L inux 下 lib jp eg庫(kù)編碼 壓縮圖像, 通過以太網(wǎng)接口實(shí)時(shí)傳輸?shù)揭曨l監(jiān)控中心 PC機(jī)上, 通過接收解碼顯示現(xiàn)場(chǎng)圖像, 實(shí)現(xiàn)遠(yuǎn)程視頻 圖像監(jiān)控功能。系統(tǒng)總體設(shè)計(jì)結(jié)構(gòu)如圖 1所示。

隨著嵌入式技術(shù)、多媒體技 術(shù)及網(wǎng)絡(luò)技術(shù) 的發(fā) 展, 基于嵌入式技術(shù)、視頻壓縮編碼技術(shù)和網(wǎng)絡(luò)傳輸 控制技術(shù)的綜合應(yīng)用, 已成為數(shù)字化網(wǎng)絡(luò)視頻采集監(jiān) 控領(lǐng)域的核心 技術(shù)。系統(tǒng)是基于 ARM 9和 L inux平臺(tái)的遠(yuǎn)程視頻圖像監(jiān)控設(shè)計(jì)方案, 整個(gè)系統(tǒng)建立在嵌 入式結(jié)構(gòu)上, 實(shí)現(xiàn)了高質(zhì)量的視頻圖像采集和實(shí)時(shí)處 理功能。

系統(tǒng)總體設(shè)計(jì)

遠(yuǎn)程視頻圖像監(jiān)控系統(tǒng)分為嵌入式視頻監(jiān)控終 端和監(jiān)控中心 PC 機(jī)兩部分。嵌入 式視頻監(jiān)控終端 基于嵌入式微處理器 S3C2440和 L inux 核心平臺(tái), 采 用通用 USB 攝像頭捕捉現(xiàn)場(chǎng)圖像, 通過 USB 接口將 數(shù)據(jù)傳輸?shù)?ARM 開發(fā)板上, 由開發(fā)板上的圖像采集 處理模塊進(jìn)行圖像數(shù)據(jù)處理, 通過 LCD 觸摸屏顯示

圖 1 系統(tǒng)總體設(shè)計(jì)框圖 2 系統(tǒng)硬件設(shè)計(jì)

系統(tǒng)選取 m in i2440開發(fā)板作為系統(tǒng)設(shè)計(jì)的硬件

收稿日期: 2010 06 28 作者簡(jiǎn)介: 唐人財(cái)(1978), 男, 海南海口人, 中南大學(xué)信息科學(xué)與工程 學(xué)院碩 士研究 生, 研 究方向: 嵌入 式系統(tǒng) 及應(yīng)用;劉連 浩(1959), 男, 湖南 澧縣人, 教授, 博士, 研究方向: 單片機(jī)及嵌入式系統(tǒng)。32 計(jì)

機(jī)

現(xiàn)

2010年第 11期

平臺(tái), 監(jiān)控終端硬件由主控模塊和擴(kuò)展模塊兩部分組 成。主控模塊采用嵌入式微處理器 S3C2440 它是一 , 款基于 ARM 920T 核的 16/ 32位 RS I 結(jié)構(gòu)的嵌入式微 C 處理器, 主頻 400 z 最高可達(dá) 533 MH , MH z 片內(nèi)外資源 , 豐富, 具有強(qiáng)大的處理能力, 從硬件上保證了系統(tǒng)快速 的響 應(yīng) 速 度。系 統(tǒng) 存 儲(chǔ) 擴(kuò) 展 了 128 B 的 NAND M FLAS 64 B的 SDRAM。擴(kuò)展模塊包括通用 USB攝 H, M 像頭、9000以太網(wǎng)控制器和帶觸摸屏的 NEC3 5英 DM.寸 TFT 真彩液晶屏。主控模塊通過 USB 接口電路、LCD接口電路、以太網(wǎng)接口電路與擴(kuò)展模塊相連接構(gòu) 成整個(gè)硬件系統(tǒng)。系統(tǒng)硬件結(jié)構(gòu)如圖 2所示。

配置內(nèi)核編譯選項(xiàng)時(shí)把 UVC 驅(qū)動(dòng)編譯進(jìn)內(nèi)核。UVC 不是攝像頭的品牌或型號(hào), 它是一種視頻設(shè)備的技術(shù) 規(guī)范, 全稱為 U SB V ideo C lass 這是一個(gè)為 USB 視頻 , 設(shè)備提供驅(qū)動(dòng)的開源項(xiàng)目。UVC 驅(qū)動(dòng)支持 V 4L 2應(yīng) 用編程接口, 系統(tǒng)設(shè)計(jì)中使用的 USB 攝像頭為 T op Speed U SB 2 0 C a era UVC 驅(qū)動(dòng)提供支持。.m , 3 3 V4L2圖像采集程序的實(shí)現(xiàn).V4L2 是 V id eo For L inux Two 的 簡(jiǎn)稱, 是 V id eo Fo r L in ux AP I的第二版本, 是 L inux 下開發(fā)視頻設(shè)備 程序的接口標(biāo)準(zhǔn), 使用分層方法對(duì)所有視頻設(shè)備的驅(qū) 動(dòng)和應(yīng)用編 程提 供一 套完備 的接 口規(guī) 范。基于 V4L 2標(biāo)準(zhǔn), 視頻圖像采集處理流程如圖 3所示。[ 3] 圖 2 系統(tǒng)硬件結(jié)構(gòu)框圖 3 系統(tǒng)軟件設(shè)計(jì)

1 系統(tǒng)軟件平臺(tái).系統(tǒng)軟件平臺(tái)以嵌 入式 L inux 和 Q t/Em bedded 為基礎(chǔ), 具體構(gòu)建步驟為: 在宿主機(jī)上建立交叉編譯 環(huán)境, 完成引導(dǎo)加載程序 v ivi的編譯移植, 編譯移植 linux 2 6 29 內(nèi)核, 包括 DM 9000 網(wǎng)卡、..通用 USB 攝 像頭和 LCD 觸摸 屏等驅(qū)動(dòng) 的移植, 基于 busybox 1.13.3構(gòu)建文件系統(tǒng)。基于系統(tǒng)設(shè)計(jì)的需求, 還要完 成 QTE 4 5 3圖形庫(kù)與 tslib 1 4觸摸屏支持庫(kù)以及...lib jp eg庫(kù)向開發(fā)板的移植。lib jp eg 庫(kù)主要用于實(shí)現(xiàn) 內(nèi)存中圖像數(shù)據(jù)的編解碼, QTE 4 5 3是面向嵌入式..系統(tǒng)的 Q t版本, 采用了 fram ebuffer作為底層圖形接 口, 采用 C ++ 封裝, 具有豐富的控件資源和良好的可 移植性, 系 統(tǒng)中的應(yīng) 用程序 以及環(huán) 境都是 基于 Q t / Em bedded來開發(fā)的。最終形成基于 ARM 的嵌入式 [ 1 2] L inux 操作系統(tǒng)平臺(tái) , 在系統(tǒng)軟件平臺(tái)上可進(jìn)行嵌 入式應(yīng)用程序的開發(fā)。限于篇幅, 系統(tǒng)軟件平臺(tái)的構(gòu) 建在此只作簡(jiǎn)單介紹。3 2 嵌入式 L inux下 USB 攝像頭驅(qū)動(dòng).為了使用 L in ux下 V4L2應(yīng)用編程接口編寫圖像 采集應(yīng)用程序, 在開發(fā)板上移植版本為 linux 2 6 29..的內(nèi)核, 此內(nèi)核版本支持 UVC 驅(qū)動(dòng) USB 攝像頭, 在圖 3 視頻圖像采集處理流程圖

3 1 視頻設(shè)備結(jié)構(gòu)體初始化..程序中定義一個(gè)視頻設(shè)備的數(shù)據(jù)結(jié)構(gòu) struct vde vice 結(jié)構(gòu)體的成員變量是對(duì)視頻設(shè)備和圖像屬性的 , 描述。

init_ vdata(struct vdevice * vdev , char * dev _na e un m , signed int w idth unsigned int he ight int fo r at);, , m 通過參數(shù)完成對(duì)視頻設(shè)備結(jié)構(gòu)體變量 vdev的賦 值初始化。視頻設(shè)備名稱 dev_na e 視頻圖像寬度 m , w idth 視頻圖像高度 heigh, 視頻圖像格式 for a, 以 , t m t 及申請(qǐng)分配兩個(gè)內(nèi)存緩沖區(qū) fram ebuffer和 rgbbu ffer , 分別為采集到的一幀圖像 數(shù)據(jù)緩沖區(qū)和 24位 RGB 圖像數(shù)據(jù)緩沖區(qū)。3 3 2 視頻設(shè)備初始化..函數(shù) in it_vdev(struct vdev ice * vdev)根據(jù)參數(shù)

2010年第 11期

唐人財(cái)?shù)? 基于嵌入式 L inux遠(yuǎn)程圖像監(jiān)控系統(tǒng)的 設(shè)計(jì)

vdev傳遞的值對(duì)視頻設(shè)備進(jìn)行初始化, 這是進(jìn)行視頻 圖像采集前必須完成的工作。視頻設(shè)備結(jié)構(gòu)體 vdev 包含了要設(shè)置的設(shè)備信息, 初始化視頻設(shè)備到適合的 圖像采集工作方式。視頻設(shè)備初始化具體實(shí)現(xiàn)如下:(1)打開攝像頭設(shè)備文件。利用系統(tǒng)調(diào)用 函數(shù) vdev > fd = open(vdev > dev_nam e O_RDWR)實(shí)現(xiàn), 該函數(shù)的功能是打開參 , 數(shù) vdev > dev_nam e指定的設(shè)備, 對(duì)于攝像頭用設(shè)備 文件名 /dev /v ideo0 表示, vdev > fd 是設(shè)備打開后 返回的文件描述符, 在程序中可使用它來對(duì)設(shè)備文件 進(jìn)行操作。(2)查詢?cè)O(shè)備信息和設(shè)置采集屬性。在 L inux 編程中, io ct l函數(shù)是設(shè)備驅(qū)動(dòng)程序中對(duì) 設(shè)備的 I /O 進(jìn)行管理的函數(shù), 用戶程序一般使用 ioctl 函數(shù)來對(duì)設(shè)備的一些特性進(jìn)行控制。調(diào)用帶 V ID I C _ O QUERYCAP命令參數(shù)的 io ct l函 數(shù)來取得設(shè)備文件的屬性參數(shù), 并存儲(chǔ)于 struct v4l2_ capab ility 結(jié)構(gòu)體變量 vdev > cap 中, 然后可 逐項(xiàng)驗(yàn) 證 vdev > cap的屬性, 看設(shè)備是否符合采集的要求。

ioctl(vdev > fd V ID I _QU ERYCAP, & vdev > cap);, OC m em 間建立映射, 調(diào)用帶 V I I C _QBUF 命令參數(shù)的 DO ioct l函數(shù)將所申請(qǐng)的設(shè)備緩存加入等待輸入緩存隊(duì) 列, 內(nèi)存映射初始化完成。3 3 3 采集圖像數(shù)據(jù)..函數(shù) capture(struct vdevice * vdev)完成一幀視 頻圖像數(shù)據(jù)采集, 采集到的視頻圖像數(shù)據(jù)存放到設(shè)備 緩存 vdev > bu f中, 通過映射的程序內(nèi)存空間可處理 視頻圖像, 函數(shù)調(diào)用成功返回視頻設(shè)備采集的圖像數(shù) 據(jù)大小。在設(shè)備緩存加入等待輸入隊(duì)列后, 調(diào)用帶 VIDI C_ O STREAMON命令參數(shù)的 ioctl函數(shù)使能視頻設(shè)備。

type= V 4L2_BU F _TYPE_V IDEO _CA PTURE;ioctl(vdev > fd V ID I _STREAM ON, & type);, OC 圖像數(shù)據(jù)緩存采用 F IFO 的方式, 緩存隊(duì)列將已 采集到視頻圖像數(shù)據(jù)的設(shè)備緩存出隊(duì)列, 此時(shí)與之映 射的內(nèi)存空間就存儲(chǔ)了采集到的視頻圖像數(shù)據(jù), 處理 完畢重新使設(shè)備緩存加入隊(duì)列。這個(gè)過程需要調(diào)用 兩次 io ctl函數(shù)。

ioctl(vdev > fd V ID I _DQBUF, & vdev > buf);, OC ioctl(vdev > fd V ID I _QBUF, & vdev > buf);, OC 接著設(shè)置視頻圖像采集格式, 可根據(jù)需求修改攝 像頭緩沖區(qū)中圖像參數(shù)如分辨率、格式等。具體方法 為先給 struct v4 l2 _for at結(jié)構(gòu)體變量 vdev > f t分量 m m 賦新值, 再調(diào)用 帶 V ID I C _S _FMT 命令參數(shù) 的 ioctl O 函數(shù)完成采集屬性的設(shè)置。ioctl(vdev > fd V ID I _S_FM T, & vdev > fm t);, OC 調(diào)用帶 VIDIOC_DQBUF 命令參數(shù)的 ioct l函數(shù)使 設(shè)備緩存出隊(duì)列, 利用系統(tǒng)函數(shù) m em cpy 將所采集的 一幀視頻圖像數(shù)據(jù)拷貝的所分配的內(nèi)存空間 vdev > fram ebuffer以 方 便 后 續(xù) 圖 像 處 理。然 后 調(diào) 用 帶 V IDI C _ O QBUF 命令參數(shù)的 io ctl函數(shù)把設(shè)備緩存重新 加入輸入緩存隊(duì)列, 至此完成一幀視頻圖像數(shù)據(jù)采集。系統(tǒng)采用的攝像頭初始化為 YUV422圖像格式, 圖像要在 LCD 上顯示, 必須進(jìn)行圖像數(shù)據(jù)格式轉(zhuǎn)換 處理, 將 YUV422格式轉(zhuǎn)換為 RGB24格式。

yuv2 rgb24(vdev > fra ebuffer vdev > rgbbuffer vdev > m , , w idth vdev > he ight);,(3)實(shí)現(xiàn)內(nèi)存映射。V4L2捕獲的數(shù)據(jù)是存放在內(nèi)核空間的, 用戶不 能直接訪問該 段內(nèi)存, 必須通 過某些手段來 轉(zhuǎn)換地 址。系統(tǒng)采用 mm ap內(nèi)存映射方式, 把設(shè)備內(nèi)存映射 到用戶程序內(nèi)存空間, 直接處理設(shè)備內(nèi)存, 加速了 I/ O 訪問。主要函數(shù)調(diào)用如下: ioctl(vdev > fd V ID I _REQBUF S & vdev > rbuf);, OC , ioctl(vdev > fd V ID I _QU ERYBUF, & vdev > buf);, OC vdev > m e [ i] = mm ap(0, vdev > bu.length, PROT _ m f READ, M AP _SHARED, vdev > fd vdev > bu.f m.offset);, ioctl(vdev > fd V ID I _QBUF, & vdev > buf);, OC 函數(shù) yuv2rgb24 將 vdev > fram ebuffer指定 內(nèi)存 中的 YUV 422圖像格式轉(zhuǎn)換為 RGB24格式, 并存放 到 vdev > rgbbuffer指定內(nèi)存中, 函數(shù)實(shí)現(xiàn)在 此不作 詳細(xì)闡述。3 4 圖像數(shù)據(jù)的 JPEG 編解碼.網(wǎng)絡(luò)傳輸前對(duì)原始圖像數(shù)據(jù)進(jìn)行壓縮處理, 利用 IJG(Independent JPEG G roup)提供的 lib jp eg 庫(kù)進(jìn)行 [ 4 6] 圖像編解碼。在開源的 libjpeg 庫(kù)中, 函數(shù)必須從 文件或其他 設(shè)備流中讀取數(shù)據(jù), 再將壓縮數(shù) 據(jù)存成 JPEG 文件, 增加了不必要的文件 I/O 操作, 不利于網(wǎng) 絡(luò)實(shí)時(shí)傳輸圖像。為解決 該問題, 改寫 了 lib jp eg 庫(kù) 內(nèi) jdatasrc c和 jd atads.c兩個(gè)源代碼文件, 設(shè)計(jì)自定.t 義的結(jié)構(gòu)體 struct m y_dest_ gr和 struct m y_src_ g r m m , 增加自定義圖像數(shù)據(jù)緩存地址變量、已處理圖像數(shù)據(jù)

具體實(shí)現(xiàn): 首先, 對(duì) struct v4 l2 _ requestbuffers結(jié) 構(gòu)體變 量 vdev > rbuf 分 量 賦 值, 調(diào) 用 帶 V I I C _ DO REQBUFS命令參數(shù)的 io ctl函 數(shù)分配自定義 數(shù)量的 設(shè)備緩存;然后, 在循環(huán)程序結(jié)構(gòu)中對(duì)申請(qǐng)分配的設(shè) 備緩存 進(jìn)行映射, 調(diào)用帶 V IDIOC _QUERYBUF 命令 參數(shù)的 ioct l函數(shù)獲得設(shè)備緩存偏移量和緩存大小并 存于 struct v4l2_buffer結(jié)構(gòu)體變量 vdev > bu f中, 調(diào) 用 mm ap在設(shè)備 緩存 和程序 內(nèi)存 空間 變量 vdev > 34 計(jì)

機(jī)

現(xiàn)

2010年第 11期

的偏移量變量和圖像大小變量, 并改寫 lib jp eg庫(kù)相關(guān) 操作函數(shù), 封裝相關(guān)的數(shù)據(jù)結(jié)構(gòu)和成員函數(shù)為自定義 的圖像編解碼類 MY JPEG。實(shí)現(xiàn)輸入數(shù)據(jù)和輸出數(shù)據(jù) 的重定向到內(nèi)存, 利用開源的 libjpeg 庫(kù)在內(nèi)存中實(shí)現(xiàn) 圖像的壓縮和解壓縮。參照 lib jpeg 庫(kù)中編解碼過程, 實(shí)現(xiàn)了類 MYJPEG中壓縮與解壓縮成員函數(shù)。

w r ite e(unsigned cha r * m m char* m quality);/ /圖像數(shù)據(jù)壓縮處理 readm e(uns igned char indata int pSize unsigned char m * , , * outdata);/ /圖像 數(shù)據(jù)解壓縮處理 outdata int * pS ize unsigned , , indata unsigned int mw idth, unsigned int mhe ight int , , 壓縮函數(shù)中參數(shù)可以靈活對(duì)壓縮圖像分辨率大 小和質(zhì)量屬性進(jìn)行設(shè)置, 參數(shù) pS ize 返回壓縮后圖像 的大小。而解壓縮圖像時(shí), 壓縮圖像的大小則通過參 數(shù) pSize傳入。3 5 網(wǎng)絡(luò)傳輸視頻圖像數(shù)據(jù).UDP是非連接的、不可靠的、傳遞數(shù)據(jù)報(bào)的傳輸 協(xié)議, 提供了一種高效無連接的服務(wù)。由于 UDP 不 提供數(shù)據(jù)的可靠性保證, 使其具有較少的傳輸時(shí)延, 很適合實(shí)時(shí)性高而不要求數(shù)據(jù)絕對(duì)可靠的場(chǎng)合。視 頻圖像數(shù)據(jù)實(shí)時(shí)性強(qiáng), 數(shù)據(jù)量大, 所以系統(tǒng)設(shè)計(jì)采用 此協(xié)議傳輸數(shù)據(jù)。通過 L inux 下的 socket套 接字編 [ 7] [ 8 11] 程 , 實(shí)現(xiàn)視頻圖像的網(wǎng)絡(luò)傳輸。利用 C語言中 的多線程編程, 將網(wǎng)絡(luò)通信置于一個(gè)工作線程, 避免 了 GU I應(yīng)用程序因網(wǎng)絡(luò)阻塞等待操作而使圖形用戶 界面凍結(jié)無法響應(yīng)的問題。系統(tǒng)設(shè)計(jì)時(shí)結(jié)合使用互 [ 12] 斥鎖和條件變量對(duì)各個(gè)工作線程進(jìn)行同步。嵌入式視頻監(jiān)控終端上采集顯示程序作為主線 程, 同時(shí)創(chuàng)建一個(gè)視頻圖像發(fā)送工作 線程 deal_send(), 用來處理與視頻監(jiān)控中心 PC間的網(wǎng)絡(luò)通信。具 體過程描述如 下: 調(diào)用 socket()函數(shù)創(chuàng)建一個(gè) UDP 數(shù)據(jù)報(bào)類型的套接字, 接著調(diào)用 bind()函數(shù), 給套接 字綁定一個(gè)端口。視頻圖像發(fā)送工作線程調(diào)用 recv from()函數(shù)在指定的端口上阻塞等待客戶端發(fā)送來 的 UDP數(shù)據(jù)報(bào), 接收到服務(wù)請(qǐng)求, 處理該服務(wù)請(qǐng)求并 通過 sendto()函數(shù)將處理結(jié)果返回給 PC 端。在監(jiān)控中心 PC 端創(chuàng)建解碼顯示視頻圖像工作 線程, 并創(chuàng) 建一個(gè)視 頻圖像接 收工 作線程 deal _re ce ive(), 用來處理與視頻監(jiān)控終端的網(wǎng)絡(luò)通 信。具 體過程描述如 下: 調(diào)用 socket()函數(shù)創(chuàng)建一個(gè) UDP 數(shù)據(jù)報(bào)類型的套接字, 接著調(diào)用 bind()函數(shù), 給套接 字綁定一個(gè)端口。調(diào)用 sendto()函數(shù)向監(jiān)控終端發(fā) 送服務(wù)請(qǐng)求報(bào)文, 調(diào)用 recv from()函數(shù)等待并接收服 務(wù)應(yīng)答報(bào)文。繼續(xù)定時(shí)發(fā)送服務(wù)請(qǐng)求直至通信終止。具體網(wǎng)絡(luò)傳輸?shù)耐ㄐ胚^程如圖 4所示。

圖 4 網(wǎng)絡(luò)傳輸通信流程 4 視頻圖像實(shí)時(shí)顯示

系統(tǒng)是一個(gè)實(shí)時(shí)視頻圖像采集與傳輸系統(tǒng), 采集 的現(xiàn)場(chǎng)視頻圖像在嵌入式視頻監(jiān)控終端和監(jiān)控中心 PC上實(shí)時(shí)顯示與保存。只要以較快速度顯示變化的 圖片就可以實(shí)時(shí)顯示現(xiàn)場(chǎng)情況, 系統(tǒng)中利用定時(shí)器每 40m s采集一幀視頻圖像。該遠(yuǎn)程圖像監(jiān)控系統(tǒng)界面 是通過 QT 來實(shí)現(xiàn)的, 在強(qiáng)大的 QT 圖形庫(kù)的支持下, [ 13 14 ] 可快速開發(fā)出友好的圖形用戶界面。利用幾個(gè) 相關(guān) Q t圖形類 Q I age QP ixm ap和 QL abe,l 實(shí)現(xiàn)視頻 m、圖像的顯示和 JPEG格式圖片保存。5 結(jié)束語

系統(tǒng)設(shè)計(jì)方案 是一種基于嵌入式 L inux 的圖像 采集和傳輸系統(tǒng), 本文詳細(xì)介紹了 V4L 2應(yīng)用編程接 口進(jìn)行 USB 攝像頭視頻圖像采集, 基于 QTE 圖形庫(kù) 實(shí)時(shí)顯示視頻圖像, 利用開源的 lib jp eg 庫(kù)實(shí)現(xiàn)圖像 的 JPEG 編解碼, 通過網(wǎng)絡(luò)實(shí)時(shí)傳輸進(jìn)行遠(yuǎn)程監(jiān)控。整個(gè)系統(tǒng)數(shù)字化、網(wǎng)絡(luò)化程度高, 實(shí)時(shí)性好、穩(wěn)定可靠 且圖像質(zhì)量較好。經(jīng)實(shí)驗(yàn)測(cè)試, 系統(tǒng)很好地實(shí)現(xiàn)對(duì)現(xiàn) 場(chǎng)視頻圖像的監(jiān)控。在該系統(tǒng)的基礎(chǔ)上, 可進(jìn)一步進(jìn) 行二次擴(kuò)展開發(fā), 以便應(yīng)用在工業(yè)現(xiàn)場(chǎng)控制、遠(yuǎn)程指 揮監(jiān)控系統(tǒng)、可視電話等諸多領(lǐng)域。

參考文獻(xiàn): [ 1] [ 2] [ 3] 趙敏, 楊恢先, 湯安平.基于 S3C2440的嵌入式 L inux 系統(tǒng) 移植的研究與實(shí)現(xiàn) [ J].電子器件, 2008 31(6): 1947 1950 ,.鄭靈翔.嵌入式 L inux 系統(tǒng)設(shè)計(jì) [M ].北京: 北京 航空航 天大學(xué)出 版社, 2008.M ichae lH Schi ek V ideo for L inux Tw o AP I Specifica tion m.[ EB /OL ].http: / /v4l2spec bytesex org /v4l2spec / v4 l2...pd, 2008 03 04.f(下轉(zhuǎn)第 38頁(yè))38 計(jì)

機(jī)

現(xiàn)

化 2010年第 11期

目標(biāo)圖像中變成 A!B!因?yàn)橄蚯耙苿?dòng)了, 所以物體顯 , 得比原來要大些。放大的過程應(yīng) 該是: 逐步 放大左 圖, 并適當(dāng)?shù)亟厝》糯髨D中跟原來一樣大小的一塊矩 形區(qū)域, 作為一張新的過渡圖。至于放大的倍數(shù), 作 [ 8] 如下考慮 : 假設(shè) A!的長(zhǎng)度是 AB的 L 倍, 兩幅圖像之間插入 B!n張過渡圖, 則每一張過渡圖之間的放大的倍數(shù)是(L 1)/(n+ 1)。

速度, 內(nèi)存優(yōu)化后系統(tǒng)占用資源更少, 由于不用頻繁 申請(qǐng)內(nèi)存和 釋放內(nèi)存, 減少 了漏洞和錯(cuò)誤發(fā) 生的幾 率;采用縮放的方法改進(jìn)了行進(jìn)間的瀏覽效果, 提高 了虛擬漫游的沉浸感, 具有一定的實(shí)用意義。

參考文獻(xiàn): [ 1] 石云飛, 王永平, 李龍 濟(jì), 等.基于 模板匹配 的柱面全景 圖拼接優(yōu)化算法 [ J].工程圖學(xué)學(xué)報(bào), 2005(1): 96 99.[ 2] [ 3] [ 4] 華順剛, 曾令宜, 歐宗瑛.一種快速的柱面全景拼接算法 [ J].數(shù)據(jù)采集與處理, 2006, 21(4): 435 436.潘華偉, 鄒北驥.一種圓 柱形全 景圖生 成新算法 及其實(shí) 現(xiàn) [ J].計(jì)算機(jī)工程與科學(xué), 2003, 25(6): 13 16.吳憲祥, 郭寶龍, 王娟.基于相位相關(guān)的柱面全景圖像自 動(dòng)拼接算法 [ J].光學(xué)學(xué)報(bào), 2009, 29(7): 1824 1829.[ 5] 鐘力, 張茂 軍, 孫立 峰, 等.360度柱 面全 景圖 像生 成算 法及其實(shí)現(xiàn) [ J].小型 微型 計(jì)算 機(jī)系 統(tǒng), 1999 20(12): , 899 900.[ 6] [ 7] [ 8] [ 9] 趙 輝, 陳 輝, 于 泓.一 種 改 進(jìn) 的 全 景 圖 自 動(dòng)拼 接 算 法 [ J].中國(guó)圖象圖形學(xué)報(bào), 2007, 12(2): 336 342.阮 秋 琦.數(shù) 字 圖 像 處 理 [ M ].北 京: 電 子 工 業(yè) 出 版 社, 2001.董 士 海.虛 擬 現(xiàn) 實(shí) 的 未 來應(yīng) 用 [ N ].中 國(guó) 計(jì) 算 機(jī) 報(bào), 2001 02 21.崔漢國(guó), 曹茂春, 歐陽(yáng)清.柱面全景圖像拼合算法研究數(shù) 字圖像處理 [ J].計(jì)算機(jī)工程, 2004, 30(6): 158 159.[ 10] 趙萬金, 龔聲蓉, 劉全, 等.一種用于 圖像拼 接的 圖像序 列自 動(dòng) 排 序 算 法 [ J].中 國(guó) 圖 象 圖 形 學(xué) 報(bào), 2007, 12(10): 1861 1864.[ 11] 張茂春.虛擬現(xiàn)實(shí)系統(tǒng) [M ].北京: 科學(xué)出版社, 2001.[ 12] 明德烈, 柳健, 田金文.二維平面內(nèi)的增強(qiáng)現(xiàn)實(shí)虛實(shí)配準(zhǔn) 問題研究 [ J].紅外與激光工程, 2001, 30(6): 410 413.[ 13] 蔡勇, 劉學(xué)惠, 吳恩華.基于圖像繪制的虛擬現(xiàn)實(shí)系統(tǒng)環(huán) 境 [ J].軟件學(xué)報(bào), 1997.8(10): 721 728.[ 14] 喻罡.基于圖像的虛 擬場(chǎng)景 構(gòu)造 和漫 游系統(tǒng) 研究 [ D ].西安: 西安理工大學(xué), 2002.圖 6 放大前后的線段

在放大后的圖像中央截取一塊跟原圖像大小相 同的區(qū)域, 然而由于拍攝的過程中, 一系列的過渡場(chǎng) 景不可能嚴(yán)格地在一條直線上, 也就是說相鄰的中間 圖像的中心位置并不重合。如果不加任何處理, 在過 渡的時(shí)候?qū)嶋H效果并不平滑, 在到達(dá)下一張中間圖像 的時(shí)候仍然會(huì)有跳躍的感覺。解決的方法是, 預(yù)先計(jì) 算 AB的中點(diǎn)在經(jīng)過放大和截取后, 在最終目標(biāo)圖中 的位置 p(x y), 對(duì)比 A!B!的中點(diǎn) p!(x!y!), 得出 ,!, ? x = x!-x ? y = y!-y 每次 放大后截 取時(shí), 補(bǔ)償 , , ? x /(n+ 1)和 ? y /(n+ 1), 使圖像中心逐步向目標(biāo) 圖像的中心靠攏。

結(jié)束語

本文首先研究了魚眼圖像的拼接算法, 在提出基 于亮度差的魚眼圖像重疊區(qū)域的確定方法和采用線性 補(bǔ)償光強(qiáng)的方法進(jìn)行圖像的融合處理的基礎(chǔ)上, 實(shí)現(xiàn) 了利用兩幅魚眼圖像生成空戰(zhàn)環(huán)境球面虛擬空間, 然 后探討了基于球面虛擬圖的多視點(diǎn)漫游問題。分析 可知: 利用反投影模板技術(shù)有效地提高全景圖瀏覽的

(上接第 34頁(yè))[ 4] 汪慶年, 孫麗兵, 李桂 勇.一種基于 ARM 的視 頻監(jiān)控 系 統(tǒng)的設(shè)計(jì) [ J].微計(jì)算機(jī)信息, 2009 25(11): 158 160., [ 5] [ 6] [ 7] [ 8] [ 9] 汪慶年, 張廣棟.嵌入 式網(wǎng)絡(luò) 視頻 監(jiān)控系 統(tǒng)的 設(shè)計(jì)與 實(shí) 現(xiàn) [ J].電力電子, 2008(5): 47 49.趙文敏, 余文芳, 邢建國(guó).一種嵌入式網(wǎng) 絡(luò)視頻監(jiān)控 系統(tǒng) 的設(shè)計(jì) [ J].計(jì)算機(jī)應(yīng)用與軟件, 2009 26(8): 67 68 81., , 郭 東升, 田秀 華.L inux 環(huán)境 下基 于 Socke t的網(wǎng) 絡(luò)通 信 [ J].軟件導(dǎo)刊, 2009, 18(1): 116 118.楊暉, 胡永健, 林志泉.基于 L inux和 S3C2410嵌入式圖像傳 輸系統(tǒng)設(shè)計(jì) [ J].微計(jì)算機(jī)信息, 2007 23(8): 20 24., 孟超, 張曦煌.基于嵌 入式系 統(tǒng)的 圖像采 集與 傳輸設(shè) 計(jì) [ J].計(jì)算機(jī)工程與設(shè)計(jì), 2008 29(17): 4414 4416 ,.[ 10] 童 永 清.L inuxC 編 程 實(shí) 戰(zhàn) [ M ].北 京: 人 民 郵 電 出 版 社, 2008.[ 11] 王遠(yuǎn)洋, 周淵平, 郭 煥麗.L inux 下基 于 Socket多線 程并 發(fā)通信的實(shí)現(xiàn) [ J].微計(jì)算機(jī)信息, 2009, 25(15): 70 72.[ 12] 楊水 清, 張 劍, 施云飛, 等.ARM 嵌 入式 L inux系 統(tǒng)開發(fā) 技術(shù)詳解 [M ].北京: 電子工業(yè)出版社, 2008.[ 13] 蔡志明, 盧傳富, 李立夏.精通 Q t4 編程 [ M ].北京: 電子 工業(yè)出版社, 2008.[ 14] 陳 鯤, 陳 云 秋, 劉 信 新.基 于 Q t/Embedded 的 嵌 入 式 L inux應(yīng)用程序的 設(shè)計(jì) [ J].計(jì)算機(jī)與 數(shù)字工程, 2009, 37(1): 156 161.1

下載基于嵌入式網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)(樣例5)word格式文檔
下載基于嵌入式網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)(樣例5).doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

主站蜘蛛池模板: 国产99视频精品免视看9| 夜夜偷天天爽夜夜爱| 亚洲人成电影在线天堂色| 伊人久久大香线蕉av五月天宝贝| 亚洲欧洲av无码专区| 久久久久久性高| 偷窥自拍性综合图区| 人人妻人人做人人爽夜欢视频| 中文在线中文a| 国产欧美日韩综合精品二区| 四虎成人久久精品无码| 成人亚洲精品久久久久软件| 风流老熟女一区二区三区| 国产激情з∠视频一区二区| 国产精品高潮呻吟av久久男男| 风韵丰满熟妇啪啪区老老熟妇| 欧美人与禽zozo性伦交视频| 色视频线观看在线网站| 成人亚洲欧美久久久久| 久久久久久久无码高潮| 国产亚洲日韩一区二区三区| 综合色天天鬼久久鬼色| 国产精品成人无码久久久久久| 超碰97人人做人人爱可以下载| 丰满女邻居的嫩苞张开视频| 精品久久久久久无码免费| h无码动漫在线观看| 久久精品中文字幕有码| 久久av无码精品人妻出轨| 国产无遮挡无码视频免费软件| 午夜三级a三级三点窝| 国产成人av乱码免费观看| 小13箩利洗澡无码免费视频| av无码av不卡一区二区| 伊人久久婷婷五月综合97色| 精品国产av一区二区三区| 综合在线视频精品专区| 成熟妇人a片免费看网站| 中文字幕精品亚洲无线码二区| 国产精品久久久久久一区二区三区| 凹凸国产熟女精品视频app|