DMA C2H 串流 - 4.1 简体中文

DMA/Bridge Subsystem for PCI Express 产品指南 (PG195)

Document ID
PG195
Release Date
2022-11-16
Version
4.1 简体中文

对于卡到主机传输,数据接收自 AXI4-Stream 接口并写入目标地址。数据包可跨多个描述符。C2H 通道启用时即可接受数据,并具有有效的描述符。接收到数据后,就会按顺序填充描述符。当描述符完成填充或者由于接口上出现包结束而导致描述符关闭后,C2H 通道会将信息写回含预定义的 WB Magic 值 16'h52b4 (表 2) 的主机上的写回地址,并对 EOP 和长度 (Length) 进行相应的更新。对于 C2H AXI4-Stream 接口上的有效数据周期,与给定数据包关联的所有数据都必须连续。

注释: C2H 通道写回信息不同于轮询模式更新。C2H 通道写回信息可提供特定描述符的驱动程序当前长度状态。这不同于 轮询模式 中所述的 Pollmode_*

对于任一数据包的所有传输(最后一次数据传输除外)而言,tkeep 位必须全部为 1。在执行数据包的最后一次传输时,当 tlast 断言有效时,可指定 tkeep 不全为 1,以指定该数据周期并非完整的数据路径宽度。断言有效的 tkeep 位需打包到 lsb 中以表示连续数据。当 tlast 断言有效并且所有 0 位均开启时,tkeep 并非有效组合,无法使 DMA 正常工作。

C2H 串流描述符的长度(目标缓冲器的大小)必须始终为 64 字节的倍数。

表 1. C2H 串流写回格式
偏移 字段
0x0 WB Magic[15:0] Reserved [14:0] Status[0]
0x04 Length[31:0]
表 2. C2H 串流写回字段
字段 位索引 子字段 描述
Status 0 EOP 包结束
Reserved 14:0   保留
WB Magic 15:0   16'h52b4。此代码用于验证 C2H 写回是否有效。
Length 31:0   数据长度(以字节为单位)。
注释: C2H 串流写回地址无法跨越 4K 边界。