一种多通道DMA控制器制造技术

技术编号:3844287 阅读:203 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种多通道DMA控制器,该DMA控制器包括多个DMA通道模块和一个多路复用模块,每个DMA通道模块分别包括一个数据缓冲存储及其控制模块和一组控制寄存器,所有通道的数据缓冲存储及其控制模块都连接到一个多路复用模块,进一步,本发明专利技术的多通道DMA控制器的每个通道还包括一个DMA接口信号处理模块和总线接口处理模块。本发明专利技术的多通道DMA控制器能够降低片上系统上总线仲裁块和存储单元的开销,此外,增加或删减一个DMA通道只需增加或删减相应通道的模块,重用性好。

【技术实现步骤摘要】

本专利技术涉及DMA控制器,尤其涉及一种多通道DMA控制器
技术介绍
随着片上系统(soc)的发展, 一颗芯片内所集成的模块也越来越多,其对内存访问的需求也越来越高。因此,为芯片内的模块提供一种简单统 一的内存访问机制对于芯片设计的效率,可靠性,复用性都显得越来越重要。 一 般来说,高速模块大多采用先进高性能总线(Advanced High-performance Bus, AHB )之类的总线来访问内存,而j氐速才莫块大多通 过直才妄存卡者器访问(direct memory access, DMA)方式来访问内存。DMA 方式也用于存储器与存储器之间或者外设与存储器之间进行直接数据访 问。图1是现有技术的片上系统中低速模块访问内存的结构示意图。如图 1所示,在釆用AMBA ( Advanced Microcontroller Bus Architecture )总线的 片上系统中,每个DMA请求模块都有一个对应的DMA控制器,每个DMA 控制器都有一条能直接访问内存的总线。当低速模块需要进行DMA传输 时,它向其对应的DMA控制器发出DMA请求信号。DMA控制器接收到 DMA请求信号之后,向总线仲裁器发出总线请求信号。总线仲裁器接收到 总线请求信号之后,如果此时总线仲裁器没有更高优先级的总线请求,会 在当前总线周期结束之后,向DMA控制器发出DMA响应信号,将将总线 控制权交由DMA控制器进行控制,当DMA控制器获得总线使用权之后, 开始进行DMA传输。在DMA传输之前,处理器需要对DMA控制器中的 控制寄存器进行配置,即获得DMA传输的控制信息和对传输参数进行初始 化。DMA控制器采用APB (Advanced Peripheral Bus,先进外围总线)从低 速DMA请求模块中读取数据,然后再通过AHB( Advanced High performance4Bus,先进高性能总线)等高速总线来访问内存,即DMA控制器和低速DMA 请求模块之间的数据传输采用apb之类的低速总线,而dma控制器和内 存之间的数据传输采用ahb之类的高速总线。由于一颗SOC芯片中要求DMA传输的低速模块的数目可能比较多, 每个DMA模块都通过总线连到总线仲裁器,导致较多的总线直接连接到总 线仲裁器,使得总线仲裁器有不必要的开销;此外,每一个DMA控制器与 总线仲裁器之间的总线访问接口中都需要一个单独的先入先出存储单元 (FIRST IN FIRST OUT, FIFO),这些存储单元无法在多个低速模块之间 共享,从而在一定程度上增加了存储器开销。
技术实现思路
有鉴于此,本专利技术提供了一种多通道DMA控制器,能够减少总线开销 和存储器开销,并具有很好的重用性。本专利技术提供一种多通道DMA控制器,包括多个DMA通道模块,所述每个DMA通道模块包括数据緩冲存储及其控制模块,和外部DMA请求设备通信,用于进行 DMA数据传输;以及控制寄存器模块,包括一组控制寄存器,与所述数据緩冲存储及其控 制模块通信,用于根据所述控制寄存器中预配置的数据对所述数据緩 冲存储及其控制模块的DMA数据传输进行控制;多路复用模块,与所述每个DMA通道模块中的数据緩沖存储及其控制 模块通信,用于把所述多个DMA通道模块的DMA数据传输进行多路复用 后连接到外部总线接口。进一步地,所述数据緩冲存储及其控制模块包括第一緩冲存储^t块,用于存储DMA数据传输中的数据;緩沖存储控制模块,用于控制把来自外部DMA请求设备的数据写入所述第 一緩冲存储模块,并在所述第一緩冲存储模块中的数据达到一定容量时, 产生写请求信号,并把所述写请求信号经所述总线多路复用模块传输到外部总线接口;也用于控制把所述第一緩沖存储模块中的数据读出后送到外 部DMA请求设备,并在所述第一緩沖存储模块中的数据达到一定容量时, 产生读请求信号,并把所述读请求信号经所述多路复用模块传输到外部总 线接口。进一步地,所述每个DMA通道模块还包括DMA接口信号处理模块,外部DMA请求设备通过所述DMA接口信 号处理模块与所述数据緩冲存储及其控制模块通信,所述DMA接口信号处 理模块用于同步所述外部DMA请求设备和所述DMA接口信号处理模块之 间的DMA^妄口信号。进一步地,所述每个DMA通道模块还包括总线接口处理模块,所述每个DMA通道模块中的数据緩冲存储及其控 制模块通过所述总线接口处理模块和所述多路复用模块通信,所述总线接 口处理模块用于转换所述緩冲存储及其控制模块和外部总线接口之间的信 号。根据本专利技术的多通道DMA控制器和现有技术相比本专利技术的多通道 DMA控制器分别通过多个DMA接口和多个DMA请求模块相连接,和片 上系统的总线仲裁模块之间只有一个总线接口 ,并且多个DMA通道共享多 路复用模块中的緩冲存储单元,从而能够降低片上系统中总线仲裁模块和 内存的开销。此外,由于多通道DMA控制器的各个通道相对独立,如果要 增加/删减一个DMA通道,只需要增加/删减该DMA通道所对应的模块, 而无需修改任何逻辑,复用性好。附图说明图1是现有技术的片上系统中低速模块访问内存的结构示意图; 图2是本专利技术的多通道DMA控制器在片上系统中的连接示意图; 图3是本专利技术一实施例的多通道DMA控制器的结构框图; 图4是本专利技术另 一实施例的多通道DMA控制器的结构框具体实施例方式下面将结合附图对本专利技术的具体实施方式进行更详细的说明。图2是本专利技术的多通道DMA控制器在片上系统中的连接示意图,如图2 所示,多通道DMA控制器与多个低速DMA请求模块直接连接,建立多个 DMA通道,所有的DMA通道都通过一个总线接口与总线仲裁模块相连接, 芯片中的其他模块也与总线仲裁模块连接。DMA控制器向总线仲裁模块发 出总线请求,在经过总线仲裁并获得总线控制权之后通过总线连接到内存, 以进行内存访问。应当指出,多通道DMA控制器与低速DMA请求模块直 接相连,DMA接口可以采用任何现有的DMA接口,也可以根据需要自行 定义DMA接口 ,只要满足DMA请求模块和多通道DMA控制器之间的正 常通信即可。多通道DMA控制器通过多个DMA接口分别直接与多个DMA请求模 块相连接,建立多个DMA通道。图3是本专利技术一实施例的多通道DMA控 制器的结构框图,如图3所示,每个DMA通道包括一个DMA接口信号处 理模块、 一个数据緩沖存储及其控制模块、 一组控制寄存器、 一个总线接 口处理模块,所有DMA通道的总线接口处理模块都与一个多路复用模块相 连接。多路复用模块通过片上系统的一个总线接口与总线仲裁模块相连接。如图3所示,每个DMA通道的DMA接口信号处理模块用于同步属于 不同时钟域的DMA请求模块和多通道DMA控制器之间的DMA接口信号, 把DMA请求模块输入多通道DMA控制器的DMA接口信号转换成多通道 DMA控制器时钟域的DMA接口信号,把多通道DMA控制器输出给DMA 请求模块的DMA接口信号转换成DMA请求模块时钟域的DMA接口信号。 DMA接口信号包括DMA请求信号、DMA应答信号和DMA读写数据等。如图3所示,每个DMA通道的接口信号处理模块连接到数据緩沖存储 及其控制模块,数据緩冲存储及其控制模块包括緩沖存储控制模块和第一本文档来自技高网
...

【技术保护点】
一种多通道DMA控制器,其特征在于,包括: 多个DMA通道模块,所述每个DMA通道模块包括: 数据缓冲存储及其控制模块,用于进行DMA数据传输;以及 控制寄存器模块,包括一组控制寄存器,与所述数据缓冲存储及其控制模块通信, 用于根据所述控制寄存器中预配置的数据对所述数据缓冲存储及其控制模块的DMA数据传输进行控制; 多路复用模块,与所述每个DMA通道模块中的数据缓冲存储及其控制模块通信,用于把所述多个DMA通道模块的信号和数据进行多路复用后连接到外部总线 接口。

【技术特征摘要】

【专利技术属性】
技术研发人员:李晓强
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

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

1