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