《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于DSP+FPGA多視頻通道的切換控制
基于DSP+FPGA多視頻通道的切換控制
電子設(shè)計(jì)工程
李國(guó)軍 敬守釗 黃自力 唐湘成
摘要: 為了擴(kuò)大監(jiān)控范圍,提高資源利用率,,降低系統(tǒng)成本,,提出了一種多通道視頻切換的解決方案,。首先從視頻信號(hào)分離出行場(chǎng)信號(hào),,然后根據(jù)行場(chǎng)信號(hào)由DSP和FPGA產(chǎn)生控制信號(hào),,控制多路視頻通道之間的切換,,從而實(shí)現(xiàn)讓一個(gè)視頻處理器同時(shí)監(jiān)控不同場(chǎng)景,。實(shí)驗(yàn)結(jié)果表明,,誼方案可以在視頻監(jiān)控告警系統(tǒng)中穩(wěn)定,、可靠地實(shí)現(xiàn)視頻通道的切換。
關(guān)鍵詞: FPGA Blackfin BF561 EP3C40F48C SDRAM Flash
Abstract:
Key words :

隨著計(jì)算機(jī)和數(shù)字圖像處理技術(shù)的飛速發(fā)展,,視頻監(jiān)控技術(shù)應(yīng)用廣泛,。傳統(tǒng)的視頻監(jiān)控系統(tǒng)都是用單一攝像頭對(duì)某一固定場(chǎng)景進(jìn)行監(jiān)控,不僅視頻的視野范圍有限,,而且不能對(duì)同一個(gè)物體的不同方位進(jìn)行監(jiān)控,。這里提出了一種多通道視頻監(jiān)控系統(tǒng),通過(guò)對(duì)不同視頻通道穩(wěn)定,、可靠地切換控制,,實(shí)現(xiàn)監(jiān)控不同場(chǎng)景。該系統(tǒng)不僅彌補(bǔ)了傳統(tǒng)監(jiān)控視頻范圍有限的不足,,而且提高了監(jiān)控資源的利用率,,降低了監(jiān)控
成本,。

1 系統(tǒng)硬件結(jié)構(gòu)
   
采用DSP+FPGA的硬件結(jié)構(gòu)方案,利用DSP和FPGA控制MAX4312選通所需要的視頻通道,,從而達(dá)到在多路視頻通道間進(jìn)行切換的目的,。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。


1.1 控制器件的選型
   
根據(jù)實(shí)際需要,,DSP采用ADI公司推出的Blackfin" title="Blackfin">Blackfin系列高性能處理器ADSP_BF561" title="BF561">BF561(以下簡(jiǎn)稱BF561)作為算法處理和控制核心,,BF561處理器包含2個(gè)獨(dú)立的BF533內(nèi)核,每個(gè)內(nèi)核分別包含2個(gè)乘/累加器(MAC),,2個(gè)40位的ALU,,4個(gè)視頻ALU和1個(gè)40位移位器。Blackfin處理器采用改進(jìn)
的哈佛結(jié)構(gòu)和分級(jí)的存儲(chǔ)器結(jié)構(gòu),。L1存儲(chǔ)器一般以全速運(yùn)行,,沒(méi)有或只有很少延遲。L2是另一級(jí)存儲(chǔ)器,,分布在片內(nèi)或片外,,對(duì)其訪問(wèn)會(huì)消耗多個(gè)處理器周期。在L1級(jí),,指令存儲(chǔ)器只存放指令,,2個(gè)數(shù)據(jù)存儲(chǔ)器存放數(shù)據(jù),1個(gè)專用的臨時(shí)數(shù)據(jù)存儲(chǔ)器存儲(chǔ)堆棧和局部變量信息,。在L2級(jí),,采用統(tǒng)一的存儲(chǔ)空間,可以存放指令和數(shù)據(jù),。這里采用L2級(jí)存儲(chǔ)器,。
    FPGA采用Altera公司的EP3C40F48C" title="EP3C40F48C">EP3C40F48C對(duì)視頻信號(hào)進(jìn)行預(yù)處理,該芯片具有多達(dá)24 624個(gè)邏輯單元,,具有高級(jí)外部存儲(chǔ)器接口,,允許將外部單數(shù)據(jù)率(SDR)SDRAM" title="SDRAM">SDRAM,雙數(shù)據(jù)率(DDR)SDRAM和DDR FCRAM器件集成到復(fù)雜系統(tǒng)設(shè)計(jì)中,,而不會(huì)降低數(shù)據(jù)訪問(wèn)性能,,具有129個(gè)兼容的LVDS通道,每個(gè)通道數(shù)據(jù)率高達(dá)640 Mb/8,,還有4個(gè)可編程鎖相環(huán)和8個(gè)全局時(shí)鐘線,。另外EP3C40F484C的功耗較低,全局運(yùn)行時(shí)總功耗為300 mW左右,。
1.2 Flash" title="Flash">Flash的設(shè)計(jì)
   
根據(jù)系統(tǒng)設(shè)計(jì)的需要,,F(xiàn)lash采用CMOS型的M29W640D,其空間為18 Mx16 bit。該系統(tǒng)中,,外部數(shù)據(jù)線為D1~D15,,地址線為A2~A22。連接時(shí)需要注意,,因?yàn)镕lash是16 bit位寬,,硬件連接上需要地址錯(cuò)位,即DSP的A2對(duì)應(yīng)Flash的A1,,DSP的A3對(duì)應(yīng)Flash的A2,,依次類推。在軟件
編程上,,任何對(duì)Flash的操作,,如擦除、寫(xiě)入,,均要先對(duì)特定地址寫(xiě)入一定數(shù)量固定的控制命令字,,即簽到指令,這樣確保在通電和斷電時(shí),,不會(huì)對(duì)存儲(chǔ)器誤操作,。
1.3 SDRAM的設(shè)計(jì)
   
該系統(tǒng)所采用的外部數(shù)據(jù)存儲(chǔ)器是大容量SDRAM MT48LC16M16,其容量是4 Bankx8 Mx16 bit,。根據(jù)該系統(tǒng)設(shè)計(jì)的實(shí)際要求,,SDRAM在系統(tǒng)運(yùn)行時(shí)存儲(chǔ)實(shí)時(shí)圖像數(shù)據(jù)、基準(zhǔn)數(shù)據(jù)以及程序代碼,。由于Flash的存取速度比較慢,,在Flash里,,在系統(tǒng)初始化時(shí)應(yīng)預(yù)先將存儲(chǔ)在其中的基準(zhǔn)數(shù)據(jù)及程序代碼搬到更快的存儲(chǔ)器里面,,以便DSP不受存儲(chǔ)器讀取時(shí)間的制約,充分發(fā)揮其高速性能,。
1.4 視頻采集模塊設(shè)計(jì)
   
由于視頻通道的切換時(shí)間非常短,,這就需要切換控制模塊對(duì)視頻信號(hào)有一個(gè)非常準(zhǔn)確的判斷,以便及時(shí)發(fā)送切換命令,,因此需要選擇一款高速的轉(zhuǎn)換器,。另外由于本系統(tǒng)的電源為5 V供電,因此需要選擇一款低功耗的器件,。因此選擇AD9203作為模擬信號(hào)的數(shù)字量化器件,。
    AD9203是ADI公司出品的一款單通道、低電壓的高速A/D轉(zhuǎn)換器,,采樣速率可達(dá)40 Ms/s,。其精度穩(wěn)定可靠,在全采樣帶寬范圍內(nèi),始終基本保持著10位的精度,;在40 Ms/s的采樣速率下,,ENOB(有效位數(shù))仍然達(dá)到9.55位,差分非線性度±0.25 LSB,,信噪比和失真度保持在59 dB左右,。AD9203的工作電壓比較靈活,允許住2.7~3.6 V范圍內(nèi)變動(dòng),,特別適合于便攜式設(shè)備在低電壓下的高速操作,。在3 V的供電下,40 Ms/s全速工作時(shí),,功耗只有74 mW,;在5 Ms/s時(shí),功耗將會(huì)降到17 mW,,在待機(jī)模式下,,功耗只有0.65 mW。對(duì)于輸入信號(hào)的峰峰值,,通常設(shè)置為1 Vp-p或者2 Vp-p,。另外,AD9203允許外部電壓參考,,可以根據(jù)設(shè)計(jì)需要,,在1~2 V間靈活地設(shè)置輸入信號(hào)的峰峰值。圖2是AD9203的電路應(yīng)用原理圖,。



2 控制模塊設(shè)計(jì)
   
整個(gè)系統(tǒng)的工作流程為,,在不同的監(jiān)控點(diǎn)上安裝多個(gè)攝像頭進(jìn)行圖像監(jiān)控,多路圖像視頻信號(hào)通過(guò)MAX4312,,每一時(shí)刻選通其中一路視頻信號(hào)輸入,。該視頻信號(hào)經(jīng)過(guò)AD8013AR處理后從圖像監(jiān)控器輸出數(shù)字圖像信號(hào),同時(shí)從行場(chǎng)分離芯片EL4583C輸出相應(yīng)的行(VIDEO_Hs),、場(chǎng)(VIDEO_Vs)信號(hào),,從AD9203輸出圖像后肩信號(hào)(AD_BRST)和視頻量化信號(hào)。然后將行(VIDEO_Hs),、場(chǎng)(VIDEO_Vs)信號(hào)送進(jìn)DSP,,將后肩信號(hào)(AD_BRST)和視頻量化信號(hào)送進(jìn)FPGA。FPGA利用這些信號(hào)對(duì)圖像進(jìn)行預(yù)處理,,然后將處理后的圖像通過(guò)PPI口送給DSP中進(jìn)行算法處理,。最后由DSP發(fā)送視頻通道切換命令完成不同通道之間的切換,并且將最后處理結(jié)果送給報(bào)警和狀態(tài)指示裝置,,實(shí)現(xiàn)監(jiān)控告警功能,。軟件控制流程如圖3所示,。


2.1 FPGA模塊功舵買(mǎi)現(xiàn)
    FPGA控制部分用于對(duì)視頻信號(hào)進(jìn)行預(yù)處理并且等待DSP發(fā)送切換命令。其基本思路為:當(dāng)某一路視頻信號(hào)經(jīng)過(guò)AD9203之后,,輸出的視頻量化信號(hào)被送進(jìn)FPGA做預(yù)處理,,然后被送入DSP進(jìn)行算法處理,同時(shí)FPGA等待DSP根據(jù)場(chǎng)信號(hào)發(fā)送的視頻通道切換命令,。
    在實(shí)驗(yàn)過(guò)程中發(fā)現(xiàn),,DSP對(duì)圖像的搜索是以行信號(hào)的上升沿(或者下降沿)為觸發(fā)的,因此需要行信號(hào)有一個(gè)穩(wěn)定的上升沿(或者下降沿),。由于信號(hào)在分離傳輸?shù)倪^(guò)程中可能會(huì)產(chǎn)生抖動(dòng),,導(dǎo)致信號(hào)的上升沿(或者下降沿)不穩(wěn)定,從而影響DSP對(duì)視頻信號(hào)的判斷,。若仍然以這個(gè)不穩(wěn)定的行信號(hào)(VIDEO_Hs)作為DSP搜索圖像的標(biāo)志,,則其接收的圖像將會(huì)在相鄰兩行出現(xiàn)錯(cuò)位的現(xiàn)象,用肉眼看到的圖像漂移現(xiàn)象,。圖4中(a)圖像是以VIDEO_Hs信號(hào)為標(biāo)志接收的圖像,。這就需要FPGA對(duì)行(VIDEO_Hs)信號(hào)做去抖動(dòng)處理,但是FPGA接收到的信號(hào)只有EL4583分離出來(lái)的行信號(hào),,無(wú)法分辨信號(hào)上升沿(或者下降沿)的具體位置,。因此FPGA根據(jù)需要產(chǎn)生1個(gè)行標(biāo)志信號(hào)(H_flag),來(lái)取代不穩(wěn)定的行信號(hào)(VIDEO_Hs),,然后將行標(biāo)志信號(hào)(H_flag)和場(chǎng)信號(hào)(VIDEO_Vs)送給DSP,,以便對(duì)視頻信號(hào)做出準(zhǔn)確判斷。圖4中(b)圖像是以H_flag信號(hào)為標(biāo)志接收的圖像,。


2.2 PPI口的設(shè)置
    FPGA和DSP之間的數(shù)據(jù)通信是通過(guò)PPI口實(shí)現(xiàn)的,。PPI(并行外部接口)是半雙工形式,具有雙向端口,,最大可進(jìn)行16位數(shù)據(jù)的輸入輸出,。  PPI有5個(gè)存儲(chǔ)器來(lái)控制其操作。其中PPI控制寄存器(PPI_CONTROL)設(shè)置了PPI口的操作模式,、控制信號(hào)極性以及端口的帶寬,。在本設(shè)計(jì)中,,設(shè)置PPI_CONTROL為0x00EC,,將PPI的工作模式設(shè)置為ITU_656模式,端口的寬度設(shè)置為8位,,并且僅僅為接收數(shù)據(jù)的模式,。由于每個(gè)在DMA總線上的PPI_CLK_initiated事件(即輸入或輸出操作)都處理16為實(shí)體,也就是說(shuō)如果傳輸?shù)臄?shù)據(jù)不是16位,,則把數(shù)據(jù)的高位補(bǔ)0湊成16為數(shù)據(jù),。這種情況下,,更有效的辦法是把數(shù)據(jù)打包,即把2個(gè)FPGA傳輸?shù)?位數(shù)據(jù)合成1個(gè)16位的數(shù)據(jù),,再進(jìn)行傳輸,,這樣有效地利用了資源,提高了傳輸效率,。
2.3 DSP控制功能實(shí)現(xiàn)
    DSP控制功能的實(shí)現(xiàn)過(guò)程,,首先設(shè)置DSP的PF此腳,以便判斷PF引腳上的中斷信號(hào),。定義FPGA與DSP的中斷信號(hào)的通信是通過(guò)PF6和PF7傳送的,,然后對(duì)DMA(直接存儲(chǔ)器訪問(wèn))進(jìn)行設(shè)置,在對(duì)視頻信號(hào)進(jìn)行處理時(shí),,分別處理奇偶場(chǎng)信號(hào),,也就是在某一時(shí)刻只處理信號(hào)的奇數(shù)場(chǎng)或者偶數(shù)場(chǎng),以便提高信號(hào)的處理速度,。這就需要把視頻信號(hào)的奇偶場(chǎng)分別存儲(chǔ),,在設(shè)置DMA時(shí),將奇偶場(chǎng)信號(hào)數(shù)據(jù)存儲(chǔ)在不同的地址下面,。
    當(dāng)DSP通過(guò)PF引腳接收到FPGA發(fā)送的信號(hào)時(shí)開(kāi)始實(shí)現(xiàn)其控制功能,,具體控制切換的過(guò)程為:DSP在接收到PPI口傳輸?shù)牡谝粋€(gè)VIDEO_Vs信號(hào)時(shí),通過(guò)場(chǎng)計(jì)數(shù)器(VsCount)開(kāi)始對(duì)視頻信號(hào)進(jìn)行計(jì)數(shù),,然后讀取VsCount的數(shù)值,,當(dāng)VsCount的計(jì)數(shù)達(dá)到切換要求時(shí),DSP將發(fā)送一個(gè)切換命令給FPGA,,即在某一地址下面寫(xiě)一個(gè)數(shù)值,,讓FPGA通過(guò)DSP_A和DSP_D讀取命令完成視頻通道的切換。由于在視頻通道切換的前后,,兩個(gè)通道的場(chǎng)信號(hào)可能會(huì)出現(xiàn)不同步的現(xiàn)象,,所以在通道切換后的第2場(chǎng)開(kāi)始搜索圖像,圖5分別是DSP從第1場(chǎng)和第2場(chǎng)開(kāi)始接收?qǐng)D像的結(jié)果,。



3 系統(tǒng)測(cè)試結(jié)果
   
實(shí)驗(yàn)對(duì)24路視頻信號(hào)進(jìn)行切換,,并且設(shè)定每一路視頻信號(hào)的切換時(shí)間為6場(chǎng),也就是每經(jīng)過(guò)6場(chǎng)信號(hào)的時(shí)間就對(duì)視頻通道進(jìn)行一次切換,。不同視頻通道之間切換時(shí)的穩(wěn)定時(shí)間也不會(huì)超過(guò)一場(chǎng),,也就是說(shuō),兩通道之間在切換之后在一場(chǎng)之內(nèi)就可以穩(wěn)定,。實(shí)驗(yàn)結(jié)果表明,,該系統(tǒng)能夠穩(wěn)定、可靠地實(shí)現(xiàn)多視頻通道之間的切換,,可以在一套監(jiān)控設(shè)備上添加多個(gè)攝像頭對(duì)不同的場(chǎng)景進(jìn)行實(shí)時(shí)監(jiān)控,,這樣不僅有效解決了傳統(tǒng)監(jiān)控系統(tǒng)監(jiān)視目標(biāo)單一的缺點(diǎn),,而且提高了監(jiān)控效率,降低了監(jiān)控成本,。

4 結(jié)束語(yǔ)
   
首先簡(jiǎn)單介紹了整個(gè)系統(tǒng)硬件架構(gòu)和芯片的性能,,描述了整個(gè)系統(tǒng)的工作流程,然后著重闡述了DSP和FPGA對(duì)多視頻通道的控制與選通,。FPGA整個(gè)設(shè)計(jì)程序是在QuartusⅡ平臺(tái)上用Verilog硬件描述語(yǔ)言編寫(xiě),,DSP程序在VisualDSP++編譯成功,二者都經(jīng)過(guò)多次調(diào)試驗(yàn)證,。該系統(tǒng)設(shè)計(jì)已成功應(yīng)用于多場(chǎng)景監(jiān)控告警系統(tǒng)中,,準(zhǔn)確、可靠地切換不同視頻通道,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。