刘彦文等《Linux环境嵌入式系统开发基础》第4章技术分析.ppt

刘彦文等《Linux环境嵌入式系统开发基础》第4章技术分析.ppt

  1. 1、本文档共101页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
⒐ DMA屏蔽触发寄存器 4个通道的DMA屏蔽触发寄存器的名称分别为DMASKTRIG0、DMASKTRIG1、DMASKTRIG2和DMASKTRIG3;对应地址分别为0x4B000020、0x4B000060、0x4B0000A0和0x4B0000E0;可读写;Reset后初值全部为0;分别控制各通道停止、通道ON/OFF以及用于软件请求模式的DMA请求触发器,具体见表4-25(p126)。 4.9 DMA存储器到存储器传输 测试举例 以下例4.3中代码取自一个DMA测试程序,对DMA 4个通道存储器到存储器传输进行测试。为简单起见,只保留了通道0的代码;增加了注释。 【例4.3】 以下DMA存储器到存储器传输测试程序中,对源数据区每个字单元赋值无符号32位(U32)二进制数i^0x55aa5aa5,并计算累加和;DMA传输开始前,对传输结束标志dmaDone赋值0;由DMA传输结束引起的中断服务程序给dmaDone赋值1;程序然后计算目的数据区的累加和,与源数据区累加和比较,输出(p127)。 4.10 总线优先权 S3C2410A片内总线仲裁逻辑确定总线主设备(bus master)的优先权,仲裁逻辑支持轮转优先权和固定优先权相结合的优先权模式。 总线主设备的含义是指那些能够提出总线请求、并且能够占用总线的设备,包括ARM920T内核等。 S3C2410A总线主设备共有7个,其中DMA0~DMA3看做一个。在Reset后,除了DMA0~DMA3处于轮转优先权模式,其余处于固定优先权模式。SDRAM刷新控制器优先权最高,ARM920T优先权最低。7个总线主设备的优先权如下所示: ⑴ SDRAM刷新控制器 ⑵ LCD_DMA ⑶ DMA0、DMA1、DMA2和DMA3 ⑷ USB host DMA ⑸ 外部总线主设备 ⑹ TIC(Test Interface Controller,测试接口控制器) ⑺ ARM920T ⑻ 保留 END ⑶ 传输计数 由存储器缓冲区数据个数(字节数),通过计算得到一个传输计数值,这个值也称传输节拍数,送到通道0的控制寄存器DCON0的TC域,称为初始传输计数值。DMA自动将TC域的值送到通道0的状态寄存器DSTAT0的CURR_TC域,称为传输计数当前值,参见表4-21、表4-22。 ⑷ 初始源、初始目的控制寄存器 初始源控制寄存器,通过设置不同的参数值,控制源(设备)连接到AHB还是APB。本例中存储器控制器连接在AHB,应该将DISRCC0[1]设置为0。 在初始源控制寄存器中还可以选择当前源地址是增量还是固定不变。 ⑸ DMA控制寄存器 每个通道有1个DMA控制寄存器,通道0的为DCON0。通过程序可以分别选择:请求/握手(Demand/Handshake)模式;使用AHB/APB时钟同步;传输计数当前值CURR_TC为0时产生中断与否;Unit/Burst模式;Single/Whole服务模式;DMA请求源对应的设备;软/硬件DMA请求;自动重装与否;数据尺寸(data size),并可设置初始传输计数TC值。 ⑹ 屏蔽触发寄存器 每个通道有1个屏蔽触发寄存器,通道0的是DMASKTRIG0,可以用于停止DMA操作、设置通道0 ON/OFF、触发软件DMA请求。 ⑺ 状态寄存器 每个通道有1个状态寄存器,通道0的是DSTAT0,保存就绪/忙(Ready/Busy)状态,保存传输计数当前值CURR_TC。CURR_TC在每个原子操作结束时减1。 4.6.3 DMA用到的S3C2410A引脚信号 S3C2410A芯片引脚信号nXDREQ[1:0]为输入信号,可以分别外接2路DMA请求信号;芯片引脚信号nXDACK[1:0]为输出信号,输出对nXDREQ[1:0]产生的DMA响应信号。 4.7 DMA请求、有限状态机和协议 4.7.1 硬件DMA请求与软件DMA请求 S3C2410A可以使用片外DMA请求引脚信号nXDREQ[1:0]、片内外设和软件方式启动DMA操作,前2种称为硬件DMA请求,后1种称为软件DMA请求。 ⒈ 选择硬件DMA请求或软件DMA请求 DMA控制寄存器DCONn中的SWHW_SEL域控制选择硬件DMA请求还是软件DMA请求。当DCONn[23]=0时为软件请求模式,通过设置DMA屏蔽触发寄存器DMASKTRIGn的SW_TRIG位,能够触发DMA请求;当DCONn[23]=1时为硬件请求模式,需要通过DCONn[26:24]选择DMA请求源,由这个请求源提出DMA请求。 ⒉ 硬件DMA请求源的选择 DMA控制器的每个通道

文档评论(0)

阿里山的姑娘 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档