《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 一種高速DSP的圖像處理應用平臺的設計
一種高速DSP的圖像處理應用平臺的設計
摘要: 研究了一種基于DM642的圖像處理應用平臺的設計與實現(xiàn),,其實現(xiàn)的基本功能包括視頻輸入和輸出,,與外界的UART接口通信等。由于軟件采用了模塊化設計,,針對具體的功能需求,通過配置不同的客戶程序,,可以實現(xiàn)特定的應用,,因而系統(tǒng)具有好的應用前景。
關(guān)鍵詞: DSP 圖像處理 DM642
Abstract:
Key words :

1 引言

  完成某一特定任務的圖像處理系統(tǒng),,其硬件方案大體上有三種:使用通用計算機,、使用ASIC和使用DSP。使用通用計算機的方案優(yōu)點在于開發(fā)周期短,,費用較低,,而且產(chǎn)品易于維護和升級;缺點是運算速度受到限制,對于算法的運算量和復雜度很高的應用場合,,難以達到實時性要求,。該方案有二種應用場合:算法開發(fā)初中期階段及一些實時性要求不高的領(lǐng)域。使用ASIC的方案中,所有的運算都由硬件實現(xiàn),,因此實時性會非常好,,但硬件的設計是一大難點,而且系統(tǒng)一旦定型,,不方便對其進行升級,。使用高速DSP可以說是二種方案的折衷,一方面在硬件實現(xiàn)上只需根據(jù)需求進行DSP外圍接口電路的設計,,另一
方面,,隨著DSP技術(shù)的快速發(fā)展,高性能芯片的不斷推出,,其運算能力也能滿足一般圖像處理的要求,。而且,系統(tǒng)功能由算法軟件來實現(xiàn),,對系統(tǒng)的維護和升級也很方便,。

  本文采用TI公司的多媒體DSP芯片TMS320DM642[4](簡稱DM642),實現(xiàn)了一種圖像處理系統(tǒng)基本功能的應用平臺,,包含視頻輸入,、視頻輸出以及串行通信等功能。

  2,、系統(tǒng)硬件設計

  系統(tǒng)硬件組成如圖1所示,。以DM642為核心,外部擴展了存儲器SDRAM和Flash,,分別用于程序運行和程序存儲;通過控制視頻編解碼器完成視頻的采集和輸出;并通過McBSP接口實現(xiàn)UART,,方便視覺系統(tǒng)與外界的通信。

  

 DSP視覺系統(tǒng)硬件組成結(jié)構(gòu)圖

 

  圖 1 DSP視覺系統(tǒng)硬件組成結(jié)構(gòu)圖

  系統(tǒng)中,,擴展的外部存儲器包括ROM和SDRAM,。其中,ROM采用Atmel公司的Flash,,型號是AT49BV1614,,其容量為16MBits,在系統(tǒng)啟動時作為Boot ROM使用;SDRAM由兩片4Banks×512K×32Bits規(guī)格的芯片夠成,,型號是HY57V643220CT,,用來儲存程序、數(shù)據(jù)和視頻,。視頻ADC采用Phillips公司的SAA7113,,轉(zhuǎn)換精度9Bits,擁有有4個模擬輸入通道,,可輸入4路模擬視頻信號,,輸出接口(VP0)有一個,支持PAL、NTSC,、SECAM這三種主要的模擬視頻制式,。視頻輸出DAC芯片采用的是Analog Devices公司推出的ADV7176視頻編碼器,轉(zhuǎn)換精度為10Bits,,最高信噪比達80dB,,它在DM642的行、場同步信號及自己的時鐘控制下從DM642中讀出數(shù)據(jù),,經(jīng)過D/A轉(zhuǎn)換后輸出到TV顯示器上進行顯示,。通信接口中利用DM642已有的同步串口McBSP與EDMA實現(xiàn)UART的方法,硬件上加入一片MAX3323E,,實現(xiàn)CMOS邏輯電平和RS-232邏輯電平之間轉(zhuǎn)換,,以滿足與控制計算機進行串口通信的要求。

  3,、系統(tǒng)軟件設計

  TI為了對自己的DSP 產(chǎn)品提供軟件開發(fā)支持,,推出了DSP /BIOS(Basic Input Output System)搶先型、可裁剪的實時多任務操作系統(tǒng),,它與CCS(Code Composer Studio)編譯環(huán)境集成在一起,。使用DSP/BIOS可以進行高效的應用程序開發(fā)。本文圖像系統(tǒng)的軟件開發(fā)是基于DSP /BIOS環(huán)境下進行的,。3.1 軟件設計流程

 

  本文圖像處理系統(tǒng)的軟件流程如圖2所示,。應用主程序需要先完成CSL(Chip Support Library)庫的初始化,以便在程序中能調(diào)用相關(guān)的芯片級支持庫函數(shù),。隨后,,開EDMA中斷,并使能EDMA中的I2C通道的中斷;開VP1,、VP2口中斷;初始化并啟動I2C的數(shù)據(jù)傳輸,,完成對視頻解碼芯片SAA7113和視頻編碼芯片ADV7176的寄存器的參數(shù)初始化數(shù)配置;配置和啟動VP1和VP2視頻口;最后進入空閑等待循環(huán)。視頻的采集以中斷的方式進行,,當一幀圖像采集完后,,觸發(fā)VP1中斷,系統(tǒng)調(diào)用相應的中斷子程序?qū)D像數(shù)據(jù)進行處理計算,,求出位置和姿態(tài)等參數(shù),最后將參數(shù)通過UART傳輸給控制計算機,。

  

 

  圖2 主程序流程

  DM642 的EDMA 控制器負責片內(nèi)L2存儲器與其它設備之間的數(shù)據(jù)傳輸,。能提供超過2Gb/s 的外部帶寬,有64 個通道, 每1個通道都有1個事件與之關(guān)聯(lián),,由這些事件觸發(fā)相應通道的傳輸,。上面流程中A/D、D/A的芯片初始化的參數(shù)傳輸和視頻數(shù)據(jù)的采集都是通過EDMA來實現(xiàn)的。

  3.2 A/D和D/A芯片的初始化

  A/D和D/A芯片的初始化過程通過EDMA中的I2C通道來實現(xiàn),。要傳輸?shù)臄?shù)據(jù)參數(shù)在EDMA 的參數(shù)RAM表中進行配置,,其中主要包括源數(shù)據(jù)起始地址、目的地址,、地址的修改方式,、要傳輸?shù)臄?shù)據(jù)格式和大小。對二個芯片的初始化數(shù)據(jù)參數(shù)分別配置在二個不同的RAM表中,。第一次I2C通道的EDMA數(shù)據(jù)傳輸完畢后由EDMA控制器向CPU發(fā)出中斷,,中斷處理程序載入第二次I2C傳輸?shù)腞AM參數(shù)表,啟動第二次傳輸過程,。從而完成二個芯片的初始化過程,。

  3.3 視頻采集與輸出

  對應于YUV 4:2:2的格式視頻數(shù)據(jù)采集,EDMA中用于VP1的數(shù)據(jù)傳輸有三個通道,。系統(tǒng)中將視頻端口VP1配置為連續(xù)幀采集的方式,,也就是啟動第一幀的采集后,后面幀的采集連續(xù)進行不需要另外的幀同步信號,。

  在隔行掃描模式下,,每幀分為兩場,兩場在時域上是分開的,,通過EDMA 鏈表可自動實現(xiàn)場合成,,不需占用額外的CPU 時間。EDMA 的參數(shù)RAM 存放了有關(guān)的傳輸參數(shù), 這些參數(shù)用于產(chǎn)生EDMA 讀寫操作所需要的地址,。在使用EDMA 通道傳輸奇數(shù)場與偶數(shù)場時,,分別使用不同的EDMA 參數(shù)RAM。兩組參數(shù)RAM 的目的地址分別指向存儲圖像的第一行與第二行象素的首地址, 并且兩組參數(shù)RAM 通過鏈接地址(Linking Address)循環(huán)相連,,并將源地址傳輸方式設置為1維的,,目標地址方式設置為2維的。在EDMA 通道的傳輸中,,奇數(shù)場傳輸任務的結(jié)束會自動地根據(jù)當前參數(shù)RAM的鏈接地址裝載傳輸偶數(shù)場的參數(shù)RAM,進行偶數(shù)場的傳輸,。通過設定幀索引(Frame Index)值可以讓奇數(shù)場與偶數(shù)場數(shù)據(jù)在幀緩沖區(qū)中被隔行存儲,這樣在無需占用額外CPU 時間的前提下就實現(xiàn)了場合成,。另外,,由于兩組參數(shù)RAM 通過鏈接地址循環(huán)相連,則奇數(shù)場與偶數(shù)場的數(shù)據(jù)傳輸連續(xù)不斷地交替進行下去,,這就形成了連續(xù)幀的數(shù)據(jù)采集,。每一幀數(shù)據(jù)通過EDMA傳輸至SDRAM完畢之后,VP1會向CPU發(fā)出一個中斷,,相應的中斷程序?qū)Σ杉降膱D像數(shù)據(jù)進行處里,。

  大批量的圖像數(shù)據(jù)傳輸和復雜算法的處理一直是高速數(shù)字圖像處理器的速度瓶頸,,從上面的數(shù)據(jù)傳輸過程上可以看出, 利用DM642 的EDMA 功能可以在不中斷DSP算法處理工作的同時完成圖像數(shù)據(jù)的搬移,,在有效地解決了大批量圖像數(shù)據(jù)傳輸速度瓶頸的同時,,又能讓DSP 的處理器核專門從事算法處理工作,極大地提高了系統(tǒng)的并行性能,。

  視頻輸出功能在本系統(tǒng)中主要用于早期開發(fā)階段的調(diào)試,。實際應用中可以根據(jù)需要將中間處理圖像結(jié)果數(shù)據(jù)通過EDMA中的VP2通道直接寫入視頻FIFO。

  3.4 通信接口功能的實現(xiàn)

  系統(tǒng)中,,通過軟件的方法,,不增加硬件的復雜度,利用已有的McBSP和EDMA實現(xiàn)UART功能,。

  同步串口依賴三條分離的信號線(數(shù)據(jù),、幀同步和時鐘)來實現(xiàn)數(shù)據(jù)的傳輸,而異步通信只是在一根信號線上進行,。要用同步串口實現(xiàn)異步傳輸,,需要通過在數(shù)據(jù)的首尾加入起始位和停止位,讓接收方知道數(shù)據(jù)傳輸何時開始和停止,。用McBSP實現(xiàn)UART功能,,除了對McBSP進行正確設置外,還需要正確設置EDMA,,對McBSP收發(fā)數(shù)據(jù)進行軟件處理,。EDMA實現(xiàn)內(nèi)存到McBSP之間的高效數(shù)據(jù)搬移,數(shù)據(jù)處理軟件對待發(fā)送的數(shù)據(jù)進行編碼,,對接收到的數(shù)據(jù)進行解碼,。對McBSP和EDMA的設置及編解碼程序的設計詳見文獻[5]。

  4,、結(jié)論

  研究了一種基于DM642的圖像處理應用平臺的設計與實現(xiàn),,其實現(xiàn)的基本功能包括視頻輸入和輸出,與外界的UART接口通信等,。由于軟件采用了模塊化設計,,針對具體的功能需求,通過配置不同的客戶程序,,可以實現(xiàn)特定的應用,,因而系統(tǒng)具有好的應用前景。

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