新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CPLD控制的通用視頻采集模塊

        基于CPLD控制的通用視頻采集模塊

        作者: 時間:2008-01-21 來源:網絡 收藏

          對于用于視頻圖像處理的來說,由于前端的A/D 采集速度較低,一般為了減少 的開銷,在A/D 和之間接入() 作為緩沖。

          基于() 的多樣性,一般在與微處理器模塊之間很少提供無縫接口。傳統的方法是用簡單的邏輯電路實現很少一部分接口控制,大多數是通過軟件來實現,雖然軟件設計靈活性比較大,但是對軟件設計者提出很高的要求; 一般來說使用的都是線存的,這種FIFO 的存儲量比較少,會花費CPU 很大的開銷。

          本文實現了一種在采集A/D 模塊、專用視頻FIFO 以及DSP 微處理使用作為純硬件控制的方案。使用這種方案的創新點是首先因為使用的是幀存儲器FIFO,存儲一幀或者一場視頻數據,這樣可以大大減輕DSP的開銷,提高DSP 的效率,從而更好的提高視頻處理的實時性;其次因為接口邏輯比較復雜,一般用軟件實現起來比較困難,使用可編程實現全部的硬件接口邏輯,減少軟件設計的難度,減少DSP 的開銷。同時可以發揮 現場可編程的特點,可以像軟件一樣更改; 最后可

          以作為一個集成的通用硬件

          本文實現的是基于TI TMS320C6x 的DSP的壓縮卡的A/D以及接口。在主要功能是將從CCD 攝像頭輸入的模擬視頻信號轉換為數字信號,普通CCD攝像頭的輸出是NTSC 制式的復合CVBS 信號,通過SAA7114H TV解碼芯片將模擬TV 信號解碼,轉換為符合ITU-R BT.601 標準的數字視頻信號,并且由CPLD 將數據存儲到專用的視頻FIFO芯片,中斷DSP 讀取數據處理。

          具體的信號控制見圖1.1。

          

          

          2. 模塊介紹

          2.1. 視頻采集模塊

          采集模塊采用PHILIPS 公司的視頻A/D 芯片SAA7114H,該專用視頻A/D 具有6 路模擬視頻輸入,兩個模擬預處理通道,并且濾波、梳狀濾波都被集成到芯片內部,這樣對于硬件設計帶來了極大的方便。同時場同步信號IGPV,行同步信號IGPH,有效圖像數據輸出信號IDQ,時鐘輸出信號ICLK都有管腳直接引出,這樣省去了以往的時鐘的設計,可靠性也有所提高。系統內部鎖相環技術的集成使得可靠性和設計復雜度都有極大的降低。SAA7114H 的配置支持I2C,可以通過DSP的通用I/O 口軟件模擬I2C總線。

          從圖2可以看出整個過程是在ICLK在上升沿觸發,在 IDQ 有效的情況下傳輸的數據有效,數據輸出的格式為(下為奇數場的一行數據掃描)

          FF00 0080 U0Y0,V0Y1,U1Y2,V1Y3,…………,U319Y638,V320Y639

          其中FF00 和0080 是奇數場標志位。

          當輸出IGPH 有效表明為一行數據的掃描,當IGPH無效的情況下,表明數據在回掃。從圖3可以看出當IGPV 有效說明是一場數據的掃描,當為無效時,說明為一場數據結束。通過這幾個狀態信號的輸出,以及其它標志信號可以對行數據和場數據同步進行控制。具體見圖2.1(信號一行掃描輸出狀態) 和圖2.2(信號一場掃描輸出狀態)。

          圖2.1 信號輸出狀態( 一行掃描)

          圖2.2 信號輸出狀態( 一場掃描)

          2.2. 視頻緩沖模塊FIFO

          AL422B 是Averlogic 公司的專用視頻的FIFO,最大存儲為384K× 8bits,同時支持VGA,CCIR,NTSC,PAL 等視頻制式,兩端獨立的讀寫操作,支持不同速率的讀寫。根據CCIR.601協議,一場圖像數字化后最大的數據量是220K× 16bit,因此,采用的AL422B 足夠可以容納完整的一場視頻圖像的數據量。采用這種大的FIFO 的設計可以降低DSP 對視頻FIFO 讀寫控制時序的復雜度,使整個視頻圖像處理流程簡捷,同時減少控制信號。

          2.3. CPLD

          該模塊的組成主要是一片Altera 公司的CPLD 芯片EPM7128STC100,其主要功能是提供DSP 的EMIF 接口與視頻FIFO 相連時所需的一些額外的輔助邏輯(glue logic)。另外一個重要的功能是通過檢測SAA7114H 輸出的同步信號來生成DSP 中斷,通知DSP 讀取視頻FIFO 中已滿的一場圖像數據。(視頻FIFO AL422B 的容量為384K× 8bits,系統中使用兩片并聯成16bits的接口寬度,整個視頻FIFO可以一次存放一幀的視頻數據。)

          CPLD通過SAA7114H的輸出狀態信號以及TMS320C6x DSP的相應輸出控制信號生成FIFOAL422B 的控制信號。具體為:

          根據SAA7114H輸出的VPO 總線同步信號,控制將輸出的數字視頻信號寫入到FIFO 中。

          檢查到SAA7114H輸出的場同步信號后(表明FIFO 中已經存滿一場圖像數據),向DSP 發出INT 信號,通知其開始讀取FIFO 中的圖像數據。同時將FIFO 的寫入指針復位到地址0x0000處。

          根據SAA7114H 的兩個輸出信號IGP1 和RTS1,判定當前視頻AD輸出的視頻數據是奇數場還是偶數場,同時發出不同的INT中斷來通知DSP。

          控制DSP 讀取FIFO 中圖像數據的讀寫時序,當讀完一場數據后,將FIFO 的讀出指針復位到地址0x0000 處。

          控制FIFO 的寫時鐘與讀時鐘,并且使得寫時鐘與SAA7114H的輸出時鐘保持同步,使得讀時鐘與DSP 的外部分頻后的時鐘保持同步。

        圖2.4 FIFO 寫時序控制

        基于CPLD控制的通用視頻采集模塊

        圖2.5 FIFO 讀時序控制

        基于CPLD控制的通用視頻采集模塊

        圖2.6 CPLD 控制寫時序的狀態機

          從FIFO的寫時序圖和讀時序可以看到,當/WE和/RE(兩者都是低電平有效)為高電平的第一個周期,芯片仍然進行寫入和讀出

        操作,而下一個周期才進入掛起狀態。同樣,當/WE和/RE由高電平變為低電平時,也是要延后一個時鐘周期才能發生改變。這種特性造成在設計SAA7114H向FIFO寫入時序的時候,需要提前一個周期確定下一個數據是否為有效數據。CPLD程序中通過檢測IGP0(配置為SAA7114H I-port端口的Buffer almost empty flag) 來實現這點。利用邏輯分析儀測出整個寫入時序為圖2.8。

        利用邏輯分析儀測出整個寫入時序

          在讀控制中主要是產生用于DSP 中斷的外部使能,中斷DSP 讀取FIFO的數據,同時還要通知DSP 讀取的是奇數場的數據還是偶數場的數據。FIFO 的讀時序圖上可以看出如果F_OE 為低電平,這F_RE 變高后(F_OE 和F_RE 都是低電平有效),FIFO 的輸出仍然保存原來的值,而不是進入高阻狀態。CPLD 控制程序中正是利用這點來實現DSP對FIFO 的讀寫時序的匹配以及保證DMA 傳輸在被DSP 中斷后不會出錯。DSP 的FIFO 的讀取采用32 位的異步接口,8個DSP的時鐘周期(注意: 采用的是DSP 的主頻,不是總線頻率ClockOut2) 實現一次對FIFO 的讀寫。具體設置參考EMIF 總線初始化部分。CPLD通過將F_RE 置高,延長FIFO數據的輸出時間來匹配整個DSP 的讀取時序。利用邏輯分析儀測得FIFO 的讀取時序為圖9。

        基于CPLD控制的通用視頻采集模塊

          根據整個控制過程的邏輯和相應器件的讀寫時序,可以將整個FIFO 的控制過程分為寫入控制和讀出控制兩個部分,在寫入控制中用了4個有限狀態機來實現,它們分別是IDLE,WEN0,WEN1,WEN2。根據狀態機的圖,采用硬件描述語言VHDL 實現了對CPLD 的邏輯的設計、綜合和仿真。邏輯綜合采用Synplicit7.2 公司專門針對CPLD/CPLD 的邏輯綜合工具。該軟件帶有Altera公司的綜合模塊庫,可以針對Altera公司的CPLD 器件對邏輯綜合后的結果進行優化和改進,其中寫狀態機綜合后的電路原理圖為圖2.7。

        寫狀態機綜合后的電路原理圖

          對于邏輯設計的仿真時序驗證工作重要采用ALDEC 公司的仿真工具Active-HDL4.2,然后加入綜合工具生成的標準時延文件(SDF文件),通過仿真結果的驗證,說明CPLD 的邏輯設計是符合FIFO 讀寫控制模塊的功能要求的。最后綜合的邏輯結果通過Altera 公司的MAXplus10軟件,采用ByteBlaster 電纜下載到CPLD 芯片中。

          3. 實驗結果:

          圖3.1 是采用QCIF(176× 144) 格式的視頻圖像,壓縮編碼算法采用M-JPEG2000標準。其中前一幅是無損壓縮恢復的結果圖,后一幅為有損壓縮。相應的壓縮編碼指標如表3.1 所示。

        基于CPLD控制的通用視頻采集模塊

        表 3.1

        相應的壓縮編碼指標

          從上面表3.1 的結果可以看出,整個壓縮系統可以實現對視頻圖像的壓縮編碼。壓縮后的視頻流比較流暢。

          從通過邏輯分析儀測得的時序圖(圖2.8、圖2.9)可以看出,CPLD 實現的FIFO 控制信號滿足視頻AL422B的時序要求,整個視頻數據傳輸的通路工作正常,基本上達到了系統設計的指標和要求。同時這種方案可以作為一個整體的視頻采集模塊,在一般的使用DSP 的EMIF 總線的情況下的都可以無需改動就可以作為一個采集模塊直接使用,大大簡化硬件電路開發的難度。此方案已經在基于DSP 的視頻PCI 采集壓縮卡中得到了驗證,達到了很好的效果。本文的基于CPLD的視頻采集通用模塊已經在M-JPEG2000的視頻采集壓縮卡得到了應用。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 昌平区| 新兴县| 汽车| 南召县| 新宁县| 神木县| 增城市| 民勤县| 农安县| 盐源县| 额敏县| 阿合奇县| 青田县| 福鼎市| 桐乡市| 山西省| 朔州市| 迁安市| 张掖市| 翁源县| 菏泽市| 唐海县| 万山特区| 浠水县| 平乡县| 丽江市| 潜山县| 礼泉县| 张家港市| 阿克陶县| 柘荣县| 华坪县| 舒兰市| 南城县| 日土县| 区。| 定兴县| 徐闻县| 犍为县| 酉阳| 太保市|