基于S3C2510A的嵌入式數(shù)字硬盤錄像機(jī)的設(shè)計(jì)
數(shù)字硬盤錄像機(jī),英文名稱為Digital Video Recorder,簡(jiǎn)稱DVR,它是視頻監(jiān)控系統(tǒng)中重要的設(shè)備,用于替代早期的長(zhǎng)延時(shí)錄像機(jī)或者磁帶錄像機(jī)。目前硬盤錄像機(jī)從硬件架構(gòu)上分主要分為工控式硬盤錄像機(jī)(或者工控硬盤錄像機(jī)或者PC式硬盤錄像機(jī))、嵌入式硬盤錄像機(jī),從壓縮算法來(lái)分有小波壓縮、MJPEG、MPEG4、H.264等。目前工控式硬盤錄像機(jī)和嵌入式硬盤錄像機(jī)所占市場(chǎng)比重差不多,由于嵌入式硬盤錄像機(jī)的穩(wěn)定性及易維護(hù)性,選擇嵌入式硬盤錄像機(jī)的用戶會(huì)越來(lái)越多,市場(chǎng)前景非常大。基于這種應(yīng)用背景,本文提出了嵌入式硬盤錄像機(jī)的設(shè)計(jì)思路和實(shí)現(xiàn)方案。
系統(tǒng)總體方案
1 技術(shù)指標(biāo)
本系統(tǒng)的主要技術(shù)指標(biāo)如下。
● 視頻輸入:16路復(fù)合視頻輸入PAL/NTSC。
● 視頻輸出:2路復(fù)合視頻輸出PAL/NTSC(BNC接口,1.0VP-P, 75Ω)。
● 音頻輸出:16路音頻輸入20~100mV10kΩ(RCA)。
● 音頻輸出:2路音頻輸出,20~100mV,1kΩ(RCA)。
● 系統(tǒng)資源:同時(shí)多路錄像、同時(shí)錄像回放、同時(shí)網(wǎng)絡(luò)操作。
● 圖像壓縮:增強(qiáng)型H.264,視頻和音頻信號(hào)壓縮后生成復(fù)合的H.264碼流,碼流回放時(shí)視頻和音頻保持同步。也可設(shè)置單一視頻流。
● 音頻壓縮:G.729
2 設(shè)計(jì)方案
根據(jù)系統(tǒng)要求的技術(shù)指標(biāo),本文設(shè)計(jì)的16路嵌入式DVR系統(tǒng)硬件部分采用了主從式雙CPU架構(gòu)模式。主CPU選用了ARM9處理器,具體型號(hào)為三星半導(dǎo)體的S3C2510A,從CPU選用DSP處理器,具體型號(hào)為美國(guó)德州儀器(TI)的多媒體處理芯片TMS320DM648。主從CPU之間通過(guò)PCI總線進(jìn)行通信。
整個(gè)系統(tǒng)的工作流程設(shè)計(jì)為:系統(tǒng)上電或復(fù)位后,主CPU S3C2510A從Flash加載程序,完成對(duì)芯片的初始化和外圍硬件的配置,之后從CPU TMS320DM648便開始進(jìn)行圖像采集。從CPU通過(guò)I2C口對(duì)系統(tǒng)中的視頻解碼芯片進(jìn)行控制,將從攝像頭采集到的模擬視頻信號(hào)轉(zhuǎn)換為數(shù)字視頻信號(hào),送入DM648的視頻通道(VP端口);同步采集到的模擬音頻信號(hào)經(jīng)過(guò)音頻編解碼器模/數(shù)轉(zhuǎn)換后,送入DM648的音頻通道(McASP端口)。DM648將接收到的數(shù)字視頻信號(hào)和數(shù)字音頻信號(hào)數(shù)據(jù)分別進(jìn)行壓縮,再把壓縮視頻流和壓縮音頻流進(jìn)行同步復(fù)合,產(chǎn)生H.264視頻復(fù)合流,再通過(guò)PCI總線上傳給主CPU,主CPU將從PCI接口收到的數(shù)據(jù)以文件的格式存儲(chǔ)到本地硬盤,供日后調(diào)用;同步將復(fù)合數(shù)據(jù)流傳送給圖像預(yù)覽芯片進(jìn)行顯示。整個(gè)DVR系統(tǒng)框架圖如圖1所示。
圖1 DVR系統(tǒng)框圖
[!--empirenews.page--]系統(tǒng)原理設(shè)計(jì)
1 S3C2510A ARM9處理器簡(jiǎn)介
S3C2510A是三星半導(dǎo)體生產(chǎn)的16/32位的RISC微控制器,屬于ARM9處理器系列,是針對(duì)基于以太網(wǎng)系統(tǒng)的低成本、高性能的微控制器解決方案。
2 TMS320DM648數(shù)字信號(hào)處理器簡(jiǎn)介
TMS320DM648是TI公司于2007年推出的一款高性能的32位定點(diǎn)DSP,主要面向數(shù)字媒體應(yīng)用,屬于C6000系列DSP。
DM648保留了C64X原有的內(nèi)核結(jié)構(gòu),工作頻率由內(nèi)部倍頻器設(shè)置,可以達(dá)到720MHz、800MHz或900MHz,相應(yīng)的時(shí)鐘周期為1.39ns、1.25ns或1.11ns,每秒可執(zhí)行指令數(shù)5760、6400和7200MIPS。此外DM648片上帶有5個(gè)雙通道(A、B兩通道)數(shù)字視頻口(VP口),可同時(shí)處理多路數(shù)字視頻流,片上帶有多通道串行音頻接口,可同時(shí)處理10路立體聲輸入/輸出音頻信號(hào)。
圖2 TMS320DM648結(jié)構(gòu)圖
核心模塊原理設(shè)計(jì)
整個(gè)數(shù)字硬盤錄像機(jī)根據(jù)功能可以劃分以下幾大核心模塊:
①主控制模塊;
②視音頻采集、壓縮模塊;
③視音頻預(yù)覽、回放模塊;
④其他模塊(電源、存儲(chǔ)器擴(kuò)展、網(wǎng)絡(luò)傳輸、邏輯控制等);
本文詳細(xì)介紹主控制模塊和視頻處理模塊的設(shè)計(jì)。
1 主控制模塊
本模塊主要實(shí)現(xiàn)系統(tǒng)的控制,對(duì)整個(gè)系統(tǒng)任務(wù)的運(yùn)行進(jìn)行分配與調(diào)度。S3C2510A本身內(nèi)置PCI控制器,5個(gè)PCI接口可分別和2個(gè)音/視頻壓縮模塊,1個(gè)圖像預(yù)覽,回放模塊,2個(gè)數(shù)據(jù)存儲(chǔ)模塊連接;再加上已有的串口,USB接口,網(wǎng)絡(luò)接口,I/O等組成整個(gè)系統(tǒng)的控制模塊。設(shè)計(jì)思路如圖3所示。
圖3 主控制模塊設(shè)計(jì)框圖
2 視音頻采集/壓縮模塊
視音頻信號(hào)處理的流程如下:模擬視頻信號(hào)先經(jīng)視頻解碼器TVP5154A轉(zhuǎn)換成8位YUV數(shù)字視頻信號(hào)Y[7:0],再送至DM648的視頻輸入接口。模擬音頻信號(hào)經(jīng)音頻AD轉(zhuǎn)換器PCM1801轉(zhuǎn)換為I2S格式的音頻數(shù)據(jù),進(jìn)入多媒體壓縮芯片的音頻輸入接口,DM648將原始的視頻和音頻數(shù)據(jù)分別進(jìn)行壓縮,再把壓縮視頻流和壓縮音頻流進(jìn)行同步復(fù)合,產(chǎn)生H.264視頻復(fù)合流。一片DM648可以同時(shí)產(chǎn)生8個(gè)視/音頻通道的H.264復(fù)合數(shù)據(jù)流。DM648把每個(gè)視/音頻通道的復(fù)合視頻數(shù)據(jù)在片外DDRAM的數(shù)據(jù)緩沖區(qū)中排列成固定長(zhǎng)度的數(shù)據(jù)包。當(dāng)緩沖區(qū)內(nèi)的數(shù)據(jù)量超過(guò)一定的閾值,它就通過(guò)PCI中斷向主CPU發(fā)出請(qǐng)求,當(dāng)中斷被響應(yīng)時(shí),主CPU從包緩沖區(qū)內(nèi)將數(shù)據(jù)取走。
DM648具有5個(gè)視頻端口,支持多種分辨率和標(biāo)準(zhǔn),如CCIR601、ITU-BT.656、BT.1120等,每個(gè)端口為20bit位寬,可以被靈活的配置為一個(gè)20/16bit或兩個(gè)10/8bit通道。同時(shí),每個(gè)端口都可配置為視頻輸入或視頻輸出。
TVP5154A具有4個(gè)通道,每個(gè)通道均為具有可編程多態(tài)換算器(polymorphic scaler)的獨(dú)立解碼器,可通過(guò)嵌入式同步模塊將NTSC、PAL或SECAM視頻信號(hào)轉(zhuǎn)換成8位ITU-R BT.656格式,或使用分立同步模塊使輸出格式為8位4:2:2。
模擬攝像頭進(jìn)行視頻數(shù)據(jù)采集,TVP5154A將采集到的模擬數(shù)據(jù)進(jìn)行數(shù)字化,然后送給DM648的視頻端口進(jìn)行壓縮處理。4片TI公司生產(chǎn)的TVP5154A,與2個(gè)DM648的連接可組成16路的視頻采集,壓縮模塊如圖4所示(只給出了8路的連接圖)。[!--empirenews.page--]
圖4中,TVP5154A的CH1_OUT,CH2_OUT,CH3_OUT,CH4_OUT口與1片DM648的VP0,VP1口直接連接,組成1個(gè)8路的視頻采集,壓縮模塊,用于數(shù)據(jù)的傳輸。DM648通過(guò)I2C總線對(duì)TVP5154A內(nèi)部寄存器進(jìn)行讀寫,達(dá)到控制該芯片的目的。
圖4 視音頻采集壓縮模塊框圖
音頻輸入采集模塊由8個(gè)PCMl801U型音頻采集電路及其外圍電路組成,主要功能是對(duì)由拾音器采集輸入的模擬音頻信號(hào)進(jìn)行采樣,然后將其轉(zhuǎn)換為DSP可以處理的數(shù)字音頻數(shù)據(jù)格式。PCMl801U是采用5V工作電壓的雙聲道16位音頻模/數(shù)(A/D)轉(zhuǎn)換器,包括1個(gè)單端-差分模擬前端、1個(gè)5階△一∑調(diào)制器(64倍重復(fù)取樣)、1個(gè)內(nèi)部高通數(shù)字均分濾波器。
DM648有專門的McASP,與4個(gè)PCMl801U連接,實(shí)現(xiàn)音頻的輸入采集功能。用PCMl801U的左、右2個(gè)16位音頻聲道獲取4路音頻通道的數(shù)字化數(shù)據(jù),音頻采集的數(shù)據(jù)格式為每路單聲道、44.1kHz采樣率,每個(gè)采樣數(shù)據(jù)用8位量化。采集輸出的數(shù)字音頻數(shù)據(jù)通過(guò)McASP傳給DSP的輸入緩沖區(qū)單元,當(dāng)設(shè)定用于存放音頻采樣數(shù)據(jù)的緩存器已滿時(shí)產(chǎn)生DMA中斷,并在DMA中斷服務(wù)程序中根據(jù)實(shí)際設(shè)定情況處理音頻數(shù)據(jù),經(jīng)過(guò)實(shí)時(shí)編碼壓縮后的音頻數(shù)據(jù)存儲(chǔ)到外部SDRAM中。
PCB設(shè)計(jì)
本系統(tǒng)的主頻高達(dá)166MHz,屬于高頻系統(tǒng),所以在進(jìn)行PCB的設(shè)計(jì)時(shí),必須進(jìn)行抗高頻干擾的設(shè)計(jì)與處理。DM648作為高性能數(shù)字媒體處理器不僅內(nèi)部具有很高的運(yùn)行頻率,而且與外部的DDRAM的總線速度也達(dá)到266MHz或333MHz,如果外部的DDRAM由于布線原因達(dá)不到設(shè)計(jì)的希望速度,會(huì)降低系統(tǒng)的性能。此外由于100MHz以上的信號(hào)總線,存在信號(hào)完整性問(wèn)題。為了保證信號(hào)的完整,在設(shè)計(jì)的時(shí)候采用了如下方法:
(1)對(duì)DDRAM的時(shí)鐘線,盡量走短線,而且到兩個(gè)DDRAM的長(zhǎng)度盡量做到相等;
(2)FLASH等其他外設(shè)不要直接與數(shù)據(jù)和地址總線連接,而是通過(guò)緩沖芯片(如SN74LVT16245B)連接;
(3)高速總線上串入了小阻值電阻,阻值大小通過(guò)Protel軟件仿真得到,同時(shí)對(duì)線路進(jìn)行了阻抗限制。
此外,由于DM648內(nèi)部有PLL,對(duì)PLL外部所接器件,讓它們盡可能的靠近芯片,而且只放在了線路板的一面上。對(duì)于JTAG的連線長(zhǎng)度不超過(guò)6英寸,如果超過(guò)6英寸長(zhǎng)的加了驅(qū)動(dòng)。本系統(tǒng)中既有模擬部分又有數(shù)字部分,所以在設(shè)計(jì)的時(shí)候,特別注意了模擬電源和數(shù)字電源的設(shè)計(jì),盡量減少數(shù)字信號(hào)對(duì)模擬信號(hào)的干擾,否則對(duì)采集的視頻信號(hào)會(huì)有雪花、條紋,音頻信號(hào)產(chǎn)生噪聲等。對(duì)視頻、音頻芯片采用了單獨(dú)的電源芯片供電,模擬地和數(shù)字地通過(guò)單點(diǎn)或采用磁珠相連。
以上的抗高頻干擾方法的采用,使得整個(gè)系統(tǒng)在調(diào)試的過(guò)程中能夠順利的進(jìn)行。