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