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