低速DMA接口的片上系统和内存访问方法技术方案

技术编号:3844917 阅读:299 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种片上系统及其DMA内存访问方法。该系统包括低速 模块、DMA控制器、总线仲裁单元和内存,其特征在于低速模块与DMA控 制器之间采用DMA接口,该DMA接口以翻转信号作为握手信号,以便低 速模块通过总线仲裁单元向内存发起DMA请求。本发明专利技术采用翻转信号作 为握手信号,可以方便的支持诸如跨时钟域的DMA请求。并且,DMA模块 将该请求标准化为内部数据总线信号,便于集成和复用。由于没有采用 APB总线,数据读写所需要的等待时间可预计。

【技术实现步骤摘要】

本专利技术涉及片上系统,具体地说涉及低速模块的内存访问。
技术介绍
随着片上系统(SOC)的发展, 一颗芯片内所集成的模块也越来越多, 其对内存访问的需求也越来越高。因此,如何为各个模块提供一种简单 统一的内存访问机制对于芯片设计的效率,可靠性,复用性都显得越来 越重要。 一般来说,高速模块访问内存大多采用类似AHB (Advanced High-performance Bus)总线,而低速模块访问内存大多通过一个专用 DMA (direct memory access)控制器。图1示意了 一种低速才莫块访问内 存的现有技术方案。如图1所示,该控制器利用类似APB ( Advanced Peripheral Bus)总线从低速模块中读取其寄存器,然后再通过AHB总 线(或其他总线)访问内存。由于DMA控制器是通过类似APB总线来读 取低速模块的数据的,涉及时钟域转化、总线仲裁等环节,每个数据所 需等待时间比较长,因此该速度有时又无法满足低速模块的瞬时速度需 求,导致该低速模块需要相当大的緩存。
技术实现思路
本专利技术的目的在于克服以上所述的DMA通过类似APB总线读取再访问 内存的缺点。根据第一方面,本专利技术提供一种片上系统。该系统包括低速模块、DMA 控制器、总线仲裁单元和内存,其特征在于低速模块与DMA控制器之间 采用DMA接口,该DMA接口以翻转信号作为握手信号,以便低速模块通 过总线仲裁单元向内存发起DMA请求。在第一方面中,优选的是,DMA接口包括低速模块向DMA控制器发出 的DMA写请求信号,DMA写请求信号是所述的翻转信号。进一步优选的是, DMA接口包括DMA请求信号从低速模块时钟过渡到DMA时钟的同步器;并 且/或者,DMA接口包括基于DMA写请求信号产生的写准备好信号,该写准备好信号经同步后发给低速模块,以便低速模块进行下次数据传送; 并且/或者,DMA接口包括DMA停止信号,基于该信号DMA控制器需要将 其緩存中的来自XXX模块的数据写入内存。还优选的是,DMA接口包括低速模块向DMA控制器发出的DMA读请求 信号和DMA控制器向低速模块发出的读数据准备好信号,该读数据准备 好信号是所述的翻转信号。根据第二方面,本专利技术提供一种片上系统的DMA内存访问方法,所 述方法包括低速模块与DMA控制器之间采用翻转信号作为握手信号,以 便低速模块通过总线仲裁单元向内存发起DMA请求的步骤。本专利技术采用翻转信号作为握手信号,可以方便的支持诸如跨时钟域 的DMA请求。并且,DMA模块将该请求标准化为内部数据总线信号,便于 集成和复用。由于没有采用APB总线,数据读写所需要的等待时间可预 计。附图说明下面将参照附图对本专利技术的具体实施方案进行更详细的说明,其中 图1示意了一种低速模块访问内存的现有技术方案; 图2示意了本专利技术的低速模块访问内存的图3是图2所示的低速模块和DMA控制器之间接口信号及其时序图; 图4是根据本专利技术 一个实施例的低速模块写内存的接口逻辑示意图; 图5是根据本专利技术 一个实施例的低速模块读内存的接口逻辑示意图。具体实施例方式针对DMA通过类似APB总线读取低速模块寄存器再访问内存的缺点, 本专利技术提出一种DMA控制器和一般低速模块之间的直接DMA请求,并支 持跨时钟域特性。图2是本专利技术的低速模块访问内存的示意图。如图2所示,低速模 块与DMA控制器之间釆用DMA接口 ,该DMA接口以翻转信号作为握手信 号,以便低速模块通过总线仲裁单元向内存发起DMA请求。接下来,以具备读/写通道的DMA控制器为例,说明根据本专利技术的DMA 接口。假设低速冲莫块为XXX,其工作时钟为xxx-clk; DMA模块工作时钟 为dma-clk,并且dma — clk频率>=xxx_clk。需要说明,这里的"低速"是低速模块相对DMA控制器而言的,并不意味着低速模块自身的速度低。 图3是本专利技术DMA接口的示意性接口信号及其时序图。首先看DMA模块的写通道。写通道涉及四个信号,分别是 xxx—dma—wreq, xxx—dma—wstop, xxx—dma—wdata和dma_xxx—wready。 下 表是这些信号的属性列表。信号宽度输入/输出所属时钟xxx-dma—wreq1输入xxx—clkxxx —dma—ws top1输入xxx—clkxxx—dma—wdata数据宽度输入xxx—clkdma—xxx—wready1输出xxx—clk其中,xxx_dma—wreq是低速模块向DMA控制器发出的写请求信号。 xxx-dma-wstop是低速模块向DMA控制器发出的写停止信号。 xxx —dma—wdata是低速模块向DMA控制器发出的待写入内存的数据。 dma-xxx—wready是DMA控制器向低速模块发出的写准备好信号。图4是根据本专利技术 一 个实施例的低速模块写内存的接口逻辑示意图。 如图4所示,该写内存接口逻辑包括工作在低速时钟xxx-clk下的第一 D 触发器,以及工作在DMA时钟dma-clk下的同步器和第二 D触发器。第一D触发器的作用在于,当写数据准备好的时候,产生 xxx-dma一wreq。 xxx —dma—wreq是一组翻转握手信号。这里之所以采用翻 转信号作为握手是因为可以方便的进行跨时钟域处理,而不需要更复杂 的信号。当低速的XXX模块需要通过DMA控制器来写内存,XXX模块首先 将xxx-dma-wdata送上数据总线,然后将xxx —dma—wreq信号翻转一下。同步器的作用在于将xxx-dma-wreq信号同步一定时钟以消除亚稳态 影响,获得wreq_s2。在一个例子中,同步器由两个串联的D触发器组成。第二 D触发器将wreq —s2信号在dma — clk时钟域延迟一个时钟 (wreq—s3)和wreq_s2做一个异或,来获得一个请求的脉沖信号 wreq-pulse。也就是说,实现从翻转信号到脉冲信号的转换。之后,就可以利用该请求的脉沖信号wreq-pulse来采样 xxx—dma—wdata。在一个优选实施例中,可以在采样xxx —dma—wdata的时候返回一个 写准备好dma — xxx-wready信号(未图示)。dma —xxx—wready也是一组翻 转握手再传递给XXX才莫块,以通知XXX模块,WDATA已经成功采样,可以进行下 一次数据传送了。当然,也可以通过固定时间延迟的方式来确定下一次 数据传送。DMA控制器在之后进行内存访问等后续动作。再看时序3。假设Tl时刻,XXX模块需要写内存,则首先需要 将wdata给出,然后在T2时刻翻转写请求wreq信号,则wreq—s2信号 最坏情况在(当dma-clk频率-xxx-clk频率)T4时刻产生,则wreq-pulse 在T5时刻产生;故而在T6时刻完成采样;在这之前,T5已经返还 dma-xxx—wready信号,通过2次同步以后则T7时刻可以回到XXX模块端; XXX模块在T8时刻可以进行下一次传输。因此一次传输周期最多为7个 (当xxx — clk频率-dma-clk时)。如果xxx —clk频率较小,则这个传输 周期可以进一步缩短。在一个例子中,信号xxx —dma-wstop表明XXX才莫本文档来自技高网...

【技术保护点】
一种片上系统,包括低速模块、DMA控制器、总线仲裁单元和内存,其特征在于低速模块与DMA控制器之间采用DMA接口,该DMA接口以翻转信号作为握手信号,以便低速模块通过总线仲裁单元向内存发起DMA请求。

【技术特征摘要】

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

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

1