基于TMS320DM642的網絡攝像機的設計
隨著網絡技術和多媒體技術的廣泛應用,數字網絡視頻得到了飛速發展.在網絡視頻會議和網絡監控領域中,將傳統的模擬視頻信號轉換成數字視頻信號,并且借助于現有的IP網絡進行傳輸已成為當今的一大熱點.
本文引用地址:http://www.j9360.com/article/152063.htm從技術實現方式來講,通常是采用網絡攝像機來實現.目前市場上的網絡攝像機一般有兩類:一類是普通攝像機加視頻網關構成,但是這種方案體積龐大、操作繁瑣;另一類是把全部網絡接入功能都集成在攝像機中,其體積小、功能全、易于使用和維護.后類攝像機有多種解決方案,本文提出一種基于嵌入式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的I/O供電和產生5V電源給LCD的逆變器供電).
2 設備驅動設計
TI為DM642的VP口開發了一個兩層設備驅動模型.上層驅動稱為Class Driver,更靠近底層硬件.應用時只需根據這個模型編寫驅動程序就可以了.
對于以太網口,TI提供了一個網絡開發組件(NDK),為在DSP上開發網絡應用程序提供了平臺.有了這個平臺,在開發網絡應用程序時,就不用過多考慮數據如何封閉成IP包,也不用過多關心TCP/IP協議內部的工作機制,這樣可以縮短產品的開發周期及上市時間.
1.2 視頻端口的兩層設備驅動模型
兩層設備驅動模型如圖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協議棧庫.包括:(1)棧庫和網絡工具庫,它含有一些經過優化編譯的協議棧代碼;(2)操作系統適應庫,它用來協調TCP/IP協議棧和DSP/BIOS之間的接口;(3)網絡控制及調度庫,它決定TCP/IP環境的初始化以及網絡相關事件是如何被調度的;(4)多種硬件抽象層平臺庫,為TI公司的多種開發板(比如DSK、TEB和EVM等)提供支持.由于本系統為自行開發,所以不涉及HAL.
協議棧庫的流程框圖如圖3所示,其中灰色模塊分別代表前術五個庫.
評論