1 引 言
隨著數(shù)字技術(shù)和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,嵌入式系統(tǒng)進(jìn)入了一個(gè)新的發(fā)展時(shí)期。32位高性能專用微處理器的出現(xiàn),使嵌入式系統(tǒng)已經(jīng)能夠適應(yīng)十分復(fù)雜的控制需求,進(jìn)行多任務(wù),尤其是嵌入式視頻的處理,大大擴(kuò)展了嵌入式系統(tǒng)的應(yīng)用范疇,正成為我國教育現(xiàn)代化對數(shù)字化、網(wǎng)絡(luò)化的教學(xué)設(shè)備進(jìn)入全新的發(fā)展時(shí)期的強(qiáng)大技術(shù)支撐。32位高性能專用微處理器需要嵌入式操作系統(tǒng),而μClinux操作系統(tǒng)是針對32位微處理器設(shè)計(jì)的嵌入式Linux操作系統(tǒng)。
μClinux是控制領(lǐng)域的嵌入式操作系統(tǒng),其內(nèi)核功能結(jié)構(gòu)與Linux基本相同,且可移植和裁剪;用戶通過重新配置、編譯內(nèi)核,可方便移植到多種處理器平臺(tái)上。
本文主要介紹基于嵌入式視頻的多媒體集控系統(tǒng)基本技術(shù)構(gòu)架和相關(guān)的關(guān)鍵技術(shù),即嵌入式μCLinux操作系統(tǒng)的裁剪和移植和基于μCLinux的嵌入式系統(tǒng)的實(shí)時(shí)性解決方法以及集中控制系統(tǒng)的安全性設(shè)計(jì)等關(guān)鍵技術(shù)。
通過關(guān)鍵技術(shù)的設(shè)計(jì)與部署,實(shí)現(xiàn)了適合于局域網(wǎng)和廣域網(wǎng)環(huán)境下對遠(yuǎn)程多媒體教學(xué)設(shè)備和屏幕、窗簾、燈光、空調(diào)和門禁等環(huán)境設(shè)備進(jìn)行集中控制與管理。不僅適用于多媒體教室更高層次的遠(yuǎn)程集中控制、管理、監(jiān)測與維護(hù),而且也適用于無人值守的和環(huán)境險(xiǎn)惡等環(huán)境的遠(yuǎn)程控制與管理。
[b]2 基于嵌入式視頻的多媒體集控系統(tǒng)實(shí)現(xiàn)的體系結(jié)構(gòu)
[/b]
基于嵌入式視頻的多媒體集控系統(tǒng)以高性能32位微處理器為硬件核心,嵌入式軟件運(yùn)行于μClinux操作系統(tǒng)上,其系統(tǒng)主要分為控制臺(tái)軟硬件系統(tǒng)和多媒體教室終端設(shè)備2部分,組成遠(yuǎn)程交互平臺(tái)。
兩部分之間控制信號(hào)、狀態(tài)信息、數(shù)據(jù)等交互信息均通過嵌入式控制器硬件提供的多種網(wǎng)絡(luò)接口和TCP/IP協(xié)議,實(shí)現(xiàn)與局域網(wǎng)或廣域網(wǎng)的連接,使控制臺(tái)軟硬件系統(tǒng)和多媒體教室終端設(shè)備通過網(wǎng)絡(luò),實(shí)現(xiàn)遠(yuǎn)程控制和管理。基于嵌入式視頻的多媒體集控系統(tǒng)體系結(jié)構(gòu)如圖1所示。
[b]3 基于嵌入式視頻的多媒體集控系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)
3.1 選擇32位嵌入式微處理器MCF5249模塊單元為硬件平臺(tái)
[/b]
通過8/16/32位單片機(jī)性能對比測試,只有32位高性能單片機(jī)具備更高的反應(yīng)速度、更強(qiáng)的數(shù)據(jù)處理、邏輯運(yùn)算和數(shù)據(jù)存儲(chǔ)能力;不僅可用于工業(yè)數(shù)據(jù)采集、流程控制、遠(yuǎn)程監(jiān)控等應(yīng)用領(lǐng)域,而且還特別適合于嵌入式視頻的大數(shù)據(jù)量處理與控制的數(shù)字化多媒體教學(xué)設(shè)備的開發(fā)應(yīng)用。
選擇Freescale公司的MCF5249 32位嵌入式微處理器模塊單元作為多媒體集控系統(tǒng)終端數(shù)據(jù)處理和功能控制的硬件平臺(tái)。
MCF5249模塊單元主要由32位處理器MCF5249和若于外圍器件AM29LV160DB90快閃存儲(chǔ)器、K4S281632SDRAM、SP3223串行通訊電路、DM9000網(wǎng)絡(luò)接口芯片、MT8816音視頻矩陣電路等硬件構(gòu)成。其主要性能如下表1所示。
[b]3.2 嵌入式μCLinux操作系統(tǒng)的裁剪和移植
[/b]
嵌入式μCLinux是專為沒有MMU內(nèi)存管理單元的微處理器芯片而裁剪的小型化操作系統(tǒng),嵌入式μCLinux針對沒有MMU的處理器采用了實(shí)存儲(chǔ)器管理策略。因此,嵌入式μCLinux操作系統(tǒng)不僅保持了穩(wěn)定、強(qiáng)大的網(wǎng)絡(luò)和文件系統(tǒng)支持等傳統(tǒng)Linux的主要性能,而且還具有自身的特點(diǎn),使μCLinux成為真正意義上的嵌入式操作系統(tǒng)。
針對32位微處理器MCF5249的性能特點(diǎn),結(jié)合基于嵌入式視頻的多媒體集控系統(tǒng)對操作系統(tǒng)功能的應(yīng)用需求,需要對μCLinux的微內(nèi)核、內(nèi)存管理、進(jìn)程管理、事務(wù)管理、初始化、硬件驅(qū)動(dòng)、文件系統(tǒng)和TCP/IP協(xié)議棧等模塊進(jìn)行剪裁和移植。
在編譯μCLinux微內(nèi)核之前,首先需要通過建立菜單配置來配置微內(nèi)核。從條件編譯的角度,就是在內(nèi)核上選擇所需的模塊,去掉不必要的模塊不參與編譯,從而可以控制內(nèi)核大小在一定的范圍內(nèi),以適合嵌入式μCLinux應(yīng)用需求,利用Linux開放等特點(diǎn)降低對系統(tǒng)硬件成本和減少對資源的需求;然后還需要進(jìn)一步對內(nèi)核中的代碼進(jìn)行裁減,通過修改源代碼來滿足裁減的要求。
采用μCLinux的內(nèi)核有2種可選的運(yùn)行方式:可以在FLASH上直接運(yùn)行,也可以加載到內(nèi)存中運(yùn)行。其中FLASH運(yùn)行方式是把內(nèi)核的可執(zhí)行映像燒寫到FLASH上,系統(tǒng)啟動(dòng)時(shí)從FLASH的某個(gè)地址開始逐句執(zhí)行;內(nèi)核加載方式則是把內(nèi)核的壓縮文件存放在FLASH上,系統(tǒng)啟動(dòng)時(shí)讀取壓縮文件在內(nèi)存里解壓,然后開始執(zhí)行。選擇采用后一種相對復(fù)雜,但壓縮后的程序文件較小,對FLASH的空間要求低,并且程序運(yùn)行速度更快可以很好地滿足對高實(shí)時(shí)性要求的方式。一般地,RAM的存取速率要比FLASH高。
在系統(tǒng)啟動(dòng)后,最先調(diào)用的是針對32位微處理器MCF5249的特定的arch文件夾內(nèi)mmcontr.S文件。最后跳到main.c中的start_kernel()。μClinux/Linux-2.4.X/init/main.c中包含了對Linux系統(tǒng)初始化的代碼。其中stan_kernel()包含主要的初始化代碼。
3.3 嵌入式μCLinux操作系統(tǒng)實(shí)時(shí)性解決措施
由于μClinux主要針對MCF5249等微處理器在沒有內(nèi)存管理單元(MMU)而設(shè)計(jì)的,并不是為了Linux的實(shí)時(shí)性而提出的,因此μClinux本身并不能解決基于嵌入式視頻的多媒體集控系統(tǒng)對實(shí)時(shí)性的要求。為此,μClinux需要使用Rt-Linux的patch來增強(qiáng)μClinux的實(shí)時(shí)性要求,從而解決μClinux在對應(yīng)用于一些實(shí)時(shí)要求較高的,諸如工業(yè)控制、進(jìn)程控制等應(yīng)用領(lǐng)域的需求。
Rt-Linux是有別于μClinux另一種嵌入式Linux版本,其突出特色在于內(nèi)核的處理上增強(qiáng)了對于實(shí)時(shí)問題的關(guān)注。Rt-Linux執(zhí)行管理器把普通Linux的內(nèi)核當(dāng)成一個(gè)任務(wù)運(yùn)行,同時(shí)還管理了實(shí)時(shí)進(jìn)程。而非實(shí)時(shí)進(jìn)程則交給普通Linux內(nèi)核處理。這種方法已經(jīng)應(yīng)用于很多的操作系統(tǒng)來增強(qiáng)操作系統(tǒng)的實(shí)時(shí)性,包括一些商用版Unix系統(tǒng)、Windows NT等。這種方法優(yōu)點(diǎn)首先是實(shí)現(xiàn)簡單,且實(shí)時(shí)性能容易檢驗(yàn);其次是非實(shí)時(shí)進(jìn)程運(yùn)行于標(biāo)準(zhǔn)Linux系統(tǒng),同其他Linux版本之間保持著很大的兼容性;再有就是可以支持硬實(shí)時(shí)時(shí)鐘的應(yīng)用。
嵌入式視頻的多媒體集控系統(tǒng)對紅外接收等功能在實(shí)時(shí)性方面要求很高,否則直接影響多媒體設(shè)備的使用效果。選擇Rt-Linux的patch作為增強(qiáng)μClinux的實(shí)時(shí)性要求,并且以后臺(tái)任務(wù)方式運(yùn)行紅外接收中斷處理調(diào)度策略,從而增強(qiáng)了μClinux的實(shí)時(shí)性,滿足紅外接收等系統(tǒng)任務(wù)對實(shí)時(shí)性的嚴(yán)格要求。
3.4 OCX控件標(biāo)準(zhǔn)的控件封裝技術(shù)
OCX是基于嵌入式視頻的多媒體集控系統(tǒng)的網(wǎng)絡(luò)控制軟件;其視頻顯示模塊采用專用控件封裝技術(shù)解決了嵌入式數(shù)字視頻數(shù)據(jù)在跨網(wǎng)段、跨平臺(tái)上數(shù)據(jù)流傳輸,實(shí)現(xiàn)全數(shù)字網(wǎng)絡(luò)圖像的跨平臺(tái)無縫集成。
為了保證配置的靈活性,嵌入式視頻技術(shù)針對各廠家的網(wǎng)絡(luò)數(shù)字?jǐn)z像頭的接口屬性,采用開放的設(shè)計(jì)風(fēng)格,無論各生產(chǎn)廠家的算法接口采用何種開發(fā)平臺(tái),即VB,VC,Delphi等,均采用Windows平臺(tái)下OCX控件標(biāo)準(zhǔn)的控件封裝技術(shù)。專用控件封裝技術(shù)使多媒體集控系統(tǒng)網(wǎng)絡(luò)控制軟件的視頻顯示模塊整體上去掉不必要的冗余程序,結(jié)構(gòu)簡單緊湊;嵌入式視頻采集硬件提供了多種網(wǎng)絡(luò)接口,并使用TCP/IP協(xié)議,可實(shí)現(xiàn)同局域網(wǎng)、廣域網(wǎng)的連接,使用戶無論身處何地都能通過網(wǎng)絡(luò)連線,實(shí)現(xiàn)對被監(jiān)控區(qū)域的監(jiān)控。實(shí)驗(yàn)結(jié)果表明:這種專用控件封裝技術(shù)有效地解決了跨網(wǎng)段、跨網(wǎng)絡(luò)平臺(tái)下的全數(shù)字嵌人式視頻圖像的傳輸與管理。需要說明的是,嵌入式視頻的圖像采集硬件采用數(shù)字式數(shù)碼網(wǎng)絡(luò)攝像頭,通過圖像采集卡進(jìn)行A/D轉(zhuǎn)換,采用不同的圖像分辨率可針對不同的網(wǎng)絡(luò)環(huán)境滿足網(wǎng)絡(luò)傳輸?shù)默F(xiàn)實(shí)需要。
3.5 系統(tǒng)鏈路可靠性與數(shù)據(jù)傳輸安全性技術(shù)方案
由于嵌入式視頻的多媒體集控系統(tǒng)使用范圍具有相當(dāng)程度的封閉性,所以系統(tǒng)平臺(tái)的中、下層使用開放性的TCP/IP協(xié)議,在應(yīng)用層則使用私有協(xié)議,對傳輸數(shù)據(jù)進(jìn)行適度的加密處理。
系統(tǒng)傳輸鏈路可靠性設(shè)計(jì)方面,考慮通信數(shù)據(jù)與嵌入式視頻的多媒體集中控制系統(tǒng)的處理能力以及TCP連接建立的額外開銷,網(wǎng)絡(luò)傳輸層采用UDP協(xié)議封裝上層的應(yīng)用數(shù)據(jù)。而UDP協(xié)議的非連接和不可靠性,則由應(yīng)用層協(xié)議保證數(shù)據(jù)傳輸?shù)恼_性與可靠性。在應(yīng)用協(xié)議設(shè)計(jì)中,采用發(fā)出請求幀與3 s內(nèi)接收應(yīng)答幀判斷是否傳輸超時(shí)或者出錯(cuò)。若超過3次請求而未收到應(yīng)答則判斷系統(tǒng)故障,終止該次請求操作。另外,嵌入式視頻的多媒體集控系統(tǒng)還進(jìn)行間隔10 s的主動(dòng)式在線檢測,并將檢測數(shù)據(jù)分別向終端面板和控制臺(tái)發(fā)送顯示。
傳輸數(shù)據(jù)的安全性設(shè)計(jì)方面,采用加強(qiáng)網(wǎng)絡(luò)訪問控制和采用可靠的協(xié)議進(jìn)行加密,對于協(xié)議數(shù)據(jù)被竊聽分析的風(fēng)險(xiǎn),定義私有應(yīng)用層交互協(xié)議和對數(shù)據(jù)包加密傳輸。在應(yīng)用層交互協(xié)議設(shè)計(jì)中定義了數(shù)據(jù)包類型、控制編碼、數(shù)據(jù)編碼、數(shù)據(jù)定義等數(shù)據(jù)結(jié)構(gòu)。在網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)采用移位加密算法進(jìn)行加密。
數(shù)據(jù)包重放攻擊是在數(shù)據(jù)竊聽基礎(chǔ)上的一種攻擊行為。為了防止數(shù)據(jù)包重放攻擊,在設(shè)計(jì)中采用在嵌入式視頻的多媒體集控系統(tǒng)端口設(shè)置3個(gè)可信IP地址,只接收可信IP地址的指令操作。對于其他的IP只能查詢集中控制器的運(yùn)行狀態(tài),不能控制操作,這樣有效地防止了非法用戶仿照獲取的數(shù)據(jù)包來控制操作集控系統(tǒng)。
4 結(jié) 語
嵌入式視頻多媒體集控系統(tǒng)采用32位嵌入式微處理器MCF5249模塊單元為硬件平臺(tái)、嵌入式μCLinux操作系統(tǒng)的裁剪和移植、嵌入式μCLinux操作系統(tǒng)實(shí)時(shí)性解決措施和OCX控件標(biāo)準(zhǔn)的控件封裝技術(shù)以及系統(tǒng)鏈路可靠性與數(shù)據(jù)傳輸安全性設(shè)計(jì)方法等系列關(guān)鍵技術(shù),是一種運(yùn)用32位MCF5249微處理器+μClinux在嵌入式系統(tǒng)中的典型應(yīng)用。
毋容置疑,MCF5249+μClinux系統(tǒng)平臺(tái)以其移植性好和性價(jià)比高在數(shù)字化多媒體教學(xué)設(shè)備研制與開發(fā)中將會(huì)得到進(jìn)一步應(yīng)用。