[发明专利]优先级可调多通道DMA控制器无效
申请号: | 201110324576.X | 申请日: | 2011-10-24 |
公开(公告)号: | CN103064808A | 公开(公告)日: | 2013-04-24 |
发明(设计)人: | 房远勇;吕俊;宋慧;于宏伟;袁怡诤;叶重林;丁竹生 | 申请(专利权)人: | 北京强度环境研究所;北京航天斯达新技术装备公司;天津航天斯达新技术装备有限公司;中国运载火箭技术研究院 |
主分类号: | G06F13/30 | 分类号: | G06F13/30 |
代理公司: | 核工业专利中心 11007 | 代理人: | 高尚梅 |
地址: | 100076 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 优先级 可调 通道 dma 控制器 | ||
技术领域
本发明属于一种DMA控制器,具体涉及一种优先级可调多通道DMA控制器。
背景技术
在以微处理器(microprocessor unit,MPU)为主控设备的数据处理系统和SoC芯片中,数据的传输通常采用3种方式。1)轮询方式:MPU周期性检测从设备的状态,在适当的时间从源设备中取出数据并写入目的设备。采用这种方式时,将占用大量的处理器时间,且数据传输速度受MPU指令执行时间的限制。2)中断方式:当从设备需要进行数据传输时,向MPU发出中断请求,MPU响应后执行数据传输任务。采用这种方式时,MPU不必主动查询从设备状态,节省了部分处理器时间,但传输过程仍受MPU控制,并未提高数据传输速度。3)直接存储器存取(direct memory access,DMA)方式:DMA是一种快速传送数据的机制,由DMA控制器实现.DMA的应用能够有效减轻处理器的负担,可以大大提高数据传输的效率,从而提高系统性能。
DMA作为一种快速传送数据的机制很好解决了外设与存储器之间的数据传递,但是在以微处理器(microprocessor unit,MPU)为主控设备DMA通道数量往往非常有限。对于高速多通道数据采集系统很难为每一个数据通道分配一个DMA通道用于存储数据。
发明内容
本发明的目的在于提供一种优先级可调多通道DMA控制器,该DMA控制器可以实现多数据输入通道共享一个DMA数据通道。
实现本发明目的的技术方案:一种优先级可调多通道DMA控制器,它包括:
多个数据输入通道,每个数据输入通道的输入端对应一个通道控制寄存器组,每个数据输入通道的输出端对应一个数据缓冲存储及其控制模块,数据缓冲存储及其控制模块的输出端与多路复用模块通信,多路复用模块的输出端与DMA引擎通信;
数据缓冲存储及其控制模块用于缓冲数据输入通道实时传输来的数据,并对传输来的数据进行数据传输及数据流控制;
控制寄存器组与所述数据缓冲存储及其控制模块通信,用于根据所述控制寄存器中预配置的数据对所述数据缓冲存储及其控制模块的数据传输进行控制;
多路复用模块与所述数据缓冲存储及其控制模块通信,用于把所述数据缓冲存储及其控制模块中的信号和数据进行多路复用后传输到DMA引擎;
DMA引擎根据各数据输入通道所配置的工作模式及预设优先级完成各种数据传输任务。
所述的通道控制寄存器组与DMA引擎之间直接通过通道仲裁模块通信,通道仲裁模块根据数据输入通的优先级选择下一个进行数据传输的通道,直接传输到DMA引擎。
所述的通道控制寄存器组与多路复用模块之间通过通道仲裁模块通信,通道仲裁模块根据数据输入通的优先级选择下一个进行数据传输的通道,该通道的数据进行多路复用后传输到DMA引擎。
所述的通道仲裁模块采用优先级和轮转相结合的仲裁机制,通道仲裁模块将多个数据通道分为若干个组,每组有两个通道,每组中的两个通道轮流传输。
所述的多路复用模块内含有第二缓冲存储模块,第二缓冲存储模块用于存储DMA数据传输中的数据,避免DMA数据溢出。
所述的DMA引擎缓冲器中存储有链表描述符,链表中的每个描述符定义待传输数据帧的格式和控制信息,配合DMA控制器完成数据传输任务;同时,链表描述符在传输过程中对数据帧和缓冲区大小进行动态调整,减少MPU对DMA传输过程的参与。
所述的DMA引擎上设有两个主设备接口,每个主设备接口上各设有一组硬件握手信号,每组硬件握手信号包含2个信号:即DMA请求信号和DMA应答信号;当从设备需要发起DMA传输时,相应主设备接口的DMA请求信号有效,DMA控制器响应请求后启动DMA引擎,当一个数据帧传输完毕后,DMA控制器发出应答信号,从设备收到应答后令请求信号复位,完成一次DMA传输任务。
本发明的有益技术效果:该DMA控制器可以实现多数据输入通道共享一个DMA数据通道。每个DMA通道模块分别包括和数据输入通道数相等的数据缓冲存储及其控制模块和一组控制寄存器,控制寄存器可以控制通道传输的优先级。数据输入通道输入数据先存于缓冲区中,根据控制寄存器设定的优先级分时占用DMA数据通道进行数据传输。本发明通过对通道配置寄存器和通道仲裁模块的设置,可以实现固定优先级、不同服务分配比的轮转优先级等多种优先级仲裁算法,增强了DMA控制器的通用性。
附图说明
图1为本发明所提供的一种优先级可调多通道DMA控制器的系统组成框图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京强度环境研究所;北京航天斯达新技术装备公司;天津航天斯达新技术装备有限公司;中国运载火箭技术研究院,未经北京强度环境研究所;北京航天斯达新技术装备公司;天津航天斯达新技术装备有限公司;中国运载火箭技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110324576.X/2.html,转载请声明来源钻瓜专利网。