《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于AT91RM9200的嵌入式網絡攝像機的設計與實現
基于AT91RM9200的嵌入式網絡攝像機的設計與實現
微計算機信息
趙印偉 謝勝利
摘要: 基于AT91RM9200的嵌入式網絡攝像機的設計與實現,1. 引言隨著通信技術和網絡技術的迅猛發展,通過網絡遠程實時監控重要場所已倍受人們關注,網絡攝像機在此背景下產生,并成為人們關注的焦點。網絡攝像機要將高清晰度的實時視頻信息通過互聯網傳送到監控終端,因
Abstract:
Key words :

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所示。

圖3 壓縮編碼電路
 TVP5150的AI模擬輸入口與模擬攝像頭輸出端連接,向視頻處理芯片傳送模擬視頻信號。模擬信號經過采樣處理之后通過YOUT0~YOUT7引腳送到MPG440,采樣數據在PCLK的上升沿有效,MPG440的VIDEO_CLK在收到PCLK的上升沿時獲得YOUT的信號。TVP5150分場同步脈沖和行同步脈沖,分別對應其輸出端VSYNC、HSYNC。MPG440正是根據與之相連的VSYNC和HSYNC信號線來實現圖像的場同步和行同步操作。MPG440的視頻輸入數據線DATA_TV0~DATA_TV7與TVP5150的YOUT0~YOUT7相連。MPG440在接收數據的同時,將其得到的數據流傳送給MPEG-4壓縮編碼單元,編碼后的MPEG-4數據流暫存到SDRAM(2)中。MPG440片內PDMA控制器根據配置寄存器的設置準確發起對SDRAM(2)訪問,同時將得到的數據流輸送往HPI(主機總線接口,Host Peripherial Interface),以等待AT91RM9200通過DMA通道將數據發送到網絡。
  MPG440通過HPI與AT91RM9200通信,AT91RM9200將MPG440的寄存器、存儲空間等資源作為其本身內存尋址訪問。MPG440由AT91RM9200選通線NCS4來選通,其在AT91RM9200尋址空間中的地址段為0X50000000到0X5FFFFFFF。通過對MPG440一系列寄存器的設置,可以訪問MPG440系統存儲空間。MPG440中斷信號RSC_INT0從通用I/O引腳的PB29輸入,當緩沖器填滿時,RSC_INT0引腳置低提示AT91RM9200通過DMA通道提取MPEG-4數據流。編碼后視頻數據讀取過程和MPG440與主機通信過程由AT91RM9200讀信號CFRD和寫信號CFWE控制。
3.3網絡模塊
網絡模塊硬件設計原理如圖4所示。

圖4 網絡模塊電路
AT91RM9200的在片以太網卡端口和網絡物理層芯片DM9161E的MII接口通信。發送數據時,首先置發送使能信號ETXEN有效。數據發送端ETX0~ETX1與DM9161的ETXO~ETX1引腳對應連接,作為數據發送通道,以DM9161E的時鐘信號REF_CLK發送數據。數據接收端ERX 0~ERX1與DM9161E的RXDO~RXD1引腳對應連接,作為數據接收通道。管理時鐘信號EMDC和管理數據輸入輸出信號EMDIO用來芯片控制參數的寫入和讀取。DM9161E的MDINTR端用來產生中斷信號。
片內以太網卡通過DMA通道進行數據的發送,不影響AT91RM9200的正常運行。首先正確設置傳送控制寄存器和傳送地址寄存器的傳送數據塊字節數、數據塊存儲首地址等參數,隨后依次從指定數據存儲區地址讀取1024b數據,送入內部發送緩沖器中,由MAC對數據進行封裝發送,同時記錄已傳送字節數,直到數據塊發送完畢。當發送完一組數據后,發出DMA中斷請求,由AT91RM9200進行相應的處理。整個網絡子系統電路由AT91RM9200控制和調度。
4.軟件設計
嵌入式Linux系統主要由四個部分組成:引導內核啟動的文件(bootloader)、Linux內核文件(kernel)、虛擬磁盤文件(ramdisk)、用戶空間文件(user)。它們分別被放在DataFlash內的四個分區模塊中。根據不同模塊的具體功能采用不同的文件系統:bootloader、kernel、ramdisk,移植完成后不需要動態改變,使用較節省空間的ROMFS只讀文件系統;user模塊內放置一些可以動態更新的配置文件等,需要進行較多的讀寫操作,所以使用支持動態擦寫保存的JFFS2文件系統[1]。
Linux移植技術已經成熟,本文不作詳細的闡述。下文主要介紹MPEG-4壓縮編碼模塊和CGI模塊的程序設計。
4.1 MPEG-4壓縮編碼模塊程序設計
該模塊主要完成MPG440和TI5150相關寄存器的配置,并保證MPEG-4碼流的正常輸出。當嵌入式Linux系統啟動后,首先配置MPG440的相關寄存器,其初始化完成后,通過I2C總線對TVP5150進行初始化配置[2]。當系統開始壓縮編碼時,MPEG-4碼流接收存儲程序由MPEG-440的數據流緩沖器標志信號控制。當1024b緩沖器滿時,RISC_INT0置于低電平,微控制器通過DMA通道從MPG440的HPI口將碼流送到PC機端。MPEG-4壓縮編碼模塊程序流程如圖4所示。

圖5 MPEG-4壓縮編碼模塊程序流程圖
4.2 CGI程序模塊設計
CGI(Common Gateway Interface)是外部擴展應用程序與WWW服務器交互的一個標準接口。本系統CGI的工作過程:在PC機端的IE瀏覽器中輸入網絡攝像機IP地址,嵌入式網絡服務器根據請求,將相應的控制頁面反饋給IE瀏覽器,用戶填寫表單,然后提交,CGI程序提取表單的信息,根據不同信息來分別處理相應的事件,如調節MPEG-4相關屬性、相機的相關操作等。CGI控制原理如圖5所示。

圖6 CGI控制原理圖
CGI模塊的設計主要包括三部分:嵌入式web服務器的配置、html頁面的編寫、CGI程序的設計。
嵌入式web服務器采用的是Apache,其配置是以配置文件的形式提供,放在Ramdisk中/etc/httpd/conf/目錄下。其配置主要涉及以下三個方面:
○1配置根文件的路徑:“DocumentRoot  /home/httpd/html”,html頁面必須放到此目錄下。
○2配置CGI外部程序所放的路徑:“ScriptAlias /cgi-bin/ home/httpd/cgi-bin/”。
○3配置環境變量:“SetEenv D_LIBRARY_PATH=/lib:/usr/local/lib:/usr/lib”,該變量將會被傳送到 CGI 腳本和SSI頁面,以保證CGI程序能正確找到所依賴的庫。
網頁編寫采用html與shtml相結合的方式。html的解析速度較快,shtml可以在普通網頁中嵌入外部CGI程序,通過這種方式將系統的默認配置反饋給客戶端。
CGI程序采用的是C語言和shell腳本相結合的方式, 具體編寫過程,與通常的了Linux下編程相同。限于篇幅,不再贅述。
4.3 MPEG-4解碼程序
映佳科技已提供供二次開發的MPEG-4解碼插件OCX,OCX在PC機端注冊后,OCX函數可方便地被網頁調用,從而實現在PC機端觀看實時圖像。
5 總結
 本文介紹了一種利用AT91RM9200、TVP5150,MPG440和DM9161E等芯片設計的嵌入式網絡攝像機。經測試,該系統穩定、可靠、實時性好、圖像質量出色。該產品可廣泛應用于交通監控和工業監控以及家庭監控、視頻會議話等眾多領域。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
樱桃成人精品视频在线播放| 亚洲精品国久久99热| 蜜桃久久av一区| 久久精品国产第一区二区三区最新章节 | 亚洲电影自拍| 精品1区2区| 狠狠狠色丁香婷婷综合久久五月| 国产欧美一区二区三区久久| 国产精品日本精品| 国产精品久久久久久久久久妞妞| 欧美日韩亚洲成人| 欧美日韩影院| 国产精品v亚洲精品v日韩精品| 欧美日韩午夜| 欧美日韩三级电影在线| 欧美日韩国产色综合一二三四 | 亚洲精品在线观| 日韩视频在线观看免费| 亚洲每日更新| 99热在这里有精品免费| 亚洲精品一区二区在线| 99国产精品久久久久久久| 日韩一级精品| 一区二区三区福利| 亚洲女女女同性video| 亚洲欧美日韩精品久久| 久久av红桃一区二区小说| 久久国产精品一区二区三区四区 | 美女成人午夜| 欧美sm重口味系列视频在线观看| 欧美成人精品| 欧美日韩无遮挡| 国产精品入口日韩视频大尺度| 国产精品一区二区三区乱码| 国产视频在线观看一区二区三区| 激情另类综合| 亚洲日本成人| 亚洲淫性视频| 欧美在线一级视频| 亚洲精品乱码久久久久久按摩观| av成人毛片| 亚洲欧美国产高清| 久久久99精品免费观看不卡| 麻豆精品在线视频| 欧美美女视频| 国产欧美日韩三区| 一区二区三区在线不卡| 亚洲精品小视频在线观看| 亚洲一本大道在线| 久久精品国产亚洲a| 亚洲久久一区| 亚洲欧美日韩精品综合在线观看| 久久久亚洲一区| 欧美精品1区| 国产欧美日韩高清| 亚洲国产成人不卡| 亚洲一区bb| 最新日韩在线视频| 亚洲欧美日韩精品综合在线观看| 久久久久久久高潮| 欧美区日韩区| 国产亚洲一区二区三区| 亚洲国产天堂久久国产91| 亚洲一区二区不卡免费| 亚洲第一精品夜夜躁人人躁| 99精品国产福利在线观看免费| 午夜久久久久久| 欧美国产在线观看| 国产区日韩欧美| 亚洲伦理一区| 亚洲国产精品悠悠久久琪琪| 亚洲视频一区在线观看| 久久免费视频观看| 欧美三级乱码| 亚洲高清不卡在线| 亚洲午夜一二三区视频| 亚洲精品欧洲精品| 久久高清国产| 欧美午夜久久| 亚洲欧洲日本国产| 欧美一区二区黄| 亚洲一区欧美| 欧美精品久久久久久久久老牛影院| 国产日产高清欧美一区二区三区| 亚洲精品一区二区网址| 亚洲风情在线资源站| 欧美一级久久久| 欧美三级小说| 亚洲国产99| 久久狠狠亚洲综合| 欧美综合国产| 国产精品女同互慰在线看| 亚洲欧洲另类国产综合| 亚洲国产精品一区二区三区| 欧美在线免费观看| 欧美日韩在线观看一区二区三区 | 欧美激情影院| 黄色精品一二区| 午夜激情一区| 亚洲欧美一区二区激情| 欧美激情视频网站| 黑丝一区二区三区| 午夜久久久久| 欧美亚洲一区二区三区| 欧美日韩激情网| 亚洲国产精品国自产拍av秋霞| 久久成人一区| 欧美专区第一页| 国产精品丝袜久久久久久app| 日韩视频中午一区| 亚洲开发第一视频在线播放| 牛人盗摄一区二区三区视频| 精品成人一区二区三区四区| 久久成人精品一区二区三区| 久久精品网址| 国产一区二区三区免费不卡| 欧美一级播放| 欧美中文字幕在线观看| 国产老女人精品毛片久久| 亚洲一区二区三区乱码aⅴ| 亚洲性av在线| 欧美色欧美亚洲高清在线视频| 最新国产成人av网站网址麻豆| 最新国产乱人伦偷精品免费网站| 美腿丝袜亚洲色图| 一区在线影院| 亚洲精品1区2区| 欧美大秀在线观看| 亚洲国产精品久久久久婷婷884| 亚洲国产一区在线| 欧美国产高清| 日韩视频在线观看国产| 中文网丁香综合网| 国产精品国产三级国产| 亚洲性感激情| 欧美在线免费一级片| 国产一区二区三区高清播放| 久久激情视频久久| 男女激情视频一区| 亚洲理论在线观看| 亚洲欧美日韩国产一区| 国产乱码精品| 欧美在线你懂的| 蜜桃久久精品一区二区| 亚洲国产精品小视频| 99国产精品99久久久久久| 国产精品成人在线| 香蕉精品999视频一区二区| 久久亚洲欧美国产精品乐播| 一区在线观看视频| 夜夜嗨av一区二区三区四季av | 国产日产欧美一区| 亚洲成色777777在线观看影院| 猛男gaygay欧美视频| 亚洲精品久久久久久下一站| 亚洲一区二区不卡免费| 国产乱理伦片在线观看夜一区 | 欧美一级视频一区二区| 国模大胆一区二区三区| 亚洲人久久久| 国产精品久久久久毛片软件| 久久精品国产久精国产思思| 欧美精品日韩一区| 亚洲一区二区三区免费视频| 久久综合九色综合久99| 99这里只有久久精品视频| 欧美专区中文字幕| 亚洲欧洲精品成人久久奇米网| 亚洲综合日本| 黄色成人在线观看| 亚洲午夜成aⅴ人片| 国产视频在线观看一区二区| 日韩视频在线观看免费| 国产日韩欧美日韩大片| 亚洲另类春色国产| 国产噜噜噜噜噜久久久久久久久| 最近看过的日韩成人| 国产精品ⅴa在线观看h| 久久精品青青大伊人av| 欧美日韩亚洲一区二区| 久久精品国产综合| 国产精品成人一区| 亚洲人人精品| 国产日韩欧美在线观看| 一区二区三区蜜桃网| 精品1区2区3区4区| 亚洲欧美欧美一区二区三区| 亚洲国产美女精品久久久久∴| 午夜精品久久久久影视 | 久久爱www久久做| 亚洲美女在线一区| 久久久久久亚洲综合影院红桃 | 亚洲影视在线| 欧美人妖另类| 亚洲第一搞黄网站| 国产精品美女www爽爽爽视频| 亚洲精品日韩欧美| 国产一本一道久久香蕉| 国产精品99久久久久久宅男 | 欧美亚洲日本网站|