目前嵌入式視頻監(jiān)視系統(tǒng)已成為國(guó)內(nèi)外視頻監(jiān)視系統(tǒng)應(yīng)用的主流,但是在IPv4平臺(tái)下存在地址不足、不能合理分配帶寬、安全性能及移動(dòng)性能差等諸多問(wèn)題,而新一代IPv6協(xié)議不僅能很好地解決以上問(wèn)題,還具有可以提高視頻傳輸速度和傳輸質(zhì)量等多方面的優(yōu)點(diǎn)。如何使嵌入式監(jiān)視系統(tǒng)與IPv6技術(shù)相結(jié)合已經(jīng)成為當(dāng)前監(jiān)視系統(tǒng)研究的一個(gè)重要方向[1-2]。
嵌入式視頻監(jiān)視系統(tǒng)的實(shí)現(xiàn)方式一般有兩種:ARM+通用DSP和ARM+專(zhuān)用視頻處理芯片[3-4]??紤]到基于DSP的解決方案成本太高、開(kāi)發(fā)難度大等特點(diǎn),本文采用了成本低、開(kāi)發(fā)周期短的第二種方案。
1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)的主要芯片之間通過(guò)I2C總線相連接,這樣設(shè)計(jì)不僅方便各主要芯片之間的通信,例如,ARM處理器可直接控制視頻解碼器SAA7113H,而且方便系統(tǒng)升級(jí),例如擴(kuò)展存儲(chǔ)器、更新芯片。SAA7113H采集AV端子(Composite Video)的視頻信號(hào)處理成ITU656格式的數(shù)據(jù)送到GO7007SB,MSM7716采集來(lái)自麥克風(fēng)的音頻信號(hào)處理成PCM格式數(shù)據(jù)送到GO7007SB,GO7007SB將采集到的音視頻數(shù)據(jù)進(jìn)行壓縮,壓縮后的數(shù)據(jù)流經(jīng)過(guò)HPI(Host Parallel Interface)接口傳輸?shù)紸RM微處理器S3C2410,S3C2410將壓縮數(shù)據(jù)發(fā)送給以太網(wǎng)接口運(yùn)用IPv6協(xié)議傳輸?shù)骄W(wǎng)絡(luò)[5]。系統(tǒng)的結(jié)構(gòu)圖如圖1所示。
2 視頻采集模塊設(shè)計(jì)
視頻采集由Philips公司的視頻捕獲芯片SAA7113H完成。該芯片是可編程視頻處理芯片,主要完成模擬視頻信號(hào)的數(shù)字采樣,將模擬彩色視頻信號(hào)轉(zhuǎn)換成符合ITU656標(biāo)準(zhǔn)輸出格式的數(shù)字視頻信號(hào),前端輸入的視頻信號(hào)可以是PAL制式、NTSC制式或者SECAM制式。它不僅能夠?qū)崿F(xiàn)輸入信號(hào)的幅度鉗位和靜態(tài)、動(dòng)態(tài)增益自動(dòng)調(diào)整,而且還包含一個(gè)可編程的亮度、對(duì)比度、飽和度及色度控制器,可實(shí)時(shí)地調(diào)整采集到的數(shù)字圖像參數(shù)。片外只需提供一個(gè)24.576 MHz的晶振,片內(nèi)時(shí)鐘發(fā)生器自動(dòng)產(chǎn)生內(nèi)部電路所需的工作頻率。SAA7113HH在GO7007SB的I2C總線時(shí)序的控制下,將處理后的ITU656 YUV 4:2:2格式的數(shù)字圖像數(shù)據(jù)通過(guò)數(shù)據(jù)線傳送到G07007SB[6]。在GO7007SB與SAA7113H之間的I2C總線空閑時(shí),ARM處理器可以通過(guò)I2C總線對(duì)SAA7113H內(nèi)部寄存器進(jìn)行設(shè)置。GO7007SB的數(shù)據(jù)線PDATA是1個(gè)10位的并行輸入接口,接口時(shí)鐘由像素時(shí)鐘(PCLK)提供。來(lái)自SAA7113H的視頻源是8位的,應(yīng)該連接到10位PDATA總線的高8位上,此時(shí),低2位可以連接到高電平或低電平。本設(shè)計(jì)中的模擬視頻輸入端提供了復(fù)合視頻信號(hào)接口[7]。
SAA7113H輸出的同步信號(hào)包括LLC、RTS0、RTS1。LLC是行鎖定系統(tǒng)時(shí)鐘輸出,與PCLK相連,取PCLK的最大值,即27MHz,用來(lái)同步數(shù)據(jù)采集,使得1個(gè)LLC周期輸出1bit的圖像數(shù)據(jù)。在圖像數(shù)據(jù)有效時(shí),其上升沿反相后作為幀存儲(chǔ)器的WE#信號(hào)。RTS0、RTS1的功能是通過(guò)編程設(shè)置SAA7113H功能寄存器確定的。RTS0被設(shè)置為水平輸出與HREF連接的參考信號(hào)(行有效信號(hào))。RTS0高電平時(shí)表示采集一行有效像素,低電平時(shí)表示場(chǎng)消隱信號(hào)。RTS1被設(shè)置為垂直輸出參考信號(hào)和奇偶場(chǎng)信號(hào),與VREF連接。RTS1高電平時(shí)表示采集奇場(chǎng)圖像所需要的有效數(shù)據(jù),在RTS1上升沿時(shí),開(kāi)始采集奇場(chǎng)圖像數(shù)據(jù),同時(shí)它也被用來(lái)作為幀圖像開(kāi)始的信號(hào);RTS1低電平時(shí)表示采集偶場(chǎng)中所需要的圖像數(shù)據(jù),在RTS1下降沿時(shí),開(kāi)始采集偶場(chǎng)圖像數(shù)據(jù)[8]。
3 音頻采集模塊設(shè)計(jì)
音頻采集是由OKI公司生產(chǎn)的音頻解碼芯片MSM7716完成的。MSM7716在部件模式下運(yùn)行而GO7007SB在主機(jī)模式下運(yùn)作。音頻數(shù)據(jù)經(jīng)MAIN 引腳輸入,其內(nèi)部和外部電路如圖2所示。在內(nèi)部,MAIN與op-amp的同項(xiàng)輸入相連,而MAO與op-amp的輸出相連。BCLK與GO7007SB的BCLK連接,其頻率與數(shù)據(jù)率一致。SYNC作為同步信號(hào)與GO7007SB的LRCK連接。 這些同步信號(hào)啟動(dòng)了PLL并且使傳送部分的所有調(diào)速信號(hào)同步化。接收部分的信號(hào)也被這些同步信號(hào)同步化。此信號(hào)必須在BCLK階段被同步化[9]。
4 音視頻壓縮模塊設(shè)計(jì)
GO7007SB是單片多式視頻壓縮芯片,它使用復(fù)合算法將原視頻數(shù)據(jù)緩沖并壓縮成視頻流,輸出視頻流形式為MPEG-1、MPEG-2、MPEG-4或 H.263。
時(shí)鐘系統(tǒng)視為帶有適用低電平的MPLL_BP 和 UPLL_BP 引腳的內(nèi)部PLL模式設(shè)計(jì)。主時(shí)鐘由芯片振蕩器和PLL產(chǎn)生。MCLK頻率是96MHz。在這種情況下,MXI和MXO之間需要一個(gè)外部R-C-Crystal tank,如圖3所示。
MT48LC2M32B2是64MB SDRAM (512K×32×4 backs), 被用作外部數(shù)據(jù)緩沖器。為了改進(jìn)SDRAM的時(shí)鐘定時(shí)功能,GO7007SB為SDRAM提供SDRAM信號(hào)以及時(shí)鐘信號(hào)[10]。該時(shí)鐘被設(shè)計(jì)為SDRAM_CLK.。SDRAM_CLK 引腳驅(qū)動(dòng)SDRAM 裝置并為SDRAM_CLK_LB 引腳提供反饋。在讀取周期中,反饋時(shí)鐘獲得SDRAM數(shù)據(jù)。無(wú)需任何復(fù)雜的PCB設(shè)計(jì)SDRAM數(shù)據(jù)可以符合96 MHz的設(shè)計(jì)時(shí)間。SDRAM 時(shí)鐘的設(shè)計(jì)如圖4所示。
2KB EEPROM用于存儲(chǔ)裝置的啟動(dòng)設(shè)置,由I2C控制器進(jìn)行控制。所以用戶可以將定制的描述符ID、接口和端點(diǎn)設(shè)置存儲(chǔ)在芯片上。另外,它還能存儲(chǔ)定制內(nèi)部寄存設(shè)置、啟動(dòng)碼以及自動(dòng)固件。