的的NiosⅡ系统DMA控制器,数据传输过程,并且每个在DMA控制器的寄存器的作用的基本原理的细节。
着重于与DMA操作和手动的API函数,并且使用来自串行端口的系统的Nios DMA模式数据传输到SDRAM的例子进行说明。践证明,如果同样的CPU负载,采用AMD技术的CPU可以释放大量数据传输操作,提高CPU的数据处理能力。奥斯Ⅱ,DMA控制器,该DMA技术SDRAM CLC:TN91934文献:A文章编号:在尼奥斯ⅡsystemZHANGXian1004373X(2012)和06001903Principle器件的应用DMA控制器cai1,李Xiangdong1,Guoning1鼎旺Dazhong2(1.学院雷达空军,武汉430019; 2。

国单位94326 PLA,济南250000,中国)摘要:基本原理,过程数据和在ⅱ进行了详细介绍了该系统的Nios DMA控制器的功能寄存器的传输。functins与DMA操作连接的API和应用方法着重提出。SDRAM的形状数据,以在系统中的NiosⅱDMA中的串行端口的转移过程。过一个例子来说明,实际应用表明该DMA技术可以释放在中央单元的协调成本大量数据传输的CPU和数据处理容量可以improved.Keywords :Niosⅱ; DMA控制器,DMA技术;收到的SDRAM日期:201109270铅介绍DMA(直接存储器存取)是存储器存取技术计算[1]。允许一些子系统内部处理器(存储器和外设)可以被独立地读出并且没有处理器系统的直接干预写存储器。相同的CPU程度负载下,DMA是一种快速数据传输模式。在,使用DMA的存储器之间或设备和存储器之间传送高速数据越来越多的单芯片技术。是包括在这些设备DMA控制器的数量是有限的,通常为1〜2。果当前的系统需要多个DMA控制器,所以这些设备变得无能为力。奥斯Ⅱ系统是可配置的32位RISC嵌入式处理器的用户,这是SOPC的核心。处理器实现为具有高度灵活性和可配置性的软核。NIOSⅡ系统中的所有设备和设备配置的控制器出现IP核,用户可以添加必要时重复多次。
过添加可配置IP内核,它可以在一个或多个DMA控制器的NiosⅡ系统中实现解决的DMA控制器问题常见的微控制器数量有限。DMA DMA的调节器的工作原理描述的NiosⅡ一个DMA控制器,包括两种主要类型的端口AvalonMM控制器(读取和写入)端口,端口类型一个DMA控制器,和的基团的的内部AvalonMM部分配置寄存器,图1中[23]所示的结构。1DMA配置控制器DMA控制器可以从源到目的地移动数据。或目的地址可以是在所述控制器可以阿瓦隆设备的存储器中的地址范围。此,在NiosⅡ系统中,有三种DMA操作,即,该设备存储器,所述存储器设备和存储器到存储器的。
DMA控制器还包括流量容量,其允许固定或可变长度的数据的传输。DMA活动时,DMA控制器发送中断请求(IRQ)。型DMA数据传输的方法如下:(1)通过写配置用于数据传输DMA控制器的控制端口,CPU(2)由DMA控制器发出占据应用CPU HOLD信号总线(3)CPU响应于所述DMA控制器的请求,并离开总线,DMA控制器,以获得对总线的控制; (4)控制的DMA从源地址中读取端口读取数据,写入端口将数据写入到目的地址,读取和写入利用FIFO中的端口之间的数据; (5)当发送指定的时间数据之后,DMA传输完成,并且CPU的Nios发送一个中断请求; (6)处理器中断请求,控制总线DMA复位。DMA控制器DMA集描述寄存器包括8个32位寄存器中,其中图5是当前活动的寄存器,其他三个被用于未来的扩展。存在表中所示的映射表1中。1DMA控制器寄存器映射表内部移位寄存器名称状态寄存器0函数表示内部写入数据1的DMA控制器的细节读取数据源的地址起始地址寄存器2目的地地址长度寄存器的起始地址数据3各自状态位寄存器被从写端口的字节控制寄存器号读口6中指示的DMA控制单元的内部细节的操作模式中,DMA状态寄存器提供。态寄存器位如下表2所示。2状态寄存器位位位名称描述0DONEDMA数字传输完成。检测到特定分组信号长度或数据的传输结束时完成的,完成位是1.写寄存器0声明,DONE位当DMA传输正在进行0.1BUSY当由于读出的数据包的结束的事件传输完成信号12REOP,REOP位13WEOP事件当传送由写入结束信号分组期间已完成的BUSY位被置位感应,当WEOP 14LEN是0,LEN 1个寄存器指定源数据DMA传送开始地址的源地址的位长寄存器递减;目的地址寄存器指定的DMA传送的目标数据区域的开始,并指定一个给定的寄存器编号的读取端口的写端口的字节长度。果字被发送,寄存器数据长度的值乘以4,如果字转移一半必须乘以2。
个写端口主机控制器写入一个数据字节长度寄存器数据减少一个单位。数据寄存器的长度是等于0,在状态寄存器中的LEN位,用于建立DMA的每个比特的模式控制寄存器操作。表3所示。数据宽度字节,半字,字,恒温阀芯双字DMA传输,和4个比特指定的单词的每一个控制位寄存器的重要性。中的一个位设置为1。

两个读/写装置传送的数据的传送宽度窄传输决定。如,外部SDRAM数据16到存储器芯片的内部32的迁移,那么数据传输应该被设置到字的宽度的一半。3序号控制寄存器位位名位描述0BYTE 2字以调整1HW传输模式中的发送字节(8位)被传输字的半字模式(16比特)模式设置(32 bit)3GO启用DMA传输。设置为1和数据寄存器长度为非零,DMA传输开始4I_EN允许中断(IRQ)。I_EN是1,如果结束位也是一个状态寄存器,DMA控制器产生一个中断请求。5REEN终止读取数据传输。

6WEEN终止写入数据的传输。据长度寄存器0 7LEEN传输结束。位利恩是1,如果数据长度寄存器达到零,DMA传输的结束。8RCON读地址是固定的。RCON为0时,每一个数据传输的增加后的读出地址时RCON 1,而无需每个数据传输之后增加的读出地址。9WCON写地址是固定的。WCON为0时,每一个数据传输的增加后的写入地址时WCON为1,而无需每个数据传输之后增加写地址。10DOUBLEWORD以双字模式(64位)设置传输。11QUADWORD设置为4字(128)的传输模式。供ALTERA DMA HAL [45]的设备驱动程序软件的编程,驱动器可以抽象转换成两种类型的DMA传输的数据信道:信道传输数据和接收数据信道。使用接收的数据从外围信道存储器接收数据时;当存储器是使用所述数据传输信道,所述存储器之间时的数据传输将数据发送到该设备,有必要使用所述的数据信道发送数据再次使用该信道接收。所述数据路径相关联的功能发送DMA被alt_dma_txchan_open()alt_dma_txchan_send()alt_dma_txchan_space()alt_dma_txchan_ioctl()alt_dma_txchan_close(),和与DMA的接收数据路径功能)相关联的alt_dma_rxchan_open(alt_dma_rxchan_prerare() ,alt_dma_rxchan_depth()alt_dma_rxchan_ioctl()。alt_dma_txchan_open()和alt_dma_rxchan_open()是打开的数据信道的发送功能和接收数据信道的DMA控制器获取的数据传输信道和接收数据信道处理该DMA控制装置中,将返回一个不同的值零表示成功。alt_dma_txchan_send函数()调用产生一个DMA请求发送数据。函数原型为int alt_dma_txchan_send(alt_dma_txchan DMA,常量无效*于alt_u32长度alt_ * txchan_done其实,void *的句柄)。该功能被调用时,字节长度的地址的数据长度将被发送。完成传输,该函数返回一个非负值表示DMA传输成功;否则,表示发送失败。传输完成后,回调函数将被执行到手柄由参数函数。用DMA受体功能和使用DMA传输的基本上相同的功能,该功能原型是整数alt_dma_rxchan_prepare(alt_dma_rxchan DMA,常量无效*数据,alt_u32的长度,alt_ txchan_done *事实上,void *的手柄)。DMA起始地址参数数据表示接收到的数据被存储。度是接收数据字节的长度。数返回非负值表示接收成功。接收时,回调函数会被实际执行,手柄由参数函数。外,与发送和接收信道相关联还具有两个功能。传输信道相关联的功能是alt_dma_txchan_space()和alt_dma_txchan_ioctl()。送到的传输信道数的DMA传送请求alt_dma_txchan_space()返回。alt_dma_txchan_ioctl()被执行与所述设备相关联的控制操作。所接收的功能信道alt_dma_rxchan_depth()和相关联的alt_dma_rxchan_ioctl()。alt_dma_rxchan_depth()函数返回请求的最大数目接收的接收信道的DMA。alt_dma_rxchan_ioctl()执行与设备相关联的控制操作。材料和DMA控制器软件调试过程中应用的实例,有时需要通过串行端口打印数据存储器,诸如调试信息,则可以使用DMA数据传输的技术。2是转印连接图DMA集成的SOPC Builder设备,数据传输被执行[67] SDRAM到串行端口。所指示的SDRAM到的字符20个字节通过DMA传送到串行端口的数据的起始地址图2的硬件连接图。的其执行代码如下:结论在一个雷达信号网络在一个数字传输系统的发展,网络接口单元和接口单元是雷达信号使用用于数据传输的设备之间的DMA模式映射至两个的Nios装置系统。践证明,采用DMA数据传输,可以从数据传输CPU繁重的工作中释放出来,提高了CPU的数据处理能力。
本文转载自
恒温阀芯 https://www.wisdom-thermostats.com
