7.3 D MA请求源选择与自动重装方式
7.3.1 DMA请求源选择
在ZDMA方式下,由软件产生的DMA请求,或由外部DMA请求信号nXDREQ产生的DMA请求,被作为DMA请求源。通过写入ZDCCONO/1寄存器CMD域01,产生软件触发,DMA启动。在DMA启动之前,DMA相关参数,像源地址、目的地址、传送计数等,应该被配置。基于这样的配置,当CMD域被写入01,DMA操作将启动。在软件触发方式下,只要突发总线主设备权分配给DMA主设备,DMA操作将继续,当DMA传送计数或终止计数(Terminalcount,TC)达到0时,完成了DMA操作。如果更高优先权总线主设备获得了总线主设备权,在为更高优先权总线主设备服务后,原来被打断的DMA操作将继续。如果DMA被配置成外部触发方式,例如通过对ZDCONO/1寄存器的QDs域设置,允许外部DMA请求,DMA操作也能由nXDREQ外部请求信号启动,就像软件启动一样。
在BDMA方式,有6个硬件请求源,UART0、UARTl、SIO、Timer和IIS(如图7.2所示,SIO可以连到两个源上)。BDMA能够由硬件方式启动,而硬件请求源的选择是通过写入BDICNTn寄存器的QSC域实现的。在DMA启动之前,DMA相关参数,同样应该被配置。
7.3.2 自动重装方式
在自动重装方式,当DMA计数值减为0时,当前寄存器组(源地址寄存器ZDCSRCn及BDCSRCn、目的地址寄存器ZDCDESn及BDCDESn、计数寄存器ZDCCNTn及BDCCNTn)的内容被重装,方法是将初始寄存器组(源地址寄存器ZDISRCn及BdDISRCn、目的地址寄存器ZDIDESn及BDIDESn、计数寄存器ZDICNTn及BDICNTn)的内容装入当前寄存器组。DMA操作相关的配置参数被留在初始寄存器组中,例如,源/目的地址和源/目的传送计数值。自动重装能够自动地预先安排DMA操作。换句话说,为了改变配置,配置在初始寄存器组中的内容应该被改变,时间上应该在基于当前配置的DMA操作结束之前。但是,参数自动重装不能保证当前DMA操作之后,DMA自动重运行。只有ZDCONn的C2MD域被重新写入或外部DMA请求出现,DMA将重新运行。对BDMA,只有DMA请求出现,DMA将重新运行。
为了支持自动重装方式,DMA应该有两个寄存器组,初始寄存器组和当前寄存器组。当前寄存器组用于DMA当前操作,例如,寄存器在DMA传送中应该有动态值,包括源地址、目的地址和计数值或TC。 从20世纪90年代中期到现在,嵌入式系统的应用越来越广泛,许多高校相继开设了这方面的课程。在教学过程中我们感到,无论是应用程序开发、系统程序开发或者驱动程序开发,还是硬件板卡电路设计,都涉及嵌入式微处理器的知识,都需要从使用的角度出发,以某种具体的嵌入式微处理器作为教学实例。由此我决定编写一本专门讲述嵌入式微处理器的书。在内容的组织和结构编排方面,本书参考了目前大学使用的《微型计算机技术(接口)》和《微机原理》,只不过这两种教材是针对Intel公司生产的通用CPU,而不是嵌入式微处理器。
ARM公司在嵌入式微处理器设计方面处于****地位。全世界超过100家公司与ARM公司有着业务合作关系(包括Intel等许多**公司),生产基于ARM处理器的嵌入式微处理器芯片。本书选择了使用ARM公司ARM7TDMI处理器核的、由三星公司生产的S3C44B0X嵌入式微处理器作为教学内容,是由于当前使用ARM系列各种处理器核所生产的芯片中,使用ARM7TDMI处理器核所生产的芯片,产量比较大,应用也较为广泛;另外从汇编语言程序员角度看到的ARM系列处理器的体系结构,ARM7TDMI是较为基础的和比较典型的、可扩展的;同时ARM7TDMI使用的指令系统,与ARM系列后续处理器使用的指令系统是兼容的。
本书主要讲述了以下4部分内容:
嵌入式系统一般性介绍,S3C44B0X微处理器的组成及编程模式。
ARM7TDMI指令系统和ARM汇编语言编程。
存储器控制器。
各功能模块,如时钟与功耗管理、CPUwrapper与总线优先权、DMA、I/O端口、PWM定时器、通用异步收发器、中断控制器、LCD控制器、ADC、RTC、看门狗定时器、IIC总线接口、IIS总线接口和同步I/O接口。
感谢我所在的计算机学院的领导,2002年决定在本科生和研究生中开设嵌入式系统方面的课程,并想方设法引进了相应的教学实验设备;感谢他们在本书编写过程中给予的支持。
感谢研究生张晶和李佳妍为本书
第6章
第7章
第9章
第12章 绘图;哈斯塔木嘎录入了
第14章 的内容;王玉珍录入了
第11章 和
第13章 的内容。
◆基于ARM7TDMI的S3C44B0X嵌入式微处理器技术特别要感谢李惠林女士,她为本书录入了前言、目录、第1章 ~第10章 、
第12章 、附录和参考文献等内容,她还负责绘制了相应章节的图;对本书全部录入稿做了认真负责的校对;在统稿过程中提出了很好的修改意见和建议,并对统稿内容做了细致的校对。
感谢清华大学出版社袁勤勇编辑对本书的编写工作提出的建议和在编辑过程中付出的劳动。
由于受编者水平所限,书中的错误和不当之处在所难免,敬请专家和读者批评指正。