分级缓冲的DMA传送装置及传送方法制造方法及图纸

技术编号:7917611 阅读:145 留言:0更新日期:2012-10-25 02:25
本发明专利技术适用于芯片设计领域,具体公开了一种分级缓冲的DMA传送装置及传送方法,其提供了一种大量数据往内存控制器传送时直接存储访问主存控制电路的设计方法,通过将上传DMA缓冲拆分成大的主缓冲和很小的前置缓冲,而主缓冲用单口memory,可得以在保证平衡DDR和外设之间数据传输稳定的同时,大幅度缩减芯片面积。

【技术实现步骤摘要】

本专利技术涉及芯片设计领域,尤其涉及向DDR(双倍速率同步动态数据存储器)传送大量数据的DMA (Direct Memery Access,直接存储访问)读写控制方法、装置及系统。
技术介绍
在芯片设计中,通常涉及一个大数据量的实时外设与芯片系统主存DDR发生大量数据交互的过程。由于外设被动性和对数据需求的恒定性,与DDR主存反馈信息的不能精确可控性,在芯片设计中时常用到一个大FIF0(First Input First Out put,先入先出)芯片将外设数据和DDR响应之间隔离开来,并用以平滑DDR响应的突发性,保证外设数据传输的均衡性。现有的方法往往采用全异步设计,异步数据读写控制方法通常采用异步先入先出方式实现,即在将双口随机存取存储器(Random Access Memory,RAM)的地址进行格雷码转换后,通过判决地址的距离来判断FIFO的空满状态,并将其作为跨时钟域的握手信号。上述方法能很好的处理跨时钟域隔离,适用于大批量固定方向数据传输的情况,特别是全异步处理的最主要选择。但是随着芯片DDR控制端竞争复杂度增加时,DDR所反馈的数据很不均匀,因此用于隔离外设和DDR的FIFO需要很大,才能很好地平滑DDR端的突发性和外设需求的恒定性。RAM —般有双口和单口两种双口的RAM能同时进行读操作和写操作,共享一片内存区域,在一个端口写入的内容,可以在另一个端口相同的地址读取出来;而单口的RAM只有一套读写地址,某一个时刻只能由一个设备完成对RAM的操作,但面积只有双口的RAM的一半。当外设时钟和DDR控制时钟存在同步关系时,如果采用分时复用(TimeDvisionMultiplex Accesss)的方法,将这种大块的双口 RAM替换成单口 RAM,成为芯片设计缩减面积重要手段之一,而专利技术的出发点就是提供在DMA数据传输中,用单口 RAM替换双口 RAM所遇到问题的解决办法。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种将DMA two ports FIFO(双口 FIFO)替换成single port memory (Spram,单口 RAM)的设计方法和相应的控制逻辑的设计方法,旨在保证平衡DDR和外设之间数据传输稳定的同时,尽可能缩小芯片面积。为解决以上技术问题,本专利技术实施例提供的技术方案是一种分级缓冲的DMA传送装置,包括若干外设端、一主控端、一 DMA单口主缓冲及一主缓冲控制器和一前置缓冲及一前置缓冲控制器,其中所述外设端,用于匀速地定向发送/接收请求数据;所述主控端,用于迸发式响应外设端的发送/接收请求,响应后在有限时间内完成;所述单口主缓冲,在所述主缓冲控制器的调度下,用于平滑外设端匀速数据请求与主控端迸发式处理之间的矛盾冲突,在正常运行状态时,所述外设端可直接访问所述单口主缓冲;当所述单口主缓冲中数据量达到预设阀值时,由所述主缓冲控制器启动对所述主控端的DMA访问请求;所述前置缓冲,在所述前置缓冲控制器的调度下,用于在所述主控端响应所述外设端的DMA请求时,启动所述前置缓冲接纳所述外设端发来的数据请求。较优地,所述前置缓冲可在所述主控端完成对所述外设端的DMA请求响应与所述外设端访问所述单口主缓冲的间隙处,将所述前置缓冲的内容逐步搬移到所述单口主缓冲区内,合并成一个完整的数据体。较优地,所述单口主缓冲可在外设端请求为读请求时,在所述外设端发起DMA请求之前,将所述单口主缓冲中的部分数据预先搬移到所述前置缓冲内。 较优地,所述前置缓冲为单口 RAM。较优地,所述前置缓冲为双口 RAM。本专利技术实施例还提供一种分级缓冲的DMA传送方法,包括外设端匀速地定向发送/接收请求数据;主控端迸发式响应外设端的发送/接收请求,响应后在有限时间内完成;单口主缓冲在主缓冲控制器的调度下,平滑外设端匀速数据请求与主控端迸发式处理之间的矛盾冲突,其中在正常运行状态时,外设端直接访问单口主缓冲;在单口主缓冲中数据量达到预设阀值时,主缓冲控制器启动对主控端的DMA访问请求;前置缓冲在前置缓冲控制器的调度下,在主控端响应所述外设端的DMA请求时,启动前置缓冲接纳外设端发来的数据请求。较优地,前置缓冲在主控端完成对外设端的DMA请求响应与外设端访问单口主缓冲的间隙处,将前置缓冲的内容逐步搬移到单口主缓冲区内,合并成一个完整的数据体。较优地,单口主缓冲在外设端请求为读请求时,在外设端发起DMA请求之前,将单口主缓冲中的部分数据预先搬移到前置缓冲内。较优地,根据外设端匀速数据请求与主控端迸发式处理之间的矛盾冲突峰值确定单口主缓冲的访问深度。较优地,根据主控端迸发式响应时间、外设端请求数据量总和与外设端数据访问频率之比的峰值确定前置缓冲的访问深度。与现有技术相比,本专利技术实施例提供了一种大量数据往内存控制器传送时,DMA控制电路的一种设计方法,通过将上传DMA缓冲buffer拆分成大的主缓冲和很小的前置缓冲,主缓冲用单口 memory,得以大幅度缩减芯片面积,并保证平衡DDR和外设之间数据传输的稳定。附图说明图I是现有DMA传送装置的控制信号示意图;图2是本专利技术分级缓冲的DMA传送装置一实施例的原理框图;图3是图2中的控制信号示意图;图4是本专利技术分级缓冲的DMA传送方法一实施例的时序图。具体实施例方式本专利技术的核心是将上传DMA buffer (缓冲)拆分成主缓冲和很小的前置缓冲,主缓冲用单口 memory (存储器),从而得以在保证平衡DDR和外设之间数据传输稳定的同时大幅度缩减芯片面积。为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。参见图I,为现有DMA传送装置的控制信号示意图,其主控端的DDR由于是多线程处理,总是处于忙状态,对于CPU访问DDR或其它设备访问DDR的请求,并不能及时相应,但一旦响应则在有限时间内完成请求处理。为了平滑DDR响应的突发性,保证外设数据传输的均衡性,设置有大的双口 DMA buffer,因而芯片面积较大。该方案中,双口 DMA buffe涉及到Read_clk(读时钟)、Read_en(读使能)、Read_addr (读地址)、Read_data(读数据),以及ffrite_clk(写时钟)、ffrite_en(写使能)、·Write_addr(写地址)、Write_data(写数据)等控制信号,它们由缓冲控制器(图未示出)统一调度,且读信号的频率大于写信号的频率(Freq_rclk > Freq_wclk)。与之不同,本专利技术将上传DMA buffer拆分成很大的主缓冲和很小的前置缓冲,其中主缓冲用单口 memory,从而可有效缩小芯片面积。参见图2,表示出本专利技术分级缓冲的DMA传送装置的一实施例。该用于大数据量传送的DMA发送和控制装置实施例是这样实现的,其主要包括以下几个部分匀速的数据发起/接收外设端200、迸发式数据接收/发送主控端400、DMA单口主缓冲200及主缓冲控制器100、前置缓冲500及前置缓冲控制器600等部分,其中匀速的数据发起/接收外设端200,源源不断的定向对主控端400发送/请求数据。由于外设端200是相比主控本文档来自技高网
...

【技术保护点】
一种分级缓冲的DMA传送装置,其特征在于,包括若干外设端、一主控端、一DMA单口主缓冲及一主缓冲控制器和一前置缓冲及一前置缓冲控制器,其中:所述外设端,用于匀速地定向发送/接收请求数据;所述主控端,用于迸发式响应外设端的发送/接收请求,响应后在有限时间内完成;所述单口主缓冲,在所述主缓冲控制器的调度下,用于平滑外设端匀速数据请求与主控端迸发式处理之间的矛盾冲突,在正常运行状态时,所述外设端可直接访问所述单口主缓冲;当所述单口主缓冲中数据量达到预设阀值时,由所述主缓冲控制器启动对所述主控端的DMA访问请求;所述前置缓冲,在所述前置缓冲控制器的调度下,用于在所述主控端响应所述外设端的DMA请求时,启动所述前置缓冲接纳所述外设端发来的数据请求。

【技术特征摘要】

【专利技术属性】
技术研发人员:蔡宁宁胡胜发
申请(专利权)人:安凯广州微电子技术有限公司
类型:发明
国别省市:

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

1