一種MPEG4視頻壓縮和傳輸系統
AT91RM9200接收生成碼流存儲在SDRAM中,由在片以太網卡端口發送。
以上各部分構成一個數字視頻數據采集和編碼電路,ATglRM9200控制電路工作,并對MPEG4碼流進行調度。
4 視頻碼流以太網發送子系統
子系統硬件電路圖如圖4所示。
AT91RM9200的在片以太網卡端口和網絡物理層芯片RTL8201的MII接口通信。發送數據時,首先置發送使能信號ETXEN有效。數據發送端ETX0一ETX3與RTL8201的TXDO~TXD3引腳對應連接,作為數據發送通道,以RTL8201提供的數據發送時鐘信號TXCK發送數據。當發送有沖突時,沖突檢測信號ECOL置高,并且當媒介不處于理想狀態,狀態指示信號ECRS也置高,由AT91RM9200相應處理,保證數據發送按網絡協議正常工作。接收數據時,檢測RXDV引腳狀態,在數據接收端數據有效時置高,提請AT91RM9200按RXC引腳提供的時鐘提取數據。數據接收端ERX0~ERX3與RTL8201的RXDO~RXD3引腳對應連接,作為數據接收通道。當接收有錯誤時,接收錯誤信號ERXER置高,AT91RM9200按網絡物理層協議處理。管理時鐘信號EMDC和管理數據輸入輸出信號EMDIO用來芯片控制參數的寫入和讀取。
在片以太網卡進行數據的發送時,根據以太網協議IEEE802.3/l,完成網絡邏輯層和物理層之間MAC的工作。運用DMA通道進行數據的發送,不影響AT91RM9200的Processor正常運行。首先正確設置傳送控制寄存器和傳送地址寄存器的傳送數據塊字節數、數據塊存儲首地址等參數,隨后依次從指定數據存儲區地址取32b數據,送人內部發送緩沖器中,由MAC對數據進行封裝發送,同時記錄已傳送字節數,直到數據塊發送完畢。當發送完一組數據后,發出DMA中斷請求,由AT91RM9200進行相應的處理。整個子系統電路由AT91RM9200控制和調度。
5 軟件設計
本系統的軟件由AT91RM9200初始化程序、SAA71llA,IME6410和RTL8201的配置程序、數字視頻MPEG4碼流接收存儲程序、MPEG4碼流以太網發送程序和系統主控程序等多個模塊組成。圖5為軟件系統框圖。AT91RM9200的初始化程序完成AT91RM9200堆棧和運行狀態位的設置、在片以太網MAC和通用I/O引腳設置。采用FLASH的BOOT的方式,設計Bootloader程實現應用程序和數據的自舉加載。
SAA711lA,IME6410和RTL8201的配置模塊完成芯片相關功能寄存器參數的設置。
數字視頻MPEG4碼流接收存儲程序由IME6410的數據流緩沖器標志信號NFULL控制。當1kb緩沖器滿或半滿時,NFULL置于低電平,外部主機讀IME6410內偏移地址為Oxl0的EncodedStream寄存器。在以突發方式讀緩沖器時,需設定一次讀取的字節數。
以太網數據發送程序以DMA方式發送視頻MPEG4碼流到終端監控機播放,并接收終端的指令信息,調整系統的工作方式。
6 結 語
本文介紹了一種利用SAA711lA,IME6410,AT91RM9200和RTL8201等芯片設計的高精度實時MPEG4視頻壓縮和傳輸系統,可應用于視頻監控和工業控制等場合。系統成本較低、體積較小、應用靈活,具有良好的通用性和可靠性。
評論