基于AT91RM9200的嵌入式網絡攝像機的設計與實現
1. 引言
隨著通信技術和網絡技術的迅猛發展,通過網絡遠程實時監控重要場所已倍受人們關注,網絡攝像機在此背景下產生,并成為人們關注的焦點。網絡攝像機要將高清晰度的實時視頻信息通過互聯網傳送到監控終端,因其信息量巨大,所以必須壓縮。通常人們采用DSP與MPEG-4算法相結合的方案來實現,不僅編程工作量大,而且產品的成本高。本文所介紹的網絡攝像機采用專用的MPEG-4壓縮芯片、以嵌入式Linux作為操作系統,不僅開發便捷、成本低廉,而且實時性好,適用范圍廣。
2. 系統總體設計
系統總體設計包括硬件設計和軟件設計兩部分。硬件設計模塊主要包括微控制器模塊、壓縮編碼模塊、網絡接口模塊和相機控制模塊四部分。微控制器模塊主要由主控芯片、DataFlash和SDRAM(1)組成。其中,主控芯片是整個控制系統的核心,它負責整個系統的調度工作。DataFlash里固化了嵌入式Linux內核、及其文件系統、應用軟件和系統配置文件。SDRAM(1)作為內存供系統運行使用。壓縮編碼模塊由視頻數據采集芯片、MPEG-4壓縮編碼芯片、SDRAM(2)組成,負責將視頻流轉化為MPEG-4碼流。網絡接口模塊主要是配合主控芯片傳送MPEG-4碼流。相機的控制模塊主要由串口芯片組成,其完成轉發控制相機命令的功能。當系統啟動時,微控制器通SPI(Serial Peripheral Interface,串行外設接口)將Linux內核轉入SDRAM(1)中,系統從SDRAM(1)中啟動。系統啟動后,微控制器通過HPI(Host Peripherial Interface, 主機接口)控制MPEG-4編碼模塊。統結構如圖1所示。
圖1 系統結構框圖
軟件設計部分主要包括嵌入式Linux移植、MPEG-4壓縮編碼模塊、CGI控制程序和MPEG-4解碼程序四部分。嵌入式Linux系統存放到由AT91RM9200控制的DataFlash里,它負責整個系統軟件的調度工作。MPEG-4壓縮編碼模塊主要負責模擬視頻流的采集,并將數字視頻流壓縮為MPEG-4數據流。CGI控制程序主要負責對攝像機的控制和對MPEG-4視頻流的相關設置。MPEG-4解碼程序主要負責對通過網絡得到的MPEG-4數據流的解碼工作。
3. 硬件設計
3.1微控制器模塊
微控制器是本系統的核心部件,選用的是ATMEL公司的AT91RM9200。它是一款基于ARM920T核的32位微控制器。其主頻為180MHz,處理速度快,功能強,性價比高,能很好滿足嵌入式Linux系統的需求。它在系統中的主要作用是在系統上電時配置其他芯片的功能寄存器,在正常工作狀態下調度控制整個系統工作,通過片內以太網控制器控制物理層芯片發送碼流。
AT91RM9200通過片內的SPI總線和SDRAM控制器實現對外圍DataFlash和SDRAM的控制,利用片內的USART實現對串口芯片的控制,通過片內的以太網控制器對片外網絡芯片進行控制。其控制原理圖如圖2所示。
圖2 控制原理圖
3.2壓縮編碼模塊
壓縮編碼模塊包括模擬視頻采集模塊和MPEG-4壓縮模塊。視頻采集芯片采用TI公司的TVP5150,數據壓縮芯片采用映佳公司的MPG440。TVP5150輸入端可是兩種混合視頻信號也可是S-Video端子的視頻信號,支持NTSC、PAL、SECAM等3種制式,其輸出的數據色彩格式可以為8bit 4:2:2數字信號或者8bit同步ITU-R BT.656數字信號。MPG440芯片具有符合工業標準的16b/32b的雙向主機接口,分別用來與視頻采集芯片和微控制器芯片通信。同時,具有移動偵測、防偽水印、動態調整IP畫格比率、動態調整圖像質量等特性,支持D1、VGA、CIF、QVGA、QCI等五種分辨率模式。微控制器通過主機接口實現MPG440的初始配置,也由此接收MPEG-4碼流。壓縮編碼模塊的硬件設計原理如圖3所示。
評論