a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 基于W90N740的MEPG-2數字視頻編碼機

基于W90N740的MEPG-2數字視頻編碼機

作者: 時間:2007-11-22 來源:網絡 收藏

摘要:目前MPEG-2overIP產品因其圖像質量高,并采用以太網傳輸技術而在軌道交通、高速公路監控領域中得到廣泛的應用。本文介紹了一種微處理器的MPEG-2機,并從硬件和軟件兩個方面闡述了如何實現圖像的傳輸和控制。
關鍵詞:MPEG-2FPGAuClinux

隨著微電子技術和以太網技術的發展,MPEG-2產品正逐步從傳統的模擬傳輸,向采用IP/ATM傳輸發展。MPEG-2overIP是采用以太網傳輸技術,將MPEG-2傳輸流(TS流)通過以太網進行傳輸的產品。

如何更好將MPEG-2和以太網傳輸控制實現有機地結合起來,是研究實現MPEG-2overIP的重點。本文圍繞著這個重點而展開。

1.系統工作原理
典型的MPEG-2overIP結構如下圖1所示。MPEG-2overIP主要包括MPEG-2模塊和通信控制模塊。MPEG-2模塊實現對模擬視音頻的PMEG-2壓縮編碼;通信控制模塊實現對MPEG-2編碼模塊的控制、MPEG-2TS流的采集和在以太網上的傳輸。

2.編碼機系統的實現
根據典型的MPEG-2overIP產品結構,將編碼機硬件體系設計分為MPEG-2編碼模塊和通信控制模塊兩個部分。

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


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

支持ISO/IEC11172(MPEG-1)、ISO/IEC13818(MPEG-2)標準和MPEG-1音頻層-1/2編碼功能(ISO/IEC11172-3)。

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

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

ATMEL公司的AVR8位處理器ATmega16為編碼模塊的CPU,它通過串行總線來控制MB86391和為其下載firmware(MB86391的微碼,用于執行編碼算法等);ATmega16通過I2C總線與SAA7114和SC5340相連接,完成對前端視音頻的控制調節。

同時ATmega16也肩負著MPEG-2編碼模塊與通信控制模塊的通信控制任務,它通過SPI總線與通信控制模塊連接。

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

2.2.通信控制模塊
通信控制模塊是MPEG-2編碼機功能的核心。它主要實現對MPEG-2編碼模塊的控制和傳輸MPEG-2視頻數據流到以太網上的功能。通信控制模塊由Winbond公司的32位ARMTDMI核的微處理器、Lattice公司的FPGALFXP3C-5T組成。其原理圖如圖4所示。

圖4:通信控制模塊框圖

2.2.1.W90N740的特點
W90N740是臺灣華邦電子公司的一款ARM7TDMI核的32位微處理器,內部功能框圖如圖5所示。

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

內置的兩個以太網MAC控制器,每個MAC都有支持IEEE802.3以太網協以引擎和含有DMA控制器和收/發FIFO,支持媒質獨立接口MII(MediaInde-pendentInterface)精簡媒質獨立接口RMII(ReducedMII)。以太網MAC也支持長幀(長度大于1518字節)和短幀(長度小于64字節)兩種幀結構。

EBI控制器支持訪問片外SDRAM、RAM/SRAM、ROM/FLASH和I/O設備。提供支持達32M字節的ROM空間、2個最大為32M字節的SDRAM和4個32M的I/O設備空間。

4個可編程的外部中斷源,可獨立配置電平觸發或者邊沿觸發方式。

W90N740的特點非常適合于在MPEG-2overIP產品中擔當通信控制模塊的處理器。

2.2.2.MPEG-2編碼模塊的通信/控制
MPEG-2編碼模塊和通信控制模塊的通信/控制設計為SPI接口。MPEG-2編碼模塊為從SPI,通信控制模塊為主SPI。W90N740本身沒有SPI總線接口。設計時,采用W90N740的通用I/O來模擬一個SPI的主控制器。

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

2.2.3.TS流的采集
在編碼機系統中,TS流的采集是一個重點。設計時使用FPGA設計異步FIFO將MB86391的輸出數據流和W90N740的EBI總線連接起來,實現TS流的采集。
其FPGA中的TS流采集部分如圖6所示。

圖6的左端是異步FIOF的輸入控制部分。它與MPEG-2編碼模塊的MB86391的圖像數據流接口相連。MB86391工作在27M同步并行模式。其輸出壓縮編碼數據流的時序如圖7所示:BCLK為同步數據時鐘,頻率是圖像數據流的碼率的1/8;STEN是圖像數據流數據有效指示;TSPSSUNC是圖像數據流同步指示,當一個TS流包(188字節)的第一個字節是0x47時,它為高電平;STDATA是圖像數據流的數據。它們分別與圖6的TSclk、TSvaild、TSsync、TSD[7..0]相連,8位并行的TS流進過“8bitto32bit”部分轉換輸入到32位寬度的異步FIFO進行緩存。

圖6的右端是通信控制模塊獲取TS流的部分,它占用W90N740的EBII/O設備接口bank0資源。EBII/O設備接口bank0配置在32位寬度,以提高W90N740的采集數據的能力。當FIFO中的數據緩存到設定的臨界值后,FIFO的flag信號將變為高電平。通過FIFO的flag信號產生送給W90N740的中斷申請nIRQ0,通知W90N740圖像數據準備好了。

W90N740的EBII/O總線時序如圖8所示。利用W90N740的系統時鐘MCLK作為異步FIFO的讀時鐘rdclk;通過片選信號nECS0和讀選通信號nOE來產生異步FIFO的讀允許rden。

同時,圖6中“控制部分”除了根據W90N740的EBII/O設備時序產生FIFO的讀時序外,它還用W90N740的EBII/O設備接口和TSvaild信號來產生FIFO的復位,reset信號。

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

2.3.編碼機的軟件結構
2.3.1.存儲器分配
大多數的嵌入式系統,采用Flash或者ROM等存儲器來存儲系統的軟件,為了提高系統的運行速度,一般將程序軟件放入SDRAM、SRAM或者RAM等快速存儲器中運行。

在我們設計編碼機的也采用上面的方式來存儲和運行程序代碼。為了降低對ROM存儲器的容量要求,將程序代碼采用壓縮方式都放置在16Mbit的FLAS中。其分配使用如表1所示。

2.3.2.軟件設計
Linux操作系統是源代碼開放的多任務操作系統,它具有完善的TCP/IP協議棧,支持多任務,成為軟件設計的主選對象。

uClinux是針對沒有MMU(內存管理單元)的微處理器而設計的Linux操作系統。它繼承了Linux的絕大多功能,支持進程、線程,TCP/IP協議棧功能強大。因此,軟件設計選用uClinux操作系統。

在uClinux操作系統下,將軟件分為驅動和上層應用兩個部分來設計。驅動負責提供上層應用程序訪問底層硬件的接口。應用軟件完成編碼機的功能。

在uClinux中進程和線程都是并行運行的,設計時軟件按功能劃分為模塊,設計為進城或者線程。考慮到進程占用內存資源漸多,而線程占用內存資源少,因此、系統軟件結構如圖9所示應用軟件采用進程和線程來設計。應用軟件功能模塊如圖9所示。

圖9:編碼機軟件結構

劃分進程和線程是軟件設計的一個關鍵。分析Linux進程和線程的特點,結合編碼機需要用軟件實現的功能,將初始化工作(如MPEG-2編碼模塊的初始化、以太網參數初始化)、條件工作功能(如編碼機參數配置、遠程升級)設計為輔助進程,這些進程的運行的時間短,只有在系統復位初始化或者條件控制下才運行,并且會退出運行。

主進程將是一個永遠運行的進程,在這個進程中將實現編碼的主要功能,如圖像數據流在網絡的傳輸、遠程控制、用于與其它設備通信的RS-485/RS-232低速數據傳輸、編碼機的狀態監測等。這些功能之間相互有著聯系,如遠程控制可以查詢編碼機的狀態,而編碼機的狀態隨時由編碼機的監測更新。因此,將這些功能用線程來實現,在主進程中用全局變量來實現各個功能之間的聯系。

編碼機的核心功能――TS流傳輸線程和遠程控制命令處理線程的流程如下圖10所示。

圖10:部分線程流程
結語
通過實際設計表明,在MPEG-2overIP編碼機設計中,采用W90N740作為CPU和uClinux操作系統,使得設計簡單,靈活,已于維護。實際效果明顯,能實時傳輸10路4M碼率的MPEG-2圖像給不同的目的IP。

參考文獻
1.WinbondelectronicsCorp.W90N740CD/W90N740CDGdatasheet.
2.日本富士通.MPEG21chipAudio/VideoEncoderMB86391ProductSpecification.
3.馬忠梅、徐英慧.ARM嵌入式處理器結構與應用基礎(第2版).北京航空航天大學出版社.
4.余兆明、李曉飛.MPEG標準及其應用.北京郵電大學出版社.
5.張輝.GNU/Linux編程指南(第二版).清華大學出版社.
6.詹俊鵠、于衛譯.實戰LinuxSocket編程.西安電子科技大學出版社








tcp/ip相關文章:tcp/ip是什么




評論


相關推薦

技術專區

關閉