当前位置: 首页 > 专利查询>卢超专利>正文

一种基于AHB-Lite总线的多通道DMA控制器制造技术

技术编号:32645473 阅读:60 留言:0更新日期:2022-03-12 18:26
本发明专利技术公开了一种基于AHB

【技术实现步骤摘要】
一种基于AHB

Lite总线的多通道DMA控制器


[0001]本专利技术涉及DMA控制器
,尤其涉及一种基于AHB

Lite总线的多通道DMA控制器。

技术介绍

[0002]随着应用场景的多样化,芯片的功能愈加复杂,芯片中需要处理的数据量也急剧增加,系统中各个模块之间进行数据传递的效率已经成为提升芯片性能的瓶颈,为了提升系统性能,使用DMA控制器代替内核CPU来完成大量数据传送操作具有重要意义,随着SoC技术的发展,现有的DMA控制器通常挂接在系统总线上,其可以直接访问总线上的I/O设备和存储设备,随着芯片中模块增加,不同外设之间数据交换频率也相对提升,现有技术一般是在存储器

存储器、存储器

外设、外设

存储器之间搬移数据,在外设

外设之间传输数据的DMA相对较少;现有多通道DMA控制器中传输优先级相对固定且传输过程中不能进行通道切换,造成了部分通道长时间占用总线,其他通道数据丢失等问题;
[0003]经检索,中国专利号CN201210433375.8公开了一种多通道直接内存存取DMA控制器,该专利技术虽然减轻CPU的负担,提高系统性能,但是无法在数据传输过程中进行通道切换,数据传输灵活性低,现有的基于AHB

Lite总线的多通道DMA控制器无法支持跨越1K地址边界的处理,传输稳定性差。

技术实现思路

[0004]本专利技术的目的是为了解决现有技术中存在的缺陷,而提出的一种基于AHB

Lite总线的多通道DMA控制器。
[0005]为了实现上述目的,本专利技术采用了如下技术方案:
[0006]一种基于AHB

Lite总线的多通道DMA控制器,包括Master模块、通道控制模块、仲裁模块、响应模块、Slave模块、通道请求模块以及握手模块;
[0007]其中,所述Master模块用于产生对应的AHB

Lite协议的控制信号,同时读取外部源设备数据或者将数据写入目的设备;
[0008]所述通道控制模块具体包括边界重计算单元、传输状态机单元以及缓存FIFO单元;
[0009]所述仲裁模块用于接收各个通道的传输请求信号,并对其进行判断排序,具有最高优先级的通道获取数据传输资格;
[0010]所述响应模块用于接收通道控制模块发出的传输状态信号,并向CPU发送中断信号;
[0011]所述Slave模块用于CPU对DMA控制器功能的配置,同时在一次DMA传输完成过后对地址寄存器和剩余未传输数据量更新;
[0012]所述通道请求模块用于接收外部源设备或目的设备发送的请求信号,并根据CPU配置的设备编号和设备类型产生通道的传输请求信号,同时将其发送到仲裁模块;
[0013]所述握手模块用于完成一次突发传输后,自行产生通道请求清除信号,并清除对应通道的传输请求信号。
[0014]进一步地,所述数据读取具体步骤如下:
[0015]步骤一:接收外部源设备或目的设备发送的传输请求,并根据CPU配置的设备编号和设备类型产生通道的传输请求信号;
[0016]步骤二:对各个通道的传输请求信号进行收集,并将步骤一中产生的通道传输请求信号传入仲裁器。
[0017]进一步地,所述缓存FIFO单元源传输阶段数据的缓存,并在目的传输阶段提供数据,其提供数据具体步骤如下:
[0018]步骤(1):在DMA控制器进行源传输读取源设备数据时,将源读数据存入到缓存FIFO单元之中;
[0019]步骤(2):在DMA控制器进行目的传输时,缓存FIFO为目的设备提供数据,这个数据是源传输阶段缓存的源设备数据;
[0020]所述边界重计算单元用于发生多拍突发传输时,对传输流程进行跨界判断,其跨界判断具体步骤如下:
[0021]第一步:根据配置的突发传输类型计算出完成本次DMA传输后地址;
[0022]第二步:依据计算出的传输后地址的低10位和传输前地址的低10位比较;
[0023]第三步:若传输完成后的数据较小表明跨越了1K地址边界,将本次突发传输类型转换成单次传输;
[0024]所述传输状态机单元用于控制DMA传输整个流程,并将数据传输分成源传输和目的传输两个阶段。
[0025]进一步地,通道传输请求信号仲裁具体步骤如下:
[0026]P1.1:接收设备传输请求,当多个通道请求信号同时有效时,依据通道编号进行仲裁判断;
[0027]P1.2:仲裁模块通过仲裁算法对各通道进行优先级计算,并选出通道编号最大的通道获得传输控制权,同时给Slave模块传送通道编号。
[0028]进一步地,所述寄存器更新具体步骤如下:
[0029]P2.1:CPU同DMA控制器进行数据的交互,并配置DMA控制器中的各种寄存器,同时检查DMA控制器当前配置状态和传输状态;
[0030]P2.2:在某个通道获取传输控制权后,从Slave模块获取的当前传输通道信息传输给通道控制模块;
[0031]P2.3:在完成一次DMA传输后,对源地址寄存器、目的地址寄存器以及传输控制寄存器状态进行更新。
[0032]进一步地,所述通道传输请求信号产生具体步骤如下:
[0033]S1.1:通道请求模块依据CPU配置的源设备或者目的设备类型产生通道传输请求信号;
[0034]S1.2:若为外设,则通过使用两级同步器将请求信号同步到DMA控制器所在时钟域,在数据传输完成后将该请求信号清零;
[0035]S1.3:若为存储器,则通道传输请求信号直接有效。
[0036]相比于现有技术,本专利技术的有益效果在于:
[0037]1、本专利技术设置有仲裁模块,通过缓存FIFO单元将缓存完成的设备数据由通道控制模块通过AHB

Lite总线传输相关目的设备,能够实现多个通道共用一个缓存FIFO模块,降低了控制器的面积开销,仲裁模块接收通道传输请求信号,当多个通道请求信号同时有效时,依据通道编号通过仲裁算法对各通道进行优先级计算,并选出通道编号最大的请求数据获得传输控制权,在一次DMA传输完成后,能够进行通道切换,使数据传输时灵活性提高,降低了更高优先级通道数据丢失的风险;
[0038]2、本专利技术设置有边界重计算单元,在多拍数据突发传输过程中,边界重计算单元根据配置的突发传输类型计算出完成数据传输后地址,并依据计算出的传输后地址的低10位和传输前地址的低10位比较,若传输完成后的地址低10位较小表明跨越了1K地址边界,则需要将多拍数据突发传输变换成单拍数据突发传输并通过各模块共同完成数据的传输,以及整个DMA传输流程的控制,能够支持跨越1K地址边界的处理,提升了传输的稳定性,增强了DMA控制器的通用性。
附图说明
[0039]附图用来提供对本专利技术的进一步理解,并本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于AHB

Lite总线的多通道DMA控制器,其特征在于,包括Master模块、通道控制模块、仲裁模块、响应模块、Slave模块、通道请求模块以及握手模块;其中,所述Master模块用于产生对应的AHB

Lite协议的控制信号,同时读取外部源设备数据或者将数据写入目的设备;所述通道控制模块具体包括边界重计算单元、传输状态机单元以及缓存FIFO单元;所述仲裁模块用于接收各个通道的传输请求信号,并对其进行判断排序,具有最高优先级的通道获取数据传输资格;所述响应模块用于接收通道控制模块发出的传输状态信号,并向CPU发送中断信号;所述Slave模块用于CPU对DMA控制器功能的配置,同时在一次DMA传输完成过后对地址寄存器和剩余未传输数据量更新;所述通道请求模块用于接收外部源设备或目的设备发送的请求信号,并根据CPU配置的设备编号和设备类型产生通道的传输请求信号,同时将其发送到仲裁模块;所述握手模块用于完成一次突发传输后,自行产生通道请求清除信号,并清除对应通道的传输请求信号。2.根据权利要求1所述的一种基于AHB

Lite总线的多通道DMA控制器,其特征在于,所述数传输具体步骤如下:步骤一:接收外部源设备或目的设备发送的传输请求,并根据CPU配置的设备编号和设备类型产生通道的传输请求信号;步骤二:对各个通道的传输请求信号进行收集,并将步骤一中产生的通道传输请求信号传入仲裁器。3.根据权利要求2所述的一种基于AHB

Lite总线的多通道DMA控制器,其特征在于,所述缓存FIFO单元源传输阶段数据的缓存,并在目的传输阶段提供数据,其提供数据具体步骤如下:步骤(1):在DMA控制器进行源传输读取源设备数据时,将源读数据存入到缓存FIFO单元之中;步骤(2):在DMA控制器进行目的传输时,缓存FIFO为目的设备提供数据,这个数据是源传...

【专利技术属性】
技术研发人员:卢超
申请(专利权)人:卢超
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1