1 引 言 世界已經進入了Internet時代,嵌入式系統接入Internet已成為網絡接入重要的基礎信息設施。嵌入式的網絡接人設備系統廣泛應用在工業的控制系統中、交通監控系統、銀行證券操作與安全監控、智能儀器、安防系統、智能家電和信息家電等領域,我們將嵌入式設備與視頻的結合稱為嵌入式的視頻接入設備。本文介紹了視頻網絡接入終端的開發方法。 視頻網絡接人終端可將經H.261或MPEGl編碼器壓縮后的視頻信號直接以多播的方式送上局域網(10M/100M以太網)。每臺視頻網絡接人設備都具有獨立的IP地址,可單獨作為視頻服務器向局域網上多播視頻數據,客戶端可通過加入不同的多播組接收來自不同的視頻網絡接人設備的視頻數據。特權用戶可通過網絡控制各視頻網絡接人設備以及其下掛的視頻切換箱、云臺控制器并最終控制云臺的動作。 2 嵌入式視頻網絡接入終端的系統硬件部分 2.1 嵌入式視頻網絡接入終端硬件基本要求 為完成該設計目標,該硬件平臺應具有以下功能特點: (1)處理器處理能力較強、接口豐富。由于TCP/IP的協議將占用大量的系統資源,各種通信協議對計算機的存儲器、運算器的速度要求比較高。 (2)處理器結構應當支持虛擬存儲器,以便于移植操作系統。 (3)必須提供以太網接口,視頻信號輸入接口(該部分可參考現有的圖像卡)以及控制接口。為實現多播,必須有網絡功能強大的操作系統。 (4)必須提供控制接口,可對云臺控制器等設備進行控制。 根據以上要求,處理器選用Motorola的PowerPC823。他內部集成了微處理器和常用外圍組件,提供了更高的性價比。 2.2 MPC823的功能詳述 MPC823微處理器是一個MPC821內核多用途的通用芯片,他內部集成了微處理器和常用外圍組件,可用于各種控制領域。MPC823集成了嵌入式PowerPC核和一個為通信使用的專門的RISC的通信處理器模塊(CPM),由于CPM分擔了嵌入式PowerPC核的外圍工作任務,這種雙處理器體系結構比傳統體系結構的處理器具有更高的效率,硬件原理如圖1所示。 圖1中,視頻接口(Video Interface)完成輸入的E1或422視頻數據流的解幀、串并轉換、緩沖然后送到系統總線上供MPC823讀取。MPC823內集成了符合IEEE802.3標準的通信控制器,外接以太網收發器(Ethernet Transceiver)即可完成以太網全部通信子網層功能。網絡層和傳輸層功能由Linux操作系統來完成。操作系統及應用程序都存儲在FLASH中,并在DRAM中運行。串口(RS232Control Interface)完成同其他設備通信、控制功能。電源(Power Supply)為整個設備供電。經過我們實踐證明,此方案的性能價格比較高,外圍電路簡捷,符合發展潮流SOC(System On Chip)。 3 視頻網絡接入終端軟件部分 3.1 嵌入式視頻網絡接入終端軟件平臺 接人設備軟件包括應用軟件和系統軟件,由于CPU的功能強大,系統資源的極其豐富,十分需要一個功能強大的操作系統來管理系統資源;操作的可靠性提高。 嵌入式Linux由于代碼開放性以及強大的網絡功能,在中低端的嵌入式網絡設備中應用起來。在移植的Linux源代碼,根據目標進行半剪裁定制,以適合目標系統,盡量少占用內存。操作系統定制后,將其連接到目標的應用程序上,成為應用程序的一部分。并對低級系統的初始化文件進行修改,使之符合目標版的需要。 由于視頻網絡接人終端需要采用組播方式傳數據上網,需要一個網絡功能比較強大和完善的操作系統。目前用于嵌入式設備的有許多操作系統,如商業操作系統PSOS,VXWORKS,WINCE等,免費操作系統如Linux,UCOS,ECOS等。商業操作系統固然功能強大,但是同時價格非常昂貴,而且比較復雜;免費操作系統中,UCOS較為簡單,但是他只有一個核心,如要加上網絡功能,還需要另外購買協議棧;ECOS功能比較全,實時性也很好,但是其網絡部分不夠完善,目前還不支持組播;Linux是一個網絡操作系統,穩定而強大,而且源代碼完全公開。 綜上所述,最終選擇了Linux作為我們的嵌入式操作系統。 3.2 嵌入式的視頻網絡接入終端軟件的基本結構 視頻網絡接人終端軟件分為2部分,即應用軟件的編制和系統軟件的編制,包括編寫底層的軟件設備的驅動程序和Linux網絡編程和系統的測試程序。與在PC環境下開發大體類似,因此初期開發工作在PC機上進行模擬,硬件平臺成型之后,我們把程序移植到接人設備上。 4 接入部分的設計 4.1 MPEGl視頻接入部分 MPEGl編碼板提供的是8b的并行數據總線以及寫信號,由于編碼板上接口處理器MCS51和系統的主處理器MPC823都是主動工作方式,不能直接互連,必須經過FIFO來協調,同時,FIFO在這里也起到緩沖視頻數據的作用。采用IDT公司的IDT7204或CYPRESS公司的CY7C433(4k深,9 b并行異步FIFO)。為了隔離視頻、音頻、以及其他外圍電路對總線的影響,還需要用總線緩沖器。考慮到電路的其他部分都用到了TI公司的LX245八位雙向總線收發器,為了節省成本、減少芯片采購種類,這里我們也用該芯片來替代。 這部分電路的工作過程是:編碼板將8b并行的壓縮視頻數據不斷地寫入FIFO,當FIFO達到半滿,產生中斷,通過系統的中斷信號線IRQl傳給主處理器,再由相應的視頻接人驅動程序去讀取。這部分電路不僅能接人MPEGl視頻數據,任何8b寬的數據都可以接人。所以在今后開發其他編碼方式時,只要接口相同,這部分電路和驅動程序不需要做任何改動,保持了向后的兼容性。結構圖如2所示。 4.2 音頻編解碼部分 音頻編解碼采用Motorola公司的MCl45567芯片,該芯片提供雙向模擬音頻接口,能夠根據ITU-T的G.71l描述的算法提供標準的A律PCM音頻編解碼,其音頻速率為64kb/s。考慮到成本和體積,在音頻輸入輸出接口處沒有提供功率放大器。因此,在工程應用中必須在音頻播放端加外置功放。 4.3 音頻數據控制、處理部分 音頻數據控制、處理在CPLD(Altera公司的MAX3064ACTl00-10)中實現,該部分主要有4部分: (1)時鐘部分 將外部輸入的2.048MHz的時鐘信號分出2個64k時隙,其中一個時隙用于音頻輸入,另一個用于音頻輸出。 (2)上行音頻部分 將經MCl45567編碼的串行音頻數據轉換成8b寬的并行數據并寫入音頻上行FIFO。 (3)下行音頻部分 將音頻下行FIFO中的8b寬的并行音頻數據讀入,轉換成串行信號并在相應的時隙內寫入MCl45567。 (4)總線控制部分 提供總線控制信號線的邏輯轉換。 4.4 音頻總線接口部分 音頻總線接口包括音頻上行FIFO、音頻下行FIFO和總線收發器3部分。音頻上下行FIFO采用CYPRESS公司的CY7C421(9 b寬,512 b深異步FIFO)。總線收發器采用TI公司的LX245八位雙向總線收發器。總線接口為中斷觸發的讀寫工作模式。由系統的片選6(CS6)來選中音頻接口,RD/WR控制數據的傳輸方向,OE、WE配合CS6對相應的FIFO進行讀寫。整個工作過程是這樣的:當上行FIFO被CPLD寫至半滿時,產生中斷,通過中斷信號線IRQ2傳給系統,通知驅動程序將數據讀走;當下行FIFO的數據被CPLD讀至半空時,也產生中斷,通過中斷信號線IRQ7傳給系統,通知驅動程序將下一塊音頻數據寫入下行FIFO。 所有以上這些控制信號線的邏輯組合都是在CPLD的總線控制部分完成的。 5 結 語 隨著網絡技術的突飛猛進,32b處理器價格的下降,使用PowerPC823開發具有獨立IP地址的視頻網絡接人終端的研制成為可能。目前,視頻網絡接人終端已在2002年6月應用于南陽市道路交通的監控,經過高溫(60°)、高濕度、雷電的考驗運行穩定良好,具有廣泛的推廣價值。 |