一种选择SDRAM时钟参数的方法和SOC芯片.pdf

上传人:000****221 文档编号:6173929 上传时间:2019-05-16 格式:PDF 页数:14 大小:510.16KB
返回 下载 相关 举报
摘要
申请专利号:

CN201210355196.7

申请日:

2012.09.21

公开号:

CN103678142A

公开日:

2014.03.26

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 12/02变更事项:专利权人变更前:深圳艾科创新微电子有限公司变更后:深圳开阳电子股份有限公司变更事项:地址变更前:518057 广东省深圳市南山区科技中二路软件园一期4栋406室变更后:518057 广东省深圳市南山区科技中二路软件园一期4栋406室|||授权|||实质审查的生效IPC(主分类):G06F 12/02申请日:20120921|||公开

IPC分类号:

G06F12/02; G06F1/04

主分类号:

G06F12/02

申请人:

深圳艾科创新微电子有限公司

发明人:

李森; 张荣; 刘彬; 常军锋; 石岭

地址:

518057 广东省深圳市南山区科技中二路软件园一期4栋406室

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明涉及一种选择SDRAM时钟参数的方法,包括:对SDRAM进行初始化;在所述SDRAM的指定地址写入数据;读取所述SDRAM的指定地址中的数据;判断从所述指定地址读取的数据与所述指定地址写入的数据是否相同;当判断结果为相同时,通过URAT串口打印第一标识符号;当判断结果为不相同时,通过所述URAT串口打印第二标识符号;将所述第一标识符号和所述第二标识符号组建为二维MAP地图;通过所述二维地图选择SDRAM的时钟参数,从而提高选择SDRAM的时钟参数的效率。

权利要求书

权利要求书
1.  一种选择SDRAM时钟参数的方法,其特征在于,包括:
对SDRAM进行初始化;
在所述SDRAM的指定地址写入数据;
读取所述SDRAM的指定地址中的数据;
判断从所述指定地址读取的数据与所述指定地址写入的数据是否相同;
当判断结果为相同时,通过URAT串口打印第一标识符号;
当判断结果为不相同时,通过所述URAT串口打印第二标识符号;
将所述第一标识符号和所述第二标识符号组建为二维MAP地图;
通过所述二维地图选择SDRAM的时钟参数。

2.  根据权利要求1所述的方法,其特征在于:所述SDRAM的指定地址包括第一指定地址、第二指定地址和第三指定地址,所述在所述SDRAM的指定地址写入数据的步骤包括:
将预定的相同大小的数据分别写入所述第一指定地址、第二指定地址和第三指定地址;
所述读取所述SDRAM的指定地址中的数据的步骤包括:
分别读取所述第一指定地址、第二指定地址和第三指定地址中的相同大小的数据。

3.  根据权利要求2所述的方法,其特征在于:所述判断从所述指定地址读取的数据与所述指定地址写入的数据是否相同的步骤包括:
判断从所述第一指定地址读取的数据与在所述第一指定地址写入的数据是否相同,判断从所述第二指定地址读取的数据与在所述第二指定地址写入的数 据是否相同,判断从所述第三指定地址读取的数据与在所述第三指定地址写入的数据是否相同。

4.  根据权利要求3所述的方法,其特征在于:所述判断从所述指定地址读取的数据与所述指定地址写入的数据是否相同的步骤进一步包括:
当判断从所述第一指定地址读取的数据与在所述第一指定地址写入的数据相同,并判断从所述第二指定地址读取的数据与在所述第二指定地址写入的数据相同,以及判断从所述第三指定地址读取的数据与在所述第三指定地址写入的数据相同时,判断从所述指定地址读取的数据与该指定地址写入的数据相同。

5.  根据权利要求3所述的方法,其特征在于:所述判断从所述指定地址读取的数据与所述指定地址写入的数据是否相同的步骤进一步包括:
当判断从所述第一指定地址读取的数据与在所述第一指定地址写入的数据不相同时,或,判断从所述第二指定地址读取的数据与在所述第二指定地址写入的数据不相同时,或,判断从所述第三指定地址读取的数据与在所述第三指定地址写入的数据不相同时,判断从所述指定地址读取的数据与该指定地址写入的数据不相同。

6.  一种应用于选择SDRAM时钟参数的SOC芯片,其特征在于,包括:处理器、SDRAM、时钟单元和通用异步接收发送单元;其中,
所述时钟单元用于为所述SDRAM提供时钟参数;
所述处理器用于先对所述SDRAM进行初始化,在所述SDRAM的指定地址写入数据,再读取所述SDRAM的所述指定地址中的数据,判断从所述指定地址读取的数据与所述指定地址写入的数据是否相同;
所述通用异步接收发送单元用于当所述处理器的判断结果为相同时,打印 第一标识符号,并当判断结果为不相同时,打印第二标识符号;
所述处理器进一步用于将所述第一标识符号和所述第二标识符号组建为二维MAP地图,通过所述二维地图为所述时钟单元选择SDRAM的时钟参数。

7.  根据权利要求6所述的SOC芯片,其特征在于:所述SDRAM的指定地址包括第一指定地址、第二指定地址和第三指定地址,所述处理器具体用于将预定的相同大小的数据分别写入所述第一指定地址、第二指定地址和第三指定地址,当写入后,并分别读取所述第一指定地址、第二指定地址和第三指定地址中的相同大小的数据。

8.  根据权利要求7所述的SOC芯片,其特征在于:所述处理器具体用于判断从所述第一指定地址读取的数据与在所述第一指定地址写入的数据是否相同,判断从所述第二指定地址读取的数据与在所述第二指定地址写入的数据是否相同,判断从所述第三指定地址读取的数据与在所述第三指定地址写入的数据是否相同。

9.  根据权利要求8所述的SOC芯片,其特征在于:所述处理器具体用于当判断从所述第一指定地址读取的数据与在所述第一指定地址写入的数据相同,并判断从所述第二指定地址读取的数据与在所述第二指定地址写入的数据相同,以及判断从所述第三指定地址读取的数据与在所述第三指定地址写入的数据相同时,判断从所述指定地址读取的数据与该指定地址写入的数据相同。

10.  根据权利要求8所述的SOC芯片,其特征在于:所述处理器具体用于当判断从所述第一指定地址读取的数据与在所述第一指定地址写入的数据不相同时,或,判断从所述第二指定地址读取的数据与在所述第二指定地址写入的数据不相同时,或,判断从所述第三指定地址读取的数据与在所述第三指定地 址写入的数据不相同时,判断从所述指定地址读取的数据与该指定地址写入的数据不相同。

说明书

说明书一种选择SDRAM时钟参数的方法和SOC芯片
技术领域
本发明涉及通信领域,尤其涉及一种选择SDRAM时钟参数的方法和SOC芯片。 
背景技术
在车载方案中,随着核心芯片多媒体片上系统(System On Chip,SOC)不断推陈出新,对该SOC中的同步动态随机存储器(Synchronous Dynamic Random Access Memory,SDRAM)控制也有了更高的要求。通常SOC对SDRAM的频率控制不会超过132MHz,并且所配备的SDRAM内存容量也不超过32MB,但目前的发展趋势要求SOC对SDRAM的频率控制超过132MH,并且实现在高低温的环境下稳定工作。 
在现有的车载方案中,在SOC对SDRAM的频率控制过程中,若对SDRAM的时钟参数选择不正确,将会导致系统不能稳定工作,其主要原因有两个:第一个最重要的原因在于硬件系统中芯片的内核电压对SDRAM的时钟参数的影响很大,在1.2V,1.3V,1.32V和1.4V测试得到的SDRAM时钟参数有增大趋势,必须取到公共的参数才有可能符合使用要求,但范围很小,且不一定稳定;第二个原因在于根据不同环境温度选择的SDRAM时钟参数会造成系统在常温下工作不稳定。 
在现有技术中,现有的SDRAM的时钟参数选择方法为经验试探法,该方法是对SDRAM读写时序影响比较大的两个Delay cell和两个SDRAM_CLK时钟序列参数采用人工经验选择,进行大量的测试实验,甚至采用穷举的方法,选择的 SDRAM_CLK范围为0或1,选择的Delay cell范围为0到63,一共64个数值可以被选择,这四个SDRAM时钟序列参数又分为两组,按照排列组合结合经验选择,效率非常的低下,选择的SDRAM时钟参数对SDRAM读写时序影响很大,不准确,更多的是依靠非常有经验的工程师。 
发明内容
本发明要解决的技术问题是提供一种智能终端及其通过GPS追踪的方法,以提高选择SDRAM的时钟参数的效率。 
本发明的发明目的是通过以下技术方案来实现的: 
一种选择SDRAM时钟参数的方法,包括:对SDRAM进行初始化;在所述SDRAM的指定地址写入数据;读取所述SDRAM的指定地址中的数据;判断从所述指定地址读取的数据与所述指定地址写入的数据是否相同;当判断结果为相同时,通过URAT串口打印第一标识符号;当判断结果为不相同时,通过所述URAT串口打印第二标识符号;将所述第一标识符号和所述第二标识符号组建为二维MAP地图;通过所述二维地图选择SDRAM的时钟参数。 
上述的选择SDRAM时钟参数的方法,其中:所述SDRAM的指定地址包括第一指定地址、第二指定地址和第三指定地址,所述在所述SDRAM的指定地址写入数据的步骤包括:将预定的相同大小的数据分别写入所述第一指定地址、第二指定地址和第三指定地址;所述读取所述SDRAM的指定地址中的数据的步骤包括:分别读取所述第一指定地址、第二指定地址和第三指定地址中的相同大小的数据。 
上述的选择SDRAM时钟参数的方法,其中:所述判断从所述指定地址读取 的数据与所述指定地址写入的数据是否相同的步骤包括:判断从所述第一指定地址读取的数据与在所述第一指定地址写入的数据是否相同,判断从所述第二指定地址读取的数据与在所述第二指定地址写入的数据是否相同,判断从所述第三指定地址读取的数据与在所述第三指定地址写入的数据是否相同。 
上述的选择SDRAM时钟参数的方法,其中:所述判断从所述指定地址读取的数据与所述指定地址写入的数据是否相同的步骤进一步包括:当判断从所述第一指定地址读取的数据与在所述第一指定地址写入的数据相同,并判断从所述第二指定地址读取的数据与在所述第二指定地址写入的数据相同,以及判断从所述第三指定地址读取的数据与在所述第三指定地址写入的数据相同时,判断从所述指定地址读取的数据与该指定地址写入的数据相同。 
上述的选择SDRAM时钟参数的方法,其中:所述判断从所述指定地址读取的数据与所述指定地址写入的数据是否相同的步骤进一步包括:当判断从所述第一指定地址读取的数据与在所述第一指定地址写入的数据不相同时,或,判断从所述第二指定地址读取的数据与在所述第二指定地址写入的数据不相同时,或,判断从所述第三指定地址读取的数据与在所述第三指定地址写入的数据不相同时,判断从所述指定地址读取的数据与该指定地址写入的数据不相同。 
一种应用于选择SDRAM时钟参数的SOC芯片,包括:处理器、SDRAM、时钟单元和通用异步接收发送单元;其中,所述时钟单元用于为所述SDRAM提供时钟参数;所述处理器用于先对所述SDRAM进行初始化,在所述SDRAM的指定地址写入数据,再读取所述SDRAM的所述指定地址中的数据,判断从所述指定地址读取的数据与所述指定地址写入的数据是否相同;所述通用异步接收发送单元用于当所述处理器的判断结果为相同时,打印第一标识符号,并当判断结果 为不相同时,打印第二标识符号;所述处理器进一步用于将所述第一标识符号和所述第二标识符号组建为二维MAP地图,通过所述二维地图为所述时钟单元选择SDRAM的时钟参数。 
上述的应用于选择SDRAM时钟参数的SOC芯片,其中:所述SDRAM的指定地址包括第一指定地址、第二指定地址和第三指定地址,所述处理器具体用于将预定的相同大小的数据分别写入所述第一指定地址、第二指定地址和第三指定地址,当写入后,并分别读取所述第一指定地址、第二指定地址和第三指定地址中的相同大小的数据。 
上述的应用于选择SDRAM时钟参数的SOC芯片,其中:所述处理器具体用于判断从所述第一指定地址读取的数据与在所述第一指定地址写入的数据是否相同,判断从所述第二指定地址读取的数据与在所述第二指定地址写入的数据是否相同,判断从所述第三指定地址读取的数据与在所述第三指定地址写入的数据是否相同。 
上述的应用于选择SDRAM时钟参数的SOC芯片,其中:所述处理器具体用于当判断从所述第一指定地址读取的数据与在所述第一指定地址写入的数据相同,并判断从所述第二指定地址读取的数据与在所述第二指定地址写入的数据相同,以及判断从所述第三指定地址读取的数据与在所述第三指定地址写入的数据相同时,判断从所述指定地址读取的数据与该指定地址写入的数据相同。 
上述的应用于选择SDRAM时钟参数的SOC芯片,其中:所述处理器具体用于当判断从所述第一指定地址读取的数据与在所述第一指定地址写入的数据不相同时,或,判断从所述第二指定地址读取的数据与在所述第二指定地址写入的数据不相同时,或,判断从所述第三指定地址读取的数据与在所述第三指定 地址写入的数据不相同时,判断从所述指定地址读取的数据与该指定地址写入的数据不相同。 
通过本发明实施例提供的技术方案,可以不额外增加硬件资源,仅使用UART串口工具和二维MAP图选择工具,即可实现SDRAM控制时钟参数的准确选择,并不需要依靠有经验的工程师,从而可提高选择SDRAM的时钟参数的效率。 
附图说明
为了易于说明,本发明由下述的较佳实施例及附图作以详细描述。 
图1所示为本发明实施例提供的选择SDRAM时钟参数的方法的流程图; 
图2所示为本发明实施例提供的存储空间的矩形区域示意图; 
图3所示为本发明实施例提供的二维MAP地图的示意图; 
图4所示为本发明实施例提供的参数的示意图; 
图5所示为本发明实施例提供的选择SDRAM时钟参数的SOC芯片的结构图; 
图6所示为本发明实施例提供的选择SDRAM时钟参数的SOC芯片具体结构图。 
具体实施方式
下面将结合附图对本发明的实施例进行详细说明。 
图1为本发明实施例提供的选择SDRAM时钟参数的方法的流程图。 
在本实施例中,对SDRAM读写时序影响比较大的Delay cell参数和SDRAM_CLK参数作为例子进行说明。在本实施例中,将SDRAM时钟序列参数分为两组,第一组为Delay cell参数,第二组为SDRAM_CLK参数;其中,Delay cell参数为延时时间参数,将该Delay cell参数分为两个数据参数,分别包括读数据的延时时间参数和写数据的延时时间参数,因而,第一组Delay cell参数中存在四种状态,比如,用0表示读数据,用1表示写数据,就会有四种状态; SDRAM_CLK参数为SDRAM的时钟参数,也是包括两个数据参数,分别为上升沿状态的时钟参数和下降沿状态的时钟参数。 
在本实施例中,步骤S100,对SDRAM进行初始化。在本实施例中,SDRAM在上电之后,必须先进行初始化才能正常的运行。 
步骤S102,在SDRAM的指定地址写入数据。在本实施例中,将对SDRAM的指定地址的连续数据进行先进行写操作,再进行读操作。在本实施例中,在搬移数据中取其中的矩形区域地址先进行写操作,再进行读操作。 
如图2所示,将存储空间可以分别8MB,16MB,32MB,和64MB的矩形区域地址,当然也可以有其它容量的矩形区域地址,比如24MB。若该SDRAM的容量为32MB,在写入数据的时候,将16MB地址的前后2048Byte作为第一指定地址,即将16MB地址的前后2048Byte作为写入数据的第一目的地址,再将预定的数据写入该第一指定地址,即写入4096Byte;同时,还将8MB地址的前后2048Byte作为第二指定地址,即将8MB地址的前后2048Byte作为写入数据的第二目的地址,再将预定的数据写入该第二指定地址,即写入4096Byte,另外,再将还将24MB地址的前后2048Byte作为第三指定地址,即将24MB地址的前后2048Byte作为写入数据的第三目的地址,即写入4096Byte。当然,上述的写入数据操作,可以同时进行,也可以分别进行。在本实施例中,上述的预定的数据可以0xa55a5aa5,当然,也可以取其它数值,本发明不进行限制,即将0xa55a5aa5中的4096Byte写入指定地址。 
步骤S104,读取SDRAM中指定地址中的数据。在本实施例中,读取SDRAM中第一指定地址、第二指定地址和第三指定地址中的数据。在本实施例中,读取第一指定地址的前后2048Byte数据,读取第二指定地址的前后2048Byte数据,读取第三指定地址的前后2048Byte数据。 
步骤S106,判断从该指定地址读取的数据与该指定地址写入的数据是否相同。在本实施例中,可以理解为,判断该指定地址的读写数据是否正确或是否相同。在本实施例中,判断从第一指定地址读取的数据与该第一指定地址写入的数据是否相同,判断从第二指定地址读取的数据与该第二指定地址写入的数据是否相同,判断从第三指定地址读取的数据与该第三指定地址写入的数据是否相同。 
在本实施例中,当判断从第一指定地址读取的数据与该第一指定地址写入的数据相同,并判断从第二指定地址读取的数据与该第二指定地址写入的数据相同,以及判断从第三指定地址读取的数据与该第三指定地址写入的数据相同时,即判断从指定地址读取的数据与该指定地址写入的数据相同时,执行步骤S108; 
在本实施例中,当判断从第一指定地址读取的数据与该第一指定地址写入的数据不相同时,或,判断从第二指定地址读取的数据与该第二指定地址写入的数据不相同时,或,判断从第三指定地址读取的数据与该第三指定地址写入的数据不相同时,即只要有一个判断结果为不相同时,就执行步骤S110。 
步骤S108,通过URAT串口打印第一标识符号。在本实施例中,该第一标识符号可以用“!”表示,当然,也可以用其它符号进行标识,本发明对此不限制。 
步骤S110,通过URAT串口打印第二标识符号。在本实施例中,该第二标符号可以用“.”表示,当然,也可以用其它符号进行标识,本发明对此不限制。 
当执行完步骤S108和S110后,执行步骤S112,即,将第一标识符号和第二标识符号组建为二维MAP地图。可以参考图3所示。在本实施例中,图3中顶端的第一行为两个SDRAM时钟信号的状态,即上升沿和下降沿状态,也可以理解时钟信号的两个参数。图3中的列方向为第一组Delay cell参数中的第一DELAY_CELL参数,行方向为第二个DELAY_CELL参数,因而,通过上述的四 个参数就可以组建为一张二维地图。 
当然,由于第一组Delay cell参数存在四个状态,因而,针对每一个状态,都可以组建一张二维地图,因而,可以有四张二维地图。 
步骤S114,通过该二维地图选择SDRAM的时钟参数。在本实施例中,可以通过加载所生成的二维地图,就可以自动生成符合SDRAM的控制时钟稳定时序的DELAY_CELL参数和SDRAM_CLK参数,再合并到实际的软件程序使用。在本实施例中,可以通过使用SdramUtils工具打开该二维地图文件,可以得到clk5-0,clk17,clk19,clk31-26,S-COL-ADDR_WIDTH,S_ROW_ADDR_WIDTH,SDRAM Column address,S_BANK_ADDR_WIDTH,FULL_SIZE这些参数,参考图4所示,再将上述得到的参数的值整理到实际的工程中进行测试和使用。合并到实际的软件工程中测试,测试结果表明,选择的参数立即可以稳定使用,基本不需要再次选择,即使在高温低稳的环境下,通过该方法选择的参数也基本一次性通过测试,选择的参数直接可以使用。 
从定量上对本发明所述的方法和经验穷举法比较分析,能更清晰地看出效率提升的实际效果。假设访问的地址物理空间为4096Byte,使用经验穷举法,很耗时费力,虽然SDRAM_CLK参数只有4种选择,但DELAY_CELL有64x64=4096种选择,不依靠经验,穷举法基本无法实现对参数的选择,应用本发明所述的方法来实现SDRAM控制时钟参数的选择,效率明显提升。而实际上单靠经验选择的参数,能稳定工作的只有10%左右。换句话说在通常情况下,应用本发明所述的方法来实现SDRAM控制时钟参数的选择在通常情况下将有90%的效率提升。 
因而,通过使用本发明提供的技术方案,可以不额外增加硬件资源,仅使用UART串口工具和二维MAP图选择工具,即可实现SDRAM控制时钟参数的准确选择,并提高选择SDRAM的时钟参数的效率。 
在本实施例中,图5所示为本发明实施例提供的选择SDRAM时钟参数的SOC芯片的结构图。 
在本实施例中,该SOC芯片20可以与显示单元10和输入输出设备30分别通信相连接。显示单元10可以为显示器,输入输出设备30可以为键盘或是按键。当然,该SOC芯片可以集成于导航装置或通信装置中。 
在本实施例中,SOC芯片20包括处理器200,SDRAM202,时钟单元204,和通用异步接收发送单元UART206。在本实施例中,通用异步接收发送单元UART206与显示单元10和输入输出设备30分别通信连接,并与处理器200通信连接,该处理器200分别与SDRAM202和时钟单元204通信连接,SDRAM202与时钟单元204通信连接。 
在本实施例中,时钟单元204用于为SDRAM202提供时钟参数,处理器200用于根据时钟单元204提供的时钟参数对SDRAM202进行数据的读写操作。 
为更好的选择一个好的时钟参数,在本实施例中,处理器200还用于先对SDRAM202进行初始化,在SDRAM202的指定地址写入数据,再读取SDRAM202中该指定地址中的数据,判断从该指定地址读取的数据与该指定地址写入的数据是否相同,当判断相同时,通过通用异步接收发送单元UART206打印第一标识符号;当判断不相同时,通过通用异步接收发送单元UART206打印第二标识符号。 
处理器200还用于根据第一标识符号和第二标识符号组建为二维地图,通过该二维地图选择SDRAM202的时钟参数。 
当处理器200获得稳定的时钟参数时,时钟单元204将该时钟参数作为控制SDRAM202的时钟参数。 
在本实施例中,处理器200可以划分为初始化单元2000、数据写入单元 2002、数据读取单元2004、判断单元2006、组建单元2008,选择单元2010,如图6所示。 
在本实施例中,初始化单元2000与SDRAM202通信连接,用于对SDRAM200进行初始化; 
数据写入单元2002与SDRAM202通信连接,用于在SDRAM200的指定地址写入数据。在本实施例中,将对SDRAM202的指定地址的连续数据进行先进行写操作,再进行读操作。在本实施例中,在搬移数据中取其中的矩形区域地址先进行写操作,再进行读操作。在本实施例中,将存储空间可以分别8MB,16MB,32MB,和64MB的矩形区域地址,当然也可以有其它容量的矩形区域地址,比如24MB。若该SDRAM的容量为32MB,在写入数据的时候,将16MB地址的前后2048Byte作为第一指定地址,即将16MB地址的前后2048Byte作为写入数据的第一目的地址,再将预定的数据写入该第一指定地址,即写入4096Byte;同时,还将8MB地址的前后2048Byte作为第二指定地址,即将8MB地址的前后2048Byte作为写入数据的第二目的地址,再将预定的数据写入该第二指定地址,即写入4096Byte,另外,再将还将24MB地址的前后2048Byte作为第三指定地址,即将24MB地址的前后2048Byte作为写入数据的第三目的地址,即写入4096Byte。当然,上述的写入数据操作,可以同时进行,也可以分别进行。在本实施例中,上述的预定的数据可以0xa55a5aa5,当然,也可以取其它数值,本发明不进行限制,即将0xa55a5aa5中的4096Byte写入指定地址。 
数据读取单元2004与SDRAM202通信连接,用于读取SDRAM200中指定地址中的数据。在本实施例中,读取SDRAM202中第一指定地址、第二指定地址和第三指定地址中的数据。在本实施例中,读取第一指定地址前后2048Byte数据,读取第二指定地址前后2048Byte数据,读取第三指定地址前后2048Byte数据。 
判断单元2006与数据写入单元2002、数据读取单元2004和通用异步接收发送单元UART206分别通信连接,用于判断数据读取单元2004从SDRAM200该指定地址读取的数据与据写入单元2002在SDRAM200中该指定地址写入的数据是否相同。在本实施例中,可以理解为,判断该指定地址的读写数据是否正确或是否相同。在本实施例中,判断从第一指定地址读取的数据与该第一指定地址写入的数据是否相同,判断从第二指定地址读取的数据与该第二指定地址写入的数据是否相同,判断从第三指定地址读取的数据与该第三指定地址写入的数据是否相同。 
在本实施例中,当判断从第一指定地址读取的数据与该第一指定地址写入的数据相同,并判断从第二指定地址读取的数据与该第二指定地址写入的数据相同,以及判断从第三指定地址读取的数据与该第三指定地址写入的数据相同时,即判断从指定地址读取的数据与该指定地址写入的数据相同时,判断单元2006将判断的相同结果输出至通用异步接收发送单元UART206,由通用异步接收发送单元UART206打印第一标识符号,并通过显示单元10显示给操作人员; 
在本实施例中,当判断从第一指定地址读取的数据与该第一指定地址写入的数据不相同时,或,判断从第二指定地址读取的数据与该第二指定地址写入的数据不相同时,或,判断从第三指定地址读取的数据与该第三指定地址写入的数据不相同时,即只要有一个判断结果为不相同时,判断单元2006将判断的不相同结果通过输出单元2008输出至通用异步接收发送单元UART206,由通用异步接收发送单元UART206打印第二标识符号,并通过显示单元10显示给操作人员; 
当通用异步接收发送单元UART206通过输入输出设备30接收操作人员的操作指令时(可以是生成或组建二维MAP地图命令),将打印的第一标识符号和 第二标识符号输出至处理器200,由组建单元2008将第一标识符号和第二标识符号组建为二维MAP地图,将生成的二维MAP地图经由通用异步接收发送单元UART206输出至显示单元10。可以参考图3所示。在本实施例中,图3中顶端的第一行为两个SDRAM时钟信号的状态,即上升沿和下降沿状态,也可以理解时钟信号的两个参数。图3中的列方向为第一组Delay cell参数中的第一DELAY_CELL参数,行方向为第二个DELAY_CELL参数,因而,通过上述的四个参数就可以组建为一张二维地图。 
当通用异步接收发送单元UART206通过输入输出设备30接收操作人员的操作指令时(可以是选择SDRAM的时钟参数的命令),由选择单元2010根据组建单元2008组建的该二维地图选择SDRAM的时钟参数。 
从定量上将本发明和经验穷举法比较分析,能更清晰地看出效率提升的实际效果。假设访问的地址物理空间为4096Byte,使用经验穷举法,很耗时费力,虽然SDRAM_CLK参数只有4种选择,但DELAY_CELL有64x64=4096种选择,不依靠经验,穷举法基本无法实现对参数的选择,应用本发明的技术方案来实现SDRAM控制时钟参数的选择,效率明显提升。而实际上单靠经验选择的参数,能稳定工作的只有10%左右。换句话说在通常情况下,应用本发明所述的方法来实现SDRAM控制时钟参数的选择在通常情况下将有90%的效率提升。 
因而,通过使用本发明提供的技术方案,可以不额外增加硬件资源,仅使用UART串口工具和二维MAP图选择工具,即可实现SDRAM控制时钟参数的准确选择。 
以上所述之具体实施方式为本发明的较佳实施方式,并非以此限定本发明的具体实施范围,本发明的范围包括并不限于本具体实施方式。凡依照本发明之形状、结构所作的等效变化均包含本发明的保护范围内。 

一种选择SDRAM时钟参数的方法和SOC芯片.pdf_第1页
第1页 / 共14页
一种选择SDRAM时钟参数的方法和SOC芯片.pdf_第2页
第2页 / 共14页
一种选择SDRAM时钟参数的方法和SOC芯片.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种选择SDRAM时钟参数的方法和SOC芯片.pdf》由会员分享,可在线阅读,更多相关《一种选择SDRAM时钟参数的方法和SOC芯片.pdf(14页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103678142 A (43)申请公布日 2014.03.26 CN 103678142 A (21)申请号 201210355196.7 (22)申请日 2012.09.21 G06F 12/02(2006.01) G06F 1/04(2006.01) (71)申请人 深圳艾科创新微电子有限公司 地址 518057 广东省深圳市南山区科技中二 路软件园一期 4 栋 406 室 (72)发明人 李森 张荣 刘彬 常军锋 石岭 (54) 发明名称 一种选择 SDRAM 时钟参数的方法和 SOC 芯片 (57) 摘要 本发明涉及一种选择 SDRAM 时钟参数的方 法, 。

2、包括 : 对 SDRAM 进行初始化 ; 在所述 SDRAM 的 指定地址写入数据 ; 读取所述 SDRAM 的指定地址 中的数据 ; 判断从所述指定地址读取的数据与所 述指定地址写入的数据是否相同 ; 当判断结果为 相同时, 通过 URAT 串口打印第一标识符号 ; 当判 断结果为不相同时, 通过所述 URAT 串口打印第二 标识符号 ; 将所述第一标识符号和所述第二标识 符号组建为二维 MAP 地图 ; 通过所述二维地图选 择SDRAM的时钟参数, 从而提高选择SDRAM的时钟 参数的效率。 (51)Int.Cl. 权利要求书 2 页 说明书 7 页 附图 4 页 (19)中华人民共和国国。

3、家知识产权局 (12)发明专利申请 权利要求书2页 说明书7页 附图4页 (10)申请公布号 CN 103678142 A CN 103678142 A 1/2 页 2 1. 一种选择 SDRAM 时钟参数的方法, 其特征在于, 包括 : 对 SDRAM 进行初始化 ; 在所述 SDRAM 的指定地址写入数据 ; 读取所述 SDRAM 的指定地址中的数据 ; 判断从所述指定地址读取的数据与所述指定地址写入的数据是否相同 ; 当判断结果为相同时, 通过 URAT 串口打印第一标识符号 ; 当判断结果为不相同时, 通过所述 URAT 串口打印第二标识符号 ; 将所述第一标识符号和所述第二标识符号组。

4、建为二维 MAP 地图 ; 通过所述二维地图选择 SDRAM 的时钟参数。 2. 根据权利要求 1 所述的方法, 其特征在于 : 所述 SDRAM 的指定地址包括第一指定地 址、 第二指定地址和第三指定地址, 所述在所述 SDRAM 的指定地址写入数据的步骤包括 : 将预定的相同大小的数据分别写入所述第一指定地址、 第二指定地址和第三指定地 址 ; 所述读取所述 SDRAM 的指定地址中的数据的步骤包括 : 分别读取所述第一指定地址、 第二指定地址和第三指定地址中的相同大小的数据。 3. 根据权利要求 2 所述的方法, 其特征在于 : 所述判断从所述指定地址读取的数据与 所述指定地址写入的数据。

5、是否相同的步骤包括 : 判断从所述第一指定地址读取的数据与在所述第一指定地址写入的数据是否相同, 判 断从所述第二指定地址读取的数据与在所述第二指定地址写入的数据是否相同, 判断从所 述第三指定地址读取的数据与在所述第三指定地址写入的数据是否相同。 4. 根据权利要求 3 所述的方法, 其特征在于 : 所述判断从所述指定地址读取的数据与 所述指定地址写入的数据是否相同的步骤进一步包括 : 当判断从所述第一指定地址读取的数据与在所述第一指定地址写入的数据相同, 并判 断从所述第二指定地址读取的数据与在所述第二指定地址写入的数据相同, 以及判断从所 述第三指定地址读取的数据与在所述第三指定地址写入。

6、的数据相同时, 判断从所述指定地 址读取的数据与该指定地址写入的数据相同。 5. 根据权利要求 3 所述的方法, 其特征在于 : 所述判断从所述指定地址读取的数据与 所述指定地址写入的数据是否相同的步骤进一步包括 : 当判断从所述第一指定地址读取的数据与在所述第一指定地址写入的数据不相同时, 或, 判断从所述第二指定地址读取的数据与在所述第二指定地址写入的数据不相同时, 或, 判断从所述第三指定地址读取的数据与在所述第三指定地址写入的数据不相同时, 判断从 所述指定地址读取的数据与该指定地址写入的数据不相同。 6. 一种应用于选择 SDRAM 时钟参数的 SOC 芯片, 其特征在于, 包括 :。

7、 处理器、 SDRAM、 时 钟单元和通用异步接收发送单元 ; 其中, 所述时钟单元用于为所述 SDRAM 提供时钟参数 ; 所述处理器用于先对所述SDRAM进行初始化, 在所述SDRAM的指定地址写入数据, 再读 取所述 SDRAM 的所述指定地址中的数据, 判断从所述指定地址读取的数据与所述指定地址 写入的数据是否相同 ; 所述通用异步接收发送单元用于当所述处理器的判断结果为相同时, 打印第一标识符 权 利 要 求 书 CN 103678142 A 2 2/2 页 3 号, 并当判断结果为不相同时, 打印第二标识符号 ; 所述处理器进一步用于将所述第一标识符号和所述第二标识符号组建为二维 。

8、MAP 地 图, 通过所述二维地图为所述时钟单元选择 SDRAM 的时钟参数。 7. 根据权利要求 6 所述的 SOC 芯片, 其特征在于 : 所述 SDRAM 的指定地址包括第一指 定地址、 第二指定地址和第三指定地址, 所述处理器具体用于将预定的相同大小的数据分 别写入所述第一指定地址、 第二指定地址和第三指定地址, 当写入后, 并分别读取所述第一 指定地址、 第二指定地址和第三指定地址中的相同大小的数据。 8. 根据权利要求 7 所述的 SOC 芯片, 其特征在于 : 所述处理器具体用于判断从所述第 一指定地址读取的数据与在所述第一指定地址写入的数据是否相同, 判断从所述第二指定 地址读。

9、取的数据与在所述第二指定地址写入的数据是否相同, 判断从所述第三指定地址读 取的数据与在所述第三指定地址写入的数据是否相同。 9. 根据权利要求 8 所述的 SOC 芯片, 其特征在于 : 所述处理器具体用于当判断从所述 第一指定地址读取的数据与在所述第一指定地址写入的数据相同, 并判断从所述第二指定 地址读取的数据与在所述第二指定地址写入的数据相同, 以及判断从所述第三指定地址读 取的数据与在所述第三指定地址写入的数据相同时, 判断从所述指定地址读取的数据与该 指定地址写入的数据相同。 10. 根据权利要求 8 所述的 SOC 芯片, 其特征在于 : 所述处理器具体用于当判断从所述 第一指定。

10、地址读取的数据与在所述第一指定地址写入的数据不相同时, 或, 判断从所述第 二指定地址读取的数据与在所述第二指定地址写入的数据不相同时, 或, 判断从所述第三 指定地址读取的数据与在所述第三指定地址写入的数据不相同时, 判断从所述指定地址读 取的数据与该指定地址写入的数据不相同。 权 利 要 求 书 CN 103678142 A 3 1/7 页 4 一种选择 SDRAM 时钟参数的方法和 SOC 芯片 技术领域 0001 本发明涉及通信领域, 尤其涉及一种选择 SDRAM 时钟参数的方法和 SOC 芯片。 背景技术 0002 在车载方案中, 随着核心芯片多媒体片上系统 (System On C。

11、hip, SOC) 不断推陈 出新, 对该 SOC 中的同步动态随机存储器 (Synchronous Dynamic Random Access Memory, SDRAM) 控制也有了更高的要求。通常 SOC 对 SDRAM 的频率控制不会超过 132MHz, 并且所配 备的 SDRAM 内存容量也不超过 32MB, 但目前的发展趋势要求 SOC 对 SDRAM 的频率控制超过 132MH, 并且实现在高低温的环境下稳定工作。 0003 在现有的车载方案中, 在 SOC 对 SDRAM 的频率控制过程中, 若对 SDRAM 的时钟参数 选择不正确, 将会导致系统不能稳定工作, 其主要原因有两。

12、个 : 第一个最重要的原因在于硬 件系统中芯片的内核电压对 SDRAM 的时钟参数的影响很大, 在 1.2V, 1.3V, 1.32V 和 1.4V 测 试得到的 SDRAM 时钟参数有增大趋势, 必须取到公共的参数才有可能符合使用要求, 但范 围很小, 且不一定稳定 ; 第二个原因在于根据不同环境温度选择的 SDRAM 时钟参数会造成 系统在常温下工作不稳定。 0004 在现有技术中, 现有的 SDRAM 的时钟参数选择方法为经验试探法, 该方法是对 SDRAM读写时序影响比较大的两个Delay cell和两个SDRAM_CLK时钟序列参数采用人工经 验选择, 进行大量的测试实验, 甚至采用。

13、穷举的方法, 选择的 SDRAM_CLK范围为0或1, 选择 的Delay cell范围为0到63, 一共64个数值可以被选择, 这四个SDRAM时钟序列参数又分 为两组, 按照排列组合结合经验选择, 效率非常的低下, 选择的 SDRAM 时钟参数对 SDRAM 读 写时序影响很大, 不准确, 更多的是依靠非常有经验的工程师。 发明内容 0005 本发明要解决的技术问题是提供一种智能终端及其通过 GPS 追踪的方法, 以提高 选择 SDRAM 的时钟参数的效率。 0006 本发明的发明目的是通过以下技术方案来实现的 : 0007 一种选择 SDRAM 时钟参数的方法, 包括 : 对 SDRAM。

14、 进行初始化 ; 在所述 SDRAM 的指 定地址写入数据 ; 读取所述 SDRAM 的指定地址中的数据 ; 判断从所述指定地址读取的数据 与所述指定地址写入的数据是否相同 ; 当判断结果为相同时, 通过 URAT 串口打印第一标识 符号 ; 当判断结果为不相同时, 通过所述 URAT 串口打印第二标识符号 ; 将所述第一标识符 号和所述第二标识符号组建为二维 MAP 地图 ; 通过所述二维地图选择 SDRAM 的时钟参数。 0008 上述的选择SDRAM时钟参数的方法, 其中 : 所述SDRAM的指定地址包括第一指定地 址、 第二指定地址和第三指定地址, 所述在所述 SDRAM 的指定地址写。

15、入数据的步骤包括 : 将 预定的相同大小的数据分别写入所述第一指定地址、 第二指定地址和第三指定地址 ; 所述 读取所述 SDRAM 的指定地址中的数据的步骤包括 : 分别读取所述第一指定地址、 第二指定 地址和第三指定地址中的相同大小的数据。 说 明 书 CN 103678142 A 4 2/7 页 5 0009 上述的选择 SDRAM 时钟参数的方法, 其中 : 所述判断从所述指定地址读取 的数据 与所述指定地址写入的数据是否相同的步骤包括 : 判断从所述第一指定地址读取的数据与 在所述第一指定地址写入的数据是否相同, 判断从所述第二指定地址读取的数据与在所述 第二指定地址写入的数据是否相。

16、同, 判断从所述第三指定地址读取的数据与在所述第三指 定地址写入的数据是否相同。 0010 上述的选择 SDRAM 时钟参数的方法, 其中 : 所述判断从所述指定地址读取的数据 与所述指定地址写入的数据是否相同的步骤进一步包括 : 当判断从所述第一指定地址读取 的数据与在所述第一指定地址写入的数据相同, 并判断从所述第二指定地址读取的数据与 在所述第二指定地址写入的数据相同, 以及判断从所述第三指定地址读取的数据与在所述 第三指定地址写入的数据相同时, 判断从所述指定地址读取的数据与该指定地址写入的数 据相同。 0011 上述的选择 SDRAM 时钟参数的方法, 其中 : 所述判断从所述指定地。

17、址读取的数据 与所述指定地址写入的数据是否相同的步骤进一步包括 : 当判断从所述第一指定地址读取 的数据与在所述第一指定地址写入的数据不相同时, 或, 判断从所述第二指定地址读取的 数据与在所述第二指定地址写入的数据不相同时, 或, 判断从所述第三指定地址读取的数 据与在所述第三指定地址写入的数据不相同时, 判断从所述指定地址读取的数据与该指定 地址写入的数据不相同。 0012 一种应用于选择 SDRAM 时钟参数的 SOC 芯片, 包括 : 处理器、 SDRAM、 时钟单元和通 用异步接收发送单元 ; 其中, 所述时钟单元用于为所述 SDRAM 提供时钟参数 ; 所述处理器用 于先对所述 S。

18、DRAM 进行初始化, 在所述 SDRAM 的指定地址写入数据, 再读取所述 SDRAM 的所 述指定地址中的数据, 判断从所述指定地址读取的数据与所述指定地址写入的数据是否相 同 ; 所述通用异步接收发送单元用于当所述处理器的判断结果为相同时, 打印第一标识符 号, 并当判断结果 为不相同时, 打印第二标识符号 ; 所述处理器进一步用于将所述第一标 识符号和所述第二标识符号组建为二维 MAP 地图, 通过所述二维地图为所述时钟单元选择 SDRAM 的时钟参数。 0013 上述的应用于选择SDRAM时钟参数的SOC芯片, 其中 : 所述SDRAM的指定地址包括 第一指定地址、 第二指定地址和第。

19、三指定地址, 所述处理器具体用于将预定的相同大小的 数据分别写入所述第一指定地址、 第二指定地址和第三指定地址, 当写入后, 并分别读取所 述第一指定地址、 第二指定地址和第三指定地址中的相同大小的数据。 0014 上述的应用于选择SDRAM时钟参数的SOC芯片, 其中 : 所述处理器具体用于判断从 所述第一指定地址读取的数据与在所述第一指定地址写入的数据是否相同, 判断从所述第 二指定地址读取的数据与在所述第二指定地址写入的数据是否相同, 判断从所述第三指定 地址读取的数据与在所述第三指定地址写入的数据是否相同。 0015 上述的应用于选择SDRAM时钟参数的SOC芯片, 其中 : 所述处理。

20、器具体用于当判断 从所述第一指定地址读取的数据与在所述第一指定地址写入的数据相同, 并判断从所述第 二指定地址读取的数据与在所述第二指定地址写入的数据相同, 以及判断从所述第三指定 地址读取的数据与在所述第三指定地址写入的数据相同时, 判断从所述指定地址读取的数 据与该指定地址写入的数据相同。 0016 上述的应用于选择SDRAM时钟参数的SOC芯片, 其中 : 所述处理器具体用于当判断 说 明 书 CN 103678142 A 5 3/7 页 6 从所述第一指定地址读取的数据与在所述第一指定地址写入的数据不相同时, 或, 判断从 所述第二指定地址读取的数据与在所述第二指定地址写入的数据不相同。

21、时, 或, 判断从所 述第三指定地址读取的数据与在所述第三指定 地址写入的数据不相同时, 判断从所述指 定地址读取的数据与该指定地址写入的数据不相同。 0017 通过本发明实施例提供的技术方案, 可以不额外增加硬件资源, 仅使用 UART 串口 工具和二维MAP图选择工具, 即可实现SDRAM控制时钟参数的准确选择, 并不需要依靠有经 验的工程师, 从而可提高选择 SDRAM 的时钟参数的效率。 附图说明 0018 为了易于说明, 本发明由下述的较佳实施例及附图作以详细描述。 0019 图 1 所示为本发明实施例提供的选择 SDRAM 时钟参数的方法的流程图 ; 0020 图 2 所示为本发明。

22、实施例提供的存储空间的矩形区域示意图 ; 0021 图 3 所示为本发明实施例提供的二维 MAP 地图的示意图 ; 0022 图 4 所示为本发明实施例提供的参数的示意图 ; 0023 图 5 所示为本发明实施例提供的选择 SDRAM 时钟参数的 SOC 芯片的结构图 ; 图 6 所示为本发明实施例提供的选择 SDRAM 时钟参数的 SOC 芯片具体结构图。 具体实施方式 0024 下面将结合附图对本发明的实施例进行详细说明。 0025 图 1 为本发明实施例提供的选择 SDRAM 时钟参数的方法的流程图。 0026 在本实施例中, 对 SDRAM 读写时序影响比较大的 Delay cell 。

23、参数和 SDRAM_CLK 参数作为例子进行说明。在本实施例中, 将 SDRAM 时钟序列参数分为两组, 第一组为 Delay cell 参数, 第二组为 SDRAM_CLK 参数 ; 其中, Delay cell 参数为延时时间参数, 将该 Delay cell 参数分为两个数据参数, 分别包括读数据的延时时间参数和写数据的延时时间参数, 因而, 第一组 Delay cell 参数中存在四种状态, 比如, 用 0 表示读数据, 用 1 表示写数据, 就 会有四种状态 ; SDRAM_CLK参数为SDRAM的时钟参数, 也是包括两个数据参数, 分别为上升 沿状态的时钟参数和下降沿状态的时钟参数。

24、。 0027 在本实施例中, 步骤 S100, 对 SDRAM 进行初始化。在本实施例中, SDRAM 在上电之 后, 必须先进行初始化才能正常的运行。 0028 步骤S102, 在SDRAM的指定地址写入数据。 在本实施例中, 将对SDRAM的指定地址 的连续数据进行先进行写操作, 再进行读操作。 在本实施例中, 在搬移数据中取其中的矩形 区域地址先进行写操作, 再进行读操作。 0029 如图 2 所示, 将存储空间可以分别 8MB, 16MB, 32MB, 和 64MB 的矩形区域地址, 当然 也可以有其它容量的矩形区域地址, 比如24MB。 若该SDRAM的容量为32MB, 在写入数据的。

25、时 候, 将 16MB 地址的前后 2048Byte 作为第一指定地址, 即将 16MB 地址的前后 2048Byte 作为 写入数据的第一目的地址, 再将预定的数据写入该第一指定地址, 即写入 4096Byte ; 同时, 还将 8MB 地址的前后 2048Byte 作为第二指定地址, 即将 8MB 地址的前后 2048Byte 作为写 入数据的第二目的地址, 再将预定的数据写入该第二指定地址, 即写入 4096Byte, 另外, 再 将还将 24MB 地址的前后 2048Byte 作为第三指定地址, 即将 24MB 地址的前后 2048Byte 作 为写入数据的第三目的地址, 即写入409。

26、6Byte。 当然, 上述的写入数据操作, 可以同时进行, 说 明 书 CN 103678142 A 6 4/7 页 7 也可以分别进行。在本实施例中, 上述的预定的数据可以 0xa55a5aa5, 当然, 也可以取其它 数值, 本发明不进行限制, 即将 0xa55a5aa5 中的 4096Byte 写入指定地址。 0030 步骤 S104, 读取 SDRAM 中指定地址中的数据。在本实施例中, 读取 SDRAM 中第一 指定地址、 第二指定地址和第三指定地址中的数据。在本实施例中, 读取第一指定地址的 前后 2048Byte 数据, 读取第二指定地址的前后 2048Byte 数据, 读取第三。

27、指定地址的前后 2048Byte 数据。 0031 步骤 S106, 判断从该指定地址读取的数据与该指定地址写入的数据是否相同。在 本实施例中, 可以理解为, 判断该指定地址的读写数据是否正确或是否相同。在本实施例 中, 判断从第一指定地址读取的数据与该第一指定地址写入的数据是否相同, 判断从第二 指定地址读取的数据与该第二指定地址写入的数据是否相同, 判断从第三指定地址读取的 数据与该第三指定地址写入的数据是否相同。 0032 在本实施例中, 当判断从第一指定地址读取的数据与该第一指定地址写入的数据 相同, 并判断从第二指定地址读取的数据与该第二指定地址写入的数据相同, 以及判断从 第三指定。

28、地址读取的数据与该第三指定地址写入的数据相同时, 即判断从指定地址读取的 数据与该指定地址写入的数据相同时, 执行步骤 S108 ; 0033 在本实施例中, 当判断从第一指定地址读取的数据与该第一指定地址写入的数据 不相同时, 或, 判断从第二指定地址读取的数据与该第二指定地址写入的数据不相同时, 或, 判断从第三指定地址读取的数据与该第三指定地址写入的数据不相同时, 即只要有一 个判断结果为不相同时, 就执行步骤 S110。 0034 步骤 S108, 通过 URAT 串口打印第一标识符号。在本实施例中, 该第一标识符号可 以用 “! ” 表示, 当然, 也可以用其它符号进行标识, 本发明。

29、对此不限制。 0035 步骤 S110, 通过 URAT 串口打印第二标识符号。在本实施例中, 该第二标符号可以 用 “.” 表示, 当然, 也可以用其它符号进行标识, 本发明对此不限制。 0036 当执行完步骤 S108 和 S110 后, 执行步骤 S112, 即, 将第一标识符号和第二标识符 号组建为二维 MAP 地图。可以参考图 3 所示。在本实施例中, 图 3 中顶端的第一行为两个 SDRAM 时钟信号的状态, 即上升沿和下降沿状态, 也可以理解时钟信号的两个参数。图 3 中 的列方向为第一组 Delay cell 参数中的第一 DELAY_CELL 参数, 行方向为第二个 DELA。

30、Y_ CELL 参数, 因而, 通过上述的四 个参数就可以组建为一张二维地图。 0037 当然, 由于第一组 Delay cell 参数存在四个状态, 因而, 针对每一个状态, 都可以 组建一张二维地图, 因而, 可以有四张二维地图。 0038 步骤S114, 通过该二维地图选择SDRAM的时钟参数。 在本实施例中, 可以通过加载 所生成的二维地图, 就可以自动生成符合SDRAM的控制时钟稳定时序的DELAY_CELL参数和 SDRAM_CLK 参数, 再合并到实际的软件程序使用。在本实施例中, 可以通过使用 SdramUtils 工具打开该二维地图文件, 可以得到 clk5-0, clk17。

31、, clk19, clk31-26, S-COL-ADDR_WIDTH, S_ROW_ADDR_WIDTH, SDRAM Column address, S_BANK_ADDR_WIDTH, FULL_SIZE 这些参数, 参 考图 4 所示, 再将上述得到的参数的值整理到实际的工程中进行测试和使用。合并到实际 的软件工程中测试, 测试结果表明, 选择的参数立即可以稳定使用, 基本不需要再次选择, 即使在高温低稳的环境下, 通过该方法选择的参数也基本一次性通过测试, 选择的参数直 接可以使用。 说 明 书 CN 103678142 A 7 5/7 页 8 0039 从定量上对本发明所述的方法和。

32、经验穷举法比较分析, 能更清晰地看出效率提升 的实际效果。假设访问的地址物理空间为 4096Byte, 使用经验穷举法, 很耗时费力, 虽然 SDRAM_CLK参数只有4种选择, 但DELAY_CELL有64x644096种选择, 不依靠经验, 穷举法 基本无法实现对参数的选择, 应用本发明所述的方法来实现 SDRAM 控制时钟参数的选择, 效率明显提升。而实际上单靠经验选择的参数, 能稳定工作的只有 10左右。换句话说在 通常情况下, 应用本发明所述的方法来实现 SDRAM 控制时钟参数的选择在通常情况下将有 90的效率提升。 0040 因而, 通过使用本发明提供的技术方案, 可以不额外增加。

33、硬件资源, 仅使用 UART 串口工具和二维 MAP 图选择工具, 即可实现 SDRAM 控制时钟参数的准确选择, 并提高选择 SDRAM 的时钟参数的效率。 0041 在本实施例中, 图 5 所示为本发明实施例提供的选择 SDRAM 时钟参数的 SOC 芯片 的结构图。 0042 在本实施例中, 该 SOC 芯片 20 可以与显示单元 10 和输入输出设备 30 分别通信相 连接。显示单元 10 可以为显示器, 输入输出设备 30 可以为键盘或是按键。当然, 该 SOC 芯 片可以集成于导航装置或通信装置中。 0043 在本实施例中, SOC 芯片 20 包括处理器 200, SDRAM20。

34、2, 时钟单元 204, 和通用异步 接收发送单元 UART206。在本实施例中, 通用异步接收发送单元 UART206 与显示单元 10 和 输入输出设备 30 分别通信连接, 并与处理器 200 通信连接, 该处理器 200 分别与 SDRAM202 和时钟单元 204 通信连接, SDRAM202 与时钟单元 204 通信连接。 0044 在本实施例中, 时钟单元 204 用于为 SDRAM202 提供时钟参数, 处理器 200 用于根 据时钟单元 204 提供的时钟参数对 SDRAM202 进行数据的读写操作。 0045 为更好的选择一个好的时钟参数, 在本实施例中, 处理器 200 。

35、还用于先对 SDRAM202进行初始化, 在SDRAM202的指定地址写入数据, 再读取SDRAM202中该指定地址中 的数据, 判断从该指定地址读取的数据与该指定地址写入的数据是否相同, 当判断相同时, 通过通用异步接收发送单元 UART206 打印第一标识符号 ; 当判断不相同时, 通过通用异步 接收发送单元 UART206 打印第二标识符号。 0046 处理器 200 还用于根据第一标识符号和第二标识符号组建为二维地图, 通过该二 维地图选择 SDRAM202 的时钟参数。 0047 当处理器 200 获得稳定的时钟参数时, 时钟单元 204 将该时钟参数作为控制 SDRAM202 的时。

36、钟参数。 0048 在本实施例中, 处理器 200 可以划分为初始化单元 2000、 数据写入单元 2002、 数 据读取单元 2004、 判断单元 2006、 组建单元 2008, 选择单元 2010, 如图 6 所示。 0049 在本实施例中, 初始化单元 2000 与 SDRAM202 通信连接, 用于对 SDRAM200 进行初 始化 ; 0050 数据写入单元 2002 与 SDRAM202 通信连接, 用于在 SDRAM200 的指定地址写入数 据。在本实施例中, 将对 SDRAM202 的指定地址的连续数据进行先进行写操作, 再进行读操 作。在本实施例中, 在搬移数据中取其中的矩。

37、形区域地址先进行写操作, 再进行读操作。在 本实施例中, 将存储空间可以分别 8MB, 16MB, 32MB, 和 64MB 的矩形区域地址, 当然也可以有 其它容量的矩形区域地址, 比如 24MB。若该 SDRAM 的容量为 32MB, 在写入数据的时候, 将 说 明 书 CN 103678142 A 8 6/7 页 9 16MB 地址的前后 2048Byte 作为第一指定地址, 即将 16MB 地址的前后 2048Byte 作为写入 数据的第一目的地址, 再将预定的数据写入该第一指定地址, 即写入 4096Byte ; 同时, 还将 8MB 地址的前后 2048Byte 作为第二指定地址,。

38、 即将 8MB 地址的前后 2048Byte 作为写入数 据的第二目的地址, 再将预定的数据写入该第二指定地址, 即写入 4096Byte, 另外, 再将还 将 24MB 地址的前后 2048Byte 作为第三指定地址, 即将 24MB 地址的前后 2048Byte 作为写 入数据的第三目的地址, 即写入 4096Byte。当然, 上述的写入数据操作, 可以同时进行, 也 可以分别进行。在本实施例中, 上述的预定的数据可以 0xa55a5aa5, 当然, 也可以取其它数 值, 本发明不进行限制, 即将 0xa55a5aa5 中的 4096Byte 写入指定地址。 0051 数据读取单元 200。

39、4 与 SDRAM202 通信连接, 用于读取 SDRAM200 中指定地址中的 数据。在本实施例中, 读取 SDRAM202 中第一指定地址、 第二指定地址和第三指定地址中 的数据。在本实施例中, 读取第一指定地址前后 2048Byte 数据, 读取第二指定地址前后 2048Byte 数据, 读取第三指定地址前后 2048Byte 数据。 0052 判断单元 2006 与数据写入单元 2002、 数据读取单元 2004 和通用异步接收发送单 元 UART206 分别通信连接, 用于判断数据读取单元 2004 从 SDRAM200 该指定地址读取的数 据与据写入单元 2002 在 SDRAM2。

40、00 中该指定地址写入的数据是否相同。在本实施例中, 可 以理解为, 判断该指定地址的读写数据是否正确或是否相同。 在本实施例中, 判断从第一指 定地址读取的数据与该第一指定地址写入的数据是否相同, 判断从第二指定地址读取的数 据与该第二指定地址写入的数据是否相同, 判断从第三指定地址读取的数据与该第三指定 地址写入的数据是否相同。 0053 在本实施例中, 当判断从第一指定地址读取的数据与该第一指定地址写入的数据 相同, 并判断从第二指定地址读取的数据与该第二指定地址写入的数据相同, 以及判断从 第三指定地址读取的数据与该第三指定地址写入的数据相同时, 即判断从指定地址读取的 数据与该指定地。

41、址写入的数据相同时, 判断单元 2006 将判断的相同结果输出至通用异步 接收发送单元 UART206, 由通用异步接收发送单元 UART206 打印第一标识符号, 并通过显示 单元 10 显示给操作人员 ; 0054 在本实施例中, 当判断从第一指定地址读取的数据与该第一指定地址写入的数据 不相同时, 或, 判断从第二指定地址读取的数据与该第二指定地址写入的数据不相同时, 或, 判断从第三指定地址读取的数据与该第三指定地址写入的数据不相同时, 即只要有一 个判断结果为不相同时, 判断单元 2006 将判断的不相同结果通过输出单元 2008 输出至通 用异步接收发送单元 UART206, 由通。

42、用异步接收发送单元 UART206 打印第二标识符号, 并通 过显示单元 10 显示给操作人员 ; 0055 当通用异步接收发送单元 UART206 通过输入输出设备 30 接收操作人员的操作指 令时 ( 可以是生成或组建二维 MAP 地图命令 ), 将打印的第一标识符号和 第二标识符号输 出至处理器200, 由组建单元2008将第一标识符号和第二标识符号组建为二维MAP地图, 将 生成的二维MAP地图经由通用异步接收发送单元UART206输出至显示单元10。 可以参考图 3 所示。在本实施例中, 图 3 中顶端的第一行为两个 SDRAM 时钟信号的状态, 即上升沿和下 降沿状态, 也可以理解。

43、时钟信号的两个参数。图 3 中的列方向为第一组 Delay cell 参数中 的第一 DELAY_CELL 参数, 行方向为第二个 DELAY_CELL 参数, 因而, 通过上述的四个参数就 可以组建为一张二维地图。 说 明 书 CN 103678142 A 9 7/7 页 10 0056 当通用异步接收发送单元 UART206 通过输入输出设备 30 接收操作人员的操作指 令时(可以是选择SDRAM的时钟参数的命令), 由选择单元2010根据组建单元2008组建的 该二维地图选择 SDRAM 的时钟参数。 0057 从定量上将本发明和经验穷举法比较分析, 能更清晰地看出效率提升的实际效 果。。

44、假设访问的地址物理空间为 4096Byte, 使用经验穷举法, 很耗时费力, 虽然 SDRAM_CLK 参数只有 4 种选择, 但 DELAY_CELL 有 64x64 4096 种选择, 不依靠经验, 穷举法基本无法 实现对参数的选择, 应用本发明的技术方案来实现 SDRAM 控制时钟参数的选择, 效率明显 提升。而实际上单靠经验选择的参数, 能稳定工作的只有 10左右。换句话说在通常情况 下, 应用本发明所述的方法来实现 SDRAM 控制时钟参数的选择在通常情况下将有 90的效 率提升。 0058 因而, 通过使用本发明提供的技术方案, 可以不额外增加硬件资源, 仅使用 UART 串口工具。

45、和二维 MAP 图选择工具, 即可实现 SDRAM 控制时钟参数的准确选择。 0059 以上所述之具体实施方式为本发明的较佳实施方式, 并非以此限定本发明的具体 实施范围, 本发明的范围包括并不限于本具体实施方式。 凡依照本发明之形状、 结构所作的 等效变化均包含本发明的保护范围内。 说 明 书 CN 103678142 A 10 1/4 页 11 图 1 说 明 书 附 图 CN 103678142 A 11 2/4 页 12 图 2 图 3 说 明 书 附 图 CN 103678142 A 12 3/4 页 13 图 4 图 5 说 明 书 附 图 CN 103678142 A 13 4/4 页 14 图 6 说 明 书 附 图 CN 103678142 A 14 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1