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