基于TMS320DM642的網(wǎng)絡(luò)攝像機(jī)設(shè)計
引言
本文引用地址:http://m.butianyuan.cn/article/20885.htm網(wǎng)絡(luò)攝像機(jī)的解決方案有多種選擇,但是市場主流產(chǎn)品一般選擇兩種方案:(1)采用cpu+asic。(2)采用雙cpu結(jié)構(gòu),即一個嵌入式cpu和一個專用信號處理芯片dsp。受專用dsp芯片處理能力的限制,現(xiàn)有的嵌入式網(wǎng)絡(luò)攝像機(jī)中使用的視頻處理算法基本是h.263以下的標(biāo)準(zhǔn)。
本文介紹一種基于tms320dm642 dsp的網(wǎng)絡(luò)攝像機(jī)設(shè)計方案。其操作系統(tǒng)、通信協(xié)議、網(wǎng)絡(luò)協(xié)議、音視頻處理軟件均在一顆tms320dm642上實(shí)現(xiàn),降低了開發(fā)的難度。
tms320dm642芯片簡介
ti公司的tms320dm642 (以下簡稱dm642)是一款專門面向多媒體應(yīng)用的專用dsp。該dsp時鐘高達(dá)600mhz,8個并行運(yùn)算單元,處理能力達(dá)4800mips;采用二級緩存結(jié)構(gòu);具有64位外接存儲器接口;兼容ieee-1149.1(jtag)邊界掃描;為了面向多媒體應(yīng)用,還集成了3個可配置的視頻端口、面向音頻應(yīng)用的mcasp(multi channel audio serial port)、10/100mb/s的以太網(wǎng)mac等外設(shè)。鑒于dm642的上述優(yōu)點(diǎn),本網(wǎng)絡(luò)攝像機(jī)系統(tǒng)就以dm642為核心,完成音視頻信號的實(shí)時采集、壓縮及傳輸功能。
硬件設(shè)計
系統(tǒng)電路組成如圖1所示。從攝像機(jī)輸入的視頻信號和從麥克風(fēng)輸入的音頻信號經(jīng)采集、a/d轉(zhuǎn)換為數(shù)字信號后送入dsp。dsp在信源處對音視頻信號進(jìn)行壓縮編碼和合流,然后通過局域網(wǎng)或因特網(wǎng)將數(shù)據(jù)傳輸給視頻監(jiān)控中心。監(jiān)控中心可同時監(jiān)視多個現(xiàn)場,接收或發(fā)送報警信號,并根據(jù)需要通過異步串行總線rs-485實(shí)時控制云臺,調(diào)整攝像頭的方向和位置。
視頻采集電路
本系統(tǒng)采用的視頻解碼芯片是philips 公司的saa7115。從模擬視頻輸入口輸入的全電視信號在saa7115內(nèi)部經(jīng)過鉗位、抗混疊濾波、a/d轉(zhuǎn)換、yuv分離電路之后,在yuv到y(tǒng)crcb的轉(zhuǎn)換電路中轉(zhuǎn)換成bt.656視頻數(shù)據(jù)流,輸入到壓縮核心單元dm642中。dm642的3個視頻口vp0、vp1、vp2與視頻編解碼芯片相接。
在本系統(tǒng)中,只有一路視頻輸入,故vp1、vp2端口未用,vp0通道配置為8位bt.656視頻輸入口。視頻數(shù)據(jù)的行/場同步信號包含在bt.656數(shù)字視頻數(shù)據(jù)流的eav(end of active video)和sav(start of active video)時基信號中,視頻口只需視頻采樣時鐘和采樣使能信號即可。saa7115內(nèi)部寄存器參數(shù)的配置和狀態(tài)的讀出通過i2c總線進(jìn)行。視頻接口的原理如圖2所示。
音頻輸入/輸出電路
本系統(tǒng)采用ti的高性能立體聲編解碼器tlv320aic23(以下簡稱aic23)實(shí)現(xiàn)音頻信號的采集和播放。aic23與dm642 的i/o電壓兼容,可以實(shí)現(xiàn)與dm642的mcasp接口無縫連接。
在本系統(tǒng)中,aic23工作于主模式,左右聲道的采樣字寬均為16bit。數(shù)據(jù)接口為dsp mode模式。通過i2c總線設(shè)置內(nèi)部寄存器的工作參數(shù)和反饋狀態(tài)信息。
因為網(wǎng)絡(luò)傳輸?shù)墓逃刑攸c(diǎn),音頻數(shù)據(jù)和視頻數(shù)據(jù)從網(wǎng)絡(luò)攝像機(jī)端到達(dá)監(jiān)控中心不可能是均勻的,如果網(wǎng)絡(luò)攝像機(jī)端不做任何糾正處理,則很難保證音視頻的同步輸出。為了實(shí)現(xiàn)音頻和視頻的采樣同步,本文利用鎖相環(huán)pll1708,從saa7115的llc引腳輸出27mhz時鐘,經(jīng)pll1708產(chǎn)生aic23的主時鐘mclk。由于音視頻采樣信號采用同一個時鐘源,就不會出現(xiàn)音視頻不同步的問題。pll1708的scko3引腳輸出默認(rèn)時鐘頻率18.433mhz,作為aic23的輸入主時鐘mclk。aic23內(nèi)部采用的時鐘可通過設(shè)置寄存器由主時鐘mclk分頻得到。
以太網(wǎng)接口電路
本系統(tǒng)用lxt971作為快速以太網(wǎng)物理層自適應(yīng)收發(fā)器。由于lxt971支持ieee 802.3標(biāo)準(zhǔn),提供mii(media independent interface)接口,可以支持mac,而dm642內(nèi)部正好集成有以太網(wǎng)媒體存取控制器,所以lxt971可以和dm642實(shí)現(xiàn)無縫連接。連接電路如圖3所示,其中bh1102為1:1的隔離變壓器。從dm642傳輸過來的數(shù)據(jù)通過lxt971轉(zhuǎn)換為以太網(wǎng)物理層能接收的數(shù)據(jù)后,通過rj-45頭傳輸?shù)揭蛱鼐W(wǎng)。
存儲器擴(kuò)展電路
dm642內(nèi)部有16kb的一級程序緩存,16kb的一級數(shù)據(jù)緩存和256kb的程序數(shù)據(jù)共享二級緩存。但這對于直接處理圖像數(shù)據(jù)是不夠的,因此擴(kuò)展了兩片32mb的sdram來存放原始圖像數(shù)據(jù),4 mb的flash來存放應(yīng)用程序。二者都映射到dm642的外部數(shù)據(jù)空間。
cpld電路
本系統(tǒng)采用的cpld是xilinx公司的xc9572xl。該芯片具有72個宏單元,1600個邏輯門; 5ns pin-to-pin的邏輯延遲; 178mhz的系統(tǒng)頻率。cpld的功能主要是:為flash 、uart和cpld 異步寄存器空間作地址解碼;為flash產(chǎn)生3bit的頁選信號;監(jiān)控來自uart的電平中斷信號,轉(zhuǎn)換為邊沿觸發(fā)中斷信號送給dsp。
rs-485接口電路
該接口連接到攝像機(jī)的云臺,用來控制云臺的轉(zhuǎn)動,調(diào)整攝像頭的方向和位置。rs-485總線抗干擾能力強(qiáng),能實(shí)現(xiàn)多站點(diǎn)遠(yuǎn)距離通信。本壓縮卡擬采用uart芯片sc16c550和maxim公司的max487e來實(shí)現(xiàn)rs-485信號的傳輸。sc16c550主要功能是把dsp傳送過來的并行信號轉(zhuǎn)換為串行信號。sc16c550內(nèi)部的接收器和發(fā)送器各有16b的fifo,能處理的串行信號的速率高達(dá)3mbps。max487e是rs-485總線接口芯片,可以工作在全雙工、半雙工模式。傳輸速率可達(dá)2.5mbps。
電源電路
整個壓縮卡用一個5v的直流變壓器供電。由這個5v的電壓器產(chǎn)生1.4v和3.3v電壓分別給dsp內(nèi)核和 i/o端口供電,產(chǎn)生另外一個3.3v給視頻編解碼及其他芯片供電。注意這兩個3.3v電源要分開設(shè)計,以免電源噪聲相互干擾。
由于dsp需要兩種電壓,所以要考慮供電系統(tǒng)的配合問題。加電過程中,應(yīng)當(dāng)保證內(nèi)核電源先上電,最晚也應(yīng)當(dāng)與i/o電源一起加。關(guān)閉電源時,先關(guān)閉內(nèi)核電源,再關(guān)閉i/o電源。講究供電次序的原因在于:如果僅cpu內(nèi)核獲得供電,周邊i/o沒有供電,對芯片不會產(chǎn)生損害,只是沒有輸入/輸出能力而已。如果反過來,周邊i/o得到供電而cpu內(nèi)核沒有加電,那么芯片緩沖/驅(qū)動部分的晶體管將在一個未知狀態(tài)下工作,這是非常危險的。為了解決這個問題,本文采用了開關(guān)電源芯片tps54310pwp,把1.4v模塊的電源輸出有效引腳pg(power good)連接到3.3v模塊的允許電壓輸入引腳en
。這樣,只有當(dāng)1.4v電壓有效之后,3.3v電壓才開始上電,這就保證了dm642的內(nèi)核電壓先于i/o電壓上電。
軟件設(shè)計
在本系統(tǒng)中,圖像壓縮采用h.264標(biāo)準(zhǔn)。h.264具有很高的編碼效率,在相同的重建圖像質(zhì)量下,能夠比h.263節(jié)約50%左右的碼率。h.264的碼流結(jié)構(gòu)網(wǎng)絡(luò)適應(yīng)性強(qiáng),增加了差錯恢復(fù)能力,能夠很好地適應(yīng)ip和無線網(wǎng)絡(luò)的應(yīng)用。音頻編解碼采用g.729算法。網(wǎng)絡(luò)傳輸采用rtp/rtcp協(xié)議以及組播方式,這樣可以保證傳送的質(zhì)量。在操作系統(tǒng)方面,采用基于dsp/bios 的ti 參考架構(gòu)5(rf5)。基于rf5操作系統(tǒng)的應(yīng)用程序模塊主要包括:音視頻采集模塊、壓縮編碼模塊、uart控制模塊和網(wǎng)絡(luò)傳輸模塊?! ?/p>
結(jié)語
本方案能在一顆dm642芯片上實(shí)現(xiàn)網(wǎng)絡(luò)攝像機(jī)的幾乎全部功能,能對音視頻進(jìn)行實(shí)時的編解碼和實(shí)時的網(wǎng)絡(luò)傳輸。圖像質(zhì)量高、開發(fā)難度低、易于升級,是一種比較理想的網(wǎng)絡(luò)攝像機(jī)解決方案,可廣泛應(yīng)用于視頻監(jiān)控系統(tǒng)中。
評論