基于ARM微处理器的嵌入式系统对数据进行高速传送处理时,一般采用DMA传送模式。直接存储器访问(DMA)方式,是一种完全由硬件执行数据交换的工作方式。在这种方式中,DMA 控制器从CPU 完全接管对总线的控制,数据交换不经过CPU 而直接在存储器之间以及存储器和外设之间进行。DMA方式不仅仅可以加快存储器之间大数据量的交换,更重要的是,CPU可以从大量数据交换、分散数据收集、慢速设备的访问中解放出来,从而提高CPU的利用效率。61673
目前,国外的DMA技术已经逐渐实现数据交换的智能化和通道化。DMA不仅可以按照总线协议进行数据交换,而且可以编程设置多种功能。提高DMA控制器的智能化,进一步减轻CPU介入数据交换带来负担是今后DMA控制器和其它通道控制器的一大发展方向[4]。
DMA的应用实例
随着消费类电子,如mp3,3g手机,视频终端以及宽带无线网络的普及,对大容量存储设备的需求越来越强烈。传统的SRAM,SDRAM以及DDR SDRAM等存储设备的价格与容量比,远远比硬盘高;光存储设备虽然廉价,但在便携性上却远逊于硬盘解决方案。现在硬盘厂商提供了各种适用于不同用途的廉价海量存储设备。
目前,硬盘支持的最为广泛的IDE接口协议中,规定了PIO,DMA以及Ultra DMA三种数据传输模式,其传输速率PIO<多字DMA < Ultra DMA,如表一所示。随着各种多媒体应用的广泛普及,各种设备不但要求拥有海量存储能力,在完成各种实时业务时对数据的传输速率也提出了严格的要求。文献综述
采用DMA数据传输模式进行直接内存读取操作,提高数据传输的速率。如果在相同系统中使用Ultra DMA数据传输模式,则可以在不提高系统时钟频率的基础上,将系统数据传输速率提高一倍,极大地改善了系统性能,而不需要付出更多的硬件资源。因而硬盘的Ultra DMA数据传输方式在工业自动化,Internet网络,消费类电子和各种嵌入式系统中的需求会不断增加,有着很好的商业前景。
Nios系统结构:系统通常由Nios处理器,Avalon交换结构总线和各种外围设备{存储,接口及功能模块}的IP核三部分构成。Altera的SOPC Builder系统开发工具可以自动生成这些组件以及连接他们的总线。Nios处理器是32位结构可配置并包含五级流水线的通用RISC微处理器,采用改进的哈佛存储器结构;处理器带有分离的数据和程序存储器总线控制,具备高速缓存,中断处理功能。与传统处理器相比,Nios指令系统可通过自定义指令和标准处理器选项,利用硬件来明显提高系统性能。Avalon交换结构总线是Altera开发的用于Nios嵌入式处理器的参数化接口总线,由1组预定义的信号组成,用这些信号可以连接1个或多个IP模块。Altera的SOPC Builder系统开发工具自动地产生Avalon交换结构总线逻辑,其实现只需要极少的FPGA资源,提供完全同步的操作。Nios嵌入式处理器系统中的各种存储模块,接口模块和功能模块等都在Altera的标准外围设备库中以IP核的方式提供使用,或是由用户自行设计添加到库中,以IP模块的方式在系统中复用。实现硬盘高速访问功能模块的设计,实际上是在设计一个完整的IP模块,再在Altera提供的SOPC Builder开发环境的设备库中集成该IP核,以达到设计的目的。
Nios嵌入式处理器系统由Nios嵌入式处理器、DMA控制器、数据存储区SDRAM、程序存储区Flash和Avalon总线构成。其中DMA控制器用于实现两个存储器之间,或者存储器和外设之间,或者是两个外设之间的直接数据传输。DMA模块用于链接支持流模式传输的外设,并允许定长或变长的数据传输,而不需要CPU的干涉在Ultra DMA数据传输的过程中,可以一次性传输最多256个扇区的数据,所以在系统中使用DMA控制器可以方便地在硬盘和系统中各种支持流传输模式的设备之间建立直接链接,提高系统的数据传输效率。