[发明专利]一种基于海量数据传输的DMA控制器有效
申请号: | 200910242497.7 | 申请日: | 2009-12-15 |
公开(公告)号: | CN101710309A | 公开(公告)日: | 2010-05-19 |
发明(设计)人: | 宗宇;谢俊玲;张志永 | 申请(专利权)人: | 北京时代民芯科技有限公司;中国航天科技集团公司第九研究院第七七二研究所 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 安丽 |
地址: | 100076 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 海量 数据传输 dma 控制器 | ||
技术领域
本发明涉及一种DMA结构,尤其涉及一种基于海量数据传输的DMA控制器。
背景技术
在含有中央处理器(CPU)的系统中,为了提高CPU的使用效率和数据传输速率,在海量数据传输操作过程中,通常采用直接内存访问(Direct MemoryAccess Control,DMA)的方式对数据进行操作。而DMA的操作是通过DMA控制器(DMA Controller,DMAC)来实现的。DMA控制器有选择型和多路型两类,本发明涉及的DMA控制器为选择型,即物理上连接有多个硬件,而逻辑上只允许一个硬件,即在某段时间内只能为一个硬件服务。
如图1所示,在现有传统DMA结构中,外设发起的DMA传输通常是从外设1的FIFO中取数据放到外设2的FIFO中,外设发起的DMA传输通常是从外设的缓存中取数据放到总线上的存储器中;例如当有外设需要进行DMA传输时,当其缓存装满数据后,其通过DMA请求触发器想DMA控制器发起DMA传输请求。在此之前CPU已经将地址等控制信息配给DMA控制器内的地址寄存器中,当DMA控制器接到DMA传输请求时,其向CPU发起总线占用请求。CPU通常在执行完当前指令后将总线控制权交给DMA控制器。此时DMA控制器的控制、状态寄存器发生变化,表明已获得总线控制权,开始进行DMA传输,传输中用一个计数器对传输的数据量进行计算,并且每个时钟节拍只能传送1个字节。这虽然有效的避免了由CPU重复取数、搬数所耗费的时间,但是对于海量数据传输来说,由于数据量大,逐字节的传送仍然需要消耗很长时间,因此传输效率依然较低。另外,在现有的DMA传输中,如果外设比如UART等仅有字节类型的缓存,则DMA控制器仅用总线的低8位进行传输,降低了总线的利用率,并且DMA传输效率也比较低。
发明内容
本发明的技术解决问题是:针对上述不足,提供一种基于海量数据传输的DMA控制器,数据传输量大,并且传输速率高。
本发明的技术解决方案是:一种基于海量数据传输的DMA控制器,包括总线接口、寄存器组、状态机、存储器管理单元和数据缓存区,总线接口与控制器的总线相连,数据缓存区连接两个外部设备;控制器通过总线接口对寄存器组进行配置管理,寄存器组的配置结果控制状态机的工作状态,状态机根据状态机的工作状态控制存储器管理单元完成数据缓存区与外部设备的数据交换;
所述寄存器组包括:块数计数器、子块数计数器、字节计数器以及由数据源基址寄存器、数据目的基址寄存器、数据地址增量寄存器、DMA状态寄存器和DMA控制寄存器构成的公共寄存器;
所述控制器将寄存器组配置成三种配置结果,三种配置结果对应三种状态机的工作状态,其中状态机的第一种工作状态是字节数据传输,状态机的第二种工作状态是块数据传输,状态机的第三种工作状态是子块数据传输;
字节传输的配置方式为:
数据源基址寄存器设置为输入数据缓冲区的首地址;
数据目的基址寄存器设置为输出数据缓冲区的首地址;
数据地址增量寄存器分为源地址增量控制位和目的地址增量控制位,源地址增量控制位和目的地址增量控制位分别设置为地址加1模式;
DMA控制寄存器包含启动控制位、暂停控制位和传输方式控制位,传输方式控制位设为0,即为字节传输方式;
DMA状态寄存器,用于查询DMA控制器当前的活动状态,包括表示“DMA控制器正在传送数据”、“DMA控制器暂停或者不活动”、“全部数据传送完成”、“全部数据未传送完成”和“一子块传输完成”的值;
块数计数器设置为1,即DM控制器A传输过程采用字节传输;
子块数计数器设置为1,即DMA控制器传输过程采用字节传输;
字节计数器设置为欲传送数据的字节数,即当次DMA控制器要传输的字节数;
块数据传输的配置方式为:
数据源基址寄存器设置为输入数据缓冲区的首地址;
数据目的基址寄存器设置为输出数据缓冲区的首地址;
数据地址增量寄存器分为源地址增量控制位和目的地址增量控制位,源地址增量控制位和目的地址增量控制位分别设置为地址不改变;
DMA控制寄存器包含启动控制位、暂停控制位和传输方式控制位,传输方式控制位设为1,即为块传输方式;
DMA状态寄存器,用于查询DMA控制器当前的活动状态,包括表示“DMA控制器正在传送数据”、“DMA控制器暂停或者不活动”、“全部数据传送完成”、“全部数据未传送完成”和“一子块传输完成”的值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京时代民芯科技有限公司;中国航天科技集团公司第九研究院第七七二研究所,未经北京时代民芯科技有限公司;中国航天科技集团公司第九研究院第七七二研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910242497.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种收卷机
- 下一篇:带钢卷取机的链式助卷器