DMA控制器、具有层次总线结构的系统芯片及数据传输方法技术方案

技术编号:2863172 阅读:204 留言:0更新日期:2012-04-11 18:40
一种DMA控制器,用于包含有一连接系统总线与设备总线的桥设备的层次总线结构的系统芯片中,包括系统总线设备接口,与系统总线上的数据通讯模块之间的请求应答信号接口,与系统总线上的数据通讯模块之间的数据传输通道,其特征在于,还包括:    设备总线主设备接口,用于作为所述设备总线的主设备与所述设备总线进行通讯;    与设备总线上的数据通讯模块之间的请求应答信号接口,用于与所述设备总线上的数据通讯模块传输请求应答信号;    与桥设备的信号接口,用以与所述桥设备进行通信;    逻辑控制单元,用以仲裁与所述桥设备之间对所述设备总线的使用权并控制数据传输。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种DMA(Direct Memory Access,直接访问存储)控制器及具有层次总线结构的系统芯片与数据传输方法,尤其涉及一种应用在具有层次总线结构的系统芯片中,利用设备总线实现与外围设备进行数据传输的DMA控制器及其层次总线结构与数据传输方法。
技术介绍
在传统的系统芯片中,为了完成各个数据通讯模块与存储之间的数据传输,需要将DMAC(Direct Memory Access Controller,直接访问存储控制器)模块连接在系统总线上,通过单独的请求应答连线以及单独的数据通道与各个数据通讯模块进行数据传输。例如,如图1所示,当设备总线2上的USB(Universal Serial Bus,通用串行总线)模块需要以DMA方式与存储进行数据传输时,USB首先通过与DMAC连接的请求应答连线进行传输请求,DMAC允许其进行数据传输之后,USB通过与DMAC之间单独的数据通道进行数据传输,而DMAC与存储之间的数据传输是通过系统总线1完成的。在这样的结构中,DMAC与各个数据通讯模块之间的数据传输是通过独立的数据传输通道进行传输,而与存储之间的数据传输是通过系统总线1,DMAC作为系统总线1的主设备,存储控制器(用来控制存储访问)作为系统总线1的从设备来完成的。一般而言,现有技术在解决外部数据通讯模块与存储之间数据传输这个问题时,是在每一个和外部物理设备进行通讯的数据传输模块中增加一个DMA控制器,这样它们就可以独立的申请总线完成对存储的读写操作。但是,由于连接在系统总线上的主设备的数目极大的影响系统总线的性能,所以应该尽可能的减少主设备的数目,即多个数据通讯模块共用一个DMAC完成与存储之间的DMA数据传输。例如,在美国专利6532511中的专利技术所针对的应用中,所有的数据通讯模块都连接在设备总线上,所以该专利将DMAC集成到连接系统总线和设备总线的桥中,如图2所示,这样的桥3包括一个用于连接在系统总线1上的系统总线接口,一个用于连接在设备总线2上的设备总线接口,一个用来接收来自设备总线上设备的数据传输请求的接收逻辑,以及用来控制DMAC数据传输操作的控制逻辑。当桥3收到数据传输请求时,立即完成下列操作向系统总线1申请使用权,将所有等待的数据传输连接成为一次独立的传输,通过桥接逻辑完成传输。该美国专利6532511是应用在一个使用层次总线架构的系统芯片中,包括一个Cable Modem、一个嵌入式微处理器、外部存储以及几个外部物理设备接口。这些与外部进行数据通讯的接口,例如以太网、USB以及Cablemodem都需要访问存储,以太网的发送带宽和接收带宽分别是100Mb/s,USB的发送带宽和接收带宽分别是12Mb/s,Cable的发送带宽和接收带宽分别是10Mb/s和40-50Mb/s。这些数据源为了避免数据的丢失,必须在得到存储的访问权之前缓存数据。除了这些外部的数据源,还有内部的操作包括存储到存储的移动、DES处理等都需要直接访问存储(DMA),以减轻处理器的压力。所以就需要一种方法,使得每一个外部设备可以直接访问存储,同时总线架构必须提供足够的数据带宽,否则会导致数据的丢失。当然,最小化系统设计的复杂性以及降低成本同样影响解决问题的方法。然而,在针对不同应用的系统芯片中,由于应用需求的不同,需要集成不同的数据通讯模块,并且这些模块在系统中的位置可能不同。因为位置的不同,在进行结构设计时需要考虑DMAC的位置以及与这些数据通讯模块的连接关系,尽可能满足需求约束,以提高系统芯片的整体性能。由于应用环境的不同,系统芯片内部的结构有很大的不同。在上述美国专利6532511中的专利技术所应用的环境中,USB以及以太网(Ethernet)等通讯部件都连接在设备总线上,因此将DMAC集成到桥中会带来很多好处,即在层次总线(包括系统总线和设备总线)结构中,尽可能使得传输发生在一条总线上。但除了上述应用环境外,还存在有许多其他应用形式,例如,在一个层次结构的总线架构中,可以连接多个数据通讯模块,并且这些通讯模块可以连接在同一个层次上,也可以连接在不同的层次上。举例来说,在一个系统芯片中,可以有两个数据通讯模块EMAC(Ethernet MAC)和UART(Universal Aosynchronous Receiver Transmitter,通用异步收发器),其中EMAC模块连接在系统总线上,UART模块连接在设备总线上,而这两个设备自身不带有DMAC,却需要与存储之间完成DMA传输,所以需要共用一个DMAC。在这种应用中,需要与主存完成DMA传输的设备,例如EMAC以及UART,分别连接在系统总线和设备总线上,所以如何最有效率的完成各个数据传输模块与存储之间的数据通讯成为设计中的一个关键因素,即DMAC如何完成与各个数据通讯模块以及存储之间的数据传输。
技术实现思路
本专利技术所要解决的技术问题在于提供一种DMA控制器,及提供一种具有层次总线结构的芯片及其数据传输方法,以降低系统芯片的内部资源消耗,降低DMAC与数据通讯模块以及存储之间通讯的复杂性,提高总线的带宽,降低系统总线资源的争用,最大化的提高系统芯片的整体性能。为了实现上述目的,本专利技术提供一种DMA控制器,用于包含有一连接系统总线与设备总线的桥设备的层次总线结构中,包括系统总线设备接口,与系统总线上的数据通讯模块之间的请求应答信号接口,与系统总线上的数据通讯模块之间的数据传输通道,其特征在于,还包括设备总线主设备接口,用于作为设备总线的主设备与设备总线进行通讯;与设备总线上的数据通讯模块之间的请求应答信号接口,用于与设备总线上的数据通讯模块传输请求应答信号;与桥设备的信号接口,用以与桥设备进行通信;逻辑控制单元,用以仲裁与所述桥设备之间对设备总线的使用权并控制数据传输。上述DMA控制器,其特点在于,所述DMA控制器既是系统总线的主设备,又是系统总线的从设备。上述DMA控制器,其特点在于,所述DMA控制器通过设备总线主设备接口与设备总线相连,并进而与设备总线上的数据通讯模块相连,通过与所述桥设备复用设备总线来完成数据的传输。为了更好地实现上述目有,本专利技术还提供一种具有层次总线结构的系统芯片,包括系统总线、设备总线、连接系统总线与设备总线的桥设备、DMA控制器、以及连接在系统总线上的数据通讯模块与连接在设备总线上的数据通讯模块,所述DMA控制器与所述系统总线相连,并通过请求应答连线和数据传输通道,与系统总线上的数据通讯模块相连,其特征在于所述DMA控制器与所述桥设备中还各自包含有一逻辑控制单元,用以仲裁对设备总线的使用权并控制数据传输操作,所述DMA控制器与所述的桥设备以及设备总线相连,并通过请求应答连线与设备总线上的数据通讯模块相连,所述DMA控制器通过与所述桥设备之间的通信,进行设备总线使用权的仲裁,完成与所述设备总线上的数据通讯模块之间的数据传输。上述系统芯片,其特点在于,所述DMA控制器与所述桥设备之间是通过握手信号进行通信的。上述系统芯片,其特点在于,所述桥设备包括系统总线接口、设备总线接口、与DMA控制器之间的信号接口以及逻辑控制单元,与所述DMA控制器之间通过握手信号进行通信,并通过所述逻辑控制单元进行与DMA控制器之间对本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:程旭佟冬王宏伟
申请(专利权)人:北京北大众志微系统科技有限责任公司
类型:发明
国别省市:

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

1