針對高速圖像數(shù)據(jù)傳輸和處理的應(yīng)用平臺,設(shè)計了一款嵌入式圖像處理系統(tǒng),采用基于TS201的DSP,雙FPGA的系統(tǒng)架構(gòu)。該系統(tǒng)可以同時處理不同傳感器來源的圖像(如星敏、紅外等),而且具有體積小、使用靈活、功耗低以及性能高等優(yōu)點。在設(shè)計時對芯片選型進行了分析,并給出了圖像處理系統(tǒng)總體的通信結(jié)構(gòu)——關(guān)鍵是DSP和FPGA間的鏈路口通信,同時給出了數(shù)據(jù)傳輸具體的實現(xiàn)方案,最后通過仿真驗證了該設(shè)計平臺的功能,肯定了其實用性。
《通信與信息技術(shù)》(雙月刊)創(chuàng)刊于1971年,由四川省通信學(xué)會主辦。本刊堅持為社會主義服務(wù)的方向,堅持以馬克思列寧主義、毛澤東思想和鄧小平理論為指導(dǎo),貫徹“百花齊放、百家爭鳴”和“古為今用、洋為中用”的方針,堅持實事求是、理論與實際相結(jié)合的嚴(yán)謹學(xué)風(fēng),傳播先進的科學(xué)文化知識,弘揚民族優(yōu)秀科學(xué)文化,促進國際科學(xué)文化交流,探索防災(zāi)科技教育、教學(xué)及管理諸方面的規(guī)律,活躍教學(xué)與科研的學(xué)術(shù)風(fēng)氣,為教學(xué)與科研服務(wù)。
隨著圖像處理技術(shù)日益發(fā)展,人們需要采集的圖像也越來越大,內(nèi)容也更豐富,此時對圖像處理平臺的處理速度以及傳輸速度也有了更高要求。考慮到成本、性能、開發(fā)難易程度,同時基于FPGA和DSP圖像處理平臺的高靈活度、強實用性、高可靠性,本文設(shè)計了一種采用了基于TS201的雙DSP,雙FPGA系統(tǒng)架構(gòu)的嵌入式圖像處理系統(tǒng)。由于該DSP有著豐富的內(nèi)外資源及外設(shè)接口,能夠?qū)⑻幚砥魑⑿突瘜I(yè)化并且支持內(nèi)部高速緩存,數(shù)據(jù)處理速度很快且基本上能夠滿足本應(yīng)用需求。
鏈路口通信的使用不但能減輕DSP的總線上的傳輸速度和壓力,同時與FPGA的有著相對較少的連接,所以鏈路口的使用為FPGA和DSP的實時數(shù)據(jù)通信提供了極大的便利,因而對兩者間鏈路口通信進行設(shè)計和實現(xiàn)也是發(fā)揮高速圖像數(shù)據(jù)處理的關(guān)鍵所在。
1圖像處理平臺的設(shè)計
本文給出一款同時具有高速圖像傳輸及處理的圖像處理平臺。該嵌入式圖像處理系統(tǒng)采用基于TS201的雙DSP,雙FPGA的系統(tǒng)架構(gòu),可以同時處理不同傳感器來源的圖像(如星敏、紅外等),而且該平臺具有體積小、使用靈活、功耗低以及性能高等優(yōu)點。
FPGA的特點是完成一些非高難度而計算量又比較大的處理,在本平臺中FPGA需要完成圖像處理算法之外的大部分數(shù)據(jù)操作,而且本系統(tǒng)需要DSP和FPGA協(xié)同工作以達到優(yōu)勢互補的效果,因此對核心器件FPGA要求包括具有較高幀頻圖像傳輸能力,高速數(shù)據(jù)緩存能力,一定的算法處理能力,再綜合功耗以及成本,最終FPGA采用XILINX公司的XC6SLXl00-3CSG484I芯片。該FPGA芯片具有338個普通I/0接口169個可編程單端或差分對,包含有101261個邏輯單元,可以說有著很好的片上邏輯資源。
系統(tǒng)的DSP采用ADI公司的TigerSHARC系列芯片TS201,它是ADI公司2003年分布的TigerSHARC新成員,其內(nèi)核的工作頻率最高可以達到600MHz,以1.6ns為一個指令周期,大大加速了芯片的處理速度,本系統(tǒng)中圖像處理算法復(fù)雜度不高,一般DSP工作在400~500MHz就足夠用。ADSPTS201的主要優(yōu)點有:1)具有了一定的并行處理的能力從而滿足高速處理的需求。2)具有4個鏈路口,能夠提供額外的4位全雙向10能力,并且還能以雙倍速率鎖存數(shù)據(jù)(因為其在CCLK時鐘上升沿和下降沿都能鎖存數(shù)據(jù))。
此設(shè)計中DSP和FPGA之間的通過鏈路口連接,傳輸速率為1GB/s,普通差分I/O接口傳輸數(shù)據(jù)速率最高1080Mb/s,完全能夠滿足傳輸需求,所以選擇LX系列。根據(jù)I/O數(shù)量的關(guān)系選擇XC6SLX100-3CSG484I芯片:338個I/O口,169個可編程單端或差分對,101261個邏輯單元。
本圖像處理平臺的基本通信結(jié)構(gòu)如圖1所示。
2 DSP、FPGA間鏈路口通信設(shè)計
由于圖像處理平臺對數(shù)據(jù)的高速傳輸有著越來越高的需求,而鏈路口為數(shù)據(jù)傳送提供了高速、獨立的通信機制,故如何設(shè)計鏈路口之間的通信是高速數(shù)據(jù)傳輸?shù)挠辛ΡU稀?/p>
ADSP TS201TigerSHARC的每個鏈路口都由數(shù)據(jù)線和控制線組成的,其中數(shù)據(jù)線是4位雙向的能實現(xiàn)雙數(shù)據(jù)率傳輸技術(shù)的差分數(shù)據(jù)線,控制線是由3個控制信號組成的。設(shè)計選用上升沿和下降沿均對數(shù)據(jù)進行鎖存與驅(qū)動的雙倍數(shù)據(jù)速率傳輸模式。其鏈路口結(jié)構(gòu)如圖2所示。
TS201芯片的鏈路口傳輸方式可以是4位并行方式。,也可選擇1位傳輸,其中每個通信通道都可達4位,是通過LxCLK-OUTP/N,LxACKI,LxCLKINP/N和LxACKO信號來進行控制控制,LxBCMPI和LxBCMPO則用于描述塊傳輸已經(jīng)完成。由于鏈路口通信為LVDS的差分連接模式,考慮到LVDS信號對走線以及器件之間的連接相當(dāng)嚴(yán)格,為了達到匹配的目的需要在接收方內(nèi)部加100Ω的端接電阻,此外印制電路板連線要匹配,保證所有數(shù)據(jù)引腳和時鐘引腳有相同的延遲,其他布線原則與上述LVDS布線規(guī)則相同。
多DSP處理系統(tǒng)中,TS201使用鏈路口進行處理系統(tǒng)之間的互聯(lián)的,按互聯(lián)方式分為緊耦合和松耦合,緊耦合方式是通過外部總線來實現(xiàn)DSP相互之間以及DSP和其他資源之間的互聯(lián),緊耦合方式的優(yōu)點是數(shù)據(jù)吞吐帶寬大,軟件操作簡單,缺點是電路設(shè)計復(fù)雜,松耦合方式則是通過特殊端口來實現(xiàn)DSP之間以及DSP與其他資源之間的互聯(lián),比如說鏈路口、握手信號、標(biāo)志等形式,優(yōu)點是電路設(shè)計簡單,易于實現(xiàn)。本圖像處理平臺,兩個子系統(tǒng)DSP之間的通信則是采用了松耦合的方式,實現(xiàn)之間的點對點通信。
具體而言,本圖像處理平臺是通過鏈路口0進行DSP之間的互聯(lián),使得兩個DSP之間可以進行數(shù)據(jù)交換,通過鏈路口1進行DSP與FPGA之間的連接,用于DSP與FPGA之間進行有序的數(shù)據(jù)交換,而未被用到的鏈路口2、鏈路口3做閑置處理即加高電平。并且兩個獨立的子系統(tǒng)之間FPGA與FPGA之間也建立者通信關(guān)系,他們采用的是I/O差分對之間的連接,主要實現(xiàn)輔助DSP通信的作用。
3 TS201鏈路口和DMA傳輸實現(xiàn)
ADSP TS201片上有四個完全獨立的鏈路口,每一個鏈路口獨立地進行接收和發(fā)送操作,每個鏈路口都是由4位雙向差分數(shù)據(jù)線和另外3個控制信號組成。通信的時候可以選1bit模式或者4bit模式,鏈路口通信為LVDS的差分連接模式,是完全的雙向通信,即在發(fā)射數(shù)據(jù)的同時可從對方接收數(shù)據(jù),鏈路口的時鐘最高可達核內(nèi)的時鐘速度,能夠擁有更高的數(shù)據(jù)吞吐量。本系統(tǒng)外部輸入時鐘(SCLK)為80MHz,經(jīng)過SCLKRAT2-0進行比率設(shè)置,比率為5得到最終內(nèi)核時鐘400MHz,DSP與FPGA之間通過鏈路口1進行的連接,用于DSP與FPGA之間進行有序的數(shù)據(jù)交換。
數(shù)據(jù)通信時,可以由處理器直接控制鏈路口,也可以用DMA控制器控制鏈路口,并且能夠擁有雙倍的數(shù)據(jù)速率,這是因為鏈路口在時鐘的上升沿和下降沿都可對數(shù)據(jù)進行鎖存和驅(qū)動。如圖3為4位模式鏈路口通信協(xié)議,4位模式下傳輸4字需要16個時鐘。
在本系統(tǒng)中圖像由FPGA發(fā)向DSP的時候,F(xiàn)PGA需要檢測兩個信號,一個是設(shè)置的FLAG0握手信號,另一個則是Lx-ACKI信號,F(xiàn)LAG0握手信號是由DSP程序控制產(chǎn)生的,而Lx-ACKI信號則是鏈路口配置完之后,接收緩沖器為空,接收通道初始化正常后,由DSP芯片自動產(chǎn)生的。當(dāng)這兩個信號都有效時,DSP可以進行收圖,此時隨著LxCLKIN信號開始數(shù)據(jù)傳輸。
并且本系統(tǒng)中按照4bit進行接收,則其規(guī)則如圖所示,第一個數(shù)據(jù)(4bit)在鏈路口時鐘的上升沿進行采集,最后一個數(shù)據(jù)(4bit)在下降沿采集,而且鏈路口一個數(shù)據(jù)包是128bit的,也就是所謂的4字傳輸,當(dāng)滿一個數(shù)據(jù)包的時候才會接收一次,接收的時候,一般數(shù)據(jù)是接收緩沖器為空,才會將數(shù)據(jù)從接收移位寄存器完整的4字移入,如果接收緩沖器滿著,會將接收移位寄存器的數(shù)據(jù)拷貝到臨時接收緩沖器中,直到接收器空下來。
需要額外注意的是LxBCMPI信號,這個塊傳輸結(jié)束標(biāo)志信號是由FPGA產(chǎn)生的,一幀496X496的圖像按照一行或者若干行進行發(fā)送的時候,可以設(shè)置此信號,表示這一塊傳輸完成。比如在本系統(tǒng)中按照一行進行塊傳輸,則FPGA需要在最后4個字傳輸?shù)牡谝粋€LxCLKIN的上升沿將LxBCMPI信號拉高,這是非常重要的一個設(shè)置。如圖4為FPGA和DSP之間的握手流程:
在圖像進行傳輸?shù)臅r候,可以利用TS201的DMA傳輸方式,將數(shù)據(jù)傳輸作為后臺任務(wù)操作,由于不占用內(nèi)核時間資源此時DSP核可以進行其他操作。此款DSP提供了14個DMA通道,鏈路口專用的通道8個,通道4和通道8分別對應(yīng)著鏈路口0的發(fā)送通道和接收通道。由此也可以看出鏈路口的發(fā)送和接收是獨立的,可以同時進行,并且DMA的傳輸數(shù)據(jù)流具有方向,需要對其進行設(shè)定。TS201提供了便利的設(shè)置方法,只需重點設(shè)置傳輸控制塊寄存器(TCB),如圖5所示TCB是一個128位的四字組寄存器:
DP寄存器包括了DMA傳輸?shù)乃锌刂菩畔ⅲ瑓⒖糡CB DP寄存器的含義選擇所需要的傳輸方式進行設(shè)置即可。
對于鏈路口DMA傳輸,只需要設(shè)置好TCB控制寄存器,一旦建立和使能DMA模塊,數(shù)據(jù)在握手信號控制下就可以自動被接收到指定位置,這個傳輸過程直到塊傳輸結(jié)束,或者未設(shè)置塊傳輸?shù)臅r候,完成整個約定好長度的數(shù)據(jù)傳輸。如果TCB設(shè)定允許在塊傳輸結(jié)束后產(chǎn)生一個DMA中斷,以及正確的將DMA中斷寫入中斷向量表,且中斷被使能,則整塊數(shù)據(jù)傳輸完成后,可以正常響應(yīng)DMA中斷。本系統(tǒng)中在一行數(shù)據(jù)傳輸完之后會進入DMA中斷的服務(wù)子程序,由于非自動DMA根據(jù)TCB編程和請求啟動只完成一次DMA傳輸,也就是一行數(shù)據(jù)的接收,在進人服務(wù)子程序后,需要再次對TCB進行配置,以便接下來數(shù)據(jù)的接收,直至所有數(shù)據(jù)接收完畢。
進行鏈路口DMA接收之前,對需要先對系統(tǒng)的初始化以及鏈路口初始化,主要依靠對系統(tǒng)配置寄存器(SYSCON)、鏈路口接收控制寄存器(LRCTLX)按照需要進行配置,特別需要注意的是對鏈路口接收控制寄存器(LRCTLX)配置之前,要先對其進行清零初始化操作,并且每一次響應(yīng)DMA中斷進入DMA中斷服務(wù)函數(shù)后,進行配置之前再次清鏈路口。這是非常重要的一個操作,否則會導(dǎo)致接收數(shù)據(jù)出現(xiàn)錯誤。
如圖6為系統(tǒng)配置寄存器(SYSCON)的位定義,以及鏈路口接收控制寄存器(LRCTLx)位定義:
在確定完成一幀圖像接收后,系統(tǒng)可以開始進行圖像處理操作,這是為了保證圖像數(shù)據(jù)的完整性,在本系統(tǒng)中,設(shè)置了外部IRQ0中斷,當(dāng)傳輸結(jié)束后利用幀同步信號產(chǎn)生中斷,用于處理附加數(shù)據(jù)和幀計數(shù),以及對行計數(shù)進行清零操作。
4實現(xiàn)與仿真
ModelSim作為Mentor公司在業(yè)界最優(yōu)秀的HDL語言仿真軟件,它提供了友好的仿真環(huán)境,是業(yè)界唯一的單內(nèi)核支持Verilog和VHDL混合仿真的仿真器。
在仿真環(huán)境搭建好以后,首先對程序進行功能級仿真,驗證功能是否達到要求;功能仿真正確后再進行布局布線后仿真,根據(jù)布局布線仿真的情況再對程序進行分析,調(diào)整或者修改原先的設(shè)計,以滿足設(shè)計要求。
如圖7,是仿真時FPGA通過鏈路口給DSP傳輸數(shù)據(jù)的時序圖,能清楚地看到圖像數(shù)據(jù)在控制信號及時鐘信號觸發(fā)下的傳輸過程。
隨著DSP功能越來越復(fù)雜,以及開發(fā)周期越來越短,DSP系統(tǒng)的設(shè)計調(diào)試工作更加倚重DSP開發(fā)系統(tǒng)和調(diào)試工具,AD-SP提供了很好的對應(yīng)開發(fā)平臺,利用開發(fā)工具Visual DSP,方便地完成對DSP軟、硬件進行跟蹤和調(diào)試。
如圖8,我們利用Visual DSP,開發(fā)平臺展示了鏈路口成功接收的一幀圖像:
5結(jié)束語
整體而言,本文設(shè)計的圖像處理平臺具有一定的通用性,在圖像高速傳輸及處理方面也頗具優(yōu)勢,其次,系統(tǒng)中給出了FPGA和DSP間鏈路口的通信設(shè)計和傳輸過程的實現(xiàn)方法,并通過測試和仿真得到了圖像的傳輸結(jié)果。另外,結(jié)構(gòu)圖中兩DSP之間進行了鏈路口通信,雖然只是作為備用,如果有處理效率大幅度提升的需要,可以將兩片DSP芯片進行并行度提高,完成2片互聯(lián)從而進一步提高圖像處理平臺的處理性能。
論文指導(dǎo) >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >