孟軍英,吳愛燕,林立忠
(石家莊學(xué)院計(jì)算機(jī)系,河北石家莊 050031)
嵌入式網(wǎng)關(guān)在遠(yuǎn)程視頻監(jiān)控中的應(yīng)用研究
孟軍英,吳愛燕,林立忠
(石家莊學(xué)院計(jì)算機(jī)系,河北石家莊 050031)
設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于ARM微處理器的CAN/Ethernet嵌入式網(wǎng)關(guān),并將其應(yīng)用于遠(yuǎn)程視頻監(jiān)控系統(tǒng)中。監(jiān)控前端控制攝像頭采集視頻數(shù)據(jù),壓縮之后通過CAN/以太網(wǎng)嵌入式網(wǎng)關(guān)實(shí)現(xiàn)視頻數(shù)據(jù)和控制信息的遠(yuǎn)程交互。其硬件系統(tǒng)由集成了CAN控制器的ARM微處理器LPC2294、網(wǎng)卡芯片RTL8019AS以及CAN收發(fā)器組成。軟件系統(tǒng)分為3部分:協(xié)議轉(zhuǎn)換程序、CAN協(xié)議模塊和以太網(wǎng)協(xié)議模塊,并采用嵌入式操作系統(tǒng)μC/OS-Ⅱ?qū)θ蝿?wù)進(jìn)行管理和調(diào)度,從而提高了系統(tǒng)的穩(wěn)定性和可靠性。
遠(yuǎn)程視頻監(jiān)控;嵌入式網(wǎng)關(guān);CAN總線;協(xié)議轉(zhuǎn)換
遠(yuǎn)程視頻監(jiān)控系統(tǒng)主要用于完成遠(yuǎn)程現(xiàn)場(chǎng)點(diǎn)的實(shí)時(shí)視頻監(jiān)控以及對(duì)遠(yuǎn)程設(shè)備的控制等功能?;谝蕴W(wǎng)的遠(yuǎn)程視頻監(jiān)控系統(tǒng)是現(xiàn)有計(jì)算機(jī)網(wǎng)絡(luò)與控制網(wǎng)絡(luò)相結(jié)合的產(chǎn)物,它將已廣泛分布的以太網(wǎng)與現(xiàn)場(chǎng)監(jiān)控網(wǎng)絡(luò)無縫互聯(lián),完成監(jiān)視與控制任務(wù),將監(jiān)控范圍擴(kuò)展到更廣的空間。該技術(shù)具有廣泛的應(yīng)用前景和可觀的社會(huì)經(jīng)濟(jì)價(jià)值。
遠(yuǎn)程視頻監(jiān)控系統(tǒng)的功能主要包括視頻的實(shí)時(shí)采集、壓縮以及傳輸。筆者研究并設(shè)計(jì)了一個(gè)遠(yuǎn)程視頻監(jiān)控系統(tǒng),其中嵌入式網(wǎng)關(guān)是開發(fā)的關(guān)鍵。32位ARM微處理器和RISC結(jié)構(gòu)的嵌入式操作系統(tǒng)μC/OS-Ⅱ可以使嵌入式網(wǎng)關(guān)的功能更全面,可靠性更高。
系統(tǒng)總體結(jié)構(gòu)分為3個(gè)部分:現(xiàn)場(chǎng)監(jiān)控前端、嵌入式ARM網(wǎng)關(guān)、遠(yuǎn)程管理終端(網(wǎng)絡(luò)數(shù)據(jù)庫(kù)和其他控制設(shè)備),如圖1所示。
圖1 遠(yuǎn)程監(jiān)測(cè)控制系統(tǒng)互連系統(tǒng)示意圖Fig.1 Structure of electric power remote monitoring system
現(xiàn)場(chǎng)監(jiān)控前端由嵌入式網(wǎng)關(guān)、攝像頭、視頻服務(wù)器、云臺(tái)所組成,主要實(shí)現(xiàn)圖像采集、圖像壓縮和圖像傳輸功能。
視頻采集之后經(jīng)過壓縮處理,送CAN/以太網(wǎng)嵌入式網(wǎng)關(guān)進(jìn)行視頻的接收和遠(yuǎn)程控制,并動(dòng)態(tài)地給視頻壓縮部分反饋信息,使視頻壓縮動(dòng)態(tài)地調(diào)整壓縮,完成視頻數(shù)據(jù)的采集和壓縮處理。CAN總線接口將視頻壓縮處理所得的視頻數(shù)據(jù)的不同部分分配不同的優(yōu)先級(jí)送到CAN總線上,并向視頻壓縮部分返回總線的負(fù)荷信息[1]。
視頻信息的接收采用CAN總線實(shí)現(xiàn),但是傳統(tǒng)的Internet網(wǎng)絡(luò)采用的是TCP/IP協(xié)議,因此實(shí)現(xiàn)異構(gòu)網(wǎng)絡(luò)之間的數(shù)據(jù)通信需要在不同的協(xié)議之間進(jìn)行轉(zhuǎn)換,這一要求通過嵌入式網(wǎng)關(guān)來完成,當(dāng)一個(gè)報(bào)文要求從一個(gè)網(wǎng)段發(fā)送到另一個(gè)網(wǎng)段時(shí),網(wǎng)關(guān)需要完成對(duì)該報(bào)文的接收、翻譯與轉(zhuǎn)發(fā)工作。
監(jiān)控平臺(tái)主要實(shí)現(xiàn)以下功能:
1)對(duì)遠(yuǎn)程視頻流數(shù)據(jù)的接收,視頻解碼以及視頻的現(xiàn)實(shí)的保存;
2)實(shí)現(xiàn)遠(yuǎn)程監(jiān)控前端與服務(wù)端的信息交互,以及對(duì)客戶端的身份確認(rèn)、授權(quán)和其他操作;
3)實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)情況的偵測(cè),及時(shí)反饋網(wǎng)絡(luò)情況,從而動(dòng)態(tài)調(diào)節(jié)數(shù)據(jù)傳輸速度。
考慮到現(xiàn)場(chǎng)總線以及太網(wǎng)的帶寬及實(shí)時(shí)性的要求,必須對(duì)所采集的視頻信號(hào)進(jìn)行壓縮。筆者采用MPEG-4視頻壓縮算法編碼對(duì)視頻進(jìn)行壓縮處理。MPEG-4視頻壓縮算法具有如下特點(diǎn):
1)壓縮速度快,基于內(nèi)容分級(jí)擴(kuò)展和基于內(nèi)容交互擴(kuò)展;
2)數(shù)據(jù)表示可以采用基于內(nèi)容的方式;
3)任意一個(gè)視頻序列都可以看成是一個(gè)或多個(gè)視頻對(duì)象的集合;
4)編碼器根據(jù)實(shí)際情況對(duì)各個(gè)視頻對(duì)象面VOP進(jìn)行編碼,其最大壓縮率可達(dá)到100∶1;
5)MPEG-4應(yīng)用于遠(yuǎn)程傳輸?shù)闹饕獏?shù),圖像標(biāo)準(zhǔn)為358×288像素;幀容量:18~215 Kb/幀;實(shí)時(shí)性:20~6 215 Kb/s,基本上與現(xiàn)有 ADSL帶寬512 Kb~2 Mb相吻合[2]。
基于內(nèi)容的視頻編碼過程如下:1)根據(jù)實(shí)際需求從原始視頻流中分割出VO(視頻對(duì)象);2)針對(duì)不同的VO信息進(jìn)行編碼并分配不同的碼字;3)將各個(gè)不同VO的碼流復(fù)合成一個(gè)標(biāo)準(zhǔn)的MPEG-4的位流。經(jīng)過以上3步即完成了視頻的編碼過程。
在此,嵌入式網(wǎng)關(guān)是設(shè)計(jì)的重點(diǎn),其主要工作是將來自現(xiàn)場(chǎng)網(wǎng)絡(luò)壓縮之后的視頻數(shù)據(jù)封裝以太網(wǎng)幀,從而實(shí)現(xiàn)CAN總線到以太網(wǎng)之間的協(xié)議轉(zhuǎn)換和數(shù)據(jù)轉(zhuǎn)發(fā),采用MCU加接口芯片的方法來實(shí)現(xiàn)嵌入式網(wǎng)關(guān)的設(shè)計(jì),硬件結(jié)構(gòu)框圖如圖2所示。
嵌入式網(wǎng)關(guān)硬件設(shè)計(jì)如圖3所示,采用16/32位ARM微處理器LPC2294,它具有16 KB片內(nèi)靜態(tài)RAM和256 KB片內(nèi)Flash程序存儲(chǔ)器[3-4],可以實(shí)現(xiàn)完整TCP/IP協(xié)議包,并可進(jìn)一步內(nèi)嵌成熟的實(shí)時(shí)多任務(wù)操作系統(tǒng)(如μC/OS-Ⅱ),所以能夠很好地完成與局域網(wǎng)以及Internet的連接。
圖3 嵌入式網(wǎng)關(guān)硬件系統(tǒng)結(jié)構(gòu)圖Fig.3 Structure of embedded gateway system
圖2 硬件結(jié)構(gòu)框圖Fig.2 Hardware block diagram
設(shè)計(jì)的嵌入式網(wǎng)關(guān),其CPU控制部分采用LPC2294微處理器,主要實(shí)現(xiàn)對(duì)CAN接口模塊和Internet模塊的控制,通過協(xié)議轉(zhuǎn)換實(shí)現(xiàn)這2個(gè)異構(gòu)網(wǎng)絡(luò)之間的數(shù)據(jù)傳輸。
LPC2294微處理器主要有以下優(yōu)點(diǎn):
1)內(nèi)部集成了4個(gè)CAN控制器,集成的CAN控制器與獨(dú)立CAN控制器在功能結(jié)構(gòu)上相似,兩者有著相似的寄存器結(jié)構(gòu),區(qū)別在于寄存器訪問由原來的單字節(jié)訪問變?yōu)榱穗p字節(jié)訪問,加快了訪問速度。
2)總線數(shù)據(jù)波特率可達(dá)1 Mb/s,可以訪問32位寄存器;
PCA82C250主要提供CAN協(xié)議控制器和物理總線之間的接口控制,為總線提供差動(dòng)的數(shù)據(jù)發(fā)送和接收功能;RTL8019AS是微處理器與以太網(wǎng)之間的控制接口部件,實(shí)現(xiàn)控制器與以太網(wǎng)之間數(shù)據(jù)的讀寫。
設(shè)計(jì)的嵌入式網(wǎng)關(guān)包括3個(gè)部分:CAN總線設(shè)備接口通信程序、網(wǎng)關(guān)協(xié)議轉(zhuǎn)換程序和以太網(wǎng)層通信程序。
網(wǎng)關(guān)協(xié)議轉(zhuǎn)換的原理框圖如圖4所示,其工作原理為當(dāng)CAN設(shè)備接收來自視頻采集端的數(shù)據(jù)時(shí),將壓縮之后的視頻數(shù)據(jù)發(fā)送到CAN總線,由CAN協(xié)議模塊將視頻數(shù)據(jù)包發(fā)送至數(shù)據(jù)緩沖器B,然后通知總調(diào)度模塊,調(diào)用以太網(wǎng)控制器協(xié)議模塊,并將CAN協(xié)議數(shù)據(jù)包進(jìn)行封裝,然后發(fā)送到以太網(wǎng)的應(yīng)用層。
圖4 嵌入式網(wǎng)關(guān)協(xié)議轉(zhuǎn)換模型Fig.4 Software structure of embedded gateway system
由于CAN協(xié)議數(shù)據(jù)包采用短幀形式,并且此模塊位于網(wǎng)絡(luò)傳輸層;此外,UDP是無連接的傳輸,可以提高網(wǎng)絡(luò)傳輸效率,同時(shí),也減輕網(wǎng)關(guān)的處理任務(wù)[5],因此以太網(wǎng)控制器協(xié)議模塊采用UDP協(xié)議實(shí)現(xiàn);然而,UDP傳輸協(xié)議是不可靠的,對(duì)于控制網(wǎng)絡(luò)來說,是不允許的[6-7]。因此,為了提高通信的可靠性,采用了回傳校驗(yàn)機(jī)制。通過實(shí)驗(yàn)測(cè)試表明這種方式是行之有效的。
具體實(shí)現(xiàn)中,首先使硬件系統(tǒng)工作正常,微控器可以控制網(wǎng)卡芯片的數(shù)據(jù)收發(fā),然后將嵌入式操作系統(tǒng)依照ARM7微控器的結(jié)構(gòu)移植到目標(biāo)板上。在μC/OS-Ⅱ操作系統(tǒng)下編寫ARP,IP,UDP等協(xié)議。在協(xié)議棧中共建立了2個(gè)任務(wù):接收和ICMP/ARP處理任務(wù);UDP處理任務(wù)。兩者通過μC/OS-Ⅱ中提供的信號(hào)量功能實(shí)現(xiàn)任務(wù)之間的切換。圖5為協(xié)議棧系統(tǒng)框圖,其中具體實(shí)現(xiàn)過程,比如內(nèi)存分配參數(shù),數(shù)據(jù)緩沖區(qū)大小的開辟等內(nèi)容要依具體應(yīng)用而定,使系統(tǒng)性能達(dá)到最佳。
系統(tǒng)首次執(zhí)行或復(fù)位時(shí),以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊將首先進(jìn)行NIC,ARP,IP,UDP和應(yīng)用程序的初始化。初始化完成后,即進(jìn)入主循環(huán)。在主循環(huán)中,將反復(fù)檢測(cè)RTL8019AS是否接收以太網(wǎng)幀。當(dāng)有數(shù)據(jù)被接收時(shí),LPC2294讀入以太網(wǎng)幀首部,并判斷接收幀是否為ARP數(shù)據(jù)。若是ARP,則進(jìn)行ARP處理并發(fā)送響應(yīng)ARP數(shù)據(jù)報(bào);若不是ARP,則判斷是否為IP數(shù)據(jù)報(bào)。若非IP數(shù)據(jù)報(bào)則清除該以太網(wǎng)幀;當(dāng)所接收幀包含IP數(shù)據(jù)報(bào)時(shí),則需進(jìn)一步判斷是ICMP數(shù)據(jù)報(bào)還是UDP數(shù)據(jù)報(bào)文。若是ICMP數(shù)據(jù)報(bào)則處理ICMP數(shù)據(jù)報(bào)并重發(fā)IP數(shù)據(jù)報(bào);若數(shù)據(jù)為UDP數(shù)據(jù)報(bào)文,則首先讀入報(bào)文頭,根據(jù)報(bào)文首部數(shù)據(jù)還原出完整的CAN協(xié)議數(shù)據(jù),并將其存入緩沖區(qū)B中。并由總調(diào)度程序控制CAN總線將CAN協(xié)議數(shù)據(jù)報(bào)文發(fā)送至CAN總線。
圖5 嵌入式TCP/IP協(xié)議棧系統(tǒng)框圖Fig.5 Structure of embedded TCP/IP protocol stock
本文系統(tǒng)地論述了基于ARM7微處理器的嵌入式網(wǎng)關(guān)在遠(yuǎn)程視頻監(jiān)控上的應(yīng)用,主要分析了嵌入式網(wǎng)關(guān)的硬件的軟件實(shí)現(xiàn),使管理人員能夠通過Internet采集遠(yuǎn)程視頻數(shù)據(jù),并通過嵌入式網(wǎng)關(guān)將控制信息傳送到現(xiàn)場(chǎng)監(jiān)控設(shè)備上,隨時(shí)對(duì)其進(jìn)行調(diào)整,如控制云臺(tái)動(dòng)作等,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。該系統(tǒng)擁有廣泛的應(yīng)用領(lǐng)域,具有很好的社會(huì)經(jīng)濟(jì)價(jià)值。
[1] 焦 鉻,易小波,李仁發(fā).基于嵌入式Internet的遠(yuǎn)程視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展(Computer Technology and Development),2009,19(5):176-179.
[2] 鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1996.
[3] 陽(yáng)憲惠.現(xiàn)場(chǎng)總線技術(shù)及其應(yīng)用[M].北京:清華大學(xué)出版社,1999.
[4] 李慶恒,沙占友.基于以太網(wǎng)口的電源變換器的設(shè)計(jì)[J].河北科技大學(xué)學(xué)報(bào)(Journal of Hebei University of Science and Technology),2006,27(1):74-77.
[5] 李立冬,劉教民.單目視圖下相機(jī)標(biāo)定和平面測(cè)距研究[J].河北科技大學(xué)學(xué)報(bào)(Journal of Hebei University of Science and Technology),2005,26(1):47-50.
[6] 袁學(xué)文,黃天戍,龐 輝.CAN總線與以太網(wǎng)互連系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用(Journal of Computer Applications),2003(11):26-28.
[7] 魏 武,陳宗郁.嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子工程設(shè)計(jì)(Electronic Design Engineering),2010,18(3):62-64.
Study on embedded gateway for remote video monitoring
MENG Jun-ying,WU Ai-yan,LIN Li-zhong
(Department of Computer,Shijiazhuang College,Shijiazhuang Hebei 050031,China)
An embedded gateway of CAN/Ethernet is designed and used in remote video monitoring.The camera captures video signal which is compressed and exchanged via the CAN/Ethernet embedded gateway to the Ethernet.Its hardware system consists of the LPC2294 ARM MCU which includes four controllers of CAN bus,the RTL8019AS NIC and the transceiver of CAN field bus.The software system includes three parts:protocol transition module,CAN protocol module and Ethernet protocol module.In order to improve the stabilization and dependability of the system,the embedded RTOSμC/OS-Ⅱis adopted.
remote video monitoring;embedded gateway;CAN field bus;protocol transition
TP393
A
1008-1542(2011)05-0488-04
2011-06-02;
2011-09-09;責(zé)任編輯:李 穆
河北省自然科學(xué)基金資助項(xiàng)目(F2005000077)
孟軍英(1974-),男,河北晉州人,博士研究生,主要從事嵌入式系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)方面的研究。