CN101901200B - 一种基于双AHB Master接口的片上DMA控制器实现方法 - Google Patents

一种基于双AHB Master接口的片上DMA控制器实现方法 Download PDF

Info

Publication number
CN101901200B
CN101901200B CN2010102503685A CN201010250368A CN101901200B CN 101901200 B CN101901200 B CN 101901200B CN 2010102503685 A CN2010102503685 A CN 2010102503685A CN 201010250368 A CN201010250368 A CN 201010250368A CN 101901200 B CN101901200 B CN 101901200B
Authority
CN
China
Prior art keywords
dma
ahb
data
passage
interface unit
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
CN2010102503685A
Other languages
English (en)
Other versions
CN101901200A (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.)
Fiberhome Telecommunication Technologies Co Ltd
Wuhan Fisilink Microelectronics Technology Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
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 Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN2010102503685A priority Critical patent/CN101901200B/zh
Publication of CN101901200A publication Critical patent/CN101901200A/zh
Application granted granted Critical
Publication of CN101901200B publication Critical patent/CN101901200B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

一种基于双AHB Master接口的片上DMA控制器实现方法,包括以下步骤:1,对DMA配置寄存器单元进行初始化配置;2,仲裁单元根据DMA请求信号仲裁出当前需要响应的通道号给AHB_master0接口单元,或等待执行;3,AHB_master0接口单元完成数据传递,并发送信息给AHB_master1接口单元;4,AHB_master1接口单元完成数据传递,并发送信息给AHB_master0接口单元;5,若完成当前响应的本次DMA请求全部的数据传输跳到步骤7;否则跳到步骤6;6,不作任何信号调整,直接跳转到步骤2;7,重新配置配置寄存器单元,跳到步骤2。本发明采用双AHB_Master接口减少了数据传输的延时,只需要较小的内部FIFO;能同时适用于多层AHB总线系统,易于重用到以其它高性能ARM微处理器为基础的SoC设计中。

Description

一种基于双AHB Master接口的片上DMA控制器实现方法
技术领域
本发明涉及嵌入式系统芯片中先进高性能总线的数据传输,具体的说是一种基于双AHB(Advanced High-performance Bus,先进高性能总线)Master(主设备)接口的片上DMA(Direct Memory Access,直接内存存取)控制器实现方法。 
背景技术
集成电路制作工艺进入深亚微米之后,IC(Integrated Circuit,集成电路)设计能力滞后于工艺水平日甚,势必要提出新的设计思想和设计方法,SoC(System on Chip,片上系统)是基于嵌入式系统的一种新的设计思想和设计方法,是将微处理器、模拟IP核(Intellectual Property core,知识产权核)、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上,不仅提高了产品的集成度,而且大大降低了制造成本,使得最终产品的价格为普通消费者能够承担。其中AMBA(Advanced Micocontroller Bus Architecture,先进微控制器总线体系结构)总线是ARM公司(Advanced RISCMachines,先进RISC机器公司)提出的总线结构,由于其开放的总线规范,这种总线得到了广泛的应用。AMBA总线的目的是推出芯片内部总线的规范。AMBA总线有三个版本:AMBA1.0,AMBA2.0和AMBA3.0。目前AMBA2.0规范作为SoC的一种较为成熟的总线标准,其定义了3种不同的系统总线:1)AHB(先进高性能总线);2)ASB(Advanced System Bus,先进系统总线);3)APB(Advanced Peripheral Bus,先进外围设备总线)。 
AHB总线是新一代AMBA总线,作为高性能系统骨干总线,用于连接高性能、高时钟速率的系统模块,如完成处理器、片上存储器、 存储器控制器、中断控制器等模块间的通信。 
ASB总线是第一代AMBA系统总线,用于高性能系统模块间通信。目前已被AHB所取代。 
APB总线主要用于低速且低功率的外围,可针对外围作功率消耗及复杂接口的最佳化。在具有AHB总线的片上系统中,DMA控制器作为与ARM微处理器并列的主器件出现。对于AHB总线而言,片上DMA控制器既是AHB总线的从设备,又与ARM微处理器一样是AHB总线的主设备。增加一个用于完成存储器直接存取的DMA控制器,以减少ARM微处理器传输数据的压力。 
DMA控制器技术本身就是一种代替微处理器完成存储器与外部设备之间大量数据传送的方法,也称直接存储器存取方法。目前广泛应用的DMA控制器,当有输入设备需要进行DMA数据传输时,其通过DMA请求触发器向DMA控制器发出DMA请求。在此之前CPU(Central Processing Unit,中央处理单元)已经将地址等控制信息配给DMA控制器内的地址寄存器中。当DMA控制器接到DMA请求时,其向CPU发起总线占用请求。CPU通常在执行完当前的指令后将总线控制权交给DMA控制器,此时DMA控制器的控制和状态寄存器发生变化,表明已经获得总线控制权,并发起一次DMA数据传输。在数据传输过程中,计数器对传输的数据量进行计数,直到计数器值等于传输长度时停止计数,并改变控制和状态寄存器的内容。DMA控制器向CPU归还总线控制权。这样就能使CPU节省对外设的查询时间。 
这种DMA控制器大部分仅适用于单层总线,需要的缓存FIFO(First In First Out,先入先出队列)数据缓存器过大,DMA控制器的每个通道未能实现灵活的流控管理,并且未能与以AMBA2.0总线规范为标准的SoC这种新的嵌入式设计方法结合起来。导致这些DMA控制器产品效率难以提高,无法适应多层的AHB总线结构,无法满足日益增长的对性能的需求,并且难以集成到自主设计的SoC系统中,重用性不高。 
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于双AHB Master接口的片上DMA控制器实现方法,即在具有AHB总线的片上系统中,设计具有双master接口的片上DMA控制器,解决目前的DMA控制器,大部分仅适用于单层总线,内部缓存过大,无法有效的提高总线的利用率,每个DMA通道也未能实现灵活的流控管理的问题。 
为达到以上目的,本发明采取的技术方案是: 
一种基于双AHB Master接口的片上DMA控制器实现方法,其特征在于包括以下步骤: 
步骤1,在DMA控制器开始工作前,由ARM微处理器通过APB总线对DMA控制器中的DMA配置寄存器单元进行初始化配置,所述初始化配置包括:对32个DMA通道的通道配置寄存器,源地址寄存器,目的地址寄存器,传输数据长度寄存器进行初始化配置,即确定每个DMA通道的使能,工作模式,有效数据宽度,数据源的起始地址,数据目的的起始地址,以及传输数据长度;所述工作模式包括主动模式,被动模式,软件模式;所述有效数据宽度包括byte,half word,word; 
步骤2,开始数据传输过程,DMA控制器等待出现的DMA请求信号,所述DMA请求信号为在主动模式,被动模式,软件模式下均有效的dma_req,或仅在被动模式下有效的dma_last_req,在dma_req对应的通道的使能有效的情况下,根据有效的请求信号DMA控制器的仲裁单元仲裁出当前需要响应的通道号,并同时产生pahb_req信号和current_last_req,给AHB_master0接口单元,如果没有请求则继续在此步骤中等待执行; 
步骤3,当AHB_master0接口单元在pahb_req信号为高的情况下,得到仲裁单元仲裁出的通道号后,根据这个通道号对应通道的配置信息,所述对应通道的配置信息包括:对应通道的工作模式,有效数据宽度,数据源的起始地址,数据目的的起始地址,以及传输数据 长度,将其转变为一次INCR4类型或4个连续SINGLE类型的AHB_master0的ARB总线信号,根据p_ram_select的指示将从源地址读回的数据存储在DMA数据缓存寄存器组中,并对这个通道读回的数据量进行计数,每次INCR4类型或者4个连续SINGLE类型的传输完成时产生pahb_ack完成信号,给仲裁单元,同时将产生的qahb_req信号、该通道的配置信息以及数据存储的位置q_ram_select传递给AHB_master1接口单元; 
步骤4,AHB_master1接口单元在qahb_req信号为高的情况下,获得AHB_master0接口单元传递的信息后,将其转变为一次INCR4类型或4个连续SINGLE类型的AHB_master1的AHB总线信号,根据q_ram_select的指示从DMA数据缓存寄存器组里面读出相应的数据,并通过AHB_master1接口单元的AHB总线写到目的地址上去;每次INCR4类型或者4个连续SINGLE类型的传输完成时产生qahb_ack完成信号,给AHB_master0接口单元, 
步骤5,当DMA控制器完成当前响应通道本次DMA请求全部的数据传输,AHB_master0接口单元同时将该通道对应的DMA中断信号dma_int和DMA请求清零信号dma_clr信号拉高,并用dma_clr信号清零对应通道的外设或内存RAM发出的dma_req,使其不参加下一次的仲裁;DMA配置寄存器单元在检测到中断信号dma_int时,将对应的通道的通道完成状态寄存器置高,对应通道的使能信号关闭,此时表示该通道的请求响应完成,跳到步骤7;若DMA控制器未完成当前响应通道本次DMA请求全部的数据传输,则跳到步骤6; 
步骤6,当DMA控制器未完成当前响应通道本次DMA请求全部的数据传输,则不作任何信号调整,直接跳转到步骤2;此时该通道对应的DMA请求信号dma_req或dma_last_req依然有效,与其它未被DMA控制器响应的有效通道请求一起参与仲裁单元的下一次仲裁; 
步骤7,ARM微处理器通过APB总线对DMA控制器中,已完成本次DMA请求全部数据传输的当前响应通道的配置寄存器单元(源地址寄存器,目的地址寄存器,传输数据长度寄存器)进行重新配置,并 重新打开当前响应通道的使能信号后跳到步骤2。 
在上述技术方案的基础上,每次DMA控制器数据传输只响应32个通道中的一个通道,每个通道的实现方法相同。 
在上述技术方案的基础上,当DMA控制器未完成当前响应通道n全部的数据传输时,n=0,1,2……31,其后续数据传输过程如下: 
1)在DMA控制器通道n开始数据传输之前,ARM微控制器通过APB总线对通道n的通道配置寄存器,源地址寄存器,目的地址寄存器,传输数据长度寄存器进行相应配置,并打开通道n的使能信号; 
2)仲裁单元根据仲裁原则确定响应通道n; 
3)AHB_master0接口单元将根据通道n的源地址寄存器发出相应的一次INCR4类型或者4个连续SINGLE类型的传输地址及控制信号;将从源地址读回的数据,存到DMA数据缓存寄存器组;并对读回的数据量按字节进行计数;并在DMA控制器完成通道n本次DMA请求全部的数据传输时产生通道n请求的清零信号dma_clr和中断信号dma_int,同时将该通道的配置信息以及数据存储的位置q_ram_select传递给AHB_master1接口单元, 
4)AHB_master1接口单元将根据通道n的目的地址寄存器发出相应的一次符合AHB总线要求的INCR4类型或者4个连续SINGLE类型的传输地址及控制信号,同时根据q_ram_select信号的指示将从DMA数据缓存寄存器组读出的数据,写到对应的目的地址上; 
5)该通道为主动模式或软件模式的情况下:若通道n的计数器未达到传输数据长度寄存器配置的值,则重复执行步骤2),3),4),否则执行步骤6); 
该通道为被动模式的情况下,若仲裁单元未检测到通道n的dma_last_req有效,或DMA控制器未完成当前响应通道本次DMA请求全部的数据传输,则重复执行步骤2),3),4),否则执行步骤6); 
6)通道n的数据传输结束,通道n的使能关闭。 
在上述技术方案的基础上,在一次数据传输过程中,AHB_master0总线用于对传输源进行读数据,AHB_master1总线用于对传输目的进行写数据。 
在上述技术方案的基础上,DMA数据缓存寄存器组用来缓存数据,内部数据流从AHB_master0接口单元到DMA数据缓存寄存器组最后到AHB_master1接口单元,整个内部数据传输过程为3级流水。 
在上述技术方案的基础上,在DMA控制器完成一次DMA数据传输时产生一个中断信号用来指示一次传输完毕,或在DMA计数器计数满后产生中断信号用来指示一次传输完毕。 
在上述技术方案的基础上,所述DMA控制器包括: 
DMA APB接口单元,作为APB总线接口供APB总线从此设备接口对DMA控制器的DMA配置寄存器进行配置, 
DMA配置寄存器单元,由通道配置寄存器,源地址寄存器,目的地址寄存器,传输数据长度寄存器以及32个通道完成状态寄存器,32个通道完成状态屏蔽寄存器,32个通道中断屏蔽寄存器组成;所述32个通道为32个DMA通道,32个DMA通道都有各自的通道配置寄存器,源地址寄存器,目的地址寄存器和传输数据长度寄存器,其中每个通道配置寄存器的有效位宽为8位, 
DMA数据缓存寄存器组:寄存器组空间为32byte,宽度为32bits,深度为8,且能进行字节写,有两个接口,一个为读口,另一个为写口,在内部分为两片A和B,每片空间为16byte,通过AHB_master0或AHB_master1接口单元的ram_select信号来选择当前对哪片寄存器组操作, 
仲裁单元:从当前的32个DMA通道的有效请求中,根据当前响应的通道号,仲裁出下一个响应的一个通道号,连同这个通道对应的 所有配置寄存器单元信息传递给AHB_master0接口单元,并在接收到当前通道的AHB_master0接口单元响应完成信号pahb_ack后,产生对AHB_master0接口单元下一次的请求pahb_req;仲裁单元仲裁的原则是轮询,其仲裁的时间是检测到pahb_ack信号为高电平或者32个通道均无有效请求的空闲状态,每次只有一个输入请求得到响应;检测仲裁单元当前响应的通道的通道配置模式,如果配置为被动模式,则预先配置当前响应通道的数据传输长度无效,同时根据检测当前响应通道的dma_last_req信号是否为高电平,如果为高电平,则表示当前响应的通道只剩最后一次INCR4类型或4个连续SINGLE类型数据需要传输,此时仲裁单元需要使送出的current_last_req信号为高电平,以此信号告知AHB_master0接口单元接下来进行最后一次数据传输,如果仲裁单元当前响应的通道的模式为主动模式或者软件模式,则使输出的current_last_req信号为低电平, 
AHB_master0接口单元:AHB_master0接口单元的AHB总线总是对数据源进行操作,即总是进行AHB总线读操作,在检测到仲裁单元发出的pahb_req请求信号后,将即将响应的通道号对应的所有配置寄存器单元信息转换为AHB_master0接口单元的一次INCR4类型或者4个连续的SINGLE类型传输,根据p_ram_select的指示将源地址p_src_addr对应的数据读回到DMA数据缓存寄存器组,并对这个通道读回的数据量进行计数,并在这一次传输完成时产生pahb_ack完成信号,在完成当前响应通道本次DMA请求全部的数据传输时产生dma请求清零信号dma_clr和中断信号dma_int,否则不产生, 
AHB_master1接口单元:AHB_master1接口单元的AHB总线总是对数据目的进行操作,即总是进行AHB写操作,每一次选中设备进行一次数据传输也为INCR4类型或者4个连续的SINGLE类型传输,并在这一次数据传输完成时产生qahb_ack完成信号;即在检测到AHB_master0接口单元发出的qahb_req请求信号后,将AHB_master0接口单元提供的与当前响应的通道号对应的数据目的的起始地址,以及目的地址是否增加信号转换为AHB_master1接口单元的AHB总线行 为,根据AHB_master0接口单元提供q_ram_select的值,从DMA数据缓存寄存器组里面读出相应的数据,并通过AHB_master1接口单元的AHB总线写到目的地址q_src_addr对应的地址上去。 
本发明所述的基于双AHB Master接口的片上DMA控制器实现方法,以AHB总线为基础,设计了一种基于双AHB Master接口的片上DMA控制器实现方法。双AHB Master接口不仅减少了数据传输的延时,而且只需要较小的内部FIFO;并能同时适用于多层AHB总线系统。对于每个DMA通道添加了流控管理,使每一个通道均可以灵活的工作在三种模式:软件模式、主动模式和被动模式。并且它结构简单,实现方便,因此易于重用到以其它高性能ARM微处理器为基础的SoC设计中。 
附图说明
本发明有如下附图: 
图1基于双AHB Master接口的片上DMA控制器的结构示意图, 
图2仲裁单元输入输出信号的时序图, 
图3AHB_master0接口单元输入输出信号的时序图, 
图4AHB_master1接口单元输入输出信号的时序图。 
具体实施方式
以下结合附图对本发明作进一步详细说明。 
本发明将DMA控制器设计为一个基本独立于ARM微处理器的AHB总线主设备,能够根据配置寄存器的值,独立的响应AHB从设备发出的DMA请求,更大程度的提高ARM微处理器效率。本发明所述DMA控制器拥有两个AHB Master接口,能够适应总线利用率更高的多层总线系统。其优点在于:双AHB master接口不仅减少了数据传输的延 时,而且仅需要较小的内部FIFO;并能同时适用于多层AHB总线系统,更有效的利用AHB总线带宽。同时对于每个DMA通道添加了流控管理,使每一个通道均可以灵活的工作在三种模式:软件模式、主动模式和被动模式。 
本发明的技术方案包括以下几点: 
1)DMA控制器有2个AHB master接口,一个是AHB_master0接口,一个是AHB_master1接口。AHB_master0和AHB_master1接口都可以单独作为一层AHB总线的主设备。在一次数据传输过程中,AHB_master0总线用于对传输源进行读数据,AHB_master1总线用于对传输目的进行写数据。 
2)DMA控制器提供四种传输数据的通道:存储器到外设;存储器到存储器;外设到存储器;外设到外设。 
3)DMA控制器具有32个DMA通道来传送数据。每一个DMA通道只对一个数据源或一个数据目标进行服务,即一对一服务。对于全双工的外设来说发送和接收各需要一个独立的数据通道。对于传输源和传输目的来说,源地址和目的地址可以为递增或者非递增模式;每一个DMA通道支持byte(字节)、half_word(半字)或者word(字)数据传输;支持大、小端数据。 
4)每一个DMA通道均可以工作在三种工作模式:软件模式、主动模式和被动模式。每一个通道都由dma_req、dma_last_req和dma_clr三个信号进行握手。 
5)DMA控制器有内部FIFO 32bit*8(DMA数据缓存寄存器组)用来缓存数据,内部数据流从AHB_master0接口单元到DMA数据缓存寄存器组最后到AHB_master1接口单元,整个内部数据传输过程为3级流水。每级数据流传输都可以同时进行,因此可减少数据在DMA控制器内部的传输延时。 
6)DMA控制器具有APB接口。该接口符合APB总线规范,ARM微处理器可以通过APB接口对DMA控制器的DMA配置寄存器进行配置。 
7)DMA控制器中断信号。可以在DMA控制器完成一次DMA数据 传输时产生一个中断信号,也可以在DMA计数器计数满后产生中断信号。这一般用来指示一次传输完毕。可以对DMA控制器的中断信号进行屏蔽。 
本发明所述DMA控制器的结构如图1所示。其中: 
DMA APB接口单元,作为APB总线接口供APB总线(APB BUS)从此设备接口对DMA控制器的DMA配置寄存器进行配置。 
DMA配置寄存器单元,由通道配置寄存器,源地址寄存器,目的地址寄存器,传输数据长度寄存器以及32个通道完成状态寄存器,32个通道完成状态屏蔽寄存器,32个通道中断屏蔽寄存器组成,可采用现有技术实现。DMA控制器开始工作前,首先由ARM微处理器通过APB总线(APB BUS)对每个DMA通道(32个DMA通道)的通道配置寄存器,源地址寄存器,目的地址寄存器,传输数据长度寄存器进行初始化配置,即确定每个DMA通道的使能,工作模式(主动模式,被动模式,软件模式),有效数据宽度(byte,half word,word),数据源的起始地址,数据目的的起始地址,以及传输数据长度。 
32个通道(DMA通道)都有各自的通道配置寄存器,源地址寄存器,目的地址寄存器和传输数据长度寄存器,其中每个通道配置寄存器的有效位宽为8位。以通道0(PDCO)的通道配置寄存器为例(其他通道的通道配置寄存器结构与此相同),其结构如表1所示: 
表1PDCO通道配置寄存器: 
  子地址   属性   标志   宽度   缺省值
  0x00   RW   Pdc0_cfg   32   0x000000x0
通道配置寄存器各字段和比特定义如下: 
Figure BSA00000224502100101
Figure BSA00000224502100111
Figure BSA00000224502100121
DMA数据缓存寄存器组:寄存器组空间为32byte,宽度为32bits,深度为8,可以进行字节写。有两个接口,一个为读口,另一个为写口。这个寄存器组在内部分为两片A和B,每片空间为16byte,通过 AHB_master0或AHB_master1接口单元的ram_select信号来选择(即对应于寄存器组地址的最高位),当前对哪片寄存器组操作。如:当AHB_master0接口单元对A片进行写数据操作时,AHB_master1接口单元可以同时对B片寄存器组进行读操作,这样也提高了DMA控制器数据处理的效率。 
仲裁单元:从当前的32个DMA通道的有效请求中,根据当前响应的通道号,仲裁出下一个响应的一个通道号,连同这个通道对应的所有配置寄存器单元信息传递给AHB_master0接口单元。并在接收到当前通道的AHB_master0接口单元响应完成信号pahb_ack(脉冲信号)后,产生对AHB_master0接口单元下一次的请求pahb_req(脉冲信号)。仲裁单元仲裁的原则是轮询,其仲裁的时间是检测到pahb_ack信号为高电平或者32个通道均无有效请求的空闲状态,每次只有一个输入请求得到响应。32个通道的输入请求分别为R0(对应通道0),R1,R2,...,R31,初始状态下规定32个输入请求被仲裁单元响应的优先级顺序为:R0>R1>R2>...>R31。假设当前仲裁单元仲裁的结果是Rm(0≤m<31)被响应,则下一次轮询优先顺序为:Rm+1>Rm+2>...,例如:当m=0时,则下一次轮询优先顺序为R1>R2>...>R31>R0,当m=2时,则下一次轮询优先顺序为R3>R4>...>R31>R0>R1>R2,当m=11时,则下一次轮询优先顺序为R12>R13>...>R31>R0>R1>R2...>R11。即将Rm以及在初始状态中优先级高于Rm的所有输入请求作为一个整体(内部优先级不变),将R0~Rm的优先级调整到Rm+1,Rm+2,...,R31之后。若当前m的取值为31则下一次轮询的优先顺序为R0>R1>R2>...>R31。 
检测仲裁单元当前响应的通道的通道配置模式,如果配置为被动模式,则预先配置当前响应通道的数据传输长度无效,同时根据检测当前响应通道的dma_last_req信号是否为高电平,如果为高电平,则表示当前响应的通道只剩最后一次INCR4类型或4个连续SINGLE类型数据需要传输,此时仲裁单元需要使送出的current_last_req信号为高电平,以此信号告知AHB_master0接口单元接下来进行最后 一次数据传输。如果仲裁单元当前响应的通道的模式为主动模式或者软件模式,则使输出的current_last_req信号为低电平。仲裁单元输入输出信号的时序如图2所示。 
图2中各种信号的意义如下: 
1、hclk:输入到DMA控制器的时钟信号。 
2、dma_req[31:0]:DMA控制器32个通道各自的输入请求信号。0bit代表通道0。 
3、dma_last_req[31:0]:仅在被动模式下有效,表示DMA控制器32个通道各自的还有最后一批数据需要传输的请求信号,0bit代表通道0。 
4、current_num[6:0]:仲裁单元指示AHB_master0接口单元当前需要处理的通道号。0-31分别对应0-31号通道。为63时表示当前没有通道请求,为空闲状态。 
5、pahb_req:仲裁单元根据有效的dma_req或dma_last_req请求产生对AHB_master0接口单元的请求信号。 
6、current_last_req:仲裁单元以此信号告知AHB_master0接口单元接下来进行最后一批数据传输。 
7、p_ram_select:AHB_master0接口单元读回数据后缓存到哪一片寄存器组。初始化时,该信号为低电平,表示AHB_master0接口单元总线读回的数据缓存到A片寄存器组。当检测到pahb_ack信号为高电平时,进行翻转。下次AHB_master0接口读回的数据将缓存到B片寄存器组。 
8、p_src_addr:AHB_master0接口单元当前响应通道的源地址。 
9、pahb_size:AHB_master0接口单元当前响应通道的数据宽度。 
10、pahb_ack:AHB_master0接口单元完成当前需要响应的通道号(current_num[6:0])的数据传输时,给出的完成信号。 
AHB_master0接口单元:AHB_master0接口单元的AHB总线总是对数据源进行操作,即总是进行AHB总线读操作。在检测到仲裁单元 发出的pahb_req请求信号后,将即将响应的通道号对应的所有配置寄存器单元信息转换为AHB_master0接口单元的AHB总线信号,根据p_ram_select的指示将源地址p_src_addr对应的数据读回到DMA数据缓存寄存器组,并对这个通道读回的数据量进行计数(data_count)。在完成当前响应通道本次DMA请求全部的数据传输时,产生dma请求清零信号dma_clr和中断信号dma_int。请求清零信号与中断信号的产生原则为:先检测AHB_master0接口单元响应的通道工作模式。如果为被动模式,则检测current_last_req信号是否为1,如果为1(或者检测该通道的内部data_count[15:0]计数器是否满为FFFF),此时DMA控制器完成当前响应通道本次DMA请求全部的数据传输,则产生相应的dma_clr信号和dma_int信号(同时置该DMA通道的配置pdc_en为低,并保留当前产生的中断通道号到配制寄存器)。否则DMA控制器未完成当前响应通道本次DMA请求全部的数据传输,不产生dma_clr信号和dma_int信号。如果不为被动模式,则检测data_count计数器是否等于该通道的传输数据长度寄存器值,如果等于,此时DMA控制器完成当前响应通道本次DMA请求全部的数据传输,则产生相应的dma_clr信号(清零dma_req和dma_last_req)和dma_int,否则不产生。 
AHB_master0接口单元支持的AHB总线传输协议为AMBA 2.0的子集。为了简化设计,AHB_master0接口单元的AHB传输规定,每一次选中设备进行一次数据传输为INCR4类型或者4个连续的SINGLE类型传输,并在这一次数据传输完成时产生pahb_ack完成信号。AHB_master0接口单元输入输出信号的时序如图3所示。 
图3中各种信号的意义如下(部分信号已在图2中出现过,其含义相同,不再说明了): 
1、p_src_inc_enable:AHB_master0接口单元当前响应通道的传输源地址是否增加。 
2、phaddr[31:0]:AHB_master0接口单元的AHB总线地址信号。 
3、phrdata[31:0]:AHB_master0接口单元的AHB总线读数据信 号。 
4、mem_addr:DMA数据缓存寄存器组地址信号。 
5、mem_wda:DMA数据缓存寄存器组写数据信号。 
6、hready:AHB_master0接口单元的AHB总线ready信号。 
7、q_ram_select:指示AHB_master1接口单元读DMA数据缓存寄存器组的哪一片。其值与当前AHB_master0接口单元已经完成的一次INCR4类型或者4个连续的SINGLE类型传输中,指示将从源地址读回的数据存储到DMA数据缓存寄存器组哪一片的p_ram_select值保持一致。 
8、qahb_req:AHB_master0接口单元根据DMA数据缓存寄存器组中有效的数据产生对AHB_master1接口单元的请求信号。 
9、q_src_inc_enable:AHB_master1接口单元当前响应通道的传输目的地址是否增加。 
10、qahb_size[1:0]:AHB_master1接口单元当前响应通道的数据宽度。 
11、q_src_addr[31:0]:AHB_master1接口单元当前响应通道的目的地址。 
12、qahb_ack:AHB_master1接口单元完成当前需要响应的通道号的数据传输时,给出的完成信号。 
AHB_master1接口单元:AHB_master1接口单元的AHB总线总是对数据目的进行操作,即总是进行AHB写操作。每一次选中设备进行一次数据传输也为INCR4类型或者4个连续的SINGLE类型传输,并在这一次数据传输完成时产生qahb_ack完成信号。即在检测到AHB_master0接口单元发出的qahb_req请求信号后,将AHB_master0接口单元提供的与当前响应的通道号对应的数据目的的起始地址,以及目的地址是否增加信号转换为AHB_master1接口单元的AHB总线行为。根据AHB_master0接口单元提供q_ram_select的值,从DMA数据缓存寄存器组里面读出相应的数据,并通过AHB_master1接口单元 的AHB总线写到目的地址q_src_addr对应的地址上去。AHB_master1接口单元输入输出信号的时序如图4所示。 
图4中各种信号的意义如下(部分信号已在图3中出现过,其含义相同,不再说明了): 
1、mem_addrb:DMA数据缓存寄存器组读地址信号。 
2、mem_rdb:DMA数据缓存寄存器组读数据信号。 
3、qhaddr[31:0]:AHB_master1接口单元的AHB总线地址信号。 
4、qhwdata[31:0]:AHB_master1接口单元的AHB总线写数据信号。 
如上所述,本发明所述的基于双AHB Master接口的片上DMA控制器的实现方法中: 
DMA配置寄存器单元:在DMA控制器开始工作前,由ARM微处理器通过APB总线对DMA控制器中的DMA配置寄存器单元进行初始化配置。 
DMA数据缓存寄存器组:用来缓存数据,内部数据流为3级流水。可减少数据传输延时。 
仲裁单元:当前DMA控制器的32个DMA通道的有效请求为两个或两个以上时,仲裁单元决定由哪个通道进行数据传输工作。 
AHB_master0接口单元:AHB_master0接口单元的AHB总线总是对数据源进行操作,即总是进行AHB总线读操作。 
AHB_master1接口单元:AHB_master1接口单元的AHB总线总是对数据目的进行操作,即总是进行AHB总线写操作。 
这种基于双AHB Master接口的片上DMA控制器的数据传输过程的实现方法可以具体分为以下几个步骤: 
步骤1,ARM微处理器通过APB总线对DMA控制器中的DMA配置寄存器单元进行初始化配置(即对32个通道下配置)。所述配置的具体过程详见上述。 
步骤2,DMA控制器等待出现的DMA请求信号dma_req(主动模 式,被动模式,软件模式均有效)或dma_last_req(仅在被动模式下有效),在dma_req对应的通道的使能有效的情况下,根据有效的请求信号DMA控制器的仲裁单元仲裁出当前需要响应的通道号current_num[6:0],并同时产生pahb_req信号和current_last_req,给AHB_master0接口单元,所述信号的具体产生过程详见上述。如果没有请求则继续等待执行步骤2。 
步骤3,当AHB_master0接口单元在pahb_req信号为高的情况下,得到仲裁单元仲裁出的通道号后,根据这个通道号对应通道的配置信息,所述对应通道的配置信息包括:对应通道的工作模式,有效数据宽度,数据源的起始地址,数据目的的起始地址,以及传输数据长度,将其转变为一次INCR4(循序位址增加)类型或4个连续SINGLE(单次)类型的AHB_master0的AHB总线信号,根据p_ram_select的指示将从源地址读回的数据存储在DMA数据缓存寄存器组中,并对这个通道读回的数据量进行计数(data_count)。每次INCR4类型或者4个连续SINGLE类型的传输完成时产生pahb_ack完成信号,给仲裁单元。同时将产生的qahb_req信号、该通道的配置信息以及数据存储的位置q_ram_select(即DMA数据缓存寄存器组的哪一片)传递给AHB_master1接口单元。 
步骤4,AHB_master1接口单元在qahb_req信号为高的情况下,获得AHB_master0接口单元传递的信息后,将其转变为一次INCR4类型或4个连续SINGLE类型的AHB_master1的AHB总线信号,根据q_ram_select的指示从DMA数据缓存寄存器组里面读出相应的数据,并通过AHB_master1接口单元的AHB总线写到目的地址上去。每次INCR4类型或者4个连续SINGLE类型的传输完成时产生qahb_ack完成信号,给AHB_master0接口单元。 
步骤5,若DMA控制器完成当前响应通道本次DMA请求全部的数据传输,AHB_master0接口单元同时将该通道对应的DMA中断信号dma_int和DMA请求清零信号dma_clr信号拉高,并用dma_clr信号清零对应通道的外设或内存RAM发出的dma_req,使其不参加下一次 的仲裁;DMA配置寄存器单元在检测到中断信号dma_int时,将对应的通道的通道完成状态寄存器置高,对应通道的使能信号关闭,此时表示该通道的请求响应完成,跳到步骤7;若DMA控制器未完成当前响应通道本次DMA请求全部的数据传输,则跳到步骤6; 
步骤6,当DMA控制器未完成当前响应通道本次DMA请求全部的数据传输,则不作任何信号调整,直接跳转到步骤2,此时该通道对应的DMA请求信号dma_req或dma_last_req依然有效,与其它未被DMA控制器响应的有效通道请求一起参与仲裁单元的下一次仲裁。 
步骤7,ARM微处理器通过APB总线对DMA控制器中,已完成本次DMA请求全部数据传输的当前响应通道的配置寄存器单元(源地址寄存器,目的地址寄存器,传输数据长度寄存器)进行重新配置,并重新打开当前响应通道的使能信号后跳到步骤2。 
进一步,这种基于双AHB master接口的片上DMA控制器内部有32个通道,其中每次DMA控制器数据传输只响应其中一个通道,每个通道的实现方法相同,即都按上述步骤1~7处理数据。 
进一步,当DMA控制器未完成当前响应通道n全部的数据传输时,n=0,1,2……31,其后续数据传输过程如下: 
1)在DMA控制器通道n开始数据传输之前,ARM微控制器通过APB总线对通道n的通道配置寄存器,源地址寄存器,目的地址寄存器,传输数据长度寄存器进行相应配置,并打开通道n的使能信号。 
2)仲裁单元根据仲裁原则确定响应通道n。 
3)AHB_master0接口单元将根据通道n的源地址寄存器发出相应的一次INCR4类型或者4个连续SINGLE类型的传输地址及控制信号(当这个通道号对应的通道配置寄存器中P_src_inc_enable的值为1,则以前该通道号对应的源地址P_src_addr为起始地址,转变为一次INCR4类型的AHB总线传输;若P_src_inc_enable的值为0,则同样以P_src_addr为起始地址转变为4个连续SINGLE类型的AHB总线传输)。将从源地址读回数据,存到DMA数据缓存寄存器组。并对读回的数据量按字节进行计数(data_count)。并在DMA控制器完 成通道n本次DMA请求全部的数据传输时产生通道n请求的清零信号dma_clr和中断信号dma_int(所述信号的具体产生过程详见上述)。同时将该通道的配置信息(工作模式,有效数据宽度,数据源的起始地址,数据目的的起始地址,以及传输数据长度)以及数据存储的位置q_ram_select(即DMA数据缓存寄存器组的哪一片)传递给AHB_master1接口单元。 
4)AHB_master1接口单元将根据通道n的目的地址寄存器(P_des_addr)发出相应的一次符合AHB总线要求的INCR4类型或者4个连续SINGLE类型的传输地址及控制信号(当这个通道号对应的通道配置寄存器中P_dst_inc_enable的值为1,则以前该通道号对应的源地址P_des_addr为起始地址,转变为一次INCR4类型的AHB总线传输;若P_dst_inc_enable的值为0,则同样以P_des_addr为起始地址转变为4个连续SINGLE类型的AHB总线传输)。同时根据q_ram_select信号的指示将从DMA数据缓存寄存器组读出的数据,写到相应的目的地址上。 
5)该通道为主动模式或软件模式的情况下:若通道n的计数器(data_count)未达到传输数据长度寄存器配置的值,即DMA控制器未完成当前响应通道本次DMA请求全部的数据传输,则重复执行步骤2),3),4),否则执行步骤6)。 
该通道为被动模式的情况下,若仲裁单元未检测到通道n的dma_last_req有效,或DMA控制器未完成当前响应通道本次DMA请求全部的数据传输,则重复执行步骤2),3),4),否则执行步骤6) 
6)通道n的数据传输结束,通道n的使能关闭。 

Claims (7)

1.一种基于双AHB Master接口的片上DMA控制器实现方法,其特征在于包括以下步骤:
步骤1,在DMA控制器开始工作前,由ARM微处理器通过APB总线对DMA控制器中的DMA配置寄存器单元进行初始化配置,所述初始化配置包括:对32个DMA通道的通道配置寄存器,源地址寄存器,目的地址寄存器,传输数据长度寄存器进行初始化配置,即确定每个DMA通道的使能,工作模式,有效数据宽度,数据源的起始地址,数据目的的起始地址,以及传输数据长度;所述工作模式包括主动模式,被动模式,软件模式;所述有效数据宽度包括byte,half word,word;
步骤2,开始数据传输过程,DMA控制器等待出现的DMA请求信号,所述DMA请求信号为在主动模式,被动模式,软件模式下均有效的dma_req,或仅在被动模式下有效的dma_last_req,在dma_req对应的通道的使能有效的情况下,根据有效的请求信号DMA控制器的仲裁单元仲裁出当前需要响应的通道号,并同时产生对AHB_master0接口单元的请求信号pahb_req信号和告知AHB_master0接口单元接下来进行最后一批数据传输current_last_req信号,给AHB_master0接口单元,如果没有请求则继续在此步骤中等待执行;
步骤3,当AHB_master0接口单元在pahb_req信号为高的情况下,得到仲裁单元仲裁出的通道号后,根据这个通道号对应通道的配置信息,所述对应通道的配置信息包括:对应通道的工作模式,有效数据宽度,数据源的起始地址,数据目的的起始地址,以及传输数据长度,将对应通道的配置信息转变为一个INCR4类型或4个连续SINGLE类型的AHB_master0的AHB总线信号,根据AHB_master0接口单元读回数据后缓存到寄存器组p_ram_select信号的指示将从源地址读回的数据存储在DMA数据缓存寄存器组中,并对这个通道读回的数据量进行计数,每次INCR4类型或者4个连续SINGLE类型的传输完成时产生pahb_ack完成信号,给仲裁单元,同时将产生的qahb_req信号、该通道的配置信息以及数据存储的位置q_ram_select传递给AHB_master1接口单元;
步骤4,AHB_master1接口单元在qahb_req信号为高的情况下,获得AHB_master0接口单元传递的信息后,将其转变为一个INCR4类型或4个连续SINGLE类型的AHB_master1的AHB总线信号,根据q_ram_select的指示从DMA数据缓存寄存器组里面读出相应的数据,并通过AHB_master1接口单元的AHB总线写到目的地址上去;每次INCR4类型或者4个连续SINGLE类型的传输完成时产生qahb_ack完成信号,给AHB_master0接口单元,
步骤5,当DMA控制器完成当前响应通道本次DMA请求全部的数据传输,AHB_master0接口单元同时将该通道对应的DMA中断信号dma_int和DMA请求清零信号dma_clr信号拉高,并用dma_clr信号清零对应通道的外设或内存RAM发出的dma_req,使其不参加下一次的仲裁;DMA配置寄存器单元在检测到中断信号dma_int时,将对应的通道的通道完成状态寄存器置高,对应通道的使能信号关闭,此时表示该通道的请求响应完成,跳到步骤7;若DMA控制器未完成当前响应通道本次DMA请求全部的数据传输,则跳到步骤6;
步骤6,当DMA控制器未完成当前响应通道本次DMA请求全部的数据传输,则不作任何信号调整,直接跳转到步骤2;此时该通道对应的DMA请求信号dma_req或dma_last_req依然有效,与其它未被DMA控制器响应的有效通道请求一起参与仲裁单元的下一次仲裁;
步骤7,ARM微处理器通过APB总线对DMA控制器中,已完成本次DMA请求全部数据传输的当前响应通道的配置寄存器单元进行重新配置,所述配置寄存器单元包括:源地址寄存器,目的地址寄存器,传输数据长度寄存器,并重新打开当前响应通道的使能信号后跳到步骤2。
2.如权利要求1所述的基于双AHB Master接口的片上DMA控制器实现方法,其特征在于:每次DMA控制器数据传输只响应32个通道中的一个通道,每个通道的实现方法相同。
3.如权利要求1所述的基于双AHB Master接口的片上DMA控制器实现方法,其特征在于,当DMA控制器未完成当前响应通道n全部的数据传输时,n=0,1,2……31,其后续数据传输过程如下:
1)在DMA控制器通道n开始数据传输之前,ARM微控制器通过APB总线对通道n的通道配置寄存器,源地址寄存器,目的地址寄存器,传输数据长度寄存器进行相应配置,并打开通道n的使能信号;
2)仲裁单元根据仲裁原则确定响应通道n;
3)AHB_master0接口单元将根据通道n的源地址寄存器发出相应的一个INCR4类型或者4个连续SINGLE类型的传输地址及控制信号;将从源地址读回的数据,存到DMA数据缓存寄存器组;并对读回的数据量按字节进行计数;并在DMA控制器完成通道n本次DMA请求全部的数据传输时产生通道n请求的清零信号dma_clr和中断信号dma_int,同时将该通道的配置信息以及数据存储的位置q_ram_select传递给AHB_master1接口单元,
4)AHB_master1接口单元将根据通道n的目的地址寄存器发出相应的一个符合AHB总线要求的INCR4类型或者4个连续SINGLE类型的传输地址及控制信号,同时根据q_ram_select信号的指示将从DMA数据缓存寄存器组读出的数据,写到对应的目的地址上;
5)该通道为主动模式或软件模式的情况下:若通道n的计数器未达到传输数据长度寄存器配置的值,则重复执行步骤2),3),4),否则执行步骤6);
该通道为被动模式的情况下,若仲裁单元未检测到通道n的dma_last_req有效,或DMA控制器未完成当前响应通道本次DMA请求全部的数据传输,则重复执行步骤2),3),4),否则执行步骤6);
6)通道n的数据传输结束,通道n的使能关闭。
4.如权利要求1或2或3所述的基于双AHB Master接口的片上DMA控制器实现方法,其特征在于:在一次数据传输过程中,AHB_master0总线用于对传输源进行读数据,AHB_master1总线用于对传输目的进行写数据。
5.如权利要求1或2或3所述的基于双AHB Master接口的片上DMA控制器实现方法,其特征在于:DMA数据缓存寄存器组用来缓存数据,内部数据流从AHB_master0接口单元到DMA数据缓存寄存器组最后到AHB_master1接口单元,整个内部数据传输过程按照3级流水线的模式操作。
6.如权利要求1或2或3所述的基于双AHB Master接口的片上DMA控制器实现方法,其特征在于:在DMA控制器完成一次DMA数据传输时产生一个中断信号用来指示一次传输完毕,或在DMA计数器计数满后产生中断信号用来指示一次传输完毕。
7.如权利要求1或2或3所述的基于双AHB Master接口的片上DMA控制器实现方法,其特征在于,所述DMA控制器包括:
DMA APB接口单元,作为APB总线接口供APB总线从DMA APB接口单元对DMA控制器的DMA配置寄存器进行配置,
DMA配置寄存器单元,由通道配置寄存器,源地址寄存器,目的地址寄存器,传输数据长度寄存器以及32个通道完成状态寄存器,32个通道完成状态屏蔽寄存器,32个通道中断屏蔽寄存器组成;所述32个通道为32个DMA通道,32个DMA通道都有各自的通道配置寄存器,源地址寄存器,目的地址寄存器和传输数据长度寄存器,其中每个通道配置寄存器的有效位宽为8位,
DMA数据缓存寄存器组:寄存器组空间为32byte,宽度为32bits,深度为8,且能进行字节写,有两个接口,一个为读口,另一个为写口,在内部分为两片A和B,每片空间为16byte,通过AHB_master0或AHB_master1接口单元的读回数据后缓存到寄存器组ram_select信号来选择当前对哪片寄存器组操作,
仲裁单元:从当前的32个DMA通道的有效请求中,根据当前响应的通道号,仲裁出下一个响应的一个通道号,连同下一个响应的通道对应的所有配置寄存器单元信息传递给AHB_master0接口单元,并在接收到当前通道的AHB_master0接口单元响应完成信号pahb_ack后,产生对AHB_master0接口单元下一次的请求pahb_req;仲裁单元仲裁的原则是轮询,其仲裁的时间是检测到pahb_ack信号为高电平或者32个通道均无有效请求的空闲状态,每次只有一个输入请求得到响应;检测仲裁单元当前响应的通道的通道配置模式,如果配置为被动模式,则预先配置当前响应通道的数据传输长度无效,同时根据检测当前响应通道的dma_last_req信号是否为高电平,如果为高电平,则表示当前响应的通道只剩最后一个INCR4类型或4个连续SINGLE类型数据需要传输,此时仲裁单元需要使送出的current_last_req信号为高电平,以此信号告知AHB_master0接口单元接下来进行最后一次数据传输,如果仲裁单元当前响应的通道的模式为主动模式或者软件模式,则使输出的current_last_req信号为低电平,
AHB_master0接口单元:AHB_master0接口单元的AHB总线总是对数据源进行操作,即总是进行AHB总线读操作,在检测到仲裁单元发出的pahb_req请求信号后,将即将响应的通道号对应的所有配置寄存器单元信息转换为AHB_master0接口单元的一个INCR4类型或者4个连续的SINGLE类型传输,根据p_ram_select的指示将源地址p_src_addr对应的数据读回到DMA数据缓存寄存器组,并对这个通道读回的数据量进行计数,并在这一次传输完成时产生pahb_ack完成信号,在完成当前响应通道本次DMA请求全部的数据传输时产生dma请求清零信号dma_clr和中断信号dma_int,否则不产生,
AHB_master1接口单元:AHB_master1接口单元的AHB总线总是对数据目的进行操作,即总是进行AHB写操作,每一次选中设备进行一次数据传输也为INCR4类型或者4个连续的SINGLE类型传输,并在这一次数据传输完成时产生qahb_ack完成信号;即在检测到AHB_master0接口单元发出的qahb_req请求信号后,将AHB_master0接口单元提供的与当前响应的通道号对应的数据目的的起始地址,以及目的地址是否增加信号转换为AHB_master1接口单元的AHB总线写操作,根据AHB_master0接口单元提供q_ram_select的值,从DMA数据缓存寄存器组里面读出相应的数据,并通过AHB_master1接口单元的AHB总线写到目的地址q_src_addr对应的地址上去。
CN2010102503685A 2010-08-11 2010-08-11 一种基于双AHB Master接口的片上DMA控制器实现方法 Expired - Fee Related CN101901200B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102503685A CN101901200B (zh) 2010-08-11 2010-08-11 一种基于双AHB Master接口的片上DMA控制器实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102503685A CN101901200B (zh) 2010-08-11 2010-08-11 一种基于双AHB Master接口的片上DMA控制器实现方法

Publications (2)

Publication Number Publication Date
CN101901200A CN101901200A (zh) 2010-12-01
CN101901200B true CN101901200B (zh) 2012-01-11

Family

ID=43226745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102503685A Expired - Fee Related CN101901200B (zh) 2010-08-11 2010-08-11 一种基于双AHB Master接口的片上DMA控制器实现方法

Country Status (1)

Country Link
CN (1) CN101901200B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105912492A (zh) * 2016-04-01 2016-08-31 西北工业大学 Axi互联总线的扩展方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231142B (zh) * 2011-07-21 2013-12-11 浙江大学 一种带有仲裁器的多通道dma控制器
CN102541780B (zh) * 2011-12-15 2014-10-22 苏州国芯科技有限公司 一种多数据流通道dma系统
CN103309798B (zh) * 2012-03-12 2016-01-13 上海交通大学 一种dsp调试装置
CN102710890B (zh) * 2012-04-06 2014-11-05 东莞中山大学研究院 双ahb总线的视频处理片上系统
CN103198043B (zh) * 2013-01-24 2016-05-11 杭州中科微电子有限公司 一种改进的AHB to APB总线桥及其控制方法
CN103970709A (zh) * 2014-04-29 2014-08-06 国家电网公司 一种fft协处理器与主处理器通信方法
CN105988953B (zh) * 2015-02-12 2019-03-12 深圳市中兴微电子技术有限公司 一种直接内存存取dma控制器及数据传输的方法
CN104750639A (zh) * 2015-04-09 2015-07-01 东南大学 基于amba总线的增强型dma控制器
DE102016206109A1 (de) * 2016-04-13 2017-10-19 Robert Bosch Gmbh Speicherdirektzugriffssteuereinrichtung für mindestens eine einen Arbeitsspeicher aufweisende Recheneinheit
KR102392844B1 (ko) * 2017-03-10 2022-05-03 삼성전자주식회사 메모리 컨트롤러 및 그것을 포함하는 저장 장치
CN107753000A (zh) * 2017-11-28 2018-03-06 合肥学院 用于光电容积脉搏波描记法的外部设备的数据处理方法
CN109189701B (zh) * 2018-08-20 2020-12-29 深圳忆联信息系统有限公司 一种针对嵌入式存储接口数据传输的方法及其系统
CN109902044B (zh) * 2019-02-28 2020-10-16 厦门码灵半导体技术有限公司 一种控制系统、一组控制系统及其设计方法、电子装置
CN113064709B (zh) * 2021-04-09 2023-04-07 思澈科技(上海)有限公司 一种适用于mcu芯片的任务调度方法及系统
CN113190400B (zh) * 2021-04-19 2022-11-04 思澈科技(上海)有限公司 一种适用于ahb协议的总线监控模块与监控方法
CN114328322B (zh) * 2022-03-17 2022-08-05 之江实验室 一种可配置功能模式的dma控制器运行方法
CN115114201B (zh) * 2022-06-27 2024-07-02 山东云海国创云计算装备产业创新中心有限公司 一种fsi控制器和包括其的bmc芯片
CN115880134B (zh) * 2023-01-31 2024-04-16 南京砺算科技有限公司 采用矢量寄存器的常量数据处理方法及图形处理器、介质
CN116775524B (zh) * 2023-06-19 2024-02-02 无锡摩芯半导体有限公司 一种dma链表模式的lli动态写入方法
CN116974963B (zh) * 2023-09-25 2023-12-15 上海云豹创芯智能科技有限公司 一种访问存储器的装置及其方法、芯片、存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1661580A (zh) * 2004-02-25 2005-08-31 中国科学院计算技术研究所 直接存储器访问传输装置及其方法
CN1825292A (zh) * 2005-02-23 2006-08-30 华为技术有限公司 一种直接存储器存取装置及单通道双向数据交互实现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1661580A (zh) * 2004-02-25 2005-08-31 中国科学院计算技术研究所 直接存储器访问传输装置及其方法
CN1825292A (zh) * 2005-02-23 2006-08-30 华为技术有限公司 一种直接存储器存取装置及单通道双向数据交互实现方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105912492A (zh) * 2016-04-01 2016-08-31 西北工业大学 Axi互联总线的扩展方法
CN105912492B (zh) * 2016-04-01 2019-05-14 西北工业大学 Axi互联总线的扩展方法

Also Published As

Publication number Publication date
CN101901200A (zh) 2010-12-01

Similar Documents

Publication Publication Date Title
CN101901200B (zh) 一种基于双AHB Master接口的片上DMA控制器实现方法
CN102231142B (zh) 一种带有仲裁器的多通道dma控制器
CN109032973B (zh) Icb总线系统
CN106951388A (zh) 一种基于PCIe的DMA数据传输方法及系统
CN102841871B (zh) 基于高速串行总线的DMA结构的pipeline读写方法
CN108536642A (zh) 大数据运算加速系统和芯片
CN104599227A (zh) 用于高速ccd数据存储的ddr3仲裁控制器及方法
CN102253909A (zh) Fpga环境下多用途pci接口及其数据传输方法
CN104679691B (zh) 一种用于gpdsp的采用主机计数的多核dma分段数据传输方法
CN104284079B (zh) 星载遥感图像智能识别装置
CN203812236U (zh) 一种基于处理器和现场可编程门阵列的数据交换系统
CN106951381A (zh) 一种uart扩展芯片及实现方法
CN105786741B (zh) 一种soc高速低功耗总线及转换方法
CN110188059A (zh) 数据有效位统一配置的流控式fifo缓存结构及方法
US9069912B2 (en) System and method of distributed initiator-local reorder buffers
CN105676689B (zh) 实时软件接收机中采集数据循环存储与分发方法
CN106372029A (zh) 一种基于中断的点对点片内通信模块
CN102147780A (zh) 一种基于串行数据传输方式的链路接口电路
CN112882986B (zh) 一种带有超节点以及超节点控制器的众核处理器的应用方法
CN100547572C (zh) 动态建立直接内存访问通路的方法及系统
CN108234147A (zh) Gpdsp中基于主机计数的dma广播数据传输方法
CN102591817A (zh) 一种多总线桥控制器及其实现方法
CN107704407A (zh) 一种用于spi和uart之间数据处理的系统和方法
CN115328832B (zh) 一种基于pcie dma的数据调度系统与方法
CN104598420B (zh) 一种1394总线SoC芯片架构

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20170607

Address after: 430074, Hubei Wuhan East Lake Development Zone, Kanto Industrial Park, beacon Road, optical communications building, industrial building, two floor

Patentee after: WUHAN FISILINK MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Address before: China Science and Technology Park Dongxin road East Lake Development Zone 430074 Hubei Province, Wuhan City, No. 5

Patentee before: FIBERHOME TELECOMMUNICATION TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170809

Address after: 430000 East Lake high tech Development Zone, Hubei Province, No. 6, No., high and new technology development zone, No. four

Co-patentee after: WUHAN FISILINK MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Patentee after: FIBERHOME TELECOMMUNICATION TECHNOLOGIES Co.,Ltd.

Address before: 430074, Hubei Wuhan East Lake Development Zone, Kanto Industrial Park, beacon Road, optical communications building, industrial building, two floor

Patentee before: WUHAN FISILINK MICROELECTRONICS TECHNOLOGY Co.,Ltd.

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

Granted publication date: 20120111

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