CN101510182B - 低速dma接口的片上系统和内存访问方法 - Google Patents

低速dma接口的片上系统和内存访问方法 Download PDF

Info

Publication number
CN101510182B
CN101510182B CN200910081382A CN200910081382A CN101510182B CN 101510182 B CN101510182 B CN 101510182B CN 200910081382 A CN200910081382 A CN 200910081382A CN 200910081382 A CN200910081382 A CN 200910081382A CN 101510182 B CN101510182 B CN 101510182B
Authority
CN
China
Prior art keywords
dma
low
speed module
signal
clock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200910081382A
Other languages
English (en)
Other versions
CN101510182A (zh
Inventor
李晓强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Vimicro Corp
Original Assignee
Wuxi Vimicro Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuxi Vimicro Corp filed Critical Wuxi Vimicro Corp
Priority to CN200910081382A priority Critical patent/CN101510182B/zh
Publication of CN101510182A publication Critical patent/CN101510182A/zh
Application granted granted Critical
Publication of CN101510182B publication Critical patent/CN101510182B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

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

Description

低速DMA接口的片上系统和内存访问方法
技术领域
本发明涉及片上系统,具体地说涉及低速模块的内存访问。 
背景技术
随着片上系统(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接口包括工作在低速模块时钟下的第一D触发器和工作在DMA控制器时钟下的同步器和第二D触发器,其中:第一D触发器,用于产生翻转信号以作为低速模块和DMA控制器之间的握手信号;同步器,用于将所述翻转信号在低速模块时钟和DMA控制器时钟之间进行同步;第二D触发器,用于将时钟同步后的翻转信号延迟;以及异或门,用于将所述时钟同步后的翻转信号与延迟后的翻转 信号异或,产生脉冲信号以便DMA控制器通过总在仲裁单元向内存发起DMA请求。 
根据第二方面,本发明提供一种片上系统的DMA内存访问方法,所述片上系统包括低速模块、DMA控制器、总线仲裁单元和内存,该低速模块与DMA控制器之间采用DMA接口,该DMA接口包括工作在低速模块时钟下的第一D触发器和工作在DMA控制器时钟下的同步器和第二D触发器,所述方法包括:产生翻转信号以作为低速模块和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_wreq 1 输入 xxx_clk
xxx_dma_wstop 1 输入 xxx_clk
xxx_dma_wdata 数据宽度 输入 xxx_clk
dma_xxx_wready 1 输出 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_clk对dma_xxx_wready信号同步2个时钟, 再传递给XXX模块,以通知XXX模块,WDATA已经成功采样,可以进行下一次数据传送了。当然,也可以通过固定时间延迟的方式来确定下一次数据传送。 
DMA控制器在之后进行内存访问等后续动作。 
再看时序图图3。假设T1时刻,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控制器需要将缓存中的任意长度的来自XXX模块的数据写入内存。这个信号在如下场景中有较多作用:串口从外部接收不定长数据,每收到例如1个字节,就传给DMA控制器,DMA控制器的缓存中满足例如4个字节就写入内存。当串口检测到一定时间没有收到新的数据,则认为外部通信停止,就通过xxx_dma_wstop信号通知DMA控制器,则DMA控制器将缓存中的不到4个字节的数据立刻全部写入内存。 
然后,看DMA模块的读通道。读通道涉及三个信号,xxx_dma_rreq,xxx_dma_rdata,dma_xxx_rready。下表是这些信号的属性列表。 
 信号 宽度  输入/输出     所属时钟
 xxx_dma_rreq 1  输入     xxx_clk
 xxx_dma_rdata 数据宽度  输出     xxx_clk
 dma_xxx_rready 1  输出     xxx_clk
xxx_dma_rreq信号是低速的xxx模块向DMA控制器发出的读请求信号。xxx_dma_rdata是低速的xxx模块待读取的数据信号。dma_xxx_rready是DMA控制器向xxx模块发出的准备好信号。 
图5是根据本发明一个实施例的低速模块读内存的接口逻辑示意图。图5的读内存的接口逻辑和图4的写内存的接口逻辑结构相似,不同之处仅在于方向不同。其中,握手中rreq的同步机制与写通道的wreq一 样,故此不复赘述。但读通道的差别在于,dma_xxx_rready信号同时对应dma_xxx_rdata,告知XXX模块,dma_xxx_rdata已经有效,可以读取了。 
结合图3的时序图可以看到,当低速的xxx模块在时刻T1向DMA控制器发出读请求之后,需要等待直至DMA控制器从内存中读出相关数据。当DMA控制器在例如T8时刻读到数据,则在接下来的T9时刻发出dma_xxx_rready信号,基于该dma_xxx_rready产生rready_pulse,通知低速模块读取数据。下一次的读请求也是通过翻转读请求信号xxx_dma_rreq完成。 
本发明采用翻转信号作为握手信号,可以方便的支持跨时钟域DMA请求。并且DMA模块将该请求标准化为内部数据总线信号,便于集成和复用。但是,每个低速模块和DMA控制器之间必须增加一个DMA接口,而不是直接利用同一的内部低速总线(类APB总线)。 
此外,需要指出,本发明同样可适用于同时钟域的DMA请求。由于是同时钟域,同步器将不再需要。 
显而易见,在此描述的本发明可以有许多变化,这种变化不能认为偏离本发明的精神和范围。因此,所有对本领域技术人员显而易见的改变,都包括在本权利要求书的涵盖范围之内。 

Claims (7)

1.一种用于DMA内存访问的片上系统,包括低速模块、DMA控制器、总线仲裁单元和内存,其特征在于低速模块与DMA控制器之间采用DMA接口,该DMA接口包括工作在低速模块时钟下的第一D触发器和工作在DMA控制器时钟下的同步器和第二D触发器,其中:
第一D触发器,用于产生翻转信号以作为低速模块和DMA控制器之间的握手信号;
同步器,用于将所述翻转信号在低速模块时钟和DMA控制器时钟之间进行同步;
第二D触发器,用于将时钟同步后的翻转信号延迟,以及将所述时钟同步后的翻转信号和延迟后的翻转信号异或,从而产生脉冲信号,以便DMA控制器通过总线仲裁单元向内存发起DMA请求。
2.如权利要求1所述的片上系统,其中所述同步器由串联的D触发器产生。
3.一种片上系统的DMA内存访问方法,所述片上系统包括低速模块、DMA控制器、总线仲裁单元和内存,该低速模块与DMA控制器之间采用DMA接口,该DMA接口包括工作在低速模块时钟下的第一D触发器和工作在DMA控制器时钟下的同步器和第二D触发器,所述方法包括:
产生翻转信号以作为低速模块和DMA控制器之间的握手信号;
将所述翻转信号在低速模块时钟和DMA控制器时钟之间进行同步;
将时钟同步后的翻转信号延迟;以及
将所述时钟同步后的翻转信号与延迟后的翻转信号异或,产生脉冲信号以便DMA控制器通过总线仲裁单元向内存发起DMA请求。
4.如权利要求3所述的DMA内存访问方法,所述产生翻转信号以作为低速模块和DMA控制器之间的握手信号之前,还包括:
低速模块向DMA控制器发出DMA写请求信号;和/或
低速模块向DMA控制器发出DMA读请求信号,以及在DMA控制器从内存中读出相关数据后向低速模块发出读数据准备好信号;
其中,该写请求信号和该读数据准备好信号是所述的翻转信号。
5.如权利要求4所述的DMA内存访问方法,还包括:基于DMA写请求信号产生写准备好信号,并且将该写准备好信号同步后发给低速模块, 以便低速模块进行下次数据传送。
6.如权利要求4所述的DMA内存访问方法,还包括:低速模块向DMA控制模块发送DMA停止信号,以便DMA控制器将其缓存中的来自低速模块的数据写入内存。
7.如权利要求4所述的DMA内存访问方法,其中,将所述翻转信号在低速模块时钟和DMA控制器时钟之间进行同步的步骤包括:
将该写请求信号从低速模块时钟过渡到DMA控制器时钟;和/或
将该读数据准备好信号从DMA控制器时钟过渡到低速模块时钟。 
CN200910081382A 2009-04-03 2009-04-03 低速dma接口的片上系统和内存访问方法 Expired - Fee Related CN101510182B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910081382A CN101510182B (zh) 2009-04-03 2009-04-03 低速dma接口的片上系统和内存访问方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910081382A CN101510182B (zh) 2009-04-03 2009-04-03 低速dma接口的片上系统和内存访问方法

Publications (2)

Publication Number Publication Date
CN101510182A CN101510182A (zh) 2009-08-19
CN101510182B true CN101510182B (zh) 2012-09-05

Family

ID=41002585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910081382A Expired - Fee Related CN101510182B (zh) 2009-04-03 2009-04-03 低速dma接口的片上系统和内存访问方法

Country Status (1)

Country Link
CN (1) CN101510182B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591824B (zh) * 2011-12-27 2014-11-05 深圳国微技术有限公司 Soc芯片系统中控制保密数据搬运的dma控制器
CN106326157A (zh) * 2015-06-30 2017-01-11 深圳市科陆电子科技股份有限公司 一种接收串口不定长数据的方法及装置
CN111143264B (zh) * 2019-12-30 2021-08-03 山东方寸微电子科技有限公司 实现同步模式的apb桥、实现异步模式的apb桥及其控制方法
CN112256624B (zh) * 2020-11-03 2022-09-13 中国人民解放军国防科技大学 用于高速互连网络接口芯片的dma通信装置、芯片、设备及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5944807A (en) * 1996-02-06 1999-08-31 Opti Inc. Compact ISA-bus interface
CN101110262A (zh) * 2007-01-22 2008-01-23 北京中星微电子有限公司 一种读取内存中数据的方法和系统
CN101377691A (zh) * 2008-09-05 2009-03-04 北京中星微电子有限公司 一种apb总线跨时钟域访问的电路及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5944807A (en) * 1996-02-06 1999-08-31 Opti Inc. Compact ISA-bus interface
CN101110262A (zh) * 2007-01-22 2008-01-23 北京中星微电子有限公司 一种读取内存中数据的方法和系统
CN101377691A (zh) * 2008-09-05 2009-03-04 北京中星微电子有限公司 一种apb总线跨时钟域访问的电路及方法

Also Published As

Publication number Publication date
CN101510182A (zh) 2009-08-19

Similar Documents

Publication Publication Date Title
CN102981776B (zh) 双倍数据率虚拟静态随机存取存储器及其控制器、存取与操作方法、写入与读取方法
US6532525B1 (en) Method and apparatus for accessing memory
KR100888597B1 (ko) 메모리 인터페이스 제어 장치 및 제어 방법
US7313715B2 (en) Memory system having stub bus configuration
CN101692346B (zh) 一种存储器数据采样装置及一种采样控制器
CN104810047A (zh) 半导体器件
US8593902B2 (en) Controller and access method for DDR PSRAM and operating method thereof
CN101510182B (zh) 低速dma接口的片上系统和内存访问方法
US7590146B2 (en) Information processing unit
EP1708091A1 (en) Dedicated DMA-memory bus for an AMBA system
US6502173B1 (en) System for accessing memory and method therefore
CN110825344A (zh) 一种异步数据传输方法和结构
CN104508748A (zh) 用于使用延迟锁相回路的记忆体装置的节能设备及方法
US8301820B2 (en) Direct memory access for advanced high speed bus
US8649241B2 (en) Memory system, memory controller, and synchronizing apparatus
CN100561590C (zh) 一种读取内存中数据的方法和系统
CN101000590A (zh) 一种读取内存中数据的方法和系统
CN102522113B (zh) 一种sdram桥接电路
CN104008076A (zh) 一种支持dvfs的总线数据信号传输的方法及装置
US8370543B1 (en) Busy detection logic for asynchronous communication port
JP2007065948A (ja) バッファメモリ装置及びデータ転送システム
US20070005834A1 (en) Memory chips with buffer circuitry
US10742216B1 (en) Clock domain crossing for an interface between logic circuits
KR100579419B1 (ko) Ddr sdram 데이터 전송을 위한 amba인터페이스 장치
Herlev et al. Open core protocol (OCP) clock domain crossing interfaces

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: WUXI ZHONGXING MICROELECTRONICS CO., LTD.

Free format text: FORMER OWNER: BEIJING ZHONGXING MICROELECTRONICS CO., LTD.

Effective date: 20110505

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100083 16/F, SHINING BUILDING, NO. 35, XUEYUAN ROAD, HAIDIAN DISTRICT, BEIJING TO: 214028 NATIONAL INTEGRATED CIRCUIT DESIGN PARK (CHUANGYUAN BUILDING), NO. 21-1, CHANGJIANG ROAD, WUXI NEW DISTRICT, JIANGSU PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20110505

Address after: 214028 national integrated circuit design Park, Changjiang Road, New District, Jiangsu,, Wuxi

Applicant after: Wuxi Vimicro Co., Ltd.

Address before: 100083 Haidian District, Xueyuan Road, No. 35, the world building, the second floor of the building on the ground floor, No. 16

Applicant before: Beijing Vimicro Corporation

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120905

Termination date: 20190403

CF01 Termination of patent right due to non-payment of annual fee