新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 并行外圍接口在紅外視頻處理通用模塊中的應(yīng)用研究

并行外圍接口在紅外視頻處理通用模塊中的應(yīng)用研究

作者: 時間:2012-01-20 來源:網(wǎng)絡(luò) 收藏
  引 言

  系統(tǒng)是典型的實時信號處理系統(tǒng),具有數(shù)據(jù)吞吐量大和運算密集度高的特點,一般由通用DSP實現(xiàn)復(fù)雜的視頻處理算法。目前高端通用DSP的主頻已達到600 MHz以上,內(nèi)部集成多個運算單元,運算能力可以滿足大多視頻處理算法的要求。但是一般的通用DSP只有一條數(shù)據(jù)總線,數(shù)據(jù)吞吐能力低,必須在DSP外部進行數(shù)據(jù)輸入緩沖和輸出緩沖,需要DSP內(nèi)核參與整個數(shù)據(jù)吞吐過程,這就大大削弱了DSP的運算能力,同時增加了系統(tǒng)構(gòu)架的復(fù)雜度,因此,數(shù)據(jù)吞吐成為基于通用DSP的系統(tǒng)的最大瓶頸。

  Blackfin系列DSP專門針對高速數(shù)據(jù)吞吐集成了(PPI),在傳統(tǒng)的數(shù)據(jù)總線的基礎(chǔ)上增加了一條數(shù)據(jù)吞吐通道。PPI接口:1)能以最高66 MHz 的頻率接收數(shù)據(jù),以最高60 MHz 的頻率輸出數(shù)據(jù);2)不再需要額外的數(shù)據(jù)輸入/輸出緩沖,直接連接高速AD/DA輸入輸出數(shù)據(jù);3)能夠輸入或輸出ITU-R601/656 格式和帶行場同步時鐘的RGB格式的數(shù)字視頻。使用PPI接口輸入輸出數(shù)據(jù),輔以強大的DMA流量控制和高速SDRAM,使BlackfinDSP的內(nèi)核獨立于數(shù)據(jù)吞吐過程,充分發(fā)揮其密集運算能力,并簡化了系統(tǒng)構(gòu)架,在通用模塊中取得了良好的應(yīng)用。

  紅外視頻處理通用模塊數(shù)據(jù)吞吐分析

  一個通用的紅外視頻處理流程如圖1所示,利用高速AD采集探測器輸出的模擬信號,形成原始視頻數(shù)據(jù)流,再經(jīng)過視頻處理單元的實時視頻處理,以特定的視頻格式高速輸出。

通用的紅外視頻處理流程

  紅外視頻處理過程是一個高速數(shù)據(jù)吞吐和密集運算的并發(fā)過程。當(dāng)視頻處理算法復(fù)雜時,視頻處理單元多由高性能通用DSP構(gòu)成。DSP接收AD輸出的原始視頻數(shù)據(jù)是數(shù)據(jù)寫入的過程,DSP輸出處理后視頻是數(shù)據(jù)讀出的過程,DSP進行視頻處理運算至少需要一次數(shù)據(jù)讀出和一次數(shù)據(jù)寫入,因此數(shù)據(jù)寫入、數(shù)據(jù)讀出和中間的視頻處理三者同時進行,至少包含兩次數(shù)據(jù)讀和兩次數(shù)據(jù)寫。一般的通用DSP只有一條數(shù)據(jù)總線,無法并行進行數(shù)據(jù)吞吐和視頻處理運算,所以通常在高速AD和DSP之間、在DSP和視頻輸出單元之間,增加FIFO、雙口RAM或雙片SRAM 輪換,構(gòu)成數(shù)據(jù)緩沖環(huán)節(jié),由DSP內(nèi)核控制數(shù)據(jù)緩沖過程。這使得系統(tǒng)構(gòu)架變得非常復(fù)雜,而且數(shù)據(jù)緩沖過程占用了DSP內(nèi)核進行數(shù)據(jù)運算的時間,大大降低了DSP的效率。

  本文基于Analog Device公司Blackfin系列BF561型通用DSP,利用其特有的PPI接口,提出一種紅外視頻處理通用模塊的構(gòu)架,省略了數(shù)據(jù)緩沖環(huán)節(jié),使數(shù)據(jù)吞吐過程獨立于DSP內(nèi)核,基本不占用DSP進行數(shù)據(jù)運算的時間,充分發(fā)揮了DSP密集運算的優(yōu)勢。系統(tǒng)構(gòu)架如圖2所示。

紅外視頻處理通用模塊原理框圖

  BF561 內(nèi)部集成了兩個完全相同的BlackfinDSP內(nèi)核,共有兩個PPI接口,分別與高速AD和視頻輸出單元直接接口。原始視頻數(shù)據(jù)、最終輸出的視頻數(shù)據(jù)和視頻處理的中間數(shù)據(jù),全部存儲在高速SDRAM中。通過4 條獨立的DMA通道和BlackfinDSP特有的DMA流量控制,共享SDRAM高達133MHz×16位的帶寬。DSP內(nèi)核只需要初始化DMA的工作參數(shù),具體的數(shù)據(jù)吞吐由DMA控制器獨立完成,不再需要DSP內(nèi)核干預(yù)。為進一步縮短數(shù)據(jù)等待時間,提高DSP的運算效率,所有的數(shù)據(jù)讀寫都設(shè)置為帶流量控制的乒乓操作,實現(xiàn)了在DMA吞吐數(shù)據(jù)的同時進行視頻處理運算,最大程度上發(fā)揮了DSP的密集運算能力。

  PPI接口配置

  PPI接口是一種可以配置成8~16 位數(shù)據(jù)寬度的多功能并行同步準(zhǔn)雙向接口,包括三條同步信號線和一個連接到外部時鐘的時鐘線,通過修改相應(yīng)的寄存器設(shè)置PPI接口各種工作模式。

  PPI與高速AD硬件接口

  如圖3 所示,以CPLD或FPGA實現(xiàn)控制時序,為高速AD和PPI_1 提供數(shù)據(jù)時鐘,根據(jù)探測器輸出的行同步時鐘和場同步時鐘,經(jīng)過一定變換,提供給PPI接口,通過DMA,PPI接口根據(jù)三個時鐘信號將AD輸出的8~16位數(shù)據(jù)寫入SDRAM。本接口支持8~16 位并行輸出的高速AD(例如AD9240),數(shù)據(jù)時鐘最高66 MHz。

PPI與高速AD硬件接口

  PPI與視頻輸出單元硬件接口

  如圖4 所示,通過DMA,PPI_2 讀取SDRAM內(nèi)的視頻數(shù)據(jù),根據(jù)數(shù)據(jù)時鐘,以ITU-R656 格式,輸出到模擬視頻編碼器(例如ADV7171),以PAL或NTSC 制式輸出到監(jiān)視器。

PPI與視頻輸出單元硬件接口

  PPI接口寄存器設(shè)置

  PPI接口可以設(shè)置為ITU-R656 輸入模式,ITU-R656 輸出模式,通用輸入模式和通用輸出模式。每種工作模式中又可以設(shè)置數(shù)據(jù)寬度,同步時鐘工作方式和數(shù)據(jù)打包/解包等多種工作條件。通過寫PPI_CONTROL、PPI_DELAY 和PPI_COUNT 三個寄存器設(shè)置PPI接口的工作模式。


  PPI接口控制寄存器:PPI_CONTROL

  PPI接口控制寄存器各位功能定義如圖5 所示,與高速AD輸入和視頻輸出相關(guān)的設(shè)置如下,

  1)設(shè)置同步時鐘極性和設(shè)置數(shù)據(jù)時鐘極性:FS1FS2polarity,DatAclk polarity 選擇同步時鐘和數(shù)據(jù)時鐘上升沿或是下降沿有效。

  2)設(shè)置數(shù)據(jù)寬度:DatAbuswidth 設(shè)置數(shù)據(jù)總線寬度,最小8 位,最大16 位。

  3)設(shè)置數(shù)據(jù)打包/解包模式:Packing modeenable設(shè)置是否使能數(shù)據(jù)打包/解包模式,若使能,當(dāng)PPI接口處于8 位輸入模式,則將輸入的兩個8 位數(shù)據(jù)打包為1 個16 位數(shù)據(jù)存儲;當(dāng)PPI接口處于8 位輸出模式,則將1 個16 位數(shù)據(jù)按低位在前高位在后的順序解包輸出;當(dāng)PPI接口為8 位數(shù)據(jù)寬度,數(shù)據(jù)打包/解包模式能夠降低1 倍數(shù)據(jù)存儲空間和降低1倍數(shù)據(jù)輸入帶寬。

  4)設(shè)置同步時鐘工作模式:Portconfiguration選擇輸入或輸出模式下同步時鐘工作模式,與高速AD接口輸入原始視頻數(shù)據(jù)需要兩個同步時鐘,與模擬視頻編碼器接口輸出ITU-R656格式數(shù)字視頻,不需要同步時鐘。

  5)設(shè)置輸入或輸出子模式:Transfer type與高速AD接口輸入原始視頻數(shù)據(jù)時,使用通用輸入工作模式;與視頻輸出單元接口輸出視頻數(shù)據(jù),使用不帶同步時鐘的輸出工作模式。

6)選擇輸入或輸出方向:Port direction與高速AD接口輸入原始視頻數(shù)據(jù)時,選擇輸入模式;與視頻輸出單元接口輸出視頻數(shù)據(jù),選擇輸出模式。

  7)啟動PPI接口:EnablePPI啟動PPI接口后,在輸入模式時,當(dāng)PPI接口接收到正確的同步時鐘信號才開始輸入數(shù)據(jù);在輸出模式時,當(dāng)相應(yīng)的同步時鐘開始工作后才開始輸出數(shù)據(jù)。

PPI接口控制寄存器各位功能定義

 PPI接口延遲寄存器:PPI_DELAY

  在行同步時鐘有效后,延遲PPI_DELAY 個數(shù)據(jù)時鐘,PPI接口開始輸入或輸出行像素。

  PPI接口計數(shù)寄存器:PPI_COUNT

  在行同步時鐘有效期內(nèi),PPI接口輸入或輸出PPI_COUNT 個行像素。

  PPI接口DMA設(shè)置

  DMA流量控制

  DSP內(nèi)核設(shè)置PPI接口DMA的初始工作參數(shù)后,由DMA控制器獨立完成PPI接口讀取和寫入SDRAM的操作。SDRAM數(shù)據(jù)總線帶寬為133 MHz×16 位,但只有一條數(shù)據(jù)總線,并且紅外視頻處理過程中數(shù)據(jù)寫入、數(shù)據(jù)讀出和中間的視頻處理三者需要同時進行,至少包含兩次數(shù)據(jù)讀和兩次數(shù)據(jù)寫。如果按時間進程單任務(wù)線性安排PPI接口DMA讀寫SDRAM的操作,不能充分利用SDRAM的帶寬,無法完成并發(fā)讀寫SDRAM 的要求。為了充分利用SDRAM 的帶寬,必須使用BlackfinDSP特有的DMA流量控制。

  采用DMA流量控制時,DMA控制器首先分析所有使能的DMA通道,提高與正在運行的DMA的讀寫方向一致的DMA通道的優(yōu)先級,例如當(dāng)前DMA正在讀SDRAM,那么所有讀SDRAM 的DMA均比寫SDRAM 的DMA的優(yōu)先級高,所有讀SDRAM 的DMA按固有優(yōu)先級排列次序。以預(yù)置的流量時隙為周期(例如10 字節(jié)),按133 MHz的最大速度,每次發(fā)讀10 字節(jié)數(shù)據(jù)到當(dāng)前DMA通道的FIFO 內(nèi),輪換到下一個DMA通道。當(dāng)所有讀SDRAM 的DMA執(zhí)行完一遍后,輪換到寫SDRAM 的DMA,執(zhí)行相同過程。這樣,降低了改變SDRAM 讀寫方向耗費的時間,同時每個使能的DMA通道在設(shè)定的周期內(nèi)都以最大速度輪換執(zhí)行了一遍,保證了一定時間內(nèi)對SDRAM 的并發(fā)讀寫操作,充分利用了SDRAM 接口的最大帶寬。

  乒乓操作

  由于紅外視頻處理過程中數(shù)據(jù)寫入、數(shù)據(jù)讀出和中間的視頻處理三者同時進行,所以當(dāng)前DMA讀取或?qū)懭氲臄?shù)據(jù),就是DSP內(nèi)核或其他DMA已經(jīng)寫入或?qū)⒁x取的數(shù)據(jù),這是一個級聯(lián)的因果系統(tǒng)。如果當(dāng)前DMA正在讀寫的數(shù)據(jù)在時間或因果關(guān)系上與DSP內(nèi)核或其他DMA發(fā)生沖突,就會導(dǎo)致數(shù)據(jù)等待或數(shù)據(jù)錯誤。

  為降低數(shù)據(jù)等待時間并避免因果錯誤,對每個DMA操作,在目標(biāo)存儲區(qū)內(nèi)都開辟兩個緩沖區(qū),設(shè)為BufferA和BufferB。當(dāng)前DMA正在操作的設(shè)為BufferA,這是獨占性操作,不允許其他DMA或DSP內(nèi)核訪問。當(dāng)前DMA已經(jīng)操作完畢的設(shè)為BufferB,開放給其他DMA或DSP內(nèi)核訪問。當(dāng)前DMA操作在BufferA和BufferB之間切換,通過信號量標(biāo)志獨占區(qū)和開放區(qū),于是在任一時間,當(dāng)前DMA都有一個可供其他DMA或DSP內(nèi)核訪問的區(qū)域,這樣就降低了數(shù)據(jù)等待時間,并避免了因果錯誤。

  結(jié) 論

  本文在介紹了PPI接口性能特點的基礎(chǔ)上,提出了一種紅外視頻處理通用模塊的構(gòu)架,省略了數(shù)據(jù)緩沖環(huán)節(jié),使數(shù)據(jù)吞吐過程獨立于DSP內(nèi)核,提高了DSP的運算效率。



評論


技術(shù)專區(qū)

關(guān)閉