发明内容
为此,需要提供一种DDR变频的技术方案,用以解决在进行DDR变频时,操作复杂、步骤繁琐、硬件成本高等问题。
为实现上述目的,发明人提供了一种DDR变频装置,所述装置包括SDRAM模块,AXI master模块,APB slave模块,指令存储模块,指令解析模块,DMA指令读取模块;所述SDRAM模块与AXI master模块连接,所述AXI master模块与指令解析模块连接,所述指令解析模块与指令存储模块连接,所述指令存储模块与DMA指令读取模块连接,所述DMA指令读取模块与AXI master模块连接,所述DMA指令读取模块还与APB slave模块连接;
所述SDRAM模块用于存储CPU指令数据;
所述APB slave模块用于在接收到启动指令后,将启动指令传输至DMA指令读取模块;
所述DMA指令读取模块用于在接收到启动指令后,从SDRAM模块中获取指令数据,并将所获取的指令数据存储于指令存储模块;
所述指令解析模块用于解析指令存储模块中的指令数据,并将解析后的指令数据传输至AXI master模块。
进一步地,所述装置还包括DDR控制模块,所述DDR控制模块与AXImaster模块连接;则所述AXI master模块还用于接收解析后的指令数据,并将数据发送至DDR控制模块;
所述DDR控制模块用于接收AXI master模块传输的指令数据,并根据对应的指令数据对DDR进行变频。
进一步地,所述指令数据包括关闭指令和变频指令,则所述DDR控制模块用于接收关闭指令,关闭相关设备对DDR的访问操作;DDR控制模块还用于接收变频指令,对DDR进行变频。
进一步地,所述指令数据还包括恢复指令,所述DDR控制模块用于接收恢复指令,恢复相关设备对DDR的访问操作。
进一步地,所述DDR控制模块还用于在DDR变频失败后,产生中断。
发明人还提供了一种DDR变频设计方法,所述设计方法应用于DDR变频装置,所述装置包括所述SDRAM模块,AXI master模块,APB slave模块,指令存储模块,指令解析模块,DMA指令读取模块;所述SDRAM模块与AXI master模块连接,所述AXI master模块与指令解析模块连接,所述指令解析模块与指令存储模块连接,所述指令存储模块与DMA指令读取模块连接,所述DMA指令读取模块与AXI master模块连接,所述DMA指令读取模块还与APB SLAVE模块连接;所述方法包括以下步骤:
SDRAM模块存储CPU指令数据;
APB slave模块在接收到启动指令后,将启动指令传输至DMA指令读取模块;
DMA指令读取模块在接收到启动指令后,从SDRAM模块中获取指令数据,并将所获取的指令数据存储于指令存储模块;
指令解析模块解析指令存储模块中的指令数据,并将解析后的指令数据传输至AXI master模块。
进一步地,所述装置还包括DDR控制模块,所述DDR控制模块与AXImaster模块连接;则所述方法还包括:
AXI master模块接收解析后的指令数据,并将数据发送至DDR控制模块;
DDR控制模块接收AXI master模块传输的指令数据,并根据对应的指令数据对DDR进行变频。
进一步地,所述指令数据包括关闭指令和变频指令,则所述方法包括:
DDR控制模块接收关闭指令,关闭相关设备对DDR的访问操作;
DDR控制模块接收变频指令,对DDR进行变频。
进一步地,所述指令数据还包括恢复指令,则所述方法包括:
DDR控制模块接收恢复指令,恢复相关设备对DDR的访问操作。
进一步地,所述方法还包括:
DDR控制模块在DDR变频结束后,产生变频结束中断。
区别于现有技术,上述技术方案所述的DDR变频设计方法和装置,所述设计方法应用于DDR变频装置,所述装置包括所述SDRAM模块,AXI master模块,APB slave模块,指令存储模块,指令解析模块,DMA指令读取模块;所述SDRAM模块与AXI master模块连接,所述AXI master模块与指令解析模块连接,所述指令解析模块与指令存储模块连接,所述指令存储模块与DMA指令读取模块连接,所述DMA指令读取模块与AXI master模块连接,所述DMA指令读取模块还与APB SLAVE模块连接;所述方法包括以下步骤:SDRAM模块存储CPU指令数据;APB slave模块在接收到启动指令后,将启动指令传输至DMA指令读取模块;DMA指令读取模块在接收到启动指令后,从SDRAM模块中获取指令数据,并将所获取的指令数据存储于指令存储模块;指令解析模块解析指令存储模块中的指令数据,并将解析后的指令数据传输至AXI master模块。相比于M3处理器,本装置架构简单,大大降低了硬件成本,且可以实现指令数据的快速读取、存储和解析。当需要对DDR进行变频时,指令解析模块可以解析到DDR变频指令,将DDR变频指传输至AXI master模块,AXI master模块会通过AXI总线将变频指令传输至对应的变频模块,进而完成DDR变频。采用上述设计方法,不仅大大简化了DDR变频时指令读取、存储、解析的操作流程,同时也降低了硬件成本,使得DDR变频变得快速高效,有利于降低功耗,因而在数据通信技术领域具有广阔的市场前景。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,为本发明一实施例涉及的DDR变频装置的示意图。所述装置包括SDRAM模块101,AXI master模块102,APB slave模块103,指令存储模块104,指令解析模块105,DMA指令读取模块106;所述SDRAM模块与AXI master102模块连接,所述AXI master102模块与指令解析模块105连接,所述指令解析模块105与指令存储模块104连接,所述指令存储模块104与DMA指令读取模块106连接,所述DMA指令读取模块106与AXI master模块102连接,所述DMA指令读取模块106还与APB slave模块103连接;
所述SDRAM模块用于存储CPU指令数据;
所述APB slave模块用于在接收到启动指令后,将启动指令传输至DMA指令读取模块;
所述DMA指令读取模块用于在接收到启动指令后,从SDRAM模块中获取指令数据,并将所获取的指令数据存储于指令存储模块;
所述指令解析模块用于解析指令存储模块中的指令数据,并将解析后的指令数据传输至AXI master模块。
在使用DDR变频装置时,首先SDRAM模块存储CPU指令数据。所述SDRAM模块为SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)。同步是指存储器工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。SDRAM与CPU在同一个时钟周期里运行,CPU通常包含有多个CPU指令数据(如DDR变频指令等),SDRAM模块会对CPU指令数据进行存储,进而等待进一步操作。
而后APB slave模块在接收到启动指令后,将启动指令传输至DMA指令读取模块。所述启动指令为启动读取指令数据的指令,启动指令可以通过AMBA总线传输至APB slave模块。ARM公司定义了AMBA(AdvancedMicrocontroller Bus Architecture)总线规范,它是一组针对基于ARM核的、片上系统之间通信而设计的标准协议。因为ARM处理器的广泛使用而拥有众多第三方支持,被ARM公司90%以上的合作伙伴采用。APB总线是AMBA的第二代总线,APB总线包括slave端和master端,slave端是一个从控接口,而master端是一个主控接口。这里的APB slave模块为APB总线的slave端,用于被动接收AMBA总线传输的指令数据,当APB slave模块接收到启动指令数据后,会将启动指令传输至DMA指令读取模块,从而完成装置其他模块的启动工作并会进行一系列预处理操作,如配置寄存器等。
而后DMA指令读取模块在接收到启动指令后,从SDRAM模块中获取指令数据,并将所获取的指令数据存储于指令存储模块。DMA(Direct MemoryAccess,存储器直接访问),是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。所述DMA指令读取模块为执行DMA操作的硬件模块。DMA指令读取模块在接收到启动指令,则说明DMA指令读取模块处于工作状态,因而可以从SDRAM模块中获取指令数据,并将所获取的指令数据存储于指令存储模块。所述指令数据为SDRAM模块存储的CPU指令数据。指令存储模块为指令数据的存储单元,用于暂时存储指令数据,并进行一些较为简单的逻辑运算操作,如与或非操作等,并等待指令被解析。
而后指令解析模块解析指令存储模块中的指令数据,并将解析后的指令数据传输至AXI master模块。指令解析模块为装置的执行单元,用于解析指令存储模块中的指令数据。AXI总线是AMBA的第三代总线,AXI总线包括slave端和master端,slave端是一个从控接口,而master端是一个主控接口。这里的AXI master模块为AXI总线的master端,可以将所接收的解析后的指令数据传输通过AMBA总线传输至其他位置,如DDR变频相关设备等。AXImaster模块可以主动从其他模块(如SDRAM模块)获取CPU指令数据,也可以被动接收其他模块(如指令解析模块)所传输的指令数据。
上述技术方案所述的DDR变频装置,所述装置包括所述SDRAM模块,AXI master模块,APB slave模块,指令存储模块,指令解析模块,DMA指令读取模块;所述SDRAM模块与AXI master模块连接,所述AXI master模块与指令解析模块连接,所述指令解析模块与指令存储模块连接,所述指令存储模块与DMA指令读取模块连接,所述DMA指令读取模块与AXI master模块连接,所述DMA指令读取模块还与APB SLAVE模块连接;所述方法包括以下步骤:SDRAM模块存储CPU指令数据;APB slave模块在接收到启动指令后,将启动指令传输至DMA指令读取模块;DMA指令读取模块在接收到启动指令后,从SDRAM模块中获取指令数据,并将所获取的指令数据存储于指令存储模块;指令解析模块解析指令存储模块中的指令数据,并将解析后的指令数据传输至AXI master模块。相比于M3处理器,本装置架构简单,大大降低了硬件成本,且可以实现指令数据的快速读取、存储和解析。当需要对DDR进行变频时,指令解析模块可以解析到DDR变频指令,将DDR变频指传输至AXI master模块,AXI master模块会通过AXI总线将变频指令传输至对应的变频模块,进而完成DDR变频。采用上述设计方法,不仅大大简化了DDR变频时指令读取、存储、解析的操作流程,同时也降低了硬件成本,使得DDR变频变得快速高效,有利于降低功耗,因而在数据通信技术领域具有广阔的市场前景。
在本实施方式中,所述装置还包括DDR控制模块107,所述DDR控制模块107与AXI master模块102连接;则所述AXI master模块102还用于接收解析后的指令数据,并将数据发送至DDR控制模块;所述DDR控制模块用于接收AXI master模块传输的指令数据,并根据对应的指令数据对DDR进行变频。优选的,所述指令数据包括关闭指令和变频指令,则所述DDR控制模块用于接收关闭指令,关闭相关设备对DDR的访问操作;DDR控制模块还用于接收变频指令,对DDR进行变频。DDR在进行变频时,需要关闭相关设备对DDR访问,才可进行DDR变频操作。关闭相关设备对DDR的访问,包括如果CPU为多个核心,则只保留一个核心进行DDR变频,暂停其他核心。关闭完成后,则DDR控制模块可以接收变频指令,并进行DDR变频。在另一些实施例中,所述指令数据还包括恢复指令,所述DDR控制模块用于接收恢复指令,恢复相关设备对DDR的访问操作。当DDR变频完成后,可以恢复相关设备对DDR的访问操作,从而有效地降低功耗,而又不影响应用程序的正常使用。
在本实施方式中,DDR控制模块在DDR变频结束后,产生变频结束中断。产生变频结束中断,说明DDR变频顺利完成。而如果在DDR变频过程出现异常状况,导致变频失败,则DDR控制模块会发出相关提醒,如发出警报等。这样,技术人员就可以重新检测电路,找出DDR变频失败问题所在,并及时采取有效措施加以解决。
以及发明人还提供了一种DDR变频设计方法,请参阅图2,为本发明一实施例涉及的DDR变频方法的流程图。所述设计方法应用于DDR变频装置,所述装置包括所述SDRAM模块,AXI master模块,APB slave模块,指令存储模块,指令解析模块,DMA指令读取模块;所述SDRAM模块与AXI master模块连接,所述AXI master模块与指令解析模块连接,所述指令解析模块与指令存储模块连接,所述指令存储模块与DMA指令读取模块连接,所述DMA指令读取模块与AXI master模块连接,所述DMA指令读取模块还与APBSLAVE模块连接;所述方法包括以下步骤:
首先进入步骤S201SDRAM模块存储CPU指令数据。所述SDRAM模块为SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)。同步是指存储器工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。SDRAM与CPU在同一个时钟周期里运行,CPU通常包含有多个CPU指令数据(如DDR变频指令等),SDRAM模块会对CPU指令数据进行存储,进而等待进一步操作。
而后进入步骤S202APB slave模块在接收到启动指令后,将启动指令传输至DMA指令读取模块。所述启动指令为启动读取指令数据的指令,启动指令可以通过AMBA总线传输至APB slave模块。ARM公司定义了AMBA(Advanced Microcontroller Bus Architecture)总线规范,它是一组针对基于ARM核的、片上系统之间通信而设计的标准协议。因为ARM处理器的广泛使用而拥有众多第三方支持,被ARM公司90%以上的合作伙伴采用。APB总线是AMBA的第二代总线,APB总线包括slave端和master端,slave端是一个从控接口,而master端是一个主控接口。这里的APB slave模块为APB总线的slave端,用于被动接收AMBA总线传输的指令数据,当APB slave模块接收到启动指令数据后,会将启动指令传输至DMA指令读取模块,从而完成装置其他模块的启动工作并会进行一系列预处理操作,如配置寄存器等。
而后进入步骤S203DMA指令读取模块在接收到启动指令后,从SDRAM模块中获取指令数据,并将所获取的指令数据存储于指令存储模块。DMA(Direct Memory Access,存储器直接访问),是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。所述DMA指令读取模块为执行DMA操作的硬件模块。DMA指令读取模块在接收到启动指令,则说明DMA指令读取模块处于工作状态,因而可以从SDRAM模块中获取指令数据,并将所获取的指令数据存储于指令存储模块。所述指令数据为SDRAM模块存储的CPU指令数据。指令存储模块为指令数据的存储单元,用于暂时存储指令数据,并进行一些较为简单的逻辑运算操作,如与或非操作等,并等待指令被解析。
而后进入步骤S204指令解析模块解析指令存储模块中的指令数据,并将解析后的指令数据传输至AXI master模块。指令解析模块为装置的执行单元,用于解析指令存储模块中的指令数据。AXI总线是AMBA的第三代总线,AXI总线包括slave端和master端,slave端是一个从控接口,而master端是一个主控接口。这里的AXI master模块为AXI总线的master端,可以将所接收的解析后的指令数据传输通过AMBA总线传输至其他位置,如DDR变频相关设备等。AXI master模块可以主动从其他模块(如SDRAM模块)获取CPU指令数据,也可以被动接收其他模块(如指令解析模块)所传输的指令数据。
如图3所示,在本实施方式中,所述装置还包括DDR控制模块,所述DDR控制模块与AXI master模块连接;则所述方法还包括:S301AXI master模块接收解析后的指令数据,并将数据发送至DDR控制模块。而后进入步骤S302DDR控制模块接收AXI master模块传输的指令数据,并根据对应的指令数据对DDR进行变频。优选的,所述指令数据包括关闭指令和变频指令。则DDR控制模块对DDR变频操作通过以下步骤完成:首先DDR控制模块接收关闭指令,关闭相关设备对DDR的访问操作。DR在进行变频时,需要关闭相关设备对DDR访问,才可进行DDR变频操作。关闭相关设备对DDR的访问,包括如果CPU为多个核心,则只保留一个核心进行DDR变频,暂停其他核心。相关设备关闭完成后,DDR控制模块接收变频指令,对DDR进行变频。在另一些实施例中,所述指令数据还包括恢复指令,则所述方法包括:DDR控制模块接收恢复指令,恢复相关设备对DDR的访问操作。这样,通过对DDR进行变频擦破在,不仅有效地降低了系统功耗,而又不影响应用程序的正常使用。
在本实施方式中,DDR控制模块在DDR变频结束后,产生变频结束中断。产生变频结束中断,说明DDR变频顺利完成。而如果在DDR变频过程出现异常状况,导致变频失败,则DDR控制模块会发出相关提醒,如发出警报等。这样,技术人员就可以重新检测电路,找出DDR变频失败问题所在,并及时采取有效措施加以解决。
上述技术方案所述的DDR变频设计方法和装置,所述设计方法应用于DDR变频装置,所述装置包括所述SDRAM模块,AXI master模块,APB slave模块,指令存储模块,指令解析模块,DMA指令读取模块;所述SDRAM模块与AXI master模块连接,所述AXI master模块与指令解析模块连接,所述指令解析模块与指令存储模块连接,所述指令存储模块与DMA指令读取模块连接,所述DMA指令读取模块与AXI master模块连接,所述DMA指令读取模块还与APB SLAVE模块连接;所述方法包括以下步骤:SDRAM模块存储CPU指令数据;APB slave模块在接收到启动指令后,将启动指令传输至DMA指令读取模块;DMA指令读取模块在接收到启动指令后,从SDRAM模块中获取指令数据,并将所获取的指令数据存储于指令存储模块;指令解析模块解析指令存储模块中的指令数据,并将解析后的指令数据传输至AXI master模块。相比于M3处理器,本装置架构简单,大大降低了硬件成本,且可以实现指令数据的快速读取、存储和解析。当需要对DDR进行变频时,指令解析模块可以解析到DDR变频指令,将DDR变频指传输至AXI master模块,AXImaster模块会通过AXI总线将变频指令传输至对应的变频模块,进而完成DDR变频。采用上述设计方法,不仅大大简化了DDR变频时指令读取、存储、解析的操作流程,同时也降低了硬件成本,使得DDR变频变得快速高效,有利于降低功耗,因而在数据通信技术领域具有广阔的市场前景。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。