DM642開發(fā)與應(yīng)用
視頻實(shí)時(shí)處理,由于視頻處理中數(shù)據(jù)量大,要求速度快因此采用TM320DM642。視頻處理機(jī)應(yīng)用于視頻采集、視頻處理、視頻輸出的視頻實(shí)時(shí)處理。視頻處理機(jī)的解決方案有多種選擇,但是市場(chǎng)主流產(chǎn)品一般選擇兩種方案:1)采用CPU+ASIC。2)采用雙CPU結(jié)構(gòu),即一個(gè)嵌入式CPU和一個(gè)專用信號(hào)處理芯片DSP。受專用DSP芯片處理能力的限制,現(xiàn)有的嵌入式中使視頻處理機(jī)的視頻處理算法基本是H.263以下的標(biāo)準(zhǔn)。
l 硬件設(shè)計(jì)
本文介紹一種基于TMS320DM642 DSP的視頻采集設(shè)計(jì)方案。其操作系統(tǒng)、通信協(xié)議、網(wǎng)絡(luò)協(xié)議、音視頻處理軟件均在一顆TMS320DM642上實(shí)現(xiàn),降低了開發(fā)的難度。
TMS320DM642芯片簡(jiǎn)介:
TI公司的TMS320DM642(以下簡(jiǎn)稱DM642)是一款專門面向多媒體應(yīng)用的專用DSP。該DSP時(shí)鐘高達(dá)600MHz,8個(gè)并行運(yùn)算單元,處理能力達(dá)4800MIPS;采用二級(jí)緩存結(jié)構(gòu);具有64位外接存儲(chǔ)器接口;兼容IEEE—1149.1(JTAG)邊界掃描;為了面向多媒體應(yīng)用,還集成了3個(gè)可配置的視頻端口、面向音頻應(yīng)用的McASP(Multi Channel AudioSerial Pott)、10/100Mb/s的以太網(wǎng)MAC等外設(shè)。鑒于DM642的上述優(yōu)點(diǎn),本網(wǎng)系視頻處理機(jī)統(tǒng)以DM642為核心,完成音視頻信號(hào)的實(shí)時(shí)采集、壓縮及傳輸功能。
系統(tǒng)電路組成如圖1所示。從視頻處理機(jī)的視頻信號(hào)和從麥克風(fēng)輸入的音頻信號(hào)經(jīng)采集、A/D轉(zhuǎn)換為數(shù)字信號(hào)后送入DSP。DSP在信源處對(duì)音視頻信號(hào)進(jìn)行壓縮編碼和合流,然后通過(guò)局域網(wǎng)或因特網(wǎng)將數(shù)據(jù)傳輸給視頻監(jiān)控中心。監(jiān)控中心可同時(shí)監(jiān)視多個(gè)現(xiàn)場(chǎng),接收或發(fā)送報(bào)警信號(hào),并根據(jù)需要通過(guò)異步串行總線RS-485實(shí)時(shí)控制,調(diào)整攝像頭的方向和位置。
1.1 視頻采集電路
本系統(tǒng)采用的視頻解碼芯片是Philips公司的SAA7115。從模擬視頻輸入口輸入的全電視信號(hào)在SAA7115內(nèi)部經(jīng)過(guò)鉗位、抗混疊濾波、A/D轉(zhuǎn)換、YUV分離電路之后,在YUV到Y(jié)CrCb的轉(zhuǎn)換電路中轉(zhuǎn)換成BT.656視頻數(shù)據(jù)流,輸入到壓縮核心單元DM642中。DM642的3個(gè)視頻口VP0、VP1、VP2與視頻編解碼芯片相接。在本系統(tǒng)中,只有一路視頻輸入,故VP1、VP2端口,VP0通道配置為8位BT.656視頻輸入口。視頻數(shù)據(jù)的行/場(chǎng)同步信號(hào)包含在BT.656數(shù)字視頻數(shù)據(jù)流的EAV(end ofactive video)和SAV(start of active video)時(shí)基信號(hào)中,視頻口只需視頻采樣時(shí)鐘和采樣使能信號(hào)即可。SAA7115內(nèi)部寄存器參數(shù)的配置和狀態(tài)的讀出通過(guò)I2C總線進(jìn)行。視頻接口的原理如圖2所示。
1.2 視頻編碼電路
本系統(tǒng)采用的視頻編碼芯片是Philips公司的SAA7105H。DM642的視頻口2用來(lái)驅(qū)動(dòng)視頻編碼器,視頻信號(hào)經(jīng)過(guò)FPGA芯片,連到視頻編碼芯片PhilipsSAA7105H。FPGA用于擴(kuò)展屏幕顯示功能。視頻輸出信號(hào)支持RGB,高清晰度視頻,PAL/NTSC復(fù)合視頻和s端子視頻信號(hào)。通過(guò)DM642的I2C總線對(duì)的內(nèi)部寄存器編程實(shí)現(xiàn)不同輸出。
1.3 音頻輸入/輸出電路
本系統(tǒng)采用TI的高性能立體聲編解碼器TLV320AIC23(以下簡(jiǎn)稱AIC23)實(shí)現(xiàn)音頻信號(hào)的采集和播放。AIC23與DM642的I/0電壓兼容,可以實(shí)現(xiàn)與DM642的McASP接口無(wú)縫連接。在本系統(tǒng)中,AIC23工作于主模式,左右聲道的采樣字寬均為16bit。數(shù)據(jù)接口為DSP mode模式。通過(guò)I2C總線設(shè)置內(nèi)部寄存器的工作參數(shù)和反饋狀態(tài)信息。
因?yàn)榫W(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)PLLl708,從SAA7115的LLC引腳輸出27MHz時(shí)鐘,經(jīng)PLLl708產(chǎn)生AIC23的主時(shí)鐘MCLK。由于音視頻采樣信號(hào)采用同一個(gè)時(shí)鐘源,就不會(huì)出現(xiàn)音視頻不同步的問(wèn)題。PLLl708的SCKO3引腳輸出默認(rèn)時(shí)鐘頻率18.433MHz,作為AIC23的輸入主時(shí)鐘MCLK。AIC23內(nèi)部采用的時(shí)鐘可通過(guò)設(shè)置寄存器由主時(shí)鐘MCLK分頻得到如圖3。
[!--empirenews.page--]1.4 以太網(wǎng)接口電路
本系統(tǒng)用LXT97l作為快速以太網(wǎng)物理層自適應(yīng)收發(fā)器。由于LXT971支持IEEE 802.3標(biāo)準(zhǔn),提供MII(mediaindependent interface)接口,可以支持MAC,而DM642內(nèi)部正好集成有以太網(wǎng)媒體存取控制器,所以LXT971可以和DM642實(shí)現(xiàn)無(wú)縫連接。連接電路如圖3所示,其中BHll02為l:1的隔離變壓器。從DM642傳輸過(guò)來(lái)的數(shù)據(jù)通過(guò)LXT971轉(zhuǎn)換為以太網(wǎng)物理層能接收的數(shù)據(jù)后,通過(guò)RJ一45頭傳輸?shù)揭蛱鼐W(wǎng)。
1.5 存儲(chǔ)器擴(kuò)展電路
DM642內(nèi)部有16KB的一級(jí)程序緩存,16KB的一級(jí)數(shù)據(jù)緩存和256KB的程序數(shù)據(jù)共享二級(jí)緩存。但這對(duì)于直接處理圖像數(shù)據(jù)是不夠的,因此擴(kuò)展了兩片32MB的SDRAM來(lái)存放原始圖像數(shù)據(jù),4MB的FLASH來(lái)存放應(yīng)用程序。二者都映射到DM642的外部數(shù)據(jù)空間。如圖4。
1.6 FPGA電路
SPARTAN一3是XILINX公司生產(chǎn)的一種低工耗易開發(fā)應(yīng)用。Spartan一3 FPGA具有兩種類型的內(nèi)存,可以滿足不同的設(shè)計(jì)需求,即最大1.8Mb的真實(shí)雙端口塊RAM和最大520KB的分布式RAM,其封裝形式為16位深×1位寬,可用作移位寄存器和FIFO。先進(jìn)的時(shí)鐘管理為高性能電路的設(shè)計(jì)者提供了更大的靈活性和更強(qiáng)的控制能力,最多四個(gè)數(shù)字時(shí)鐘管理器(DCM),并帶有9個(gè)外部輸出;8個(gè)預(yù)設(shè)的全球時(shí)鐘網(wǎng)絡(luò),即8根全局時(shí)鐘線路和豐富的尋址。最多104個(gè)18×18乘法器,該乘法器模塊允許兩個(gè)18位二進(jìn)制作為輸入并計(jì)算輸出36位結(jié)果,而專用的進(jìn)位邏輯和高效級(jí)聯(lián),可實(shí)現(xiàn)更多功能。每秒最多3300億次乘法和累加運(yùn)算(MAC/s)、優(yōu)秀的高速DSP功能的并行實(shí)現(xiàn)能力、靈活的串聯(lián)架構(gòu),可實(shí)現(xiàn)成本砌能需求的最佳組合。
FPGA在視頻處理機(jī)中完成屏幕顯示功能,在默認(rèn)模式下,DM642視頻口2的數(shù)據(jù)可直接輸出到視頻編碼芯片,在需要屏幕顯示功能時(shí),F(xiàn)PGA把內(nèi)部FIFO中的數(shù)據(jù)和視頻口輸出得數(shù)據(jù)混和,對(duì)FPGA內(nèi)部FIFO的訪問(wèn)可以通過(guò)對(duì)DM642的EMIF的CE3的地址空間的同步模式的訪問(wèn)實(shí)現(xiàn)。FPGA的同步存儲(chǔ)器位于DM642的CE3地址空間,主要用于實(shí)現(xiàn)屏幕顯示功能和粘和邏輯。
1.7 RS-485接口電路
該接口連接到攝像機(jī)的云臺(tái),用來(lái)控制云臺(tái)的轉(zhuǎn)動(dòng),調(diào)整攝像頭的方向和位置。RS-485總線抗干擾能力強(qiáng),能實(shí)現(xiàn)多站點(diǎn)遠(yuǎn)距離通信。本壓縮卡擬采用UART芯片SCl6C550和MAXIM公司的MAX487E來(lái)實(shí)現(xiàn)RS-485信號(hào)的傳輸。SCl6C550主要功能是把DSP傳送過(guò)來(lái)的并行信號(hào)轉(zhuǎn)換為串行信號(hào)。SCl6C550內(nèi)部的接收器和發(fā)送器各有16B的FIF0,能處理的串行信號(hào)的速率高達(dá)3Mbps。MAX487E是RS-485總線接口芯片,可以工作在全雙工、半雙工模式。傳輸速率可達(dá)2.5Mbps。
1.8 電源電路
整個(gè)壓縮卡用一個(gè)5V的直流變壓器供電。由這個(gè)5V的電壓器產(chǎn)生1.4V和3.3V電壓分別給DSP內(nèi)核和I/O端口供電,產(chǎn)生另外一個(gè)3.3V給視頻編解碼及其他芯片供電。注意這兩個(gè)3.3V電源要分開設(shè)計(jì),以免電源噪聲相互干擾。
由于DSP需要兩種電壓,所以要考慮供電系統(tǒng)的配合問(wèn)題。加電過(guò)程中,應(yīng)當(dāng)保證內(nèi)核電源先上電,最晚也應(yīng)當(dāng)與I/O電源一起加。關(guān)閉電源時(shí),先關(guān)閉內(nèi)核電源,再關(guān)閉I/O電源。講究供電次序的原因在于:如果僅CPU內(nèi)核獲得供電,周邊I/O沒有供電,對(duì)芯片不會(huì)產(chǎn)生損害,只是沒有輸入/輸出能力而已。如果反過(guò)來(lái),周邊I/O得到供電而CPU內(nèi)核沒有加電,那么芯片緩沖/馬區(qū)動(dòng)部分的晶體管將在一個(gè)未知狀態(tài)下工作,這是非常危險(xiǎn)的。
為了解決這個(gè)問(wèn)題,本文采用了開關(guān)電源芯片TPS54310PWP,采用TPS54310PWP管腳SS/ENA接電容來(lái)使內(nèi)核供電與I/O端口供電,這樣,只有當(dāng)1.4V電壓有效之后,3.3V電壓才開始上電,這就保證了DM642的內(nèi)核電壓先于I/O電壓上電。
2 軟件設(shè)計(jì)
在本系統(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),增加了差錯(cuò)恢復(fù)能力,能夠很好地適應(yīng)IP和無(wú)線網(wǎng)絡(luò)的應(yīng)用。音頻編解碼采用G.729算法。網(wǎng)絡(luò)傳輸采用RTP/RTCP協(xié)議以及組播方式,這樣可以保證傳送的質(zhì)量。在操作系統(tǒng)方面,采用基于DSP/BIOS的TI參考架構(gòu)5(RF5)?;赗F5操作系統(tǒng)的應(yīng)用程序模塊主要包括:音視頻采集模塊、壓縮編碼模塊、UART控制模塊和網(wǎng)絡(luò)傳輸模塊。
3 結(jié)束語(yǔ)
本方案能在一顆DM642芯片上實(shí)現(xiàn)視頻處理機(jī)的幾乎全部功能,能對(duì)音視頻進(jìn)行實(shí)時(shí)的編解碼和實(shí)時(shí)的網(wǎng)絡(luò)傳輸。圖像質(zhì)量高、開發(fā)難度低、易于升級(jí),是一種比較理想的視頻處機(jī)解決方案,可廣泛應(yīng)用于視頻監(jiān)控系統(tǒng)中。