以下文章來源于亮子power,作者亮子哥
概述
Serial RapidIO(SRIO) 特指 RapidIO 標準的串行物理層實現(xiàn)。

RapidIO 標準定義為三層:
邏輯層:定義總體協(xié)議和包格式,包含設備發(fā)起和完成事務的必要信息。
傳輸層:提供包傳輸?shù)穆酚尚畔ⅲ瑢攲硬豢梢姟?/p>
物理層:描述設備級接口細節(jié)(包傳輸機制、流控、電氣特性、低級錯誤管理)。

邏輯層(LOG)
邏輯層劃分為以下模塊控制并解析數(shù)據(jù)包,提供三類接口:
用戶接口(User Interface)
傳輸接口(Transport Interface)(相當于緩存 Buffer,對頂層不可見)
配置接口(Configuration Fabric Interface)(用于讀寫本地配置空間及邏輯/傳輸層寄存器)

用戶接口(重點關注)
包含I/O 端口集和三個可選端口:
I/O 端口集:
支持事務:NWRITEs、NWRITE_Rs、SWRITEs、NREADs、RESPONSEs(不含維護事務響應)、門鈴事務。
消息事務(取決于配置是否分離 I/O 與 Message 端口)。
消息端口:專用于消息事務。
維護端口:專用于維護事務。
用戶自定義端口:支持自定義類型(未使能時丟棄包)。
I/O 端口類型
| 類型 | 描述 |
|---|---|
| Condensed I/O | 單一 AXI4-Stream 通道發(fā)送/接收所有包 |
| Initiator/Target |
分離請求與響應,共 4 個 AXI4-Stream 通道: -ireq(本地請求) -iresp(遠程響應) -treq(遠程請求) -tresp(本地響應) |
頂層信號映射:
s_axis_ireq*→ireq
m_axis_iresp*→iresp
m_axis_treq*→treq
s_axis_tresp*→tresp

物理層(PHY)
功能:
處理鏈路訓練(Link Training)、初始化、協(xié)議
插入 CRC 與應答標識符
連接高速串行收發(fā)器(外部例化模塊)
接口:
2 個 AXI4-Stream 通道連接傳輸層
1 個 AXI4-Lite 接口連接配置層
1 個串行接口連接收發(fā)器(FPGA 使用 GT 接口實現(xiàn))
寄存器空間
| 類型 | 描述 |
|---|---|
| 能力寄存器(CAR) | 在邏輯層實現(xiàn) |
| 狀態(tài)寄存器(CSR) | 在邏輯層實現(xiàn) |
HELLO 包格式
標準化包頭域,包頭與數(shù)據(jù)分離傳輸:
Size 域:值 = 傳輸字節(jié)總數(shù) - 1(有效范圍 0~255 → 實際傳輸 1~256 字節(jié))
限制:必須與 RapidIO 包中的 size/address/wdptr 域匹配,IP 核不會修正非法值。

注意:AXI4-Stream 的tdata為 8 字節(jié)(雙字),需根據(jù)數(shù)據(jù)量是否小于 8 字節(jié)分別處理。
SRIO 事務類型及關系
1. 直接 I/O(DMA)事務
| 事務 | 特性 |
|---|---|
| NWRITE | 寫操作,無需響應(效率最高) |
| NWRITE_R | 寫操作,需響應(確保數(shù)據(jù)完整性,帶寬利用率低) |
| SWRITE | 流式寫操作,數(shù)據(jù)長度需為 8 字節(jié)整數(shù)倍(無響應,適用連續(xù)數(shù)據(jù)流) |
| NREAD | 讀操作,從設備返回響應包攜帶數(shù)據(jù) |
2. 消息傳遞事務
| 事務 | 特性 |
|---|---|
| DOORBELL | 短消息通知(郵箱號+少量數(shù)據(jù),如中斷觸發(fā)) |
| MESSAGE | 長消息傳輸,數(shù)據(jù)路由到指定緩沖區(qū)(需軟件解析) |
3. 維護事務
| 事務 | 用途 |
|---|---|
| MAINTENANCE READ/WRITE | 讀寫配置寄存器(初始化/錯誤處理) |
事務對比
| 維度 | 直接 I/O 事務 | 消息傳遞事務 |
|---|---|---|
| 效率 | 高(NWRITE/SWRITE 無響應) | 低(需軟件介入) |
| 可靠性 | NWRITE_R/NREAD 通過響應保證 | 依賴軟件處理 |
| 適用場景 | 硬件實時數(shù)據(jù)傳輸(DSP-FPGA) | 動態(tài)拓撲/軟件交互(多處理器) |
事務類型表
詳見 PG007 手冊 P73。

總結
Xilinx SRIO IP核的事務類型覆蓋了從高效硬件控制到靈活軟件交互的全場景需求,用戶需根據(jù)延遲、帶寬、可靠性等指標選擇合適類型。例如,實時數(shù)據(jù)采集可采用SWRITE,而系統(tǒng)配置則依賴MAINTENANCE事務。
直接 I/O:用于低延遲硬件控制(如實時數(shù)據(jù)采集用 SWRITE)。
消息傳遞:用于靈活軟件交互(如系統(tǒng)通知)。
維護事務:用于設備配置管理。
-
RapidIO
+關注
關注
1文章
43瀏覽量
21590 -
sRIO
+關注
關注
1文章
33瀏覽量
21661 -
物理層
+關注
關注
1文章
171瀏覽量
35696
原文標題:RapidIO/SRIO 入門之什么是SRIO
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
什么是以太網(wǎng)物理層?Ethernet物理層有哪些功能?
IIC物理層是由哪些部分組成的
串口通信的物理層與協(xié)議層的相關資料推薦
WCDMA系統(tǒng)的物理層(FDD)
物理層的成幀過程
物理層的作用
MIPS科技實現(xiàn)USB 2.0高速物理層IP
PCIe物理層接口定義了物理層中的,媒介層和物理編碼子層之間的統(tǒng)一接口
RapidIO標準的串行物理層實現(xiàn)
評論