首页> 中国专利> 一种输入/输出总线时序参数确定方法及装置

一种输入/输出总线时序参数确定方法及装置

摘要

本发明实施例涉及通信领域一种输入/输出总线IO-BUS时序参数确定方法,选择一组IO-BUS时序参数,以所述选择的一组时序参数的初始值作为动态扫描的中心值,将该初始值调整至规定边界,并固定所述IO-BUS的其他组时序参数值,以所述初始值调整至规定边界后的值以及所述其他组时序参数值配置所述IO-BUS时序参数;通过配置时序参数后的IO-BUS访问至少两个地址规定次数;若规定次数访问所述地址均成功,则将所述选择的一组时序参数的当前值作为所述选择的一组时序参数的确定值。本发明实施例还提供一种相应的装置。本发明实施例可以根据各单板的个体差异和运行环境的不同选择适合的IO-BUS时序参数,从而有效解决了运行效率和运行稳定性之间的矛盾。

著录项

  • 公开/公告号CN101520765A

    专利类型发明专利

  • 公开/公告日2009-09-02

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN200910081156.6

  • 发明设计人 王天成;李祥;

    申请日2009-04-03

  • 分类号G06F13/42;

  • 代理机构北京凯特来知识产权代理有限公司;

  • 代理人郑立明

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-17 22:36:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-03-17

    未缴年费专利权终止 IPC(主分类):G06F13/42 专利号:ZL2009100811566 申请日:20090403 授权公告日:20110824

    专利权的终止

  • 2011-08-24

    授权

    授权

  • 2009-10-28

    实质审查的生效

    实质审查的生效

  • 2009-09-02

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,尤其涉及一种输入/输出总线时序参数确定方法及装置。

背景技术

输入/输出总线(IO-BUS,Input/Output BUS)作为一种成熟的芯片间总线,广泛应用于各种单板类产品,其布线简单,技术成熟。目前无线各个制成板上的主要器件如:CPU、复杂可编程逻辑器件(CPLD,Complexprogrammable Logical Device)、逻辑芯片以及数字信号处理器(DSP,Digital Signal Processor)的外挂双倍速率SDRAM(DDR,Dual Data RateSDRAM)都是通过该总线被其他器件所访问的。IO-BUS不仅在全球微波接入互操作性(WiMAX,World Interoperability for MicrowaveAccess)基站中承担控制命令的传输,如,芯片寄存器的访问任务,更肩负着业务数据的传送,如,基带基站处理单元BBI(Baseband Base Station Uint)单板内CPU和现场可编程逻辑门阵列(FPGA,Field Programmable Gate Array)之间的高级数据链路控制(HDLC,High Data Link Control)数据的传输等。

在对单板进行大批量测试时,经常面临IO-BUS对外挂芯片的访问会出现不同概率的“访问失败”,经分析,所述访问失败主要原因在于:不同的单板之间由于器件本身个体差异、印刷电路板(PCB,Printed Circuit Board)差异、硬件走线长短的微妙不同等,造成了单板之间对于IO-BUS最优时序参数之间的差异。

现有技术为解决上述问题采用的技术方案为:

选择最为宽松的配置项,如针对参数WAIT_TO_DATA,选择一个对于所有可能都尽量足够的数值,例如,参数WAIT_TO_DATA为WE信号建立以后DATA需要保持的时间,在某些单板上WAIT_TO_DATA设置为2ns即可满足要求,但在其他单板或某些情况下,该参数需要设置为4ns,即4个CPU的工作CLOCK。按照目前的做法,各个单板的配置是相同的,使用4ns作为WAIT_TO_DATA的最终配置。

发明人在实践过程中,发现现有技术至少存在如下缺点:

现有技术存在访问时间浪费问题,即为了个别单板的差异而牺牲了大多数单板的访问时间。

发明内容

本发明实施例提供一种输入/输出总线时序参数确定方法及装置,区分单板的差异选择不同的IO-BUS时序参数,同时避免访问时间浪费问题。

本发明实施例是通过以下技术方案实现的:

本发明实施例提供一种输入/输出总线时序参数确定方法,包括:

选择一组输入/输出总线时序参数,以所述选择的一组时序参数的初始值作为动态扫描的中心值,将该初始值调整至规定边界,并固定所述输入/输出总线的其他组时序参数值,以所述初始值调整至规定边界后的值以及所述其他组时序参数值配置所述输入/输出总线时序参数;

通过配置时序参数后的输入/输出总线访问至少两个地址规定次数;

若规定次数访问所述地址均成功,则将所述选择的一组时序参数的当前值作为所述选择的一组时序参数的确定值。

本发明实施例提供一种输入/输出总线时序参数确定装置,包括:

选择单元,用于选择一组输入/输出总线时序参数;

动态扫描单元,用于以所述选择的一组时序参数的初始值作为动态扫描的中心值,将该初始值调整至规定边界,并固定所述输入/输出总线的其他组时序参数值,以所述初始值调整至规定边界后的值以及所述其他组时序参数值配置所述输入/输出总线时序参数,并通过配置时序参数后的输入/输出总线访问至少两个地址规定次数;

确定单元,用于根据动态扫描过程中规定次数访问地址是否成功来确定时序参数的确定值,若规定次数访问所述地址均成功,则将所述选择的一组时序参数的当前值作为所述选择的一组时序参数的确定值。

由上述本发明实施例提供的技术方案可以看出,本发明实施例可以动态扫描IO-BUS各组时序参数,从而可以根据各单板的个体差异和运行环境的不同选择适合的IO-BUS时序参数,且有效避免了访问时间浪费的问题,进而有效解决了运行效率和运行稳定性之间的矛盾。

附图说明

图1为本发明一个实施例IO-BUS时序参数确定方法流程图;

图2为本发明又一实施例1O-BUS时序参数确定方法流程图;

图3为本发明一个实施例IO-BUS时序参数确定装置结构示意图;

图4为本发明又一个实施例IO-BUS时序参数确定装置结构示意图;

图5为本发明另一个实施例1O-BUS时序参数确定装置结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,可以理解的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种IO-BUS时序参数确定方法,如图1中所示,包括如下步骤:

步骤10:选择一组IO-BUS时序参数,以所述选择的一组时序参数的初始值作为动态扫描的中心值,将该初始值调整至规定边界,并固定所述IO-BUS的其他组时序参数值,以所述初始值调整至规定边界后的值以及所述其他组时序参数值配置所述IO-BUS时序参数;

步骤11:通过配置时序参数后的IO-BUS访问至少两个地址规定次数;

上述地址中存储的内容可以为预先知道的内容;

步骤12:若规定次数访问所述地址均成功,则将所述选择的一组时序参数的当前值作为所述选择的一组时序参数的确定值。

本发明实施例可以动态扫描IO-BUS各组时序参数,从而可以根据各单板的差异选择适合的IO-BUS时序参数,有效避免了访问时间浪费的问题。

本发明又一实施例提供一种IO-BUS时序参数确定方法,以图2中所示为例,包括如下步骤:

步骤20:选择一组IO-BUS时序参数,以所述选择的一组时序参数的初始值作为动态扫描的中心值,将该初始值调整至规定边界,并固定所述IO-BUS的其他组时序参数值,以所述初始值调整至规定边界后的值以及所述其他组时序参数值配置所述IO-BUS时序参数;

在执行该步骤前,可选地将所述IO-BUS时序参数分组,将具有相关性的时序参数作为一组时序参数,也就是将具有保持时间和建立时间的IO-BUS时序参数作为一组,每组可以包括一个、两个或多个IO-BUS时序参数。将所述IO-BUS时序参数分组可以节省动态扫描的时间。

需要注意的是,实际进行时序参数的动态扫描之前,需要对各个时序参数进行排序,若对时序参数进行了分组,则对各组时序参数进行排序,用以确定动态扫描的先后顺序,对于具体排序方式本发明实施例不做具体限定,例如可以按照IO-BUS时序参数本身在时间上的先后顺序进行排序,即,先出现在IO-BUS上的时序对应的参数排在前面。

进行过动态扫描的各时序参数的初始值为上次动态扫描后确定的该时序参数的确定值,其存储在单板的非易失性存储区中,通过使用上次扫描确定的结果,可以提高本次扫描的效率。若存在多个与温度对应的初始值,则选择与当前温度差异最小的初始值作为本次动态扫描的中心值。

所述固定所述IO-BUS的其他组时序参数值包括:对于已经动态扫描过的时序参数,使用动态扫描过程中确定的确定值,对于没有执行动态扫描的时序参数选择对应的初始值,没有进行过动态扫描的时序参数的初始值可以为根据具体型号芯片的实际规格确定的。

所述规定边界可以为上移边界或下移边界,一般可以预先确定上下移的总范围,上移范围和下移范围之和一般不超过中心值的15%,可以理解的是,本发明实施例并不局限于此,例如:型号为XLS408的处理器的上移的有效范围是0.3ns,下移的有效范围是0.5ns,其中心值推荐为6ns,则上移范围和下移范围之和为中心值的13.3%。一般为了尽量节约访问时间,希望选择比当前初始值小的值,因此可以先将初始值下移至规定的下移边界。

步骤21:通过配置后的IO-BUS访问至少两个地址规定次数;

上述地址中存储的内容已知;

访问地址时,需要轮流访问,每次访问所述地址中存储的内容都是已知的,这样才可以将读到的内容进行比较,这个值可以事先写入。每次访问的地址都需要是变化的,这样是为了消除IO-BUS的“地址保持”这一影响。

步骤22:判断是否访问成功,若均成功,并执行步骤24,否则,若规定次数访问所述地址存在失败,执行步骤23。

如,将每次访问所述地址获得的内容与已知的内容进行比较,若内容均一致,则访问成功;若存在一次或多次访问所述地址获得的内容与已知的内容相比较不一致,则访问所述地址存在失败。

步骤23:将正在进行动态扫描的一组时序参数的所述调整后的初始值调整一个变化度量,以所述调整一个变换度量后的值以及所述其他组时序参数值配置IO-BUS的时序参数,之后返回步骤21;

若规定次数访问所述地址均成功,则将所述调整一个变化度量后的值作为该一组时序参数的确定值,并结束本组时序参数的扫描,开始进行下一组时序参数的扫描。

所述变化度量可以为预先确定的一个值。

步骤24:判断所述一组时序参数是否为IO-BUS的最后一组时序参数;若是,则执行步骤25,否则返回步骤20,依照预定顺序确定所述IO-BUS其他组时序参数的确定值,直到确定IO-BUS所有组时序参数的确定值。

在确定所述IO-BUS其他组时序参数的确定值的过程中,若当前选择的一组时序参数的初始值在规定边界范围内每次调整后,通过IO-BUS访问至少两个地址进行比较后,均存在访问失败的情况,则回退到当前一组时序参数的前一组时序参数,重新为所述前一组时序参数确定一个确定值,该确定方法是将其确定值调整一个变化度量作为新的确定值,然后重新扫描刚刚扫描失败的所述当前一组时序参数,以此方式类推。

将回退后重新确定的确定值向靠近初始值方向调整至少一个变化度量作为所述前一组时序参数的确定值。

在确定每组时序参数确定值后,由于部分时序参数执行了回退操作,则将执行回退的各组时序参数回退后重新确定的确定值,向靠近初始值方向调整至少一个变化度量作为所述执行回退的各组时序参数的确定值。

记录所述IO-BUS的所有组时序参数的确定值作为下次单板启动时动态扫描的对应各组时序参数的初始值。或者记录所述IO-BUS的所有组时序参数的确定值以及对应的温度,作为下次单板启动时动态扫描的对应各组时序参数的初始值。

步骤25:使用上述确定的IO-BUS的所有组时序参数的确定值配置所述IO-BUS。

本发明实施例所述的动态扫描确定各IO-BUS时序参数的方案,可以为每块单板配置当前适合的时序参数,可以有效保证IO-BUS访问的稳定性,从而保证了单板的稳定运行,并解决了现有技术的访问时间浪费问题,提高了IO-BUS的访问效率,从而提高单板的运行效率。

为进一步理解本发明,下面以具体实例对本发明上述实施例所述IO-BUS时序参数配置方法作进一步说明。

以IO-BUS的如下几个主要的时序参数为例,包括:CS_TO_CS、WE_TO_CS、OE_TO_CS、CS_TO_WE、CS_TO_OE、WAIT_TO_DATA、ALE_TO_CS、ALE_WIDTH等;在单板中存储有IO-BUS各组时序参数所需要的几组经验数据,该经验数据是用于动态扫描的初始值,并可以根据单板运行温度将所述经验数据分组,用以在不同温度下选取不同的初始值。

首先将上述时序参数进行分组,相关性强(具有保持时间和建立时间)的时序参数作为一组,如:CS_TO_CS、WE_TO_CS、OE_TO_CS作为一组时序参数进行动态扫描,其他各时序参数各自为一组。

对分组后的各组时序参数进行动态扫描,确定确定值,具体包括:

首先,选择CS_TO_CS、WE_TO_CS、OE_TO_CS组成的第一组时序参数进行动态扫描,假设该组时序参数对应的初始值为arA,下移边界为arA-n1△arA,上移边界为arA+n2△arA,将arA调整至下移边界,即取arA-n1△arA值作为所选择的一组时序参数的值,并固定其它时序参数CS_TO_WE、CS_TO_OE、WAIT_TO_DATA、ALE_TO_CS、ALE_WIDTH,即令其他时序参数取值为初始值,以arA-n1△arA以及固定的其他时序参数值配置所述IO-BUS的时序参数;所述△arA为预先设置的变化度量;

通过IO-BUS若干次访问两个地址,例如,访问两个地址200次,且该两个地址对应的内容已知,且每次访问同一地址对应的内容是变化的,如果访问200次获得的内容均同已知的内容一致,即访问成功,令该arA-n1△arA值为当前选择的一组时序参数的确定值;

按照上述过程,依照预定顺序对其他组时序参数进行动态扫描,确定每组时序参数的确定值。假如在确定了第一组时序参数的确定值后,对CS_TO_WE进行动态扫描时,发现在所述CS_TO_WE对应的初始值上移到规定上移边界以及下移到规定的下移边界后,均无法访问成功,则回退到第一组时序参数的扫描过程,重新确定所述第一组时序参数的确定值,例如以arA-(n1-1)△arA及其他各组时序参数的初始值配置IO-BUS,再执行访问两个地址(可以和第一次动态扫描时的地址相同,也可以不同)若干次的操作,若访问成功,则选择该arA-(n1-1)△arA的值作为重新确定的第一组时序参数的确定值。之后再依照预定顺序对其他组时序参数进行动态扫描,确定每组时序参数的确定值。

在确定每组时序参数确定值后,由于部分时序参数执行了回退操作,则将执行回退的各组时序参数回退中重新确定的确定值向靠近初始值方向调整至少一个变化度量作为所述执行回退的各组时序参数的确定值。例如,对于上述实例中的第一组时序参数,由于执行了一次回退操作,在动态扫描了所有时序参数后,最后确定该第一组时序参数的确定值可以为arA-(n1-2)△arA。

将上述最终确定的各组时序参数的确定值配置到IO-BUS控制器上,并将该温度下的值存储到单板上非易失性存储器中,作为一个经验值供下次动态扫描过程中作为初始值。

本发明实施例还提供一种IO-BUS时序参数确定的装置,以图3中所示为例,该装置包括:

选择单元30,用于选择一组输入/输出总线时序参数;

动态扫描单元31,用于以所述选择的一组时序参数的初始值作为动态扫描的中心值,将该初始值调整至规定边界,并固定所述输入/输出总线的其他组时序参数值,以所述初始值调整至规定边界后的值以及所述其他组时序参数值配置所述输入/输出总线时序参数,并通过配置时序参数后的输入/输出总线访问至少两个地址规定次数;

确定单元32,用于根据动态扫描过程中规定次数访问地址是否成功来确定时序参数的确定值,若规定次数访问所述地址均成功,则将所述选择的一组时序参数的当前值作为所述选择的一组时序参数的确定值。

如图4所示,所述装置还可以包括:

第一调整单元33,用于在规定次数访问所述地址存在失败情况下,将所述初始值在规定边界内调整一个变化度量。

如图5所示,所述装置还可以包括:

回退控制单元34,用于在所述选择的一组时序参数的初始值在规定边界范围内每次调整后,通过输入/输出总线访问至少两个地址,存在访问失败情况下,控制动态扫描单元回退到所述选择的一组时序参数的前一组时序参数,重新为所述前一组时序参数确定一个确定值。

并可以进一步包括:

第二调整单元35,用于将回退后重新确定的确定值向靠近初始值方向调整至少一个变化度量作为所述前一组时序参数的确定值。

所述装置还可以进一步包括:

第一记录单元36(图中未示出),用于记录所述IO-BUS时序参数。

所述装置还可以进一步包括:

第二记录单元37(图中未示出),用于记录所述IO-BUS时序参数对应的温度。

本发明实施例可以动态扫描IO-BUS各组时序参数,从而可以为各单板选择适合的IO-BUS时序参数,有效避免了访问时间浪费的问题。

综上所述,本发明实施例可以动态扫描IO-BUS各组时序参数,从而可以根据各单板的个体差异和运行环境的不同选择适合的IO-BUS时序参数,且有效避免了访问时间浪费的问题,进而有效解决了运行效率和运行稳定性之间的矛盾。

本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一计算机可读存储介质中。该可读存储介质例如只读存储器(简称ROM)、随机存取存储器(简称RAM)、磁盘、光盘等。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号