《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 业界动态 > 基于TMS320DM642的网络摄像机的设计及实现

基于TMS320DM642的网络摄像机的设计及实现

2008-07-22
作者:岑 鸿, 洪孝炬

  摘 要: 網絡攝像機" title="網絡攝像機">網絡攝像機是當今網絡視頻應用的一大熱點,根據這方面的應用需求提出了一種全新的解決方案。該方案的實現是基于TMS320DM642處理器的,并且采用JPEG編碼標準,最終實現了一個成本低廉且具有實時視頻采集壓縮功能及以太網傳輸功能的網絡攝像機。
  關鍵詞: 網絡攝像機 TMS320DM642 設備驅動 網絡開發組件


  隨著網絡技術和多媒體技術的廣泛應用,數字網絡視頻得到了飛速發展。在網絡視頻會議和網絡監控領域中,將傳統的模擬視頻信號轉換成數字視頻信號,并且借助于現有的IP網絡進行傳輸已成為當今的一大熱點。
  從技術實現方式來講,通常是采用網絡攝像機來實現。目前市場上的網絡攝像機一般有兩類:一類是普通攝像機加視頻網關構成,但是這種方案體積龐大、操作繁瑣;另一類是把全部網絡接入功能都集成在攝像機中,其體積小、功能全、易于使用和維護。后一類攝像機有多種解決方案,本文提出一種基于嵌入式DSP的設計方案,并且給出具體的硬件及軟件實現。
1 硬件系統設計
1.1 嵌入式處理器TMS320DM642
  TMS320DM642(以下簡稱DM462)是TI公司近來發布的新一代多媒體處理器,它基于其第二代高性能的VelociTI VLIW結構,適用于多種數字媒體應用。DM642的時鐘頻率為600MHz,指令速度高達4800MIPS。這款DSP的兩大特色在于:第一,擁有三個可配置的視頻接口(VP),可同時采集三路視頻信號;第二,集成了以太網接口,10/100Mbps模式自適應,能工作在全雙工或半雙工模式下,并具有硬件流控制和服務質量保證(QoS)支持。DM642的功能十分強大,它是構成多媒體通信系統的最佳平臺之一。
1.2 硬件整體架構
  本系統的硬件平臺由六部分組成,分別是視頻采集、數據存儲、視頻處理、視頻顯示、網絡和電源管理。其結構框圖如圖1所示。


  視頻采集部分采用模擬PAL制攝像頭,配合高精度視頻A/D轉換器得到數字圖像。A/D轉換器采用TI公司的TVP5145芯片,其采樣精度達到10bit,輸出支持CCIR-656和BT656等格式。
  數據存儲部分的RAM采用三星公司的SDRAM。為配合DM642的64位EMIF(外部存儲器接口),使用四片SDRAM,每片工作在16位模式,單片容量為32MB。數據存儲部分的ROM采用ATMEL公司的NOR型的Flash芯片,總容量為256KB,數據總線為8位。本系統中的SDRAM用來存放系統運行時的代碼以及臨時圖像數據,Flash用來保存系統自啟動代碼以及系統程序代碼。
  視頻顯示部分采用數字LCD,可省去數/模轉換芯片,只需一片CPLD驅動LCD。CPLD采用Altera公司的MAX3000系列。這部分作為輔助功能,可根據實際運用場合進行選擇。
  DM642的以太網控制器(即EMAC)屬于數據鏈路層,因此需外接物理層芯片才能進行網絡通信。這里采用Intel公司的LXT971A芯片,它提供了MII(Media Independent Interface)接口,可以方便地和DM642連接。
  電源管理部分在一個硬件系統設計中占有舉足輕重的地位。本系統的電源模塊采用MAXIM公司的解決方案,包括一片MAX1762芯片(產生1.4V電源給DM642內核供電)以及兩片MAX1626(分別產生3.3V電源給DM642的I/O供電和產生5V電源給LCD的逆變器供電)。
2 設備驅動設計
  TI為DM642的VP口開發了一個兩層設備驅動模型。上層驅動稱為Class Driver,用于連接應用程序" title="應用程序">應用程序和下層驅動;下層驅動稱為Mini Driver,更靠近底層硬件。應用時只需根據這個模型編寫驅動程序就可以了。
  對于以太網口,TI提供了一個網絡開發組件(NDK),為在DSP上開發網絡應用程序提供了平臺。有了這個平臺,在開發網絡應用程序時,就不用過多考慮數據如何封裝成IP包,也不用過多關心TCP/IP" title="TCP/IP">TCP/IP協議內部的工作機制,這樣可以縮短產品的開發周期及上市時間。
2.1 視頻端口的兩層設備驅動模型
  兩層設備驅動模型如圖2所示。最上層是應用程序,最下層是底層硬件,包括DM642的VP口和視頻A/D芯片。中間大花括號括起來的部分即為設備驅動。圖中還有一層芯片支持庫(CSL),它提供配置及控制片上外設的C語言接口。


  根據VP口的特點,設備驅動的兩層驅動模型的每一層又細分了兩層。從圖2可以看到,把Class Driver分為FVID Class Driver和GIO Class Driver。前者更靠近應用程序,它提供一些特別適用于圖像的API函數;后者提供與Mini Driver進行通信的API函數。Mini Driver分成通用部分和特殊部分,這樣分的優勢在于:當改變硬件構成時,無需重寫Mini Driver,只需修改特殊部分即可,提高了代碼的重復使用性。
2.2 網絡開發組件
  網絡開發組件的核心即為一系列TCP/IP協議棧" title="協議棧">協議棧庫。包括:(1)棧庫和網絡工具庫,它含有一些經過優化編譯的協議棧代碼;(2)操作系統適應庫,它用來協調TCP/IP協議棧和DSP/BIOS" title="DSP/BIOS">DSP/BIOS之間的接口;(3)網絡控制及調度庫,它決定TCP/IP環境的初始化以及網絡相關事件是如何被調度的;(4)多種硬件抽象層平臺庫,為TI公司的多種開發板(比如DSK、TEB和EVM等)提供支持。由于本系統為自行開發,所以不涉及HAL。
  協議棧庫的流程框圖如圖3所示,其中灰色模塊分別代表前述五個庫。


3 軟件設計及實現
  TI公司的DSP開發軟件包括集成開發環境(CCS)、 實時操作系統(DSP/BIOS)、第三方算法庫標準(eXpressDSP)。DSP/BIOS是一個用戶可裁剪的實時操作系統,包含內存管理、線程管理、中斷、外設管理和任務調度等功能。另外,還需使用JPEG標準進行圖像壓縮,因為采用JPEG進行網絡傳輸時,如果出現網絡短暫阻塞,可將當前幀拋棄而不影響下一幀的圖像,所以能夠保證系統的實時性要求。在本系統中調用了TI提供的JPEG算法庫來完成JPEG壓縮。
3.1 軟件流程結構
  根據本系統的要求,整個軟件系統分為五個任務模塊,每個模塊完成各自的功能。這五個任務模塊分別為輸入任務、處理任務、輸出任務、網絡任務以及控制任務,其流程如圖4所示。下面敘述任務間調度及分別完成的功能。


  (1) 輸入任務
  該任務模塊主要完成將VP口采集到的數字圖像存入動態分配的內存空間中,圖像格式為YUV4:2:2(可根據需要進行設置),分辨率為720×480。然后對該圖像色度信號進行4:2:0重采樣,這樣做的目的是為了調用JPEG算法庫。完成以上兩步后,輸入任務模塊發出一個消息給處理任務模塊,告知圖像在內存空間中的位置,讓處理任務模塊去做進一步的處理。接著,輸入任務模塊等待處理任務模塊回復,收到回復消息后,繼續采集下一幀圖像。
  (2) 處理任務模塊
  該任務模塊主要完成JPEG壓縮。處理任務模塊首先獲得一個從輸入任務模塊發出的消息,并且從中得到圖像數據。接著進行JPEG壓縮,如前所述,壓縮調用了JPEG算法庫,其壓縮的速度和性能比較好。在處理任務模塊完成圖像壓縮后,發出三個消息:第一個發給輸入任務模塊,使其繼續采集下一幀圖像;第二個發給網絡任務模塊,把JPEG圖像在內存中的位置以及字節數告訴網絡任務模塊供其處理,同時,處理任務模塊將等待網絡任務模塊回復消息;最后一個消息發給輸出任務模塊,告知原始圖像在內存中的位置,讓輸出任務模塊把它輸出到LCD進行顯示。同樣,它也將等待輸出任務模塊回復消息。
  (3) 輸出任務模塊
  該任務模塊完成將采集到的原始圖像輸出到LCD進行顯示。由于采集到的是YUV圖像,而本系統的LCD使用RGB信號作為輸入,這需要經過數字圖像格式轉換,該轉換交由CPLD完成。
  (4) 網絡任務模塊
  該任務模塊完成網絡傳輸功能。分三部分實現:第一部分先獲得一個從處理任務模塊發出的消息,從中得到JPEG圖像的大小和在內存中的位置,并通過UDP協議的Socket套接字將其發送給客戶。同時發出一個消息給處理任務模塊,告知已獲得JPEG圖像,可進行下一幀圖像的壓縮。第二部分進行協議棧的初始化,包括IP地址、子網掩碼和網關的設定。如果要連接Internet,必須設置DHCP,動態分配IP地址。除此以外,還要選擇哪種網絡服務,DM642支持Telnet、HTTP、Data server等服務,本系統使用HTTP服務。第三部分為加載網頁,在PC機上用HTML編寫網頁,在該網頁中內嵌一段JavaApplet小程序以實現本系統和客戶端的交互。HTML文件不能直接加載給DM642,必須在DOS環境下使用binsrc插件把它轉換成用C語言描述的數據數組。當用戶通過IE瀏覽器訪問本系統時,HTTP服務器通過嵌入式文件系統訪問內存中的HTML網頁(即訪問那個用C語言描述的數據數組),該文件系統是基于RAM的文件系統,它駐留在OS.LIB中。同時,JavaApplet小程序隨同HTML文件下載到客戶端并由IE瀏覽器解釋執行。
  (5) 控制任務模塊
  該任務模塊完成在HTML網頁上對JPEG壓縮性能的控制。在網頁中接收的用戶自定義參數,通過DSP/BIOS中的郵箱機制傳遞給處理任務模塊,從而修改JPEG的壓縮參數,改變壓縮質量。圖5所示即為接收用戶修改參數的對話框,1表示壓縮質量最差,100表示壓縮質量最好。


  這些任務的初始化在系統的main( )函數里實現。另外,對DM642芯片的初始化(包括初始化寄存器、二級緩存(L2)的設置等)均在dm642init( )函數中完成,該函數定義在DSP/BIOS的用戶初始化函數列表中,在此不再贅述。
  本文提出的基于TMS320DM642的網絡攝像機的設計方案已成功實現。在客戶端打開IE瀏覽器,即可看到實時監控的圖像,圖像顯示較流暢,在局域網內的圖像幀率可以達到30幀/秒。而且可以同時采集多路視頻信號,滿足多個客戶的連接請求。本系統滿足了目前寬帶環境中的網絡視頻會議以及視頻監控的要求,其應用前景十分廣泛。


參考文獻
1 TMS320C6000 DSP Ethernet Media Access Controller(EMAC)/Management Data Input/Output (MDIO) Module Reference Guide.Texas Instruments, 2004
2 TMS320C6000 TCP/IP Network Developer’s Kit Programmer’s Reference Guide. Texas Instruments,2003
3 Reference Frameworks for eXpressDSP Software:RF5, An Ex-tensive, High-Density System. Texas Instrument, 2003
4 The TMS320DM642 Video Port Mini-Driver.Texas Instrument,2004
5 TMS320C64x DSP Video Port/VCXO Interpolated Control (VIC)Port Reference Guide. Texas Instrument, 2004

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日本最新一区二区三区视频观看| 国产精品69久久久| 97精品一区二区视频在线观看| 欧美在线视频一二三| 中文字幕av久久| 91高潮在线观看| 亚洲a区在线视频| 日本国产中文字幕| 欧美中文在线观看国产| 欧美一区二区三区精品电影| 欧美在线播放一区二区| 欧美亚洲一级片| 久久免费一区| 精品日韩美女| 国产欧美日韩91| 成人精品视频99在线观看免费| 国产精品夫妻激情| 一区二区三区在线观看www| 日韩中文在线字幕| 欧美日本高清一区| 国产日韩在线视频| www日韩中文字幕在线看| 亚洲日本一区二区三区在线不卡| 日韩国产欧美亚洲| 久久精品国产电影| 99精品一级欧美片免费播放| 日韩中文字幕在线免费观看| 久久亚洲欧美日韩精品专区| 九九热精品在线| 国产a∨精品一区二区三区不卡| 亚洲高潮无码久久| 久久久久国产精品熟女影院| 免费观看亚洲视频| 久久久黄色av| 国产一区二区精品免费| 国产精品美女无圣光视频| 国产成人中文字幕| 亚洲高清在线观看一区| 日本在线视频不卡| 久久久久国产精品熟女影院| 狠狠色综合欧美激情|