广州菱控自动化科技有限公司
主营:欧姆龙,三菱,安川,Pro-face
首页 > 解决方案 > 航空航天_嵌入式 > 反射内存 RFM5565 分散/的 DMA 操作示
行业类别
全部 航空航天 新能源 冶金 石油 石化 化工 汽车 建材 包装 造纸印刷 纺织印染 机械 机床 木工 矿业 塑胶 交通 铁路 机场 港口 仓储 物流 能源 电力 输配电 水利 环保水处理 电子 食品饮料 制药医疗 烟草 电梯 网络通讯 市政 商业 楼宇 安防 锅炉供暖 制冷 金融保险 邮政 广电 军工 机器人 其它
产品类别
全部 PLC 变频器 伺服 DCS 触摸屏 传感器 机器视觉 仪器仪表 工业以太网 现场总线 工控机 嵌入式 数据采集 软件 低压电器 数传 电源 数控 机柜箱体 工具 单片机 流体 工业安全 安防 媒体 其它

反射内存 RFM5565 分散/的 DMA 操作示

发布日期:2021/12/16

反射内存RFM5565分散/集聚的DMA 操作示例

注:scatter/gather 方式是与block dma 方式相对应的一种dma 方

式。


 

 

连续的。但在有的计算机体系中,如IA,连续的存储器地址在物理

在dma 传输数据的过程中,要求源物理地址和目标物理地址必须是

上不一定是连续的,则dma 传输要分成多次完成。

如果传输完一块物理连续的数据后发起一次中断,同时主机进行下一

块物理连续的传输,则这种方式即为block dma 方式。

scatter/gather 方式则不同,他是用一个链表描述物理不连续的存储器,

然后把链表首地址告诉dma master。dma master 传输完一块物理连续

的数据后,就不用再发中断了,而是根据链表传输下一块物理连续的

数据,最后发起一次中断。

很显然scatter/gather 方式比block dma 方式效率高。

分散/集聚DMA 传输是一种用于执行分割成不同小块的大型数

据的传输的模式。注意:在一个数据页不能跨越4 GB 的地址边界。

该DMA 描述符指针是链表页描述地址。

每个页面描述符定义一个地址和数据块大小加上下一个描述符

块的指针。当数据被读取/写入到相应的页面,自动获取描述符。描

述链处理直到数据传输完成或达到的描述链的末端,以先到者为准。

页面描述符块不能被映射在64 位寻址空间。第一个描述符必须

是一个16 字节的边界上。为了获得最佳性能,每个描述符块应该被

一个16 字节或8 字节边界对齐。

页面描述链必须建立在PCI 32bit 的内存空间,才开始一个分散/

集聚DMA。链中的每个描述符格式如下:

 

 

第二个DWORD:高 32 位PCI 数据地址,0 为32 位寻址)($

第一DWORD:低 32 位PCI 数据地址(每个页面都要一个8 字

第三DWORD:要传输的字节数到/从 PCI 地址(每个页面大小

必须是8 字节的倍数)

第四DWORD:下一描述符(写$1 表示链结束)

同时,所有数据块的大小总长度值必须被写入DMA 传输大小寄

存器。

1。基址寄存器 0 存储本地控制和配置寄存器,其中包括DMA

控制寄存器的起始地址。该寄存器中的值是PCIBAR0。

2。为配置一个DMA 周期有6 个DMA 寄存器必须被设置。DMA

周期后这些寄存器将保持不变。

 


销售热线

销售微信