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