专栏中心

EEPW首页 > 专栏 > 反射内存 RFM5565 分散/集聚的 DMA 操作示例

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

发布人:trueleven 时间:2019-06-09 来源:工程师 发布文章
反射内存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

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

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

51单片机例程

牵头获奖!西电3项成果上榜

2026-01-06

\"晶体振荡器\"的核心技术

4100家科技企业集结赌城 ,CES 2026揭开AI新战场

智能计算 2026-01-06

在单一硬件平台上执行多个工作负载

运放电源需要增加RC电源滤波么?

精密电阻分压器延长高压电池寿命

ADS6425 社区视频

视频 2010-03-11

C64x+ 网络培训(三)

视频 2010-03-12

PCB供应商部分制程关键参数统一标准

求助

sanhey 2005-08-31

重磅!“天目山一号”,创世界纪录!

2026-01-06

C64x+ 网络培训(二)

视频 2010-03-12

CES 2026预览:电子墨水智能手机、过敏原检测器及更多内容

BQ27500 社区视频

视频 2010-03-11

LabVIEW7.0中文教程

资源下载 2007-12-19

USB2.0开发例程

资源下载 2007-12-19

带警报和报警的电源监控器几乎不需要自供电

电源设计手册!

C64x+ 网络培训(一)

视频 2010-03-12

双向200-A霍尔电流传感器首次实现1400伏隔离

更多 培训课堂
更多 焦点
更多 视频

技术专区