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