當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于W90N740的MEPG-2數(shù)字視頻編碼機(jī)

摘要:目前MPEG-2 over IP產(chǎn)品因其圖像質(zhì)量高,并采用以太網(wǎng)傳輸技術(shù)而在軌道交通、高速公路監(jiān)控領(lǐng)域中得到廣泛的應(yīng)用。本文介紹了一種基于W90N740微處理器的MPEG-2編碼機(jī),并從硬件和軟件兩個(gè)方面闡述了如何實(shí)現(xiàn)視頻圖像的傳輸和控制。 
關(guān)鍵詞:MPEG-2  W90N740  FPGA  uClinux

    隨著微電子技術(shù)和以太網(wǎng)技術(shù)的發(fā)展,MPEG-2產(chǎn)品正逐步從傳統(tǒng)的模擬傳輸,向采用IP/ATM傳輸發(fā)展。MPEG-2 over IP是采用以太網(wǎng)傳輸技術(shù),將MPEG-2視頻傳輸流(TS流)通過(guò)以太網(wǎng)進(jìn)行傳輸?shù)漠a(chǎn)品。

    如何更好將MPEG-2和以太網(wǎng)傳輸控制實(shí)現(xiàn)有機(jī)地結(jié)合起來(lái),是研究實(shí)現(xiàn)MPEG-2 over IP的重點(diǎn)。本文圍繞著這個(gè)重點(diǎn)而展開(kāi)。

1.系統(tǒng)工作原理
    典型的MPEG-2 over IP結(jié)構(gòu)如下圖1所示。MPEG-2 over IP主要包括MPEG-2編碼模塊和通信控制模塊。MPEG-2編碼模塊實(shí)現(xiàn)對(duì)模擬視音頻的PMEG-2壓縮編碼;通信控制模塊實(shí)現(xiàn)對(duì)MPEG-2編碼模塊的控制、MPEG-2 TS流的采集和在以太網(wǎng)上的傳輸。 

2.編碼機(jī)系統(tǒng)的實(shí)現(xiàn)
    根據(jù)典型的MPEG-2 over IP產(chǎn)品結(jié)構(gòu),將編碼機(jī)硬件體系設(shè)計(jì)分為MPEG-2編碼模塊和通信控制模塊兩個(gè)部分。

2.1.MPEG-2編碼模塊
2.1.1.MPEG-2編碼模塊的構(gòu)成
    MPEG-2編碼模塊采用日本富士通公司的MPEG-2編碼處理芯片MB86391、SAA7114視頻處理芯片、SC5340音頻處理芯片和Atmel公司的AVR 8位微處理器Atmega16等構(gòu)成。其原理圖如下圖2所示。


2.1.2.MB86391介紹
    MB86391的內(nèi)部框圖如圖3所示。它是在單一芯片中集合了音頻/視頻編碼。編碼使用富士通開(kāi)發(fā)的高性能MPEG-2壓縮運(yùn)算法則。集合了內(nèi)部DPSRClite CPU處理的硬件和軟件。

    支持ISO/IEC 11172(MPEG-1)、ISO/IEC 13818(MPEG-2) 標(biāo)準(zhǔn)和MPEG-1音頻層-1/2編碼功能( ISO/IEC11172-3)。

    支持NTSC和PAL制式的視頻格式。視頻編碼最大輸出碼率可達(dá)20Mbps。視頻輸入接口采用8位并行接口,音頻采用串行接口。支持并行或者串行的主機(jī)接口。在串行主機(jī)接口模式下,其配置和執(zhí)行MPEG-2算法的firmware(固件)可通過(guò)串行主機(jī)接口下載。

2.1.3.MPEG-2編碼模塊的工作原理
    模擬視頻和音頻通過(guò)SAA7114視頻處理芯片、SC5340音頻處理芯片進(jìn)行模數(shù)轉(zhuǎn)換和處理,輸出給MPEG-2編碼芯片MB86391,MB86391芯片按MPEG-2視頻格式將數(shù)字視音頻作壓縮編碼處理,最后從MB86391的流輸出接口輸出。

    ATMEL公司的AVR 8位處理器ATmega16為編碼模塊的CPU,它通過(guò)串行總線來(lái)控制MB86391和為其下載firmware(MB86391的微碼,用于執(zhí)行編碼算法等);ATmega16通過(guò)I2C總線與SAA7114和SC5340相連接,完成對(duì)前端視音頻的控制調(diào)節(jié)。

    同時(shí)ATmega16也肩負(fù)著MPEG-2編碼模塊與通信控制模塊的通信控制任務(wù),它通過(guò)SPI總線與通信控制模塊連接。

    ATmega16在編碼模塊中主要為通信控制模塊和MB86391、SAA7114以及SC5340提供通信控制的橋梁。

2.2.通信控制模塊
    通信控制模塊是MPEG-2編碼機(jī)功能的核心。它主要實(shí)現(xiàn)對(duì)MPEG-2編碼模塊的控制和傳輸MPEG-2視頻數(shù)據(jù)流到以太網(wǎng)上的功能。通信控制模塊由Winbond公司的32位ARMTDMI核的微處理器W90N740、Lattice公司的FPGA  LFXP3C-5T組成。其原理圖如圖4所示。

                圖4:通信控制模塊框圖

2.2.1.W90N740的特點(diǎn)
    W90N740是臺(tái)灣華邦電子公司的一款基于ARM7TDMI核的32位微處理器,內(nèi)部功能框圖如圖5所示。

    該處理主要針對(duì)路由器網(wǎng)絡(luò)產(chǎn)品而設(shè)計(jì),采用ARM7TDMI核,最高工作頻率可達(dá)80MHz。提供2個(gè)10/100M的以太MAC(媒體訪問(wèn)控制器)、EBI(外部總線接口)總線、4個(gè)獨(dú)立可編程的外部中斷源、2個(gè)24位的定時(shí)計(jì)數(shù)器和一個(gè)24位的看門狗定時(shí)器,以及21個(gè)可編程通用I/O和一個(gè)UART接口。

    內(nèi)置的兩個(gè)以太網(wǎng)MAC控制器,每個(gè)MAC都有支持IEEE802.3以太網(wǎng)協(xié)以引擎和含有DMA控制器和收/發(fā)FIFO,支持媒質(zhì)獨(dú)立接口MII(Media Inde-pendent Interface)精簡(jiǎn)媒質(zhì)獨(dú)立接口RMII(Reduced MII)。以太網(wǎng)MAC也支持長(zhǎng)幀(長(zhǎng)度大于1518字節(jié))和短幀(長(zhǎng)度小于64字節(jié))兩種幀結(jié)構(gòu)。

    EBI控制器支持訪問(wèn)片外SDRAM、RAM/SRAM、ROM/FLASH和I/O設(shè)備。提供支持達(dá)32M字節(jié)的ROM空間、2個(gè)最大為32M字節(jié)的SDRAM和4個(gè)32M的I/O設(shè)備空間。

    4個(gè)可編程的外部中斷源,可獨(dú)立配置電平觸發(fā)或者邊沿觸發(fā)方式。

    W90N740的特點(diǎn)非常適合于在MPEG-2 over IP產(chǎn)品中擔(dān)當(dāng)通信控制模塊的處理器。

2.2.2.MPEG-2編碼模塊的通信/控制
    MPEG-2編碼模塊和通信控制模塊的通信/控制設(shè)計(jì)為SPI接口。MPEG-2編碼模塊為從SPI,通信控制模塊為主SPI。W90N740本身沒(méi)有SPI總線接口。設(shè)計(jì)時(shí),采用W90N740的通用I/O來(lái)模擬一個(gè)SPI的主控制器。

    同時(shí),為了保證MPEG-2編碼模塊和通信控制模塊的同步,通行控制模塊為編碼模塊提供一個(gè)由W90N740的通用I/O控制的復(fù)位引腳,在通信控制模塊復(fù)位的情況下,讓編碼模塊也能復(fù)位。

2.2.3.TS流的采集
    在編碼機(jī)系統(tǒng)中,TS流的采集是一個(gè)重點(diǎn)。設(shè)計(jì)時(shí)使用FPGA設(shè)計(jì)異步FIFO將MB86391的輸出數(shù)據(jù)流和W90N740的EBI總線連接起來(lái),實(shí)現(xiàn)TS流的采集。
其FPGA中的TS流采集部分如圖6所示。

    圖6的左端是異步FIOF的輸入控制部分。它與MPEG-2編碼模塊的MB86391的圖像數(shù)據(jù)流接口相連。MB86391工作在27M同步并行模式。其輸出壓縮編碼數(shù)據(jù)流的時(shí)序如圖7所示:BCLK為同步數(shù)據(jù)時(shí)鐘,頻率是圖像數(shù)據(jù)流的碼率的1/8;STEN是圖像數(shù)據(jù)流數(shù)據(jù)有效指示;TSPSSUNC是圖像數(shù)據(jù)流同步指示,當(dāng)一個(gè)TS流包(188字節(jié))的第一個(gè)字節(jié)是0x47時(shí),它為高電平;STDATA是圖像數(shù)據(jù)流的數(shù)據(jù)。它們分別與圖6的TS clk、TS vaild、TS sync、TS D[7..0]相連,8位并行的TS流進(jìn)過(guò)“8bit to 32bit”部分轉(zhuǎn)換輸入到32位寬度的異步FIFO進(jìn)行緩存。

    圖6的右端是通信控制模塊獲取TS流的部分,它占用W90N740的EBI I/O設(shè)備接口bank0資源。EBI I/O設(shè)備接口bank0配置在32位寬度,以提高W90N740的采集數(shù)據(jù)的能力。當(dāng)FIFO中的數(shù)據(jù)緩存到設(shè)定的臨界值后,F(xiàn)IFO的flag信號(hào)將變?yōu)楦唠娖健Mㄟ^(guò)FIFO的flag信號(hào)產(chǎn)生送給W90N740的中斷申請(qǐng)nIRQ0,通知W90N740圖像數(shù)據(jù)準(zhǔn)備好了。

    W90N740的EBI I/O總線時(shí)序如圖8所示。利用W90N740的系統(tǒng)時(shí)鐘MCLK作為異步FIFO的讀時(shí)鐘rd clk;通過(guò)片選信號(hào)nECS0和讀選通信號(hào)nOE來(lái)產(chǎn)生異步FIFO的讀允許rd en。

    同時(shí),圖6中“控制部分”除了根據(jù)W90N740的EBI I/O設(shè)備時(shí)序產(chǎn)生FIFO的讀時(shí)序外,它還用W90N740的EBI I/O設(shè)備接口和TS vaild信號(hào)來(lái)產(chǎn)生FIFO的復(fù)位,reset信號(hào)。 

    采用異步FIFO采集MPEG-2 TS流的設(shè)計(jì),降低了圖像數(shù)據(jù)采集占用CPU的時(shí)間。為提高整個(gè)編碼機(jī)的性新能起到非常大的作用。

2.3.編碼機(jī)的軟件結(jié)構(gòu)
2.3.1.存儲(chǔ)器分配
    大多數(shù)的嵌入式系統(tǒng),采用Flash或者ROM等存儲(chǔ)器來(lái)存儲(chǔ)系統(tǒng)的軟件,為了提高系統(tǒng)的運(yùn)行速度,一般將程序軟件放入SDRAM、SRAM或者RAM等快速存儲(chǔ)器中運(yùn)行。

    在我們?cè)O(shè)計(jì)編碼機(jī)的也采用上面的方式來(lái)存儲(chǔ)和運(yùn)行程序代碼。為了降低對(duì)ROM存儲(chǔ)器的容量要求,將程序代碼采用壓縮方式都放置在16Mbit的FLAS中。其分配使用如表1所示。

2.3.2.軟件設(shè)計(jì)
    Linux操作系統(tǒng)是源代碼開(kāi)放的多任務(wù)操作系統(tǒng),它具有完善的TCP/IP協(xié)議棧,支持多任務(wù),成為軟件設(shè)計(jì)的主選對(duì)象。

    uClinux是針對(duì)沒(méi)有MMU(內(nèi)存管理單元)的微處理器而設(shè)計(jì)的Linux操作系統(tǒng)。它繼承了Linux的絕大多功能,支持進(jìn)程、線程,TCP/IP協(xié)議棧功能強(qiáng)大。因此,軟件設(shè)計(jì)選用uClinux操作系統(tǒng)。

    在uClinux操作系統(tǒng)下,將軟件分為驅(qū)動(dòng)和上層應(yīng)用兩個(gè)部分來(lái)設(shè)計(jì)。驅(qū)動(dòng)負(fù)責(zé)提供上層應(yīng)用程序訪問(wèn)底層硬件的接口。應(yīng)用軟件完成編碼機(jī)的功能。

    在uClinux中進(jìn)程和線程都是并行運(yùn)行的,設(shè)計(jì)時(shí)軟件按功能劃分為模塊,設(shè)計(jì)為進(jìn)城或者線程。考慮到進(jìn)程占用內(nèi)存資源漸多,而線程占用內(nèi)存資源少,因此、系統(tǒng)軟件結(jié)構(gòu)如圖9所示應(yīng)用軟件采用進(jìn)程和線程來(lái)設(shè)計(jì)。應(yīng)用軟件功能模塊如圖9所示。

                  圖9:編碼機(jī)軟件結(jié)構(gòu)   

    劃分進(jìn)程和線程是軟件設(shè)計(jì)的一個(gè)關(guān)鍵。分析Linux進(jìn)程和線程的特點(diǎn),結(jié)合編碼機(jī)需要用軟件實(shí)現(xiàn)的功能,將初始化工作(如MPEG-2編碼模塊的初始化、以太網(wǎng)參數(shù)初始化)、條件工作功能(如編碼機(jī)參數(shù)配置、遠(yuǎn)程升級(jí))設(shè)計(jì)為輔助進(jìn)程,這些進(jìn)程的運(yùn)行的時(shí)間短,只有在系統(tǒng)復(fù)位初始化或者條件控制下才運(yùn)行,并且會(huì)退出運(yùn)行。

    主進(jìn)程將是一個(gè)永遠(yuǎn)運(yùn)行的進(jìn)程,在這個(gè)進(jìn)程中將實(shí)現(xiàn)編碼的主要功能,如圖像數(shù)據(jù)流在網(wǎng)絡(luò)的傳輸、遠(yuǎn)程控制、用于與其它設(shè)備通信的RS-485/RS-232低速數(shù)據(jù)傳輸、編碼機(jī)的狀態(tài)監(jiān)測(cè)等。這些功能之間相互有著聯(lián)系,如遠(yuǎn)程控制可以查詢編碼機(jī)的狀態(tài),而編碼機(jī)的狀態(tài)隨時(shí)由編碼機(jī)的監(jiān)測(cè)更新。因此,將這些功能用線程來(lái)實(shí)現(xiàn),在主進(jìn)程中用全局變量來(lái)實(shí)現(xiàn)各個(gè)功能之間的聯(lián)系。

    編碼機(jī)的核心功能——TS流傳輸線程和遠(yuǎn)程控制命令處理線程的流程如下圖10所示。

                       圖10:部分線程流程
結(jié)  語(yǔ)
    通過(guò)實(shí)際設(shè)計(jì)表明,在MPEG-2 over IP編碼機(jī)設(shè)計(jì)中,采用W90N740作為CPU和uClinux操作系統(tǒng),使得設(shè)計(jì)簡(jiǎn)單,靈活,已于維護(hù)。實(shí)際效果明顯,能實(shí)時(shí)傳輸10路4M碼率的MPEG-2圖像給不同的目的IP。

參考文獻(xiàn)
1.    Winbond electronics Corp.  W90N740CD/W90N740CDG data sheet.
2.    日本富士通.  MPEG2 1chip Audio/Video Encoder MB86391 Product Specification.
3.    馬忠梅、徐英慧.  ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ)(第2版).   北京航空航天大學(xué)出版社.
4.    余兆明、李曉飛.  MPEG標(biāo)準(zhǔn)及其應(yīng)用.  北京郵電大學(xué)出版社.
5.    張輝.  GNU/Linux編程指南(第二版).  清華大學(xué)出版社.
6.    詹俊鵠、于衛(wèi)譯.  實(shí)戰(zhàn)Linux Socket 編程.  西安電子科技大學(xué)出版社








 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉