亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        FPGA和DSP間基于SRIO的高速通信系統(tǒng)設(shè)計

        2016-06-01 00:46:47陳婷岳強(qiáng)汪洋

        陳婷,岳強(qiáng),汪洋

        (解放軍信息工程大學(xué),鄭州 450000)

        ?

        FPGA和DSP間基于SRIO的高速通信系統(tǒng)設(shè)計

        陳婷,岳強(qiáng),汪洋

        (解放軍信息工程大學(xué),鄭州 450000)

        摘要:現(xiàn)代信號處理系統(tǒng)通常需要在不同處理器之間實現(xiàn)高速數(shù)據(jù)通信,SRIO協(xié)議由于高效率、低延時的特性被廣泛使用。本文研究了在FPGA和DSP兩種處理器之間實現(xiàn)SRIO協(xié)議的方法,并通過電路設(shè)計和利用處理器的開發(fā)工具編程實現(xiàn)了兩種處理器間的高速通信。經(jīng)測試,該系統(tǒng)具有較高的傳輸效率。

        關(guān)鍵詞:異構(gòu)處理器;高速數(shù)據(jù)通信;SRIO協(xié)議;多核DSP;FPGA

        引言

        隨著高性能信號處理系統(tǒng)對運(yùn)算速度、通信速率等要求的不斷提高,單獨的處理器(如FPGA或DSP)無法滿足高速實時信號處理的需求。TI公司的多核DSP處理性能強(qiáng)大,但是并行性不強(qiáng),難以適應(yīng)計算異常密集的應(yīng)用,另外集成性的DSP接口也影響了數(shù)據(jù)傳輸?shù)撵`活性;FPGA具有極強(qiáng)的并行性,適合密集計算應(yīng)用,而且可配置I/O和IP核支持多種數(shù)據(jù)傳輸接口,但FPGA的內(nèi)部邏輯資源和存儲資源有限,并且開發(fā)難度大,實現(xiàn)復(fù)雜算法也比較困難。因此,結(jié)合多核DSP和FPGA的優(yōu)勢,構(gòu)建基于異構(gòu)處理器的信號處理系統(tǒng)成為當(dāng)前一種發(fā)展趨勢。異構(gòu)處理器間的高速通信成為高速信號處理系統(tǒng)[1]的關(guān)鍵問題之一,本文基于SRIO協(xié)議設(shè)計和實現(xiàn)了DSP與FPGA之間的高速數(shù)據(jù)通信。

        1異構(gòu)處理器電路

        1.1DSP處理器

        在處理器領(lǐng)域,多核DSP在處理性能、功耗和面積上都有很大優(yōu)勢,得到了廣泛應(yīng)用。TI公司的8核處理器TMS320C6678[2],基于KeyStone多核結(jié)構(gòu),具有高性能的浮點、定點計算能力,單核具有1 GHz的主頻,運(yùn)算速度可達(dá)320 GMACS/160 GFLOPS。該DSP采用同構(gòu)多核架構(gòu),每個核可以獨立地執(zhí)行不同的計算任務(wù),具有512 KB的私有內(nèi)存。芯片具有4 MB共享內(nèi)存供8個核心訪問,而且具有SRIO、PCIe等多種接口,能夠滿足各種數(shù)據(jù)傳輸?shù)男枨蟆?/p>

        1.2FPGA處理器

        FPGA因其功能強(qiáng)大、接口靈活,成為當(dāng)前的主流處理器之一,F(xiàn)PGA與DSP芯片有機(jī)結(jié)合不僅能夠高效地實現(xiàn)復(fù)雜算法,而且還可以提高系統(tǒng)數(shù)據(jù)傳輸?shù)男屎徒Y(jié)構(gòu)的靈活性。Xilinx公司Virtex-6 LXT系列FPGA芯片XC6VLX550T,是一款具有高級串行數(shù)據(jù)傳輸功能的高性能邏輯器件,基于硬件GTX串行收發(fā)器,可以實現(xiàn)多種高速數(shù)據(jù)傳輸接口。采用SRIO IP核可以實現(xiàn)FPGA和DSP之間的SRIO協(xié)議通信。

        1.3異構(gòu)處理器電路互連

        RapidIO[3]協(xié)議是一個開放的點對點分組交換標(biāo)準(zhǔn),是面向嵌入式系統(tǒng)開發(fā)提出的高可靠、高性能、基于包交換的互連技術(shù)。串行RapidIO[4](SRIO)是采用串行差分模擬信號傳輸?shù)腞apidIO協(xié)議,基于SerDes(Serialize Deserialize)技術(shù),采用差分交流耦合信號(具有抗干擾能力強(qiáng)、速率高、傳輸距離較遠(yuǎn)等優(yōu)點),所以SRIO是一個針對嵌入式系統(tǒng)應(yīng)用的高性能、低引腳數(shù)的高速互連接口。

        SRIO協(xié)議分為3層:邏輯層、傳輸層和物理層。邏輯層定義了操作協(xié)議;傳輸層定義了包交換、路由和尋址機(jī)制;物理層定義了電氣特性、鏈路控制和糾錯重傳等。SRIO是基于包交換的高速互連技術(shù),其數(shù)據(jù)包是由包頭、有效的數(shù)據(jù)載荷和16位CRC校驗組成。包頭的長度根據(jù)包類型不同,可能為十幾到二十幾個字節(jié),最大的有效載荷長度為256字節(jié)。由于包長度短,所以傳輸延時較小,硬件上也易于實現(xiàn),適合數(shù)字信號處理場合對傳輸延時要求較高的應(yīng)用。

        TMS320C6678集成了支持SRIOv2.1通信協(xié)議的4通道SRIO接口,可以實現(xiàn)每條通路1.25 Gbps、2.5 Gbps、3.125 Gbps、5 Gbps的通信速率。XC6VLX550T的GTX模塊嵌入Serial RapidIO IP核,可支持線速率為1.25 Gbps,2.5 Gbps~3.125 Gbps,因此可實現(xiàn)異構(gòu)處理器DSP與FPGA之間的SRIO高速串行通信。

        為了最大程度地體現(xiàn)RapidIO串行接口的性能,本設(shè)計中采用3.125 Gbps的線速率,處理器之間采用4xSRIO連接方式, 1個1x接口即是一個差分對的一對讀/寫信號,一個4x接口即4個此類差分對的結(jié)合,因此采用4x SRIO連接可實現(xiàn)最高12.5 Gbps的數(shù)據(jù)傳輸速率。電路連接方式如圖1所示,只需要將DSP的TX、RX端口與FPGA的RX、TX端口對應(yīng)相接,由于SRIO采用差分線對實現(xiàn)數(shù)據(jù)傳輸,所以需要在異構(gòu)處理器的RX端口的差分線上串聯(lián)一個0.1 μF的電容,做交流耦合使用。

        圖1 異構(gòu)處理器連接方式

        2SRIO設(shè)計

        DSP和FPGA作為SRIO連接的端點器件,兩者可互為從屬[5]。主設(shè)備需要管理通信的發(fā)起、配置、結(jié)束等一系列過程,從設(shè)備只需要被動地響應(yīng)通信。基于DSP的編程比FPGA簡便,為了降低開發(fā)難度和工作量,采用DSP作為主設(shè)備,是通信的發(fā)起端;FPGA作為從設(shè)備,是通信的目的端。

        2.1DSP端的SRIO配置

        DSP端SRIO的軟件設(shè)計基于SYS/BIOS操作系統(tǒng),使用TI公司提供的多核軟件開發(fā)套件(MCSDK),主要組件是開發(fā)平臺中的芯片支持庫(CSL)工具。CSL是TI公司為其DSP產(chǎn)品提供的API函數(shù),提供了一個用于配置和控制片上外設(shè)的C語言接口,在程序設(shè)計過程中利用CSL庫函數(shù)可以方便地訪問DSP的寄存器和硬件資源,提高DSP軟件的開發(fā)效率和速度。

        2.1.1SRIO初始化

        實現(xiàn)SRIO重要的一步是SRIO的初始化,一般分為以下幾步:

        ① 打開SRIO的電源和時鐘:為了降低功耗,默認(rèn)狀態(tài)下SRIO模塊的電源和時鐘是處于關(guān)閉狀態(tài)的,因此 SRIO 初始化首先要調(diào)用CSL_SRIO_OPEN函數(shù)將SRIO模塊的電源和時鐘打開。

        ② 配置SRIO的串并轉(zhuǎn)換器:將125 MHz的參考時鐘通過串并轉(zhuǎn)換器內(nèi)部的鎖相環(huán)倍頻至1.25 GHz,串并轉(zhuǎn)換器采用半速率時鐘模式,利用這個時鐘信號的上升沿和下降沿對4路8位數(shù)據(jù)分時移位輸出,即每個時鐘串并轉(zhuǎn)換器的串行輸出端將輸出2位的數(shù)據(jù),采用該模式降低了對時鐘信號的要求,降低了電路設(shè)計難度。

        ③ 設(shè)置4x工作模式:C6678有4個SRIO端口,將4路串并轉(zhuǎn)換器使能。定義SRIO通信鏈路端點器件的ID,C6678提供了8個LSU模塊用于SRIO數(shù)據(jù)操作的處理,每組LSU都有7個32位寄存器,通過配置LSUx_reg4將源器件DSP的ID設(shè)為0x00,目的器件FPGA的ID設(shè)計為0xFF。

        ④ 等待SRIO初始化完成:通過配置SP_ERR_STAT寄存器,檢測SRIO的端口狀態(tài)是否OK,如果OK,則表示可以進(jìn)行SRIO通信,否則提示初始化不成功或者其他情況導(dǎo)致不能通信。在SRIO初始化前需要FPGA端完成SRIO邏輯的配置,否則DSP在初始化SRIO期間無法和FPGA進(jìn)行握手,會導(dǎo)致初始化失敗。

        2.1.2SRIO的讀寫操作

        SRIO初始化完成后,通過DSP對SRIO端口的讀寫操作實現(xiàn)和FPGA之間的數(shù)據(jù)傳輸。DSP讀寫支持的操作通過數(shù)據(jù)包格式中的Ftype和Ttype兩個字段描述,I/O邏輯操作是簡單實用的傳輸方式,使用該模式的前提是主設(shè)備要知道被訪問端的存儲器映射,可以直接讀寫從設(shè)備的存儲器。I/O邏輯操作在被訪問端的功能往往完全由硬件實現(xiàn),所以被訪問的器件不會有任何軟件負(fù)擔(dān)。表1所列為I/O操作的幾種事務(wù)類型。本文使用的讀操作事務(wù)是NREAD。在3種寫操作事務(wù)中:NWRITE_R是帶響應(yīng)的寫操作,效率較低;SWRITE要求數(shù)據(jù)載荷長度在8~256字節(jié)之間,且為8字節(jié)的整數(shù)倍。因此本文采用NWRITE寫操作,配置簡單且易于實現(xiàn)。

        表1 I/O邏輯操作事務(wù)類型

        圖2 FPGA端的SRIO實現(xiàn)結(jié)構(gòu)

        I/O邏輯操作使用了SRIO的功能模塊LSU(Load Store Unit)和MAU(Memory Access Unit)。LSU實現(xiàn)I/O邏輯操作數(shù)據(jù)包的讀寫;MAU提取數(shù)據(jù)包中的源地址、目的地址、數(shù)據(jù)長度等信息,從而將數(shù)據(jù)包的有效數(shù)據(jù)載荷寫入指定位置。DSP端SRIO的I/O邏輯操作可以分為4個部分:

        ① 鎖定LSU寄存器:CSL_SRIO_IsLSUFull函數(shù)讀取LSUx_reg6寄存器中的FULL位,為1,則LSU所有的影子寄存器已經(jīng)寫入配置文件等待數(shù)據(jù)發(fā)送,暫時沒有可用的影子寄存器。

        ② 配置寄存器:配置LSU寄存器0~4,獲取傳輸信息,包括源地址dspAddress、目的地址rapidIOLSB、數(shù)據(jù)長度bytecount等,程序使用的函數(shù)是CSL_SRIO_SetLSUTransfer。

        圖3 RapidIO接口模塊實現(xiàn)方案

        ③ 釋放寄存器:完成鎖定和配置LSU寄存器后,最后配置LSU寄存器5,確定數(shù)據(jù)包的事務(wù)類型,配置完成后通過CSL_SRIO_IsLSUBusy函數(shù)檢測LSUx_reg6寄存器中的BUSY位。若BUSY為0,釋放LSU控制權(quán),該影子寄存器進(jìn)入等待狀態(tài),最終將數(shù)據(jù)發(fā)送出去;若BUSY為1,則將數(shù)據(jù)存放在影子寄存器中,等待LSU完成當(dāng)前傳輸至空閑再發(fā)送數(shù)據(jù)。

        ④ 等待傳輸完成:通過CSL_SRIO_GetLSUCompletionCode函數(shù)讀取寄存器SRIO_LSU_STAT_REG的狀態(tài),判斷是否所有數(shù)據(jù)均傳輸完畢。

        2.1.3通信流程

        C6678使用中斷控制器(INTC)管理和分配多個外部中斷源,其中有來自FPGA的中斷源。本文中SRIO工作于主模式狀態(tài),F(xiàn)PGA通過GPIO向DSP發(fā)送中斷,當(dāng)DSP接收到來自FPGA的中斷后,對FPGA相應(yīng)的內(nèi)存區(qū)域進(jìn)行讀寫操作。本設(shè)計中,中斷使用了GPIO8和GPIO9兩個中斷觸發(fā)事件,分別將其映射到DSP的CPU中斷4和中斷5。在此狀態(tài)下程序主要執(zhí)行兩種操作:在 DSP 收到中斷4以后進(jìn)入中斷4服務(wù)函數(shù), 完成從FPGA端讀取數(shù)據(jù)的操作;在收到中斷5以后進(jìn)入中斷5 服務(wù)函數(shù),完成將數(shù)據(jù)寫入FPGA端的操作。

        2.2FPGA端的SRIO配置

        FPGA端的SRIO基于Xilinx公司的Serial RapidIO IP核[6]來實現(xiàn),IP核底層硬件基于FPGA的GTX收發(fā)器。圖2所示為FPGA端的SRIO實現(xiàn)結(jié)構(gòu),SRIO IP核左側(cè)通過接口模塊與用戶邏輯相連,右側(cè)通過輸出引腳與DSP相連。IP核可劃分為5個部分:RapidIO邏輯和傳輸層(LOGIC)模塊、 RapidIO物理層(PHY)模塊、RapidIO緩沖區(qū)(Buffer)模塊、寄存器管理(Register Manager)模塊、參考時鐘和復(fù)位模塊。根據(jù)不同的需求,用戶可以選擇使用物理層包封裝(phy_wrapper)或者RapidIO包封裝(rio_wrapper),本文選擇使用RapidIO包封裝。

        本文以IP核為基礎(chǔ),采用已有的整體框架,圍繞目標(biāo)用戶接口設(shè)計接口模塊。中斷作為FPGA和DSP之間的握手信號,F(xiàn)IFO作為用戶邏輯和IP核之間的數(shù)據(jù)緩沖接口。圖3所示為Rapid IO接口模塊實現(xiàn)方案。

        由于FPGA在通信中作為從設(shè)備,因此接口模塊中不再需要IP核接口中發(fā)起用戶的功能,只保留目標(biāo)用戶的功能,其中目標(biāo)請求/響應(yīng)狀態(tài)機(jī)控制各模塊的時序變化。接口模塊左側(cè)與用戶邏輯接口相連,右側(cè)與IP核目標(biāo)用戶接口相連。

        中斷機(jī)制部分,向DSP發(fā)送數(shù)據(jù)時采用發(fā)送FIFO的半滿標(biāo)志作為讀中斷,從DSP接收數(shù)據(jù)時采用接收FIFO的半空標(biāo)志作為寫中斷。發(fā)送FIFO中數(shù)據(jù)超過一定量時觸發(fā)DSP讀數(shù)據(jù),接收FIFO中數(shù)據(jù)低于一定量時觸發(fā)DSP寫數(shù)據(jù)。用戶及時有效地控制FIFO的狀態(tài),可以保證FIFO不會被寫滿或者被讀空。用戶也可以產(chǎn)生中斷邏輯,控制DSP對FPGA內(nèi)部存儲空間進(jìn)行讀寫。本文引入了中斷機(jī)制和數(shù)據(jù)緩沖FIFO,利于接口對接和功能拓展,實現(xiàn)數(shù)據(jù)在不同芯片之間的高效傳輸。

        3傳輸性能測試

        本文對DSP與FPGA之間的SRIO通信進(jìn)行性能測試。DSP的工作頻率為1 GHz,SRIO 接口工作速率設(shè)置為3.125 Gbps,經(jīng)過物理層8B/10B編碼,數(shù)據(jù)包的實際傳輸速率為2.5 Gbps,傳輸方式設(shè)置為4x 模式,則理論數(shù)據(jù)傳輸速率應(yīng)為10 Gbps。由于數(shù)據(jù)包的打包和解包等操作,實際速率會小于理論值。

        表2是使用NWRITE和NWREAD對不同數(shù)據(jù)包進(jìn)行通信速度測試的結(jié)果。在傳輸數(shù)據(jù)為32 字節(jié)時,考慮到數(shù)據(jù)包操作時的開銷,與理論值比率僅為1.1%,很大一部分時間被花費在數(shù)據(jù)包的打包和解包的處理中,隨著傳輸數(shù)據(jù)量的增加,SRIO的實際傳輸效率不斷增大,最終維持在7 800 Mbps。經(jīng)過多次反復(fù)實驗,該統(tǒng)計結(jié)果穩(wěn)定可靠,并且沒有出現(xiàn)丟包誤碼的情況。

        表2 不同數(shù)據(jù)大小的SRIO傳輸速率測試

        結(jié)語

        本文針對當(dāng)今高速信號處理系統(tǒng)對芯片間數(shù)據(jù)傳輸?shù)男枨?,研究異?gòu)處理器DSP和FPGA間的數(shù)據(jù)傳輸技術(shù)。DSP端基于CSL庫實現(xiàn)了SRIO的主設(shè)備通信,F(xiàn)PGA端基于RocketIO IP實現(xiàn)了從設(shè)備通信,并采用中斷實現(xiàn)異構(gòu)處理器之間的握手信號,經(jīng)測試達(dá)到較高的傳輸速率。本文研究內(nèi)容也適用于同系列的其他處理器之間的數(shù)據(jù)通信,具有較高的應(yīng)用價值。

        參考文獻(xiàn)

        [1] 呂遵明,王彥剛.基于串行RapidIO的通用數(shù)字信號處理模塊設(shè)計[J].信息化研究,2009,35(9):39-41.

        [2] TI.TMS320C6678 Multicore Fixed and Floating-Point Digital Signal Processor Data Manual,2012.

        [3] 王怡然,常文革,田海山.RapidIO 技術(shù)在高速信號處理系統(tǒng)中的應(yīng)用[J].雷達(dá)科學(xué)與技術(shù),2013,11(4):390-394.

        [4] TI.KeyStone Architecture Serial Rapid IO (SRIO) User Guide,2012.

        [5] 張穎川.多核數(shù)字信號處理平臺的設(shè)計與實現(xiàn)[D].西安:西安電子科技大學(xué),2013.

        [6] 翟彥彬,蔣志焱,張保寧.大規(guī)模RapidIO協(xié)議交換的FPGA實現(xiàn)[J].現(xiàn)代雷達(dá),2011,33(12):33-35.

        陳婷(碩士),研究方向為通信技術(shù)、信號信息處理技術(shù)應(yīng)用。

        圖7 安卓控制終端APP界面

        實現(xiàn)移動偵測并上報微信用戶,通過ser2net實現(xiàn)TTL控制Aruidno進(jìn)而控制小車行徑功能,并開發(fā)出安卓端APP控制軟件,下一步將實現(xiàn)通過小車控制智能家居設(shè)備和實現(xiàn)智能家居設(shè)備的數(shù)據(jù)上報功能。

        [1] 羅回彬,巫敏鋒.基于WiFi的可實時視頻同傳的探測小車[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015(6).

        [2] 王宇陽,楊奕,韓志.基于Android設(shè)備的WiFi智能監(jiān)控機(jī)器人設(shè)計[J].計算機(jī)與數(shù)字工程,2014(12).

        [3] 鄭潤芳,張海.STM32的小車自主定位與控制系統(tǒng)設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2013(9).

        [4] 滕泓虬.基于OpenWrt的嵌入式移動機(jī)器人系統(tǒng)設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2012(1).

        [5] wrtnode官網(wǎng).http://wrtnode.cc/.

        陳建剛(講師),主要研究方向為物聯(lián)網(wǎng)應(yīng)用。

        High-speed Communication System Based on SRIO Between FPGA and DSP

        Chen Ting,Yue Qiang,Wang Yang

        (Information Engineering University of PLA,Zhengzhou 450000,China)

        Abstract:The modern signal processing system often needs to realize high-speed data communication between the different processors.Due to the characteristics of high efficiency and low latency,the SRIO protocol is used widely.In the paper,the method of realizing SRIO protocol between FPGA and DSP processors is studied.The high-speed communication between the two processors is realized through combining the circuit design and the development tools.The test results show that the system has high transmission efficiency.

        Key words:heterogeneous processor;high-speed data communication;SRIO protocol;multi-core DSP;FPGA

        收稿日期:(責(zé)任編輯:薛士然2015-10-01) (責(zé)任編輯:薛士然2015-10-10)

        中圖分類號:TN91

        文獻(xiàn)標(biāo)識碼:A

        寂寞少妇做spa按摩无码| 精品一区二区三区中文字幕在线| 亚洲国产一区中文字幕| 久久婷婷综合缴情亚洲狠狠| 精品人妻午夜一区二区三区四区 | av天堂手机免费在线| 国产七十六+老熟妇| 国产精品久久无码一区二区三区网| 成年女人在线观看毛片| 亚洲五月天中文字幕第一页| 免费看美女被靠到爽的视频| 真人与拘做受免费视频| 亚洲免费一区二区三区视频| 国产精品一品二区三区| 丰满熟妇乱又伦精品| 在线观看国产成人av片| 草莓视频中文字幕人妻系列| 亚洲av少妇一区二区在线观看| 久久性爱视频| 色偷偷一区二区无码视频| 日本一区二区三区中文字幕视频| 高清不卡av一区二区| 青青青爽在线视频观看| 日韩视频第二页| 日韩久久免费精品视频| 熟女中文字幕一区二区三区| 女人让男人桶爽30分钟| 日韩高清无码中文字幕综合一二三区 | 国产精品a免费一区久久电影| 国产精品视频一区二区噜噜| 麻豆国产成人AV网| 新久久国产色av免费看| 亚洲精品久久久久成人2007| 久久免费网国产AⅤ| 加勒比熟女精品一区二区av| 亚洲av无一区二区三区久久蜜桃 | 免费蜜桃视频在线观看| 国产a在亚洲线播放| 一个人看的www免费视频中文| 午夜精品一区二区久久做老熟女| 日本视频一区二区三区一|