基于TMS320DM642的網(wǎng)絡(luò)攝像機(jī)的設(shè)計(jì)
隨著網(wǎng)絡(luò)技術(shù)和多媒體技術(shù)的廣泛應(yīng)用,數(shù)字網(wǎng)絡(luò)視頻得到了飛速發(fā)展.在網(wǎng)絡(luò)視頻會(huì)議和網(wǎng)絡(luò)監(jiān)控領(lǐng)域中,將傳統(tǒng)的模擬視頻信號(hào)轉(zhuǎn)換成數(shù)字視頻信號(hào),并且借助于現(xiàn)有的IP網(wǎng)絡(luò)進(jìn)行傳輸已成為當(dāng)今的一大熱點(diǎn).
本文引用地址:http://www.ex-cimer.com/article/152063.htm從技術(shù)實(shí)現(xiàn)方式來(lái)講,通常是采用網(wǎng)絡(luò)攝像機(jī)來(lái)實(shí)現(xiàn).目前市場(chǎng)上的網(wǎng)絡(luò)攝像機(jī)一般有兩類:一類是普通攝像機(jī)加視頻網(wǎng)關(guān)構(gòu)成,但是這種方案體積龐大、操作繁瑣;另一類是把全部網(wǎng)絡(luò)接入功能都集成在攝像機(jī)中,其體積小、功能全、易于使用和維護(hù).后類攝像機(jī)有多種解決方案,本文提出一種基于嵌入式DSP的設(shè)計(jì)方案,并且給出具體的硬件及軟件實(shí)現(xiàn).
1 硬件系統(tǒng)設(shè)計(jì)
1.1嵌入式處理器TMS320DM642
TMS320DM642(以下簡(jiǎn)稱DM462)是TI公司近來(lái)發(fā)布的新一代多媒體處理器,它基于其第二代高性能的VelociTI VLIW結(jié)構(gòu),適用于多種數(shù)字媒體應(yīng)用.DM642的時(shí)鐘頻率為600MHz,指令速度高達(dá)4800MIPS.這款DSP的兩大特色在于:第一,擁有三個(gè)可配置的視頻接口(VP),可同時(shí)采集三路視頻信號(hào);第二,集成了以太網(wǎng)接口,10/100Mbps模式自適應(yīng),能工作在全雙工或半雙工模式下,并具有硬件流控制和服務(wù)質(zhì)量保證(QoS)支持.DM642的功能十分強(qiáng)大,它是構(gòu)成多媒體通信系統(tǒng)的最佳平臺(tái)之一.
1.2硬件整體架構(gòu)
本系統(tǒng)的硬件平臺(tái)由六部分組成,分別是視頻采集、數(shù)據(jù)存儲(chǔ)、視頻處理、視頻顯示、網(wǎng)絡(luò)和電源管理.其結(jié)構(gòu)框圖如圖1所示.
視頻采集部分采用模擬PAL制攝像頭,配合高精度視頻A/D轉(zhuǎn)換器得到數(shù)字圖像.A/D轉(zhuǎn)換器采用TI公司的TVP5145芯片,其采樣精度達(dá)到10bit,輸出支持CCIR-656和BT656等格式.
數(shù)據(jù)存儲(chǔ)部分的RAM采用三星公司的SDRAM.為配合DM642的64位EMIF(外部存儲(chǔ)器接口),使用四片SDRAM,每片工作在16位模式,單片容量為32MB.數(shù)據(jù)存儲(chǔ)部分的ROM采用ATMEL公司的NOR型的Flash芯片,總?cè)萘繛?56KB,數(shù)據(jù)總線為8位.本系統(tǒng)中的SDRAM用來(lái)存放系統(tǒng)運(yùn)行時(shí)的代碼以及臨時(shí)圖像數(shù)據(jù),Flash用來(lái)保存系統(tǒng)自啟動(dòng)代碼以及系統(tǒng)程序代碼.
視頻顯示部分采用數(shù)字LCD,可省去數(shù)/模轉(zhuǎn)換芯片,只需一片CPLD驅(qū)動(dòng)LCD.CPLD采用Altera公司的MAX3000系列.這部分作為輔助功能,可根據(jù)實(shí)際運(yùn)用場(chǎng)合進(jìn)行選擇.
DM642的以太網(wǎng)控制器(即EMAC)屬于數(shù)據(jù)鏈路層,因此需外接物理層芯片才能進(jìn)行網(wǎng)絡(luò)通信.這里采用Intel公司的LXT971A芯片,它提供了MII(Media Independent Interface)接口,可以方便地和DM642連接.
電源管理部分在一個(gè)硬件系統(tǒng)設(shè)計(jì)中占有舉足輕重的地位.本系統(tǒng)的電源模塊采用MAXIM公司的解決方案,包括一片MAX1762芯片(產(chǎn)生1.4V電源給DM642的I/O供電和產(chǎn)生5V電源給LCD的逆變器供電).
2 設(shè)備驅(qū)動(dòng)設(shè)計(jì)
TI為DM642的VP口開(kāi)發(fā)了一個(gè)兩層設(shè)備驅(qū)動(dòng)模型.上層驅(qū)動(dòng)稱為Class Driver,更靠近底層硬件.應(yīng)用時(shí)只需根據(jù)這個(gè)模型編寫驅(qū)動(dòng)程序就可以了.
對(duì)于以太網(wǎng)口,TI提供了一個(gè)網(wǎng)絡(luò)開(kāi)發(fā)組件(NDK),為在DSP上開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用程序提供了平臺(tái).有了這個(gè)平臺(tái),在開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用程序時(shí),就不用過(guò)多考慮數(shù)據(jù)如何封閉成IP包,也不用過(guò)多關(guān)心TCP/IP協(xié)議內(nèi)部的工作機(jī)制,這樣可以縮短產(chǎn)品的開(kāi)發(fā)周期及上市時(shí)間.
1.2 視頻端口的兩層設(shè)備驅(qū)動(dòng)模型
兩層設(shè)備驅(qū)動(dòng)模型如圖2 所示.最上層是應(yīng)用程序,最下層是底層硬件,包括DM642的VP口和視頻A/D芯片.中間大花括號(hào)括起來(lái)部分即為設(shè)備驅(qū)動(dòng).圖中還有一層芯片支持庫(kù)(CSL),它提供配置及控制片上外設(shè)的C語(yǔ)言接口.
根據(jù)VP口的特點(diǎn),設(shè)備驅(qū)動(dòng)的兩層驅(qū)動(dòng)模型的每一層又細(xì)分了兩層.從圖2可以看到,把Class Driver分為FVID Class Driver和GIO Class Driver.前者更靠近應(yīng)用程序,它提供一些特別適用于圖像的API函數(shù);后者提供與Mini Driver進(jìn)行通信的API函數(shù).Mini Driver分成通用部分和特殊部分,這樣分的優(yōu)勢(shì)在于:當(dāng)改變硬件構(gòu)成時(shí),無(wú)需重寫Mini Driver,只需修改特殊部分即可,提高了代碼的重復(fù)使用性.
2.2網(wǎng)絡(luò)開(kāi)發(fā)組件
網(wǎng)絡(luò)開(kāi)發(fā)組件的核心即為一系列TCP/IP協(xié)議棧庫(kù).包括:(1)棧庫(kù)和網(wǎng)絡(luò)工具庫(kù),它含有一些經(jīng)過(guò)優(yōu)化編譯的協(xié)議棧代碼;(2)操作系統(tǒng)適應(yīng)庫(kù),它用來(lái)協(xié)調(diào)TCP/IP協(xié)議棧和DSP/BIOS之間的接口;(3)網(wǎng)絡(luò)控制及調(diào)度庫(kù),它決定TCP/IP環(huán)境的初始化以及網(wǎng)絡(luò)相關(guān)事件是如何被調(diào)度的;(4)多種硬件抽象層平臺(tái)庫(kù),為TI公司的多種開(kāi)發(fā)板(比如DSK、TEB和EVM等)提供支持.由于本系統(tǒng)為自行開(kāi)發(fā),所以不涉及HAL.
協(xié)議棧庫(kù)的流程框圖如圖3所示,其中灰色模塊分別代表前術(shù)五個(gè)庫(kù).
評(píng)論