直接存储访问控制器数据传输系统与方法技术方案

技术编号:2825251 阅读:230 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种直接存储访问控制器数据传输系统与方法,该系统包括:第一与第二存储器、微控制器及包括有命令与地址寄存器的直接存储访问控制器。微控制器给命令寄存器配置读写第一存储器的访问命令及给地址寄存器配置访问第一存储器的起始地址。在需要直接存储访问传输时,直接存储访问控制器被微控制器启动并根据命令寄存器和地址寄存器的内容向第一存储器发送访问命令和起始地址。微控制器更新地址寄存器内第一存储器的起始地址后,直接存储访问控制器根据命令寄存器的内容及地址寄存器的更新内容向第一存储器再次发送访问命令及起始地址,从而实现第一和第二直接存储器之间存储访问传输的切换。

【技术实现步骤摘要】

本专利技术涉及数据处理领域,特别涉及一种直接存储访问(Direct MemoryAccess,简称DMA)控制器数据传输系统及方法。
技术介绍
目前,计算机系统和外部设备之间、或者计算机系统不同内存之间的数据传输通常通过中央处理器(Central Processor Unit,简称CPU)进行。CPU可以采用程控法或者中断法控制与外部设备之间的数据传输,但是这两种数据传输的方式都比较慢。当高速外部设备和计算机系统内存之间、或者计算机系统中不同的内存之间进行大量数据快速传输时,这两种数据传输的方式就在一定程度上限制了数据传输的速率。为了提高计算机系统和外部设备之间、或者计算机系统不同内存之间数据传输的速度,出现了DMA((DirectMemory Access)技术。DMA技术是一种高速的数据传输操作,其允许计算机系统和外部设备之间、或者计算机系统不同内存之间直接读写数据,即不通过CPU、也不需要CPU干预。整个数据传输的操作在DMA控制器的控制下进行,CPU除了在数据传输开始和结束时,给出数据传输开始和结束的指令,在数据传输的过程中对数据传输不再进行其他的处理。这样,在大部分时间内,CPU处理其他过程和数据传输过程可以并行操作,使整个计算机系统的效率大大提高。同样地,在嵌入式芯片系统或者DSP系统中,为了提高数据传输的速度和系统的工作效率,也可以通过DMA技术传输数据。现有的DMA控制器对芯片外部的存储器进行读写的一般包括如下步骤:芯片内部的微控制器(Micro Controller Unit,简称MCU)通过输入输出接口向芯片外部的存储器发送读写命令;MCU通过输入输出接口给外部的存储器配置读写地址;MCU-->控制DMA控制器启动DMA通过输入输出接口向外部存储器读写数据;DMA控制器读写数据完毕,发中断给MCU,MCU决定下一次DMA传输是否开始,如果开始,则回到第一步。由此可以看出,现有的DMA控制器对芯片外部存储器进行读写,都是通过内部MCU对外部存储器发送读写命令,然后把控制权交给DMA控制器,再进行数据读写,这样浪费了很多握手时间。另外,现有的DMA控制器对芯片外部存储器进行读写,都是通过内部MCU对外部存储器发送读写地址,并且所述外部存储器只有在收到读写命令之后才能识别接收读写地址,因此只要需要从另一起始地址开始DMA传输,则必须要MCU对外部存储器重新发送读写命令及读写地址,这样不但加重了MCU的工作负荷,同时也影响响应速度,使DMA传输在读写地址切换时不流畅。
技术实现思路
本专利技术的目的在于提供一种直接存储访问控制器数据传输系统及方法,其可以加快硬件速度、使DMA传输的切换保持流畅。根据本专利技术的一方面,本专利技术提供了一种直接存储访问控制器数据传输系统,其包括:第一存储器、第二存储器、微控制器、直接存储访问控制器。所述直接存储访问控制器包括有命令寄存器与地址寄存器,所述微控制器给所述命令寄存器配置读写第一存储器的访问命令以及给所述地址寄存器配置访问第一存储器的起始地址,在需要直接存储访问传输时,所述微控制器启动所述直接存储访问控制器,所述直接存储访问控制器根据所述命令寄存器的内容向所述第一存储器发送访问命令以及根据地址寄存器的内容向所述第一存储器发送起始地址以启动第一存储器与第二存储器之间的直接存储访问传输,在需要切换直接存储访问传输时,所述微控制器更新所述地址寄存器内的第一存储器的起始地址,所述直接存储访问控制器根据所述命令寄存器的内容向所述第一存储器再次发送访问命令以及根据地址寄存器的更新内容向所述第一存储器再次发送起始地址,从而实现第一存储器与第二存储器之间直接存储访问传输的切换。-->进一步的,所述第二存储器、微控制器及直接存储访问控制器集成于一集成电路内,所述集成电路通过其内设置的输入输出接口与第一存储器通信。进一步的,所述直接存储访问控制器包括大小寄存器,在每次所述微控制器向所述地址寄存器配置或更新第一存储器的起始地址时,需同时向所述大小寄存器配置或更新传输数据量的大小;所述直接存储访问控制器根据根据大小寄存器中的数据量大小判断所述直接存储访问传输是否完成。进一步的,所述直接存储访问控制器还包括控制寄存器,所述控制寄存器内具有直接存储访问传输启动位,所述微控制器通过配置直接存储访问传输启动位来启动所述直接存储访问控制器。进一步的,所述控制寄存器内具有直接存储访问传输控制位,所述微控制器通过配置直接存储访问传输控制位来控制在完成所述直接存储访问传输后是否继续直接存储访问传输;在需要继续直接存储访问传输时,所述直接存储访问控制器根据所述命令寄存器的内容向所述第一存储器再次发送读写命令,就可再次启动第一存储器与第二存储器之间的直接存储访问传输。根据本专利技术的另一方面,本专利技术提供了一种直接存储访问控制器数据传输方法,应用于一数据传输系统中,所述系统包括第一存储器、第二存储器、微控制器、直接存储访问控制器,所述方法包括:所述微控制器向所述直接存储访问控制器配置访问第一存储器的访问命令及访问第一存储器的起始地址;在需要直接存储访问传输时,所述微控制器启动所述直接存储访问控制器;所述直接存储访问控制器向所述第一存储器发送访问命令及起始地址以启动第一存储器与第二存储器之间的直接存储访问传输;在需要切换直接存储访问传输时,所述微控制器更新所述地址寄存器内的第一存储器的起始地址,所述直接存储访问控制器根据所述命令寄存器的内容向所述第一存储器再次发送访问命令以及根据地址寄存器的更新内容向所述第一存储器再次发送起始地址,从而实现第一存储器与第二存储器之间直接存储访问传输的切换。进一步的,所述微控制器还向所述直接存储访问控制器配置传输数据量-->的大小;在直接存储访问传输时,根据配置的数据量大小判断所述直接存储访问传输是否完成。进一步的,所述微控制器还向所述直接存储访问控制器配置是否在完成所述直接存储访问传输后继续进行直接存储访问传输;在需要继续直接存储访问传输时,所述直接存储访问控制器向所述第一存储器再次发送访问及起始地址以再次启动第一存储器与第二存储器之间的直接存储访问传输。本专利技术技术方案与现有的方案相比,在需要启动DMA传输时,不是由微控制器向外部存储器发送读写命令,而是由DMA控制器代替微控制器发送读写命令来启动DMA传输,这样不但省去了很多握手时间,还减轻了微控制器的工作负担,提高了工作效率。此外,在需要切换DMA传输时,所述微处理器只需直接更新DMA控制器内的大小寄存器和地址寄存器,所述DMA控制器便能无间歇的、流畅的实现DMA传输的动态切换。【附图说明】图1为本专利技术直接存储访问控制器数据传输系统的一个实施例的结构方框图;图2为本专利技术直接存储访问控制器数据传输系统中的直接存储访问控制器的一个实施例的具体结构方框图;图3是本专利技术直接存储访问控制器数据传输方法的一个实施例的流程示意图;及图4是本专利技术直接存储访问控制器数据传输系统中的外部存储器的一个实施例的内部存储示意图。【具体实施方式】以下结合附图对本专利技术具体实施方式进行说明。在一个实施例中,本专利技术提出了一种直接存储访问(Direct Memory-->Access,简称DMA)控制器数据传输系统,其中图1示出了所述DMA本文档来自技高网
...

【技术保护点】
一种直接存储访问控制器数据传输系统,其包括:第一存储器、第二存储器、微控制器、直接存储访问控制器,其特征在于:所述直接存储访问控制器包括有命令寄存器与地址寄存器,所述微控制器给所述命令寄存器配置读写第一存储器的访问命令以及给所述地址寄存器配置访问第一存储器的起始地址;在需要直接存储访问传输时,所述微控制器启动所述直接存储访问控制器,所述直接存储访问控制器根据所述命令寄存器的内容向所述第一存储器发送访问命令以及根据地址寄存器的内容向所述第一存储器发送起始地址以启动第一存储器与第二存储器之间的直接存储访问传输;在需要切换直接存储访问传输时,所述微控制器更新所述地址寄存器内的第一存储器的起始地址,所述直接存储访问控制器根据所述命令寄存器的内容向所述第一存储器再次发送访问命令以及根据地址寄存器的更新内容向所述第一存储器再次发送起始地址,从而实现第一存储器与第二存储器之间直接存储访问传输的切换。

【技术特征摘要】
1、一种直接存储访问控制器数据传输系统,其包括:第一存储器、第二存储器、微控制器、直接存储访问控制器,其特征在于:所述直接存储访问控制器包括有命令寄存器与地址寄存器,所述微控制器给所述命令寄存器配置读写第一存储器的访问命令以及给所述地址寄存器配置访问第一存储器的起始地址;在需要直接存储访问传输时,所述微控制器启动所述直接存储访问控制器,所述直接存储访问控制器根据所述命令寄存器的内容向所述第一存储器发送访问命令以及根据地址寄存器的内容向所述第一存储器发送起始地址以启动第一存储器与第二存储器之间的直接存储访问传输;在需要切换直接存储访问传输时,所述微控制器更新所述地址寄存器内的第一存储器的起始地址,所述直接存储访问控制器根据所述命令寄存器的内容向所述第一存储器再次发送访问命令以及根据地址寄存器的更新内容向所述第一存储器再次发送起始地址,从而实现第一存储器与第二存储器之间直接存储访问传输的切换。2、如权利要求1所述的系统,其特征在于:所述第二存储器、微控制器及直接存储访问控制器集成于一集成电路内,所述集成电路通过其内设置的输入输出接口与第一存储器通信。3、如权利要求1所述的系统,其特征在于:所述直接存储访问控制器包括大小寄存器,在每次所述微控制器向所述地址寄存器配置或更新第一存储器的起始地址时,需同时向所述大小寄存器配置或更新传输数据量的大小;所述直接存储访问控制器根据根据大小寄存器中的数据量大小判断所述直接存储访问传输是否完成。4、如权利要求1所述的系统,其特征在于:所述直接存储访问控制器还包括控制寄存器,所述控制寄存器内具有直接存储访问传输启动位,所述微控制器通过配置直接存储访问传输启动位来启动所述直接存储访问控制器。5、如权利要求4所述的系统,其特征在于:所述控制寄存器内具有直接存储访问传输控制...

【专利技术属性】
技术研发人员:李建军付军张桂友王秉举
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

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

1