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

中文引用格式: 馮龍輝,張興明,楊鎮西,等. 基于RapidIO控制符產生單元設計與實現[J].電子技術應用,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是一種高性能、低引腳數、基于包交換的互連架構,是為滿足未來高性能嵌入式系統需求而設計的一種開放式互連技術標準,同時也是國際標準組織(ISO)唯一授權的嵌入式互連技術標準。RapidIO互連接口延時小、吞吐量高,在電子對抗、聲納以及雷達等軍用設備中應用廣泛[1]。控制符作為協議的重要組成部分,主要用于鏈路維護,包定界,錯誤報告以及錯誤恢復等,是進行正常通信必不可少的信息單元,在RapidIO端點設備和交換設備中均發揮不可替代作用,占據重要的地位[2]。本文針對RapidIO_2.2規范,提出一種快速正確產生控制符的設計實現方法[3]。仿真結果表明,在滿足控制條件的情況下,下一周期即可產生正確的控制符,達到了設計的預期目的。

1 控制符格式的介紹


001.jpg

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

2 控制符產生的設計



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

002.jpg

  (1)Initialization sequence:初始化序列模塊用于初始化序列及初始化鏈路。當端口完成初始化以后要對鏈路進行初始化,當端口收到連續的指定數量無錯誤的狀態控制符以后,則表明鏈路初始化已經完成。

  (2)Stype0 function generator:此模塊用于產生stype0的狀態信息并且根據狀態信息產生對應的parameter0字段和parameter1字段。若控制信號無效,即不需要產生特定的控制符時,status即為默認的stype0控制符。

  (3)Stype1 function generator:Stype1是功能字段,此模塊用于產生stype1功能字段并且根據功能字段產生對應的cmd字段。若控制信號無效,即不需要產生特定的控制符時,NOP為默認的stype1控制符。

  (4)Short control symbol creation:在IDLE1(短空閑序列)置位的情況下,根據控制信號產生對應的短控制符。

  (5)Long control symbol creation:在IDLE2(長空閑序列)置位的情況下,根據控制信號產生對應的長控制符。

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

  綜上所述,本設計采用流水線設計的思想將控制符根據其不同功能、不同字段進行拆分,拆分后根據控制條件分別設計產生對應字段,最后將設計的結果拼接、選擇進而發送,可以達到快速正確產生控制符的目的,并且可以連續地產生不同的控制符。

3 仿真測試

003.jpg

  將本文中控制符產生的設計進行仿真測試,仿真結果如圖3所示。其中圖3(a)所示為短控制符的產生。協議規定當端口初始化完成以后,在VC=0的情況下,要連續發送16個status控制符以使鏈路初始化;若VC=1,則要連續發送15個status控制符和1個vcstatus控制符來完成鏈路初始化[2]。本次仿真以VC=0為例,從圖中信號可以看出,在端口初始化完成以后,連續發送了16個status控制符,從而使得鏈路初始化完成。

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

4 結論

  本文針對RapidIO_2.2協議進行開發,設計并且實現了控制符的產生。根據控制符的特點,對其不同的功能字段進行拆分,采用流水線的設計思想,流水產生各個字段最后拼接發送。仿真結果表明,本設計可以快速正確地產生對應功能的長短控制符,滿足預期目標,為器件的正常通信提供了有力的保障。

參考文獻

  [1] 陳程.串行RapidIO總線在存儲系統中的應用研究[D].西安:西安電子科技大學,2013.

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

  [3] 楊卿.RapidIO高速互聯接口的設計研究與應用[D].成都:電子科技大學,2009.

  [4] 陳宏銘,李蕾,姚益武,等.基于AXI總線串行RapidIO端點控制器的FPGA實現[J].北京大學學報,2014,50(4).

  [5] 吳峰鋒.一種低時延的串行RapidIO端點設計方案[J].北京大學學報(自然科學版),2013,49(4).

  [6] 張強.串行RapidIO互連系統的設計與實現[D].南京:南京理工大學,2013.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲国产精久久久久久久春色 | 中文字幕在线观看亚洲日韩 | 久久99国产精品免费观看 | 特毛片 | 久久99热久久精品91 | 黄色毛片视频校园交易 | 欧美国产伦久久久久 | 国产精品久久免费观看 | 亚洲第一区视频在线观看 | 黄视频免费在线 | 在线观看免费黄色网址 | 美国aaaa一级毛片啊 | 亚洲国产午夜精品理论片的软件 | 韩国美女高清爽快一级毛片 | 琪琪午夜伦埋大全影院 | 日本欧美视频在线 | 久久久9999久久精品小说 | 日韩色吧| 免费人成黄页在线观看视频国产 | 一级特级欧美a毛片免费 | av成人天堂 | 日韩精品综合 | 成人毛片18女人毛片免费 | 免费看成人毛片 | 久久久高清免费视频 | 青青青免费手机版视频在线观看 | 精品一精品国产一级毛片 | 亚洲国产欧美精品一区二区三区 | 看一级特黄a大片日本片 | 中文久草| 亚洲国产精品国产自在在线 | 美女午夜色视频在线观看 | 一本久久a久久精品亚洲 | 中文字幕一区二区在线观看 | 最新国产午夜精品视频不卡 | 又黄又刺激下面流水的视频 | 中文 日本 免费 高清 | 免费a级毛片无码 | 黄色毛片播放 | 欧美激情第一欧美在线 | 久草视频在线资源站 |