《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于RapidIO控制符產(chǎn)生單元設(shè)計(jì)與實(shí)現(xiàn)
基于RapidIO控制符產(chǎn)生單元設(shè)計(jì)與實(shí)現(xiàn)
2015年電子技術(shù)應(yīng)用第11期
馮龍輝1,張興明1,楊鎮(zhèn)西1,李沛杰1,汪 欣2
(1.國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,河南 鄭州450002;2.珠海高凌有限公司,河南 鄭州450002)
摘要: 針對RapidIO_2.2協(xié)議進(jìn)行開發(fā),設(shè)計(jì)并實(shí)現(xiàn)了該協(xié)議的控制符產(chǎn)生單元。本設(shè)計(jì)將控制符根據(jù)不同的功能字段拆分,采用流水線設(shè)計(jì)的方法將各個(gè)字段內(nèi)部分別流水產(chǎn)生,最終并行實(shí)現(xiàn)。仿真結(jié)果表明,本設(shè)計(jì)在RapidIO_2.2規(guī)范下,可以實(shí)現(xiàn)正確快速產(chǎn)生控制符的功能,并且能夠連續(xù)產(chǎn)生不同的控制符。
關(guān)鍵詞: RapidIO 控制符 流水線 并行
中圖分類號(hào): TN911
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2015.11.013

中文引用格式: 馮龍輝,張興明,楊鎮(zhèn)西,等. 基于RapidIO控制符產(chǎn)生單元設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2015,41(11):48-50.
英文引用格式: Feng Longhui,Zhang Xingming,Yang Zhenxi,et al. Design and realization of the control symbols module based on RapidIO specification[J].Application of Electronic Technique,2015,41(11):48-50.
Design and realization of the control symbols module based on RapidIO specification
Feng Longhui1,Zhang Xingming1,Yang Zhenxi1,Li Peijie1,Wang Xin2
National Digital Switching System Engineering Technological Research Center,Zhengzhou 450002,China
Abstract: This paper designs and realizes the control symbols module based on the RapidIO_2.2 specification. Using the method of pipeline, the control symbol is decomposed and created according to the functions of different fields, which can be combined parallelly in the end. The simulation results show that under the RapidIO_2.2 specification our design can create the right control symbols rapidly, and can also create different control symbols continuously.
Key words : RapidIO;control symbols;pipeline;parallel

 

0 引言

  RapidIO是一種高性能、低引腳數(shù)、基于包交換的互連架構(gòu),是為滿足未來高性能嵌入式系統(tǒng)需求而設(shè)計(jì)的一種開放式互連技術(shù)標(biāo)準(zhǔn),同時(shí)也是國際標(biāo)準(zhǔn)組織(ISO)唯一授權(quán)的嵌入式互連技術(shù)標(biāo)準(zhǔn)。RapidIO互連接口延時(shí)小、吞吐量高,在電子對抗、聲納以及雷達(dá)等軍用設(shè)備中應(yīng)用廣泛[1]。控制符作為協(xié)議的重要組成部分,主要用于鏈路維護(hù),包定界,錯(cuò)誤報(bào)告以及錯(cuò)誤恢復(fù)等,是進(jìn)行正常通信必不可少的信息單元,在RapidIO端點(diǎn)設(shè)備和交換設(shè)備中均發(fā)揮不可替代作用,占據(jù)重要的地位[2]。本文針對RapidIO_2.2規(guī)范,提出一種快速正確產(chǎn)生控制符的設(shè)計(jì)實(shí)現(xiàn)方法[3]。仿真結(jié)果表明,在滿足控制條件的情況下,下一周期即可產(chǎn)生正確的控制符,達(dá)到了設(shè)計(jì)的預(yù)期目的。

1 控制符格式的介紹


001.jpg

  控制符分為長控制符和短控制符,長短控制符的格式分別如圖1所示,其中(a)為短控制符格式,(b)為長控制符格式??刂品袃蓚€(gè)字段,一個(gè)是stype0字段,一個(gè)是stype1字段。stype0與parameter0和parameter1配合工作,構(gòu)成信息字段,表明端口傳遞各種類型控制符的狀態(tài),其編碼如表1[2]所示。stype1則與cmd配合工作,構(gòu)成功能字段,用于鏈路維護(hù)或者傳輸定界的請求等,其編碼如表2[2]所示。短控制符有24位,長控制符有48位,長控制符與短控制符相似,其對應(yīng)字段的名稱、功能和編碼都相同,唯一不同的是某些字段的位寬不同,這里不再贅述。

2 控制符產(chǎn)生的設(shè)計(jì)



  綜上可知,控制符主要由三個(gè)部分構(gòu)成,分別為stype0、stype1和CRC,其中CRC為鏈路檢錯(cuò)機(jī)制[2],這里不予討論,stype0和stype1分別為控制符的兩個(gè)域。parameter0和parameter1配合stype0一起工作,根據(jù)stype0的功能產(chǎn)生對應(yīng)的字段,用于指示鏈路的各種狀態(tài)信息;cmd則配合stype1一起工作,根據(jù)stype1的功能產(chǎn)生對應(yīng)的cmd字段,用于鏈路各種控制功能。基于此,本設(shè)計(jì)將stype0和stype1兩個(gè)域拆分為stype0 function generator和stype1 function generator,兩個(gè)域分別設(shè)計(jì)分別產(chǎn)生對應(yīng)的控制符。對于stype0 function generator來說,首先根據(jù)鏈路控制信號(hào)產(chǎn)生stype0的類型,然后根據(jù)stype0的類型選擇并產(chǎn)生對應(yīng)的parameter0字段和parameter1字段[4],stype1 function generator工作機(jī)制與此相同。值得說明的是:status控制符是stype0默認(rèn)的也是常用的控制符,同時(shí)也是鏈路初始化時(shí)使用的控制符;NOP則是stype1默認(rèn)的控制符[2]??刂品怯蓅type0和stype1的任意組合共同構(gòu)成,例如,當(dāng)stype0要發(fā)送一個(gè)包接收控制符PA,stype1不需要產(chǎn)生特定的控制符時(shí),則產(chǎn)生NOP,由PA和NOP共同構(gòu)成控制符。形成的各個(gè)控制信號(hào)在一定的控制條件下產(chǎn)生對應(yīng)的字段,然后根據(jù)鏈路IDLE的使用情況產(chǎn)生長控制符或短控制符[5],最后通過控制符選擇模塊發(fā)送出去。本設(shè)計(jì)結(jié)構(gòu)框圖如圖2所示[6],下面對框圖中每個(gè)模塊的作用進(jìn)行闡述。

002.jpg

  (1)Initialization sequence:初始化序列模塊用于初始化序列及初始化鏈路。當(dāng)端口完成初始化以后要對鏈路進(jìn)行初始化,當(dāng)端口收到連續(xù)的指定數(shù)量無錯(cuò)誤的狀態(tài)控制符以后,則表明鏈路初始化已經(jīng)完成。

  (2)Stype0 function generator:此模塊用于產(chǎn)生stype0的狀態(tài)信息并且根據(jù)狀態(tài)信息產(chǎn)生對應(yīng)的parameter0字段和parameter1字段。若控制信號(hào)無效,即不需要產(chǎn)生特定的控制符時(shí),status即為默認(rèn)的stype0控制符。

  (3)Stype1 function generator:Stype1是功能字段,此模塊用于產(chǎn)生stype1功能字段并且根據(jù)功能字段產(chǎn)生對應(yīng)的cmd字段。若控制信號(hào)無效,即不需要產(chǎn)生特定的控制符時(shí),NOP為默認(rèn)的stype1控制符。

  (4)Short control symbol creation:在IDLE1(短空閑序列)置位的情況下,根據(jù)控制信號(hào)產(chǎn)生對應(yīng)的短控制符。

  (5)Long control symbol creation:在IDLE2(長空閑序列)置位的情況下,根據(jù)控制信號(hào)產(chǎn)生對應(yīng)的長控制符。

  (6)Control symbol selector:根據(jù)鏈路上IDLE1和IDLE2的使用情況,選擇合適的控制符。長短控制符在鏈路上的使用情況是依據(jù)IDLE(空閑序列)的使用情況而定的。當(dāng)鏈路使用IDLE1時(shí),此時(shí)傳輸控制符為短控制符,當(dāng)鏈路使用IDLE2時(shí),傳輸控制符為長控制符。而IDLE的使用情況主要依據(jù)鏈路速率而定,當(dāng)鏈路小于5.5 GB并且收發(fā)兩端不使用自適應(yīng)均衡(Adaptive Equalization,AE)的情況下,鏈路使用IDLE1;而鏈路速率大于5.5 GB并且收發(fā)兩端具有AE功能的情況下鏈路使用IDLE2[2]。若鏈路雙方都支持IDLE2且鏈路速率小于5.5 GB時(shí),也可通過鏈路協(xié)商進(jìn)而使用IDLE2。

  綜上所述,本設(shè)計(jì)采用流水線設(shè)計(jì)的思想將控制符根據(jù)其不同功能、不同字段進(jìn)行拆分,拆分后根據(jù)控制條件分別設(shè)計(jì)產(chǎn)生對應(yīng)字段,最后將設(shè)計(jì)的結(jié)果拼接、選擇進(jìn)而發(fā)送,可以達(dá)到快速正確產(chǎn)生控制符的目的,并且可以連續(xù)地產(chǎn)生不同的控制符。

3 仿真測試

003.jpg

  將本文中控制符產(chǎn)生的設(shè)計(jì)進(jìn)行仿真測試,仿真結(jié)果如圖3所示。其中圖3(a)所示為短控制符的產(chǎn)生。協(xié)議規(guī)定當(dāng)端口初始化完成以后,在VC=0的情況下,要連續(xù)發(fā)送16個(gè)status控制符以使鏈路初始化;若VC=1,則要連續(xù)發(fā)送15個(gè)status控制符和1個(gè)vcstatus控制符來完成鏈路初始化[2]。本次仿真以VC=0為例,從圖中信號(hào)可以看出,在端口初始化完成以后,連續(xù)發(fā)送了16個(gè)status控制符,從而使得鏈路初始化完成。

  圖3(b)為產(chǎn)生長控制符仿真測試圖。stype0產(chǎn)生的是PA,stype1產(chǎn)生的是sop。產(chǎn)生PA的情況有多種,有一個(gè)計(jì)數(shù)器outstanding_pa_ctr專門計(jì)數(shù)未能及時(shí)處理發(fā)送的PA的數(shù)目,當(dāng)鏈路初始化完成以后,只要outstanding_pa_ctr的值不為零則發(fā)送PA控制符;或者當(dāng)PA的數(shù)目太多超過一定值之后,亦或buf的狀態(tài)已經(jīng)過期,都要產(chǎn)生PA控制符,本仿真圖以第一種情況為例。對于sop的產(chǎn)生也有多種情況,若sop信號(hào)有效,同時(shí)配置模塊允許其advance,此時(shí)會(huì)產(chǎn)生sop控制符;若上個(gè)周期eop有效,但是下個(gè)周期即將到來sop,此時(shí)要把eop重寫為sop,產(chǎn)生sop控制符。本文以第二種情況為例。本設(shè)計(jì)短控制符為32位,其中頭部包含8位的包定界符;長控制符為64位,其中頭部和尾部各自包含一個(gè)包定界符。

4 結(jié)論

  本文針對RapidIO_2.2協(xié)議進(jìn)行開發(fā),設(shè)計(jì)并且實(shí)現(xiàn)了控制符的產(chǎn)生。根據(jù)控制符的特點(diǎn),對其不同的功能字段進(jìn)行拆分,采用流水線的設(shè)計(jì)思想,流水產(chǎn)生各個(gè)字段最后拼接發(fā)送。仿真結(jié)果表明,本設(shè)計(jì)可以快速正確地產(chǎn)生對應(yīng)功能的長短控制符,滿足預(yù)期目標(biāo),為器件的正常通信提供了有力的保障。

參考文獻(xiàn)

  [1] 陳程.串行RapidIO總線在存儲(chǔ)系統(tǒng)中的應(yīng)用研究[D].西安:西安電子科技大學(xué),2013.

  [2] ASSOCIATION R T.RapidIOTM Interconnect Specification Part 6:LP-Serial Physical Layer Specification[D].2011.

  [3] 楊卿.RapidIO高速互聯(lián)接口的設(shè)計(jì)研究與應(yīng)用[D].成都:電子科技大學(xué),2009.

  [4] 陳宏銘,李蕾,姚益武,等.基于AXI總線串行RapidIO端點(diǎn)控制器的FPGA實(shí)現(xiàn)[J].北京大學(xué)學(xué)報(bào),2014,50(4).

  [5] 吳峰鋒.一種低時(shí)延的串行RapidIO端點(diǎn)設(shè)計(jì)方案[J].北京大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,49(4).

  [6] 張強(qiáng).串行RapidIO互連系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:南京理工大學(xué),2013.


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