版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一種基于SRIO總線的DSP與FPGA通信互連架構(gòu)設(shè)計(jì)0引言隨著現(xiàn)代信息技術(shù)的快速發(fā)展,數(shù)字信號(hào)處理技術(shù)在軍用和民用市場(chǎng)都得到了廣泛的應(yīng)用,同時(shí)日趨復(fù)雜的信號(hào)處理需求也對(duì)處理平臺(tái)提出了更高的要求,特別是在無線通信、人工智能、航空航天等高科技領(lǐng)域信號(hào)處理實(shí)時(shí)性高,數(shù)據(jù)量大,數(shù)據(jù)交互及處理算法復(fù)雜度高,依靠單個(gè)處理器的傳統(tǒng)解決方案已經(jīng)無法滿足這些需求,高度集成的多處理器嵌入式系統(tǒng)逐步成為高速信號(hào)處理平臺(tái)的主流方案,基于“DSP+FPGA”的協(xié)同處理架構(gòu)憑借其超強(qiáng)的處理能力和廣泛的工程化應(yīng)用優(yōu)勢(shì),已經(jīng)成為通用信號(hào)處理平臺(tái)的首選。采用“DSP+FPGA”的信號(hào)處理系統(tǒng)顯著提升了運(yùn)算速度和數(shù)據(jù)處理能力,但同時(shí)不可避免地引入了處理器之間的數(shù)據(jù)交換問題,隨著交互頻率和數(shù)據(jù)量的急劇增加,對(duì)芯片間的高速數(shù)據(jù)傳輸要求越來越高,傳統(tǒng)的共享總線已無法滿足高性能嵌入式系統(tǒng)的數(shù)據(jù)交互需求,成為了處理平臺(tái)性能進(jìn)一步提升的瓶頸。因此,需要高性能互聯(lián)體系結(jié)構(gòu)來解決嵌入式處理器之間的數(shù)據(jù)交互問題,高速串行RapidIO總線正是基于該需求設(shè)計(jì)的新型高性能互連總線技術(shù),該總線以其高帶寬、低延時(shí)、低功耗及高可靠性等優(yōu)勢(shì)為嵌入式系統(tǒng)內(nèi)部互連提供了良好的解決方案。本文設(shè)計(jì)一種基于SRIO總線的DSP與FPGA通信互連架構(gòu),其中多核DSPTMS320C6678的SRIO接口模塊采用4x接口模式配置,每路接口傳輸速率為3.125Gb/s,理論傳輸速率達(dá)到10Gb/s,同時(shí)使用DSP片上DDR3控制器模塊擴(kuò)展2GB高速緩存進(jìn)行數(shù)據(jù)讀寫,從而實(shí)現(xiàn)系統(tǒng)內(nèi)部數(shù)據(jù)高速傳輸及共享存儲(chǔ)。1RapidIO協(xié)議架構(gòu)介紹RapidIO體系架構(gòu)是為了滿足高性能嵌入式系統(tǒng)互連需求而設(shè)計(jì)的一種系統(tǒng)級(jí)互連技術(shù),它支持芯片間以及板間的互連與通信,廣泛應(yīng)用于多處理器、多存儲(chǔ)器及通用信號(hào)處理平臺(tái)等的交互連接。RapidIO的數(shù)據(jù)傳輸操作基于數(shù)據(jù)包的請(qǐng)求與響應(yīng),數(shù)據(jù)包是點(diǎn)對(duì)點(diǎn)通信設(shè)備的消息載體,通信過程首先由主控器件發(fā)出一個(gè)請(qǐng)求事務(wù),并將該請(qǐng)求事務(wù)以包的形式傳輸給目標(biāo)器件,目標(biāo)器件收到請(qǐng)求事務(wù)后執(zhí)行相應(yīng)操作并產(chǎn)生響應(yīng)事務(wù)返回給通信的發(fā)起方,發(fā)起方接收到響應(yīng)包后一次通信操作完成。RapidIO互連體系結(jié)構(gòu)共分為三層,分別為邏輯層、傳輸層和物理層。邏輯層為協(xié)議最高層,定義了全部操作協(xié)議和包格式,為端點(diǎn)器件發(fā)起和完成事務(wù)提供必要的信息;傳輸層處于協(xié)議中間層,定義了RapidIO的地址空間、尋址機(jī)制和用于包交換的路由信息;物理層處于協(xié)議最底層,主要定義電氣特性、包傳輸機(jī)制、流量控制及低級(jí)錯(cuò)誤管理等器件級(jí)接口細(xì)節(jié),RapidIO協(xié)議層次結(jié)構(gòu)如圖1所示。2基于SRIO的互連系統(tǒng)設(shè)計(jì)2.1TMS320C6678的SRIO模塊特性TMS320C6678DSP外圍接口豐富,片內(nèi)集成了基于1x/4xLP-Serial規(guī)范的串行RapidIO外設(shè)接口模塊,即SRIO。該模塊支持4通道的RapidIO高速傳輸,也可配置成1x、2x和4x等多種接口模式,單個(gè)通道的傳輸速度最大可達(dá)5Gb/s,在實(shí)際工程化應(yīng)用中也可靈活配置到1.25Gb/s、2.5Gb/s和3.125Gb/s使用?;赗apidIO的高速傳輸操作協(xié)議由邏輯層定義,SRIO接口邏輯層支持I/O邏輯操作(DirectI/O)和消息傳遞(MessagePassing)兩種數(shù)據(jù)傳輸機(jī)制,其中I/O邏輯操作包含NREAD、NWRITE、NWRITE_R、SWRITE、Atomic和MAINTENANCE共6種基本I/O操作,消息傳遞主要包括DOORBELL和MESSAGE兩種,具體如表1所示。直接I/O模式是最簡(jiǎn)單實(shí)用的傳輸方式,主設(shè)備可以直接讀寫從設(shè)備的存儲(chǔ)器,可通過多種請(qǐng)求和響應(yīng)事務(wù)直接完成對(duì)應(yīng)存儲(chǔ)空間的數(shù)據(jù)讀寫,其中SWRITE事務(wù)是高效的傳輸格式,接口實(shí)現(xiàn)簡(jiǎn)單,通信開銷小,適用于點(diǎn)對(duì)點(diǎn)的大數(shù)據(jù)直接傳輸;消息傳遞模式使用信箱和信件的方式傳遞信息,類似以太網(wǎng)的傳輸方式,接收方根據(jù)內(nèi)部地址與信箱的映射關(guān)系對(duì)數(shù)據(jù)進(jìn)行讀寫,適用于包含多個(gè)處理器的復(fù)雜系統(tǒng)間通信。消息傳遞機(jī)制中包含有一種特殊的輕量級(jí)消息傳遞事務(wù)類型,即門鈴消息(Doorbell),門鈴消息數(shù)據(jù)包僅可填充一個(gè)16位大小的數(shù)據(jù)負(fù)載,適用于發(fā)送SRIO通信的中斷信息,接收方將收到的門鈴事務(wù)放到門鈴消息隊(duì)列中,通過解析門鈴信息進(jìn)行相應(yīng)的響應(yīng)操作。2.2傳輸系統(tǒng)互聯(lián)設(shè)計(jì)本文設(shè)計(jì)的DSP與FPGA通信系統(tǒng)基于圖2所示的高速串行RapidIO接口進(jìn)行互聯(lián)設(shè)計(jì)。在FPGA端選用Xilinx公司的Kintex7系列芯片,F(xiàn)PGA對(duì)外接口接收雷達(dá)回波數(shù)據(jù)或者光學(xué)相機(jī)采集的圖像數(shù)據(jù),然后通過4路SRIO高速接口將數(shù)據(jù)實(shí)時(shí)傳輸給DSP芯片,F(xiàn)PGA的SRIO接口采用開發(fā)平臺(tái)提供的IP核進(jìn)行設(shè)計(jì)實(shí)現(xiàn)。DSP端芯片選用TI公司的TMS320C6678高性能多核浮點(diǎn)型處理器,該芯片采用全新的Keystone架構(gòu)和C66x內(nèi)核,其內(nèi)部有8個(gè)速度達(dá)到1.25GHz的高性能定點(diǎn)/浮點(diǎn)CPU內(nèi)核,每個(gè)內(nèi)核的單周期定點(diǎn)性能高達(dá)32MAC,浮點(diǎn)性能高達(dá)16FLOP,單個(gè)CorePac內(nèi)核中配置了32KB一級(jí)程序存儲(chǔ)器(L1P)、32KB一級(jí)數(shù)據(jù)存儲(chǔ)器(L1D)以及512KB二級(jí)局部存儲(chǔ)器(L2),高性能的計(jì)算能力和高速緩存能力有效地支撐了復(fù)雜圖像處理算法的工程化應(yīng)用需求。同時(shí)6678處理器內(nèi)部集成了DDR3控制器模塊,帶有64bit位寬的DDR3存儲(chǔ)器接口總線,最高速率可達(dá)1600MTS,可供尋址的空間達(dá)到了8GB,本系統(tǒng)外掛了4片256×64bit的DDR3SDRAM,總?cè)萘窟_(dá)到2GB,完全滿足系統(tǒng)數(shù)據(jù)緩存需求,DSP處理器可以通過EDMA的方式直接對(duì)DDR3存儲(chǔ)器進(jìn)行讀寫訪問,減少了通過內(nèi)核CPU讀寫大數(shù)據(jù)的資源占用,有效提升系統(tǒng)并行運(yùn)算效能。3通信系統(tǒng)軟件設(shè)計(jì)3.1SRIO接口驅(qū)動(dòng)設(shè)計(jì)根據(jù)上文的互聯(lián)系統(tǒng)設(shè)計(jì),為了實(shí)現(xiàn)接口通信功能需進(jìn)行接口軟件設(shè)計(jì),DSP端的SRIO外設(shè)模塊驅(qū)動(dòng)編程主要有以下幾個(gè)方面:(1)通信設(shè)備ID設(shè)置SRIO模塊支持8位和16位兩種模式ID設(shè)置,8位的ID可容納256個(gè)單獨(dú)設(shè)備,16位ID可容納65536個(gè)單獨(dú)設(shè)備,通信雙方需采用相同設(shè)置模式,但要設(shè)置為不同的ID號(hào),本系統(tǒng)采用8位ID模式設(shè)置,DSP和FPGAID號(hào)設(shè)置如下:#defineSRIO_DSP_BASE_ID(0x00)#defineSRIO_FPGA_BASE_ID(0xFF)(2)SRIO工作模式配置SRIO模塊可配置成1x、2x和4x等多種端口模式使用,可通過路徑控制寄存器PLM_SP(n)_PATH_CTL的PATH_CONFIG和PATH_MODE作用域進(jìn)行編程配置。本系統(tǒng)采用4x模式配置,單通道速率配置為3.125Gb/s,具體配置程序如下:CSL_SRIO_Enable3_125GBaud(hSrio,0);CSL_FINS(hSrio-》RIO_PLM[0].RIO_PLM_SP_PATH_CTL,SRIO_RIO_PLM_SP_PATH_CTL_PATH_CONFIGURATION,4);CSL_FINS(hSrio-》RIO_PLM[0].RIO_PLM_SP_PATH_CTL,SRIO_RIO_PLM_SP_PATH_CTL_PATH_MODE,4);(3)SerDes模塊配置SRIO接口通過SerDes(SerializeDeserialize)模塊接收和發(fā)送高速串行差分信號(hào),該模塊由TX、RX、PLL、S2P(serial-to-parallel)、P2S(parallel-to-serial)及時(shí)鐘恢復(fù)等部分組成,初始化配置主要對(duì)PLL模塊的SRIO_SERDES_CFGPLL寄存器的MPY域賦值0x00010100,表示PLL倍頻5倍,并對(duì)ENPLL位賦值1使能PLL;對(duì)SRIO_SERDES_CFGTX[0-3]和SRIO_SERDES_CFGRX[0-3]寄存器的RATE位賦值0x01,表示每個(gè)時(shí)鐘周期采樣兩位數(shù)據(jù),結(jié)合時(shí)鐘倍頻配置可以計(jì)算出傳輸速率rate=clk*MPY*RATE=312.5MHz*5*2bit=3.125Gb/s,即得到需要的速率,配置功能函數(shù)如下:CSL_BootCfgSetSRIOSERDESConfigPLL(cfgPll);for(index=0;index《4;index++){CSL_BootCfgSetSRIOSERDESRxConfig(index,cfgRx);CSL_BootCfgSetSRIOSERDESTxConfig(index,cfgTx);}(4)LSU模塊配置SRIO的DirectI/O和MessagePassing兩種傳輸機(jī)制使用不同的傳輸控制模塊,其中控制DirectI/O模式包發(fā)送的為L(zhǎng)SU(Load/StoreUnit)模塊,系統(tǒng)中一共有8個(gè)LSU,每個(gè)LSU都有獨(dú)立的7個(gè)寄存器,即LSU_Reg0--LSU_Reg6,Reg0--Reg4用來配置傳輸控制信息,REG5、REG6用來存儲(chǔ)命令和狀態(tài)信息,Reg6有只讀和只寫兩種模式,其他寄存器都是可讀可寫的,LSU寄存器組定義如圖3所示。由圖3可見LSU的Reg0~4中主要配置了DirectI/O傳輸?shù)目刂菩畔ⅲ缭吹刂?、目的地址、?shù)據(jù)長(zhǎng)度、設(shè)備ID、端口號(hào)、優(yōu)先級(jí)等;Reg5寄存器配置門鈴信息和包格式等命令信息;Reg6在只讀模式下通過Busy和Full位信息確認(rèn)指令寄存器和影寄存器是否空閑,該兩位信息都為0時(shí)表示當(dāng)前LSU可用,LTID位和LCB位信息一起用于確認(rèn)傳輸?shù)耐瓿尚畔ⅲ╟ompletioncode)。LSU寄存器配置可使用CSL庫(kù)文件中的API函數(shù)CSL_SRIO_SetLSURegx()對(duì)每一個(gè)寄存器單獨(dú)賦值編程,也可通過編輯結(jié)構(gòu)體SRIO_LSU_TRANSFER變量對(duì)ByteCount、DestID、deviceID、TType、FType、Drbll_Info等關(guān)鍵成員變量進(jìn)行賦值,然后通過API函數(shù)CSL_SRIO_SetLSUTransfer()完成整個(gè)傳輸?shù)呐渲煤蛦?dòng)。3.2數(shù)據(jù)傳輸系統(tǒng)軟件設(shè)計(jì)本文設(shè)計(jì)的DSP與FPGA通信系統(tǒng)通信節(jié)點(diǎn)較少,傳輸數(shù)據(jù)量大,屬于點(diǎn)對(duì)點(diǎn)的高速數(shù)據(jù)傳輸,所以SRIO接口采用DirectI/O傳輸方式和Doorbell消息相結(jié)合的方案進(jìn)行數(shù)據(jù)交互,數(shù)據(jù)包格式采用DirectI/O方式的SWRITE流寫操作,傳輸方案實(shí)現(xiàn)簡(jiǎn)單,同時(shí)通信發(fā)起方在數(shù)據(jù)發(fā)送完成后發(fā)送Doorbell消息通知接收方傳輸完成,接收方收到Doorbell消息后進(jìn)行相應(yīng)處理,保證通信過程的實(shí)時(shí)性和正確性。具體軟件流程如圖4所示。系統(tǒng)上電啟動(dòng)后,軟件對(duì)DSP系統(tǒng)中時(shí)鐘、定時(shí)器、存儲(chǔ)器、中斷等必要設(shè)備進(jìn)行初始化,在SRIO模塊初始化過程中需等待DSP與FPGA的SRIO接口連接成功才表示初始成功,然后便可以進(jìn)行自定義的數(shù)據(jù)傳輸操作了。根據(jù)TMS320C6678DSP存儲(chǔ)空間配置,本系統(tǒng)中DDR3緩存地址區(qū)域?yàn)?x80000000—0xFFFFFFFF,大小為2GB,SRIO接口可直接對(duì)存儲(chǔ)空間進(jìn)行讀寫訪問。根據(jù)系統(tǒng)設(shè)計(jì)FPGA每發(fā)送完一組數(shù)據(jù)后,都將附帶發(fā)送一個(gè)Doorbell消息作為完成標(biāo)記,Doorbell的16bit信息位填充內(nèi)容為0x0001,表示使用DOORBELL0_ICRR寄存器的ICR1映射中斷事件,系統(tǒng)中設(shè)置CPU中斷4作為響應(yīng)Doorbell事件的CPU中斷,DSP收到Doorbell消息后將觸發(fā)CPUINT4,程序跳轉(zhuǎn)執(zhí)行中斷響應(yīng)函數(shù),在中斷響應(yīng)函數(shù)中查詢中斷狀態(tài)位,對(duì)接收數(shù)據(jù)包的正確性進(jìn)行判斷,然后通過EDMA模塊將數(shù)據(jù)快速搬移到DDR3指定地址鎖存,并調(diào)用算法對(duì)數(shù)據(jù)進(jìn)行處理。當(dāng)DSP需要向FPGA端回復(fù)應(yīng)答信息時(shí),DSP程序通過配置LSU寄存器組向FPGA存儲(chǔ)地址發(fā)送數(shù)據(jù),當(dāng)LSU的Reg0~Reg5配置完成后傳輸開始,程序軟件通過查詢LSU傳輸完成信息與Reg6中記錄的LCB位信息進(jìn)行比較,判斷當(dāng)前傳輸是否成功。4測(cè)試與驗(yàn)證針對(duì)上文所設(shè)計(jì)的SRIO互聯(lián)系統(tǒng)進(jìn)行性能測(cè)試,系統(tǒng)設(shè)計(jì)單通道傳輸速度為3.125Gb/s,物理層SerDes模塊采用8B/10B編碼,所以4通道的SRIO接口理論傳輸速度為3.125×4×8/10=10Gb/s。實(shí)際測(cè)試過程中采用多組長(zhǎng)度不同的數(shù)據(jù)進(jìn)行測(cè)試,每組測(cè)試數(shù)據(jù)多次運(yùn)行取平均值,測(cè)試結(jié)果如表2所示。測(cè)試結(jié)果表明,本文設(shè)計(jì)的DSP與FPGA互聯(lián)系統(tǒng)能夠按照設(shè)計(jì)需求穩(wěn)定工作,數(shù)據(jù)讀寫正確,傳輸速度較為穩(wěn)定,當(dāng)數(shù)據(jù)量較大時(shí)通信開銷占總傳輸時(shí)間比例減小,整體傳輸速度超過8Gb/s,達(dá)到理論值10Gb/s的80%以上,傳輸效率較為理想。5結(jié)論本系統(tǒng)基于TI多核DSP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職學(xué)前教育應(yīng)用技術(shù)基礎(chǔ)(教育應(yīng)用)試題及答案
- 2025年中職口腔醫(yī)學(xué)技術(shù)(義齒修復(fù)工藝)試題及答案
- 2026年農(nóng)村教育(教育模式)試題及答案
- 2025年大學(xué)認(rèn)證認(rèn)可管理(認(rèn)證認(rèn)可管理)試題及答案
- 2025年大學(xué)歷史教育(歷史教學(xué)方法)試題及答案
- 2025年中職林業(yè)生產(chǎn)技術(shù)(苗木培育)試題及答案
- 2025年中職(城市軌道交通運(yùn)營(yíng)管理)地鐵票務(wù)管理專項(xiàng)測(cè)試試題及答案
- 2026年漢堡食品加工機(jī)維修(加工機(jī)調(diào)試技術(shù))試題及答案
- 2025年中職藥物化學(xué)(藥物化學(xué)基礎(chǔ))試題及答案
- 2025年中職(鐵道運(yùn)輸服務(wù))列車乘務(wù)服務(wù)試題及答案
- 廣東高校畢業(yè)生“三支一扶”計(jì)劃招募考試真題2024
- 膠帶機(jī)硫化工藝.課件
- 種雞免疫工作總結(jié)
- 河南省商丘市柘城縣2024-2025學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)試題(含答案)
- 河南省信陽(yáng)市2024-2025學(xué)年高二上學(xué)期1月期末英語(yǔ)試題(含答案無聽力原文及音頻)
- 給女朋友申請(qǐng)書
- 八下《桃花源記》《小石潭記》全文背誦(原文+譯文)
- 【8地RJ期末】安徽省蕪湖市2024-2025學(xué)年八年級(jí)上學(xué)期期末考試地理試卷+
- 智能法理學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 長(zhǎng)護(hù)險(xiǎn)護(hù)理培訓(xùn)課件
- 福建省廈門市2023-2024學(xué)年高二上學(xué)期期末考試英語(yǔ)試題(解析版)
評(píng)論
0/150
提交評(píng)論