好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

分析DMA在嵌入式系统中的应用.docx

7页
  • 卖家[上传人]:m****
  • 文档编号:482080987
  • 上传时间:2024-01-28
  • 文档格式:DOCX
  • 文档大小:145.54KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 分析DMA在嵌入式系统中的应用一 DMA描述DMA的英文拼写是“Direct Memory Access”,汉语的意思就是直接内存访问它是一 种快速传输数据的机制,数据存取不需要经过处理器的干预,直接在源地址和目的地址之间 进行快速传输,从而提高数据的传输速率DMA是嵌入式微处理器系统中普遍采用的能够有效减轻处理器内核负担、提高性能的 一项技术,通过在系统总线上增加能够主动发起请求的主设备DMA控制器(DMAC )来 实现°DMAC是系统上的一个附加模块,它能模仿CPU传送数据,在CPU不需要总线 或者总线强制CPU暂时挂载操作时才能使用总线,优点是集中管理,并提供统一的接口和 易于扩充的配置二DMA内存访问技术的优势我们可以理解,无论是程序控制方式还是中断控制方式,数据的传输都必须经过处理器 而在一个嵌入式微处理器为主控的应用系统中,当有大量数据在存储器和外设之间传输时, 采用程序控制方式显然不合适,但是若采用中断控制方式,会造成中断次数过于频繁,不仅 速度上不去,还需要处理器及时干预进行处理,大大降低了工作的效率然而,使用DMA的好处就是它不需要CPU的干预而直接服务外设,这样CPU就可以 去处理别的事务,从而提高系统的效率,对于慢速设备,其作用只是降低CPU的使用率, 但对于高速设备,它不只是降低CPU的使用率,而且能大大提高硬件设备的吞吐量。

      因为 对于这种设备,CPU直接供应数据的速度太低因CPU只能一个总线周期最多存取一次 总线,而且对于处理器,它不能把内存中A地址的值直接搬到B地址它只能先把A地址 的值搬到一个寄存器,然后再从这个寄存器搬到B地址也就是说,对于处理器,要花费 两个总线周期才能将A地址的值送到B地址而DMA就不同了,一般系统中的DMA都 有突发(Burst)传输的能力,在这种模式下,DMA能一次传输几个甚至几十个字节的数据, 所以使用DMA能使设备的吞吐能力大为增强鉴于上面的优势,系统中使用DMA是必要的,能够提高数据吞吐量,减轻了 CPU的 负担,使得整个系统的性能得到提高三DMA的工作原理首先,处理器slave接口单元对DMAC的配置寄存器做初始化操作,将配置信息写入 DMAC中;然后,DMAC根据DMA请求信号,DMAC的master接口单元向处理器申请总 线控制权,若得到总线控制权,进行数据传输,则按照之前的配置进行;最后,在数据传输 完毕后,DMAC发出中断信号,释放AXI总线四DMA的类型举例1.三种基于AXI的DMA接口XILINX XPS 中提供 AXI Centralized DMA、AXI VideoDMA 和 AXI DMA,如下表;接口 名称数据位 宽接口类 型功能描述关键特性AXICentralizedDMAcontrol32AXI4-li te slaveCPU通过总线对DMA 内部的源地址寄存器、 目的地址寄存器、控制 寄存器、状态寄存器和 传输数据长度寄存器等 进行初始化。

      a兼容总线 AXI4、AXI4-lite 接 口协议;b AXI4数据宽度 支持 32、64、128、 256、 512、 1024;c AXI4-Stream 数据宽度支持8、 16、 32、 64、 128、 256、 512、 1024;d可选的数据重 组引擎;e独立且异步的 数据通道操作;g可选S/G模式 传输和普通模式传 输;h可选存储转 发Scatter/gather32AXI4 master从系统内存读取和更新 DMA传输数据的配置 信息,根据配置信息初 始化CDMA传输参数, 执行S/G传输模式;它 卸载了 CPU控制传输, 实现硬件自动化data read32、64、128、256、512、1024AXI4 master根据源地址从系统内存 中读取数据data write32、64、128、256、512、1024AXI4 master根据目的地址向系统内 存中与入数据AXIVideoDMAcontrol32AXI4-li te slave访问VDMA内部的寄存 器,对DMA内部的源 地址寄存器、目的地址 寄存器、控制寄存器、 状态寄存器和传输数据 长度寄存器等进行初始 化。

      a高带宽直接 存储的视频数据 流;b具有二维 DMA传送操作;c独立且异步 读取和与入通道操 作;Scatter32AXI4从系统内存读取和更新/gathermasterDMA传输数据的配置 信息,根据配置信息初 始化V D M A传输参 数,执行S/G传输模式; 它卸载了 CPU控制传 输,实现硬件自动化d同步耦合帧 缓冲区;e支持最大32 帧缓冲区;f支持动态时 钟频率的变化;g配置突发传 输数据的大小与行 缓冲区的深度;h处理器可访 问的初始化、中断、 状态和管理寄存 器;i兼容AXI4、 AXI4-lite 、AXI4-stream 接 口 协议;j可选的S/G 传输模式和普通模 式传输data memor y mappe d read(m m2s)32、64、128、256、512、1024AXI4 master根据源地址从系统内存 中读取数据data memor y mappe d write(s 2mm)32、64、128、256、512、1024AXI4 master根据目的地址向系统内 存中与入数据data stream out8、16、32、64、128、256、512、1024AXI4-Streammaster从VDMA侧到兼容AXI4-Stream 流接口的 数据传输;数据位宽必 须不 大于 data memory mapped数据的位宽。

      data streamin8、16、32、64、128、256、512、1024AXI4-S tream slave从兼容 AXI4-Stream 流 接口到VDMA侧的数据 传输;数据位宽必须不 大于 data memory mapped数据的位宽AXIDMAControl32AXI-lit e Slave访问DMA内部的寄存 器,对DMA内部的源 地址寄存器、目的地址 寄存器、控制寄存器、 状态寄存器和传输数据 长度寄存器等进行初始 化a 兼容 AXI4-liteAXI4、AXI4-Stream总线接口协议;b可选的普通传输模式和S/G模式;c数据宽度可至1024;d可选AXI控制流和状态流;e两通道是独立、 全双工的AXIMemory Map Read32、64、128、256、512、1024AXI4Master根据源地址从系统内存 中读取数据MasterAXI Memo ry Map writeMaster32、64、128、256、512、1024AXI4Master根据目的地址向系统内 存中与入数据Scatter /Gather32AXI4Master从系统内存读取和更新 DMA传输数据的配置 信息,根据配置信息初 始化DMA传输参数, 执行S/G传输模式;它 卸载了 CPU控制传输, 实现硬件自动化。

      DataStreamOut32、64、128、256、512、1024AXI4-StreamMaster从DMA侧到兼容AXI4-Stream 流接口的 数据传输;数据位宽必 须不 大于 data memory mapped数据的位宽DataStreamIn32、64、128、256、512、1024AXI4-StreamSlave从兼容 AXI4-Stream 的 流接口到DMA侧的数 据传输;数据位宽必须 不 大 于 data memory mapped数据的位宽AXIControlStreamMaster32AXI4-StreamMaster控 制 着 memory to stream的数据流AXIStatusStreamSlave32AXI4-StreamSlaveAXI4-Stream侧传输数据流的状态传送给DMA2. DMA内部寄存器的读写方式基于AXI的DMA对内部寄存器的读写有着相同的方式在普通传输模式下,DMA 内部的寄存器都是由处理器通过AXI-Lite总线进行读写的;但基于AXI总线的三种DMA, 都增加了 S/G传输模式,它卸载了处理器对寄存器的读写,通过独立的S/G读写通道对存 储着命令描述符的内存进行访问读取、处理描述符,然后更新描述符写入内存。

      3三种DMA的应用场合应用场合AXIDMAAXI DMA应用在系统内存和基于总线AXI4-Stream的外设之间的高速 数据传输,比如控制以太网数据的交换AXICentralizedDMAAXI Centralized DMA应用由一个内存空间到另一个内存空间的高速数 据传输AXIVideoDMAAXI VDMA应用在系统内存和基于总线AXI4-Steam的视频外设的高 速数据传输4.三种DMA的典型应用(1) AXI DMAInierrupi ConirollerMicroBlazeProcessor843U-在系统中,AXI DMA与处理器等其他设备通过AXI Interconnect互联系统处理器 通过AXI4-lite接口访问DMA内部寄存器,向其写入配置信息,然后根据配置信息,高效 的进行数据传输;DMA也可以启动S/G传输模式,通过独立的AXI S/G通道从DDR中获 取描述符信息,然后协调以太网和DDR间的数据传输;独立的控制和状态流通道,提供相关的包信息;DMA的中断与系统中断控制器相连2) AXI Centralized DMA在此系统中,AXI CDMA与处理器等设备通过AXI Interconmect互联。

      CDMA控制着 个内存映射空间到另一个内存映射空间的数据传输3) AXI Video DMA在此系统中,AXI VDMA与处理器等其他设备通过AXI Interconnect互联系统处理器 通过AXI4-lite接口访问VDMA内部寄存器,向其写入配置信息,然后根据配置信息,高效 的进行数据传输;VDMA也可以启动S/G传输模式,通过独立的AXI S/G通道从DDR中 获取描述符信息,然后调控Video IP和DDR间的数据传输;VDMA的双中断与系统中断控 制器相连。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.