《DMA》-课件设计(公开).ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DMA 邬惠峰 whf@hdu.edu.cn 什么是DMA? Direct Memory Acess 不通过CPU而在DMA控制器的控制下,高速地在I/O设备和存储器之间交换数据。 几种常用时钟 FCLK is used by ARM920T. HCLK is used for AHB bus, which is used by the ARM920T, the memory controller, the interrupt controller, the LCD controller, the DMA and the USB host block. PCLK is used for APB bus, which is used by the peripherals such as WDT, IIS, I2C, PWM timer, MMC interface, ADC, UART, GPIO, RTC and SPI. DMA 通道类型 ① 源设备和目标都在系统总线AHB上 ② 源设备和目标都在外围总线APB上 ③ 源设备在系统总线,而目标设备位于外围总线 ④ 源设备在外围总线,而目标设备位于系统总线 DMA请求源 传输协议 ① 单步模式:一次DMA传输有两个DMA应答周期(产生两个应答信号nXDACK)指示DMA读和写周期,主要用与测试和调试模式,在读写周期之前,总线控制权可以让给其他总线控制器 ② 连续模式:一次DMA请求将产生连续的DMA传输,直到规定的DMA传输数据传输完,在DMA传输周期间,nXDACK一直有效。DMA请求信号被释放。并且每次传输一个数据单元后,释放一次总线控制权,以让其他总线控制器有机会可以占有总线。 DMA操作 DMA使用三态FSM(有限状态机)进行操作 State-1:初始状态,DMA等待DMA请求,若请求到达,进入状态2。此阶段,DMA ACK和INT REQ 为0 State-2:DMA ACK 变为1,计数器CURR_TC的值从DCON[19:0 ]装载。DMA ACK保持1,直到它被清0 State-3:对DMA进行原子操作的sub-FSM(子状态机)进行初始化。sub-FSM 从源地址读取数据后将数据写入目标地址。对于这种操作方式,数据大小和传输大小应给予考虑。在整体服务方式中(whole service mode),这种操作重复直到计数器CURR_TC变为0,然而在单一模式中只进行一次。当子FSM完成每个原子操作,主FSM倒计CURR_TC。另外,当CURR_TC为0 和中断设置DCON[29]为1时,主FSM发出INT REQ(中断请求信号),同时清除DMA ACK 。 清除DMA ACK的条件 ? ① 在整体服务模式(Whole service mode)CURR_TC变为0 ? ② 在单一模式(Single service mode)原子操作完成 外DMA 请求/应答协议 ① Single service Demand? ② Single service Handshake? ③Whole service Handshake Demand 和 Handshake 模式的区别主要是XnXDREQ 和 XnXDACK时序 DMA时序 Demand/Handshake模式的区别 传输尺寸 单元方式和猝发方式(4个单元) 在数据传送过程中,DMA将保持总线控制权 猝发方式将进行连续读写 DMA相关寄存器 每个DMA通道有9个控制寄存器 DISRC? DISRCC DCON DIDST? DIDSTC? DMASKTRIG DSTAT DCSRC DCDST DISRC 需要传输的数据的起始地址 地址只能当没有数据传送( CURR_SRC 为0)而且DMA 请求被响应后(ACK为1)才能装载到CURR_SRC DIDST 传输目标的起始地址 地址只能当没有数据接收( CURR_DST 为0)而且DMA 请求被响应后(ACK为1)才能装载到CURR_SRC DISRCC 数据传送源设备位置和地址增长方式 DIDSTC 数据传送目标设备位置和地址增长方式 DCON DMA控制寄存器 设置传输方式,传输尺寸,传输协议等信息 DCONn[31](DMD_HS) 0:Demand方式 1:HandShake方式 DCONn[30](SYNC) 0:采用PCLK时钟(外围总线) 1:采用HCLK时钟(系统总线) DCONn[29](INT) 0:禁止CURR_TC中断 1:所有的传输结束后(CURR_TC=0)产生中断请求 DCONn[28](TSZ) 0:单元传输方式 1:猝发传输方式(4单元) DCONn[27](SERVMODE) 0:单一服务模式(当

您可能关注的文档

文档评论(0)

花好月圆 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档