梁賀斌,馮水春,周 海,卞春江,王小燕,毛博年
(1.中國(guó)科學(xué)院國(guó)家空間科學(xué)中心 北京 100190;2.中國(guó)科學(xué)院大學(xué) 北京100190)
TMS320C6455在實(shí)時(shí)圖像處理系統(tǒng)中的應(yīng)用
梁賀斌1,2,馮水春1,周 海1,卞春江1,王小燕1,毛博年1
(1.中國(guó)科學(xué)院國(guó)家空間科學(xué)中心 北京 100190;2.中國(guó)科學(xué)院大學(xué) 北京100190)
為了完成圖像目標(biāo)點(diǎn)的檢測(cè)和確認(rèn),同時(shí)實(shí)現(xiàn)FPGA與DSP之間的通信數(shù)據(jù)高速傳輸,文中基于高速DSP芯片TMS320C6455提出了一種數(shù)字圖像處理系統(tǒng)設(shè)計(jì)方案。該系統(tǒng)硬件部分用來模擬圖像數(shù)據(jù)輸入輸出,軟件部分基于Code Composer Studio(CCS)平臺(tái)采用C語(yǔ)言編程實(shí)現(xiàn)。通過軟件設(shè)計(jì)和外部存儲(chǔ)器接口(EMIF)、增強(qiáng)型直接存儲(chǔ)器(EDMA)等底層配置的實(shí)現(xiàn),完成了圖像實(shí)時(shí)處理過程,并實(shí)現(xiàn)了FPGA與DSP之間的高速通信。實(shí)驗(yàn)結(jié)果表明,利用該芯片設(shè)計(jì)的圖像處理系統(tǒng)完全滿足設(shè)計(jì)要求,實(shí)時(shí)性較好,系統(tǒng)集成度高,該設(shè)計(jì)方案在數(shù)字圖像處理領(lǐng)域具有很大的應(yīng)用價(jià)值。
TMS320C6455;數(shù)字圖像處理;數(shù)字信號(hào)處理器;外部存儲(chǔ)器接口;增強(qiáng)型直接存儲(chǔ)器
DSP技術(shù)的迅速發(fā)展使得DSP技術(shù)在通信、航天、軍事、自動(dòng)控制等領(lǐng)域得到越來越廣泛的應(yīng)用,而DSP芯片的誕生,對(duì)實(shí)現(xiàn)各種DSP的應(yīng)用系統(tǒng)有著積極的推動(dòng)作用,使得理論研究能夠在低成本的系統(tǒng)中得到應(yīng)用,其中,DSP圖像處理系統(tǒng)便是其中的一種[1-5]。
DSP圖像處理系統(tǒng)設(shè)計(jì)包括硬件和軟件兩個(gè)方面,硬件設(shè)計(jì)需要考慮到運(yùn)算的精度、系統(tǒng)的成本及體積、功耗等,并在此基礎(chǔ)上選擇合適的DSP芯片,進(jìn)而設(shè)計(jì)芯片的外圍電路等;軟件設(shè)計(jì)主要在選擇的DSP芯片基礎(chǔ)上編寫相應(yīng)的DSP程序,編程語(yǔ)言以C語(yǔ)言及匯編語(yǔ)言居多。針對(duì)德州儀器(Ti)公司的DSP芯片,一般采用CCS工具軟件進(jìn)行開發(fā),其中,CCSv5是一個(gè)集成了Eclipse軟件的開發(fā)環(huán)境,包括了編輯、編譯、軟件模擬和調(diào)試等所有需要的軟件[6]。
DSP系統(tǒng)由FPGA和DSP兩個(gè)部分組成,要實(shí)現(xiàn)FPGA與DSP之間高速數(shù)據(jù)傳輸,就不得不考慮EDMA方式,EDMA最大的優(yōu)勢(shì)就是可以在不占用CPU資源的情況下完成映射存儲(chǔ)空間的數(shù)據(jù)搬移,這些數(shù)據(jù)搬移可以在片內(nèi)存儲(chǔ)器、片內(nèi)外設(shè)或者外部器件之間進(jìn)行,且在CPU后臺(tái)實(shí)現(xiàn)[7-9]。
系統(tǒng)的總體設(shè)計(jì)如圖1所示,F(xiàn)PGA預(yù)處理模塊將經(jīng)過預(yù)處理之后的數(shù)據(jù)由輸入FIFO通過DSP的存儲(chǔ)器接口傳給DSP,然后DSP通過EDMA方式將參數(shù)及數(shù)據(jù)保存到內(nèi)部存儲(chǔ)器,并進(jìn)行圖像處理,處理后的數(shù)據(jù)通過本地EMIF以EDMA方式將數(shù)據(jù)傳輸?shù)紽PGA的輸出FIFO中,進(jìn)行后面的操作。
此外,DSP內(nèi)部設(shè)計(jì)了數(shù)據(jù)解析協(xié)議,對(duì)數(shù)據(jù)解析及參數(shù)提取后,提供圖像處理需要的實(shí)際參數(shù),將處理后的數(shù)據(jù)按照約定的格式經(jīng)過DSP與FPGA間的接口傳遞給FPGA。
2.1 TMS320C6455簡(jiǎn)介
TMS320C6455(以下簡(jiǎn)稱C6455)是目前Ti DSP定點(diǎn)芯片的頂級(jí)產(chǎn)品之一,在圖像處理等方面具有較高的性能,且適用于高級(jí)語(yǔ)言編程[10]。C6455時(shí)鐘頻率為 1.2 GHz,16位定點(diǎn)處理能力為9600MMAC/s,而ADI的高端產(chǎn)品Tiger-SHARC定點(diǎn)處理能力為4800MMAC/s.此外,C6455很好的解決了芯片間數(shù)據(jù)傳輸問題,這使得多處理器平臺(tái)的搭建更加方便高效,可見,C6455在通信、圖像處理等領(lǐng)域?qū)⒌玫綇V泛應(yīng)用。文中在C6455芯片的基礎(chǔ)之上,深入研究并利用EMIF和GPIO等模塊實(shí)現(xiàn)了EDMA實(shí)時(shí)搬移圖像數(shù)據(jù)功能。
2.2 C6455的設(shè)計(jì)及功能實(shí)現(xiàn)
DSP的設(shè)計(jì)及實(shí)現(xiàn),需要考慮時(shí)鐘頻率、通用輸入/輸出、DMA直接存儲(chǔ)器和中斷觸發(fā)等方面的問題。如圖1中DSP模塊所示,根據(jù)C6455的特點(diǎn),主要從GPIO、EMIFA模塊、EDMA控制器以及中斷初始化等方面著手,完成DSP的設(shè)計(jì)及功能實(shí)現(xiàn)[11-15]。
圖1 DSP總體設(shè)計(jì)圖
2.2.1 GPIO配置及其初始化
GPIO,即通用輸入/輸出,根據(jù)指定的通用引腳功能配置為輸入/輸出。設(shè)置為輸出時(shí),用戶可通過向內(nèi)部寄存器寫數(shù)據(jù)來控制輸出引腳驅(qū)動(dòng)的狀態(tài);設(shè)置為輸入時(shí),可以通過讀取內(nèi)部寄存器的數(shù)據(jù)來檢測(cè)輸入狀態(tài)。而且,在不同的中斷和事件產(chǎn)生模式下,GPIO能夠產(chǎn)生CPU中斷和EDMA事件,GPIO框架如圖2所示。
圖2 GPIO框圖
C6455中共有16個(gè)通用輸入輸出管腳,每一個(gè)管腳都可以單獨(dú)進(jìn)行配置成如下功能之一:通用輸入管腳 Input、通用輸出管腳 Output以及中斷和EDMA事件管腳。GPIO方向(GPDIR)寄存器控制GPIO管腳是輸入還是輸出,對(duì)應(yīng)bit置0表示該管腳配置為輸出管腳;對(duì)應(yīng)bit置1表示該管腳配置為輸入管腳。根據(jù)需要通過配置C6455的外設(shè)配置寄存器來使能GPIO模塊,可以調(diào)用CSL庫(kù)的API函數(shù),這里利用CSL_FINST庫(kù)函數(shù)把C6455中的PERCFG0寄存器中GPIO對(duì)應(yīng)位置1,ENABLE使能GPIO模塊,調(diào)用CSL_gpioInit函數(shù)對(duì)GPIO模塊進(jìn)行初始化,并通過CSL_gpioOpen函數(shù)打開GPIO模塊,使能GPIO相應(yīng)管腳作為中斷源,并配置PIN管腳的方向及中斷觸發(fā)方式,這里配置CSL_GPIO_PIN5管腳為中斷源,上升沿觸發(fā),輸入有效,如果有其它需求,按照同樣的方法進(jìn)行配置[11]。
2.2.2 EMIFA模塊配置及其初始化
外部存儲(chǔ)器接口(EMIF)負(fù)責(zé)將DSP芯片與其它外部設(shè)備進(jìn)行連接,它可以同時(shí)連接FLASH和SDRAM芯片,為DSP擴(kuò)展外部程序和數(shù)據(jù)的存儲(chǔ)空間。圖3為TMS320C64X的EMIFA接口信號(hào),SDCKE為ADRAM時(shí)鐘使能,只適用于EMIFA,其它信號(hào)同時(shí)適用于EMIFB。EMIF的時(shí)鐘ECLKOUT基于EMIF輸入時(shí)鐘ECLKIN在片內(nèi)產(chǎn)生,外部ECLKIN時(shí)鐘可由FPGA提供。EMIF時(shí)鐘在器件復(fù)位時(shí)可以通過編程具體配置,即可以由外部時(shí)鐘、ECLKIN或者內(nèi)部CPU時(shí)鐘驅(qū)動(dòng),不過FPGA直接提供的時(shí)鐘和頻率更容易更改。
此外,EMIFA接口可以支持8、16、32或64位系統(tǒng)接口,一般情況下存儲(chǔ)器等外部器件默認(rèn)為字節(jié)側(cè)右對(duì)齊,支持大端和小端模式。其中,字節(jié)順序(Endianess)決定了存取的方式是小端還是大端模式。正確運(yùn)行EMIF還需要根據(jù)同步還是異步存儲(chǔ)設(shè)置CE控制寄存器等,不同的外接存儲(chǔ)器接口通過內(nèi)存映射到DSP存儲(chǔ)器空間,這里選擇同步工作模式。
圖3 EMIFA接口
通過EMIF接口,使得DSP可以和FPGA很方便地進(jìn)行大數(shù)據(jù)量的數(shù)據(jù)傳輸。C6455的EMIFA可以訪問多種外部存儲(chǔ)器,如SRAM、ROM、FLASH等,也包括FPGA。與FPGA通信,需要使用的管腳要少很多,EMIFA共支持4個(gè)外部存儲(chǔ)器,比如可以把CE2分配給FPGA,CE3分配給SRAM,CE4分配給FLASH等,這里選擇把CE2、CE3分配給FPGA,CE4未分配。FPGA內(nèi)部RAM數(shù)據(jù)的讀取,只需設(shè)定EDMA要讀取的數(shù)據(jù)的基地址是0xA0000000,以及讀取的數(shù)據(jù)的長(zhǎng)度即可,因?yàn)镕PGA內(nèi)部時(shí)序邏輯可以產(chǎn)生地址,不必使用地址線。
表1 CEn配置寄存器
CEn配置寄存器的結(jié)構(gòu)如表1所示,與FPGA連 接 時(shí) , 主 要 考 慮 R_ENABLE、W_LTNCY、R_LTNCY和SBSIZE 4個(gè)參數(shù),不同的值表示不同的含義:R_ENABLE設(shè)置SRE/SADS管腳功能,這里賦值為1表示管腳功能為 SRE,即 Read Enable;W_LTNCY為寫延時(shí)周期,取值為0,表示0周期延時(shí);W_LTNCY為讀延時(shí)周期,取值為3,表示讀延遲為3周期;SBSIZE為3,表示數(shù)據(jù)位寬為64為數(shù)據(jù)總線,即CE2CFG=0x8000010A,表示DSP開始讀FPGA的RAM,經(jīng)過3個(gè)ECLKOUT周期后第一個(gè)數(shù)據(jù)會(huì)出現(xiàn)在數(shù)據(jù)總線上。下一步,可以利用CSL配置 EMIFA模塊,首先 CSL_FINST使能設(shè)備的EMIFA功能 ,利 用 CSL_EmifaMemType配 置CE2CFG寄存器的參數(shù),并調(diào)用CSL_emifaInit函數(shù)將EMIFA模塊初始化,之后CSL_emifaOpen函數(shù)打開EMIFA模塊并利用CSL_emifaHwSetup函數(shù)將配置的參數(shù)設(shè)置到打開的EMIFA模塊中,配置結(jié)束。
2.2.3 EDMA控制器設(shè)置及初始化
EDMA,即增強(qiáng)型直接存儲(chǔ)器訪問,是C6455及其他C6000系列所特有的性能,執(zhí)行所有二級(jí)高速緩存或內(nèi)存控制器與外設(shè)之間的數(shù)據(jù)傳輸,圖4為EDMA事件的具體傳輸參數(shù)結(jié)構(gòu)。
圖4 EDMA事件的傳輸參數(shù)結(jié)構(gòu)
EDMA進(jìn)行數(shù)據(jù)傳輸時(shí)可以通過同步和非同步兩種方式完成初始化,其中,非同步方式由CPU發(fā)起,傳輸數(shù)據(jù)時(shí)CPU將ESR事件設(shè)置寄存器相應(yīng)事件位置1,觸發(fā)EDMA通道事件;同步方式則不同,事件觸發(fā)并被保存在ER事件寄存器中,CPU對(duì)相應(yīng)的寄存器置1,ER保存的事件提交給相應(yīng)的事件編碼器,調(diào)用參數(shù),盡管該傳輸由事件觸發(fā),但事件本身須先由CPU使能,EER事件寄存器負(fù)責(zé)該事件的使能控制,因此,如果對(duì)應(yīng)于該事件的對(duì)應(yīng)位沒有置1,則ER寄存器繼續(xù)保留該事件直到CPU對(duì)相應(yīng)的寄存器置1,才能觸發(fā)EDMA進(jìn)行傳輸。
對(duì)于由某個(gè)事件觸發(fā)的EDMA傳輸,數(shù)據(jù)單元計(jì)數(shù)值及幀計(jì)數(shù)值的更新方式取決于傳輸類型(1D或2D)和同步方式的設(shè)置,EDMA控制器將自動(dòng)跟蹤數(shù)據(jù)單元計(jì)數(shù)值的變化,按照數(shù)據(jù)大小或數(shù)據(jù)單元/幀索引值對(duì)傳輸?shù)刂愤M(jìn)行更新,源/目的地址的更新模式由實(shí)際的傳輸類型決定。
EDMA全部 16個(gè)通道共享一個(gè)中斷信號(hào)EDMA_INT,傳輸結(jié)束后,EDMA控制器負(fù)責(zé)向CPU發(fā)送通道數(shù)據(jù)傳輸結(jié)束的中斷,而且C6455允許多個(gè)EDMA通道擁有相同的傳輸結(jié)束代碼值,使CPU執(zhí)行相同的中斷服務(wù)子程序,并在中斷服務(wù)程序中,清除相應(yīng)的中斷標(biāo)記。此外,事件鏈接EDMA通道功能可以使一個(gè)EDMA傳輸完成后鏈接到其他通道的傳輸,這里設(shè)置為NULL,表示鏈接到一個(gè)空的通道參數(shù)集,EDMA傳輸停止,其他傳輸?shù)臄?shù)據(jù)可以在EDMA初始化過程中利用CSL_Edma3ParamSetup以及其他CSL函數(shù)按照實(shí)際需求進(jìn)行調(diào)整,源/目的地址可以在程序中用到時(shí)再進(jìn)行賦值。
2.2.4 中斷初始化
C6455的每個(gè)中斷都有對(duì)應(yīng)的映射事件,且事件編碼是固定的,根據(jù)項(xiàng)目需求,要讓INT5映射到GPIO5,根據(jù)表2得知,GPINT5即GPIO 5中斷對(duì)應(yīng)的事件編號(hào)為56,事件編號(hào)直接設(shè)置為0x38。
表2 中斷對(duì)應(yīng)的映射事件
利用CSL實(shí)現(xiàn)C6455的中斷配置過程,調(diào)用CSL_intcInit函數(shù)初始化中斷模塊,使能不可屏蔽中斷NMI,并調(diào)用CSL_intcGlobalEnable函數(shù)全局中斷使能,利用 CSL_intcOpen函數(shù)打開中斷模塊將GPIO5中斷時(shí)間映射到系統(tǒng)中斷INT5,然后調(diào)用CSL_intcPlugEvent-Handler函數(shù)綁定中斷服務(wù)程序,最后使能該事件開始監(jiān)聽,至此中斷機(jī)制配置完成,下一步進(jìn)行中斷服務(wù)程序的編寫。
中斷服務(wù)程序的配置過程,包括兩個(gè)部分,第一部分是GPIO5等CPU觸發(fā)的外部中斷,當(dāng)FPGA信號(hào)上升沿觸發(fā)有效時(shí),CPU事件觸發(fā)并調(diào)用該中斷服務(wù)函數(shù)開始EDMA搬數(shù);第二部分是DSP內(nèi)部EDMA的中斷,根據(jù)上一節(jié)EDMA的原理,EDMA搬數(shù)完成后也會(huì)產(chǎn)生一個(gè)數(shù)據(jù)傳輸結(jié)束中斷,同時(shí)標(biāo)志符將賦值為1,表明數(shù)據(jù)搬移完畢,然后CPU開始進(jìn)行圖像處理。CPU圖像處理結(jié)束后,利用EDMA方式將得到的目標(biāo)點(diǎn)坐標(biāo)信息按數(shù)據(jù)解析格式返回給FPGA,DSP任務(wù)完成。
圖像處理是對(duì)EDMA導(dǎo)入C6455的內(nèi)部數(shù)字圖像數(shù)據(jù)進(jìn)行處理,通過圖像及參數(shù)提取、自適應(yīng)閾值算法等,提取出目標(biāo)信息,稱為疑似目標(biāo)點(diǎn)。在此基礎(chǔ)之上,通過目標(biāo)確認(rèn)算法,即利用對(duì)比度關(guān)聯(lián)域值計(jì)算分割功能提取FPGA預(yù)處理的擴(kuò)展圖像中疑似目標(biāo)點(diǎn)的目標(biāo)區(qū)域和背景區(qū)域,并按遙控參數(shù)要求計(jì)算鄰域相關(guān)對(duì)比度,完成目標(biāo)確認(rèn)過程。最后得出最終的目標(biāo)坐標(biāo)位置,將坐標(biāo)位置信息返回FPGA。圖像處理算法流程如圖5所示。
圖5 圖像處理算法流程
3.1 背景圖像的提取與更新
DSP接收到的圖像為擴(kuò)展后的全幅圖,而實(shí)際DSP進(jìn)行圖像處理時(shí)的圖像為未擴(kuò)邊的背景圖像,因此,需要從擴(kuò)展圖像中先提取出實(shí)際的背景圖像。通過傳輸?shù)膱D像數(shù)據(jù)及參數(shù),得到擴(kuò)展的邊長(zhǎng),從而確定實(shí)際圖像在擴(kuò)展圖像中的起始及終點(diǎn)坐標(biāo),以便進(jìn)行圖像處理。
一幀圖像處理結(jié)束,得到目標(biāo)點(diǎn)坐標(biāo)信息,DSP按照數(shù)據(jù)解析協(xié)議將目標(biāo)點(diǎn)打包后按照EDMA方式發(fā)送給FPGA,隨后對(duì)下一幀的圖像進(jìn)行讀取和處理,直到所有幀的圖像都處理完畢。在DSP收到中斷時(shí),EDMA將搬移經(jīng)FPGA預(yù)處理的背景圖像數(shù)據(jù),并覆蓋掉上次讀取的圖像數(shù)據(jù),更新之后,進(jìn)行本次的圖像處理過程。
3.2 目標(biāo)點(diǎn)檢測(cè)和確認(rèn)
通過對(duì)圖像數(shù)據(jù)進(jìn)行分塊處理,按照水平掃描、垂直掃描方向的坐標(biāo)變化直接對(duì)圖像數(shù)據(jù)進(jìn)行重組,按行列方向找尋8*8小圖像坐標(biāo),能夠求取每個(gè)8*8小圖的閾值Ts,并根據(jù)Ts進(jìn)行判斷,從而得到疑似目標(biāo)點(diǎn),此即為自適應(yīng)閾值算法,具體計(jì)算如公式(1)所示:
其中μs、σs分別為塊圖像的均值和均方差,k為可調(diào)門限控制參數(shù)且由FPGA根據(jù)返回的目標(biāo)點(diǎn)個(gè)數(shù)進(jìn)行調(diào)控。
疑似目標(biāo)點(diǎn)的確認(rèn)過程,就是在自適應(yīng)閾值算法的基礎(chǔ)之上,以疑似目標(biāo)點(diǎn)為中心,以擴(kuò)邊后的圖像為背景圖像,取小的目標(biāo)區(qū)域和大的環(huán)狀背景區(qū)域進(jìn)行處理,利用公式(2)完成確認(rèn)過程:
其中,μtl、μs、σs分別表示目標(biāo)區(qū)域均值、 背景區(qū)域均值 (環(huán)形)和環(huán)形背景區(qū)域均方差,kc參數(shù)為FPGA提供。通過相互比較,確認(rèn)疑似目標(biāo)點(diǎn)是否滿足條件。隨后,遍歷整個(gè)圖像數(shù)據(jù),依次求出相應(yīng)子圖像滿足條件的目標(biāo)點(diǎn),并將其坐標(biāo)信息存儲(chǔ)下來。
3.3 軟件設(shè)計(jì)
C6455實(shí)現(xiàn)圖像處理的軟件設(shè)計(jì),是在FPGA對(duì)圖像進(jìn)行擴(kuò)邊和求殘差等預(yù)處理操作的前提下,按照上述的圖像處理算法進(jìn)行軟件設(shè)計(jì),實(shí)現(xiàn)圖像處理的具體軟件流程如圖6所示。
圖6 C6455實(shí)現(xiàn)圖像處理的軟件流程圖
C6455完成初始化,在收到中斷后通過EDMA方式將參數(shù)及數(shù)據(jù)保存到內(nèi)部存儲(chǔ)器,當(dāng)標(biāo)識(shí)變量賦值為1時(shí)表示EDMA本次搬數(shù)過程結(jié)束,然后完成背景圖像更新和參數(shù)數(shù)據(jù)提取。下一步,通過自適應(yīng)閾值算法處理背景圖像得到疑似目標(biāo)點(diǎn),然后利用目標(biāo)確認(rèn)算法完成確認(rèn),最后以EDMA方式將滿足條件的目標(biāo)點(diǎn)按照約定的格式打包發(fā)送給FPGA,這樣便完成了本次圖像的目標(biāo)點(diǎn)檢測(cè)和信息獲取。
搭建好DSP和FPGA硬件平臺(tái),通過測(cè)試,發(fā)現(xiàn)DSP在讀取數(shù)據(jù)時(shí)仍存在數(shù)據(jù)丟包的現(xiàn)象。因此,需要進(jìn)一步對(duì)底層配置進(jìn)行完善,即對(duì)EDMA初始化和中斷初始化部分進(jìn)行修改。通過不斷地調(diào)試和修改,最終程序編譯通過。如圖7所示,模擬圖像數(shù)據(jù)輸入之后,讀入的數(shù)據(jù)順利寫到DSP內(nèi)存,紅色即為讀取的數(shù)值,實(shí)現(xiàn)了與FPGA間的基本通信。
在讀取數(shù)據(jù)后,DSP直接對(duì)讀入的圖像數(shù)據(jù)進(jìn)行算法處理,并最終以EDMA方式將確定后的目標(biāo)信息成功返回給了FPGA。
圖7 系統(tǒng)調(diào)試結(jié)果
文中以TMS320C6455芯片為核心,通過對(duì)C6455芯片的EMIF和EDMA等模塊部分的研究,參考相關(guān)的CSL驅(qū)動(dòng)程序,實(shí)現(xiàn)了數(shù)字圖像目標(biāo)點(diǎn)的檢測(cè),且最高可完成DSP與FPGA之間64位高速數(shù)據(jù)通信。測(cè)試結(jié)果證明,該設(shè)計(jì)能夠有效地實(shí)現(xiàn)數(shù)字圖像目標(biāo)點(diǎn)的有效檢測(cè),實(shí)時(shí)性好,可以為其他的圖像實(shí)時(shí)處理等相關(guān)項(xiàng)目提供借鑒。
調(diào)試過程中,EDMA模塊的初始化實(shí)現(xiàn)是最關(guān)鍵的部分,也是實(shí)驗(yàn)最具挑戰(zhàn)的部分。在滿足系統(tǒng)設(shè)計(jì)要求的前提下,其搬移數(shù)據(jù)存儲(chǔ)的大小端模式、確定搬數(shù)選用的通道、搬數(shù)的源地址及目的地址、傳輸數(shù)據(jù)的長(zhǎng)度以及是否有DMA中斷響應(yīng)等都是要考慮的問題。此外,在雙FPGA與雙C6455系統(tǒng)協(xié)作進(jìn)行圖像處理過程中發(fā)現(xiàn)實(shí)際的數(shù)據(jù)吞吐速率距離理論速率有一定的差距。如何解決C6455與FPGA之間相互協(xié)作的高效性,如何進(jìn)一步優(yōu)化圖像數(shù)據(jù)讀取和處理的算法,以便更好地提高數(shù)據(jù)吞吐率,是下一步的研究方向。
[1]董言治,婁樹理,劉松濤.TMS320C6000系列DSP系列結(jié)構(gòu)原理與應(yīng)用教程[M].北京:清華大學(xué)出版社,2014.
[2]韋金辰,李剛,王臣業(yè),等.TMS320C6000系列DSP原理與應(yīng)用系統(tǒng)設(shè)計(jì) [M].北京:機(jī)械工業(yè)出版社,2012.
[3]江思敏,劉暢.TMS320C6000系列DSP應(yīng)用開發(fā)教程——DSP應(yīng)用開發(fā)教程系列[M].北京:機(jī)械工業(yè)出版社,2005.
[4]鄭阿奇,孫承龍.DSP開發(fā)寶典[M].北京:電子工業(yè)出版社,2012.
[5]劉偉,王瑋,盧恒煒,等.DSP原理與應(yīng)用系列設(shè)計(jì)[M].北京:電子工業(yè)出版社,2012
[6]德州儀器公司.牛金海,等編譯.Code Composer Studio(CCS)集成開發(fā)環(huán)境(IDE)入門指導(dǎo)書,2010.
[7]汪安民,張松燦,常春藤.TMS350C6000 DSP實(shí)用技術(shù)與開發(fā)案例[M].北京:人民郵電出版社[z],2008.
[8]李方慧.TMS320C6000系列DSPs原理與應(yīng)用[M].2版.北京:電子工業(yè)出版社,2003.
[9]孫進(jìn)平,王俊,李偉,等.DSP/FPGA嵌入式實(shí)時(shí)處理技術(shù)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2011.
[10]Texas Instruments.TMS320C6455 Fixed-Point Digital Signal Processor[EB/OL].www.ti.com.
[11]Texas Instruments.TMS320C6455 Chip Support Library API Reference Guide[EB/OL].www.ti.com.
[12]Texas Instruments.TMS320C645x DSP Software-Programmable Phase-Locked Loop (PLL)Controller User's Guide[EB/OL].www.ti.com.
[13]Texas Instruments.TMS320C6000 DSP External Memory Interface(EMIF)Reference Guide[EB/OL]. www.ti.com.
[14]Texas Instruments.TMS320C645x DSP Enhanced DMA(EDMA3)Controller User's Guide[EB/OL]. www.ti.com.
[15]Texas Instruments.TMS320C645x DSP General-Purpose Input or Output(GPIO)User's Guide[EB/ OL].www.ti.com.
Application of TMS320C6455 in real-time image processing
LIANG He-bin1,2,F(xiàn)ENG Shui-chun1,ZHOU Hai1,BIAN Chun-jiang1,WANG Xiao-yan1,MAO Bo-nian1
(1.National Space Science Center,Chinese Academy Sciences,Beijing 100190,China;2.University of Chinese Academy Sciences,Beijing 100190,China)
To search for the goal points in the digital image and realize the high-speed data communication between FPGA and DSP,a system based on the high-speed DSP-TMS320C6455 was developed.The hardware part is to emulate the input or output data,and C was applied to complete the software part by Code Composer Studio(CCS).The image processing system was designed and realized by software design and configuring External Memory Interface(EMIF)、Enhanced DMA(EDMA)and so on,which finished the task of real-time image processing and high-speed communication.From the experimental results,the Image Processing System is reasonable and ideal so that it totally satisfy the needs,it is a real-time system and works efficiently.Above all,the design is useful and can be applied to many other parts of Digital Image Processing.
TMS320C6455;digital image processing;DSP;EMIF;EDMA
TN919
A
1674-6236(2017)09-0179-05
2016-03-15稿件編號(hào):201603185
梁賀斌(1991—),男,河南駐馬店人,碩士。研究方向:電子信息工程、計(jì)算機(jī)應(yīng)用技術(shù)。