应用于F2F解码芯片中的片上时钟校准方法和装置
技术领域
本发明涉及芯片技术领域,特别涉及一种应用于F2F(亦称双频率数据、双相位)解码芯片中的片上时钟校准方法和装置。
背景技术
在F2F解码芯片中采用的理想时钟频率为9.216MHz,该时钟是由内部环形振荡电路产生,但由于芯片生产工艺偏差以及工作环境、温度、湿度等情况的变化会导致芯片时钟不准,会引起以下问题:
该时钟为芯片算法处理时钟,如果时钟不准会导致算法内部使用的滤波器频带范围出现偏差影响解码成功率;
该时钟为芯片通讯接口的基准时钟,时钟发生偏差会导致芯片与主控设备通讯不稳定甚至无法通讯的情况;
基于以上情况的考虑,需要在芯片出厂之前进行时钟校准,现有技术的校准方法是片外校准,其通过仪器采集输出的环振时钟确认时钟偏差再将校准值写回芯片内部,完成校准过程。
但此方法测试需要额外的芯片接口、测试设备而且每颗芯片的校准时间长,增加测试成本。
发明内容
本发明为克服现有技术中的缺陷而提供一种应用于F2F(亦称双频率数据、双相位)解码芯片中的片上时钟校准方法和装置,以解决现有技术中的不足,其采用片内校准装置,测试简单,无需外围电路,测试时间短,适用于大规模生产。
为实现本发明目的而提供的一种应用于F2F解码芯片中的片上时钟校准方法,包括如下步骤:
MCU从非易失型内存中回读默认时钟校准值,并传递给时钟校准电路,控制时钟校准电路打开;
所述时钟校准电路在所述MCU的控制下,在所述环振电路的配合下,进行时钟校准;
将确认时钟校准值作为默认时钟校准值写入到非易失型内存中,并关闭时钟校准计算;
当F2F解码芯片上电时,回读所述默认时钟校准值,并对F2F解码芯片输出准确的时钟。
优选地,所述时钟校准,包括如下步骤:
MCU启动时钟校准计算,时钟校准电路测试环振电路的时钟频率偏差并确认时钟校准值;
所述时钟校准电路打开后用环振电路产生环振时钟clk_osc去采样外部输入的基准时钟clk_ref进行时钟校准;
校准控制可以是通过时钟校准电路产生的7bit校准控制字输出给所述环振电路,所述环振电路按照校准控制字对应控制环形时钟的驱动电流大小来调整时钟频率clk_osc;
对于时钟校准字adj_val[6:0]的每个比特(bit)bit[n]的计算方式一致,其中n=0,1,2,3,4,5,6;用环振时钟clk_osc对基准时钟clk_ref信号的高电平进行计数,计数值adj_cnt与基准值REF_ VAL进入比较器COMP进行比较,会出现以下结果:
adj_cnt<REF_VAL时,bit[n]置为1,否则保持该bit值不变;
adj_cnt>REF_VAL时,bit[n]置为0,否则保持该bit值不变;
adj_cnt=REF_VAL时,则结束时钟校准过程。
优选地,所述环振电路配合时钟校准电路,包括如下步骤:
时钟校准电路反馈的时钟频率控制字bit[6:0]控制一个驱动电流产生电路,每个比特控制一个电阻的开闭;当全部电阻开关打开时,驱动电流最小,反之驱动电流最大;
控制环振电路调整时钟频率的方式是通过一个7bit的时钟校准控制字adj_val,该控制字控制着环振电路的驱动电流,电流越大产生的时钟频率越高;
时钟校准控制字adj_val的调整方法是由高至低逐bit进行校准,因此在时钟校准计算流程中提到的校准值计算状态下,bit_cnt初始值为6,即从adj_val的最高位,开始进行校准,直至bit_cnt为0时说明全部时钟控制字完成校准;
时钟控制字每个bit的校准方法都是一样的,就是在校准值计算状态判断adj_cnt与REF_VAL的关系:
adj_cnt<REF_VAL时,adj_val对应的该bit置为1;
adj_cnt>REF_VAL时,adj_val对应的该bit置为0;
adj_cnt=REF_VAL时,adj_val不需要调整。
为实现本发明目的还提供一种应用于F2F解码芯片中的片上时钟校准装置。
本发明一种应用于F2F解码芯片中的片上时钟校准方法和装置具有如下优点:
本发明采用片内校准装置,在内部加入时钟校准电路确认时钟偏差,时钟校准值写在非易失型内存(memory)中,这样芯片每次再上电从所述非易失型内存中回读校准值即可保证时钟精度,测试简单,无需外围电路,测试时间短适用于大规模生产。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的时钟校准电路示意图;
图2为本发明实施例的时钟校准过程状态流程图;
图3为本发明实施例的环振电路示意图;
图4为本发明实施例的应用于F2F解码芯片中的片上时钟校准装置结构示意图。
具体实施方式
如图1-4所示,为了使本发明的目的、技术方案和优点更加清楚明了。结合具体的实施方式,对本发明进行详细说明。此过程中,省略了对公知结构和技术的描述,用以避免对不必要地混淆本发明的概念。对于这些描述,只是示例性的。并不是限制本发明的范围。
本实施例提供一种应用于F2F解码芯片中的片上时钟校准方法,包括如下步骤:
步骤S100,MCU(Microprogrammed Control Unit,微程序控制器)从非易失型内存中回读默认时钟校准值,并传递给时钟校准电路,控制时钟校准电路打开;
作为一种可实施方式,所述步骤S100可以包括如下步骤:
步骤S110,在F2F解码芯片上设置至少一非易失型内存,所述非易失型内存用于所述芯片的默认时钟校准值;
步骤S120,芯片初始化阶段:完成芯片上电后的初始化;
步骤S130,时钟校准值回读;
芯片非易失内存中保存着默认时钟校准值,只有在完成时钟校准计算后该值才会被改写,因此此时回读的仍然是默认值。
步骤140,MCU通过内部总线接口传递给时钟校准电路,控制时钟校准电路打开。
步骤S200,时钟校准电路在所述MCU的控制下,在所述环振电路的配合下,进行时钟校准。
MCU启动时钟校准计算,时钟校准电路测试环振电路的时钟频率偏差并确认时钟校准值;
作为一种可实施方式,所述时钟校准电路打开后用环振电路产生环振时钟clk_osc去采样外部输入的基准时钟clk_ref进行时钟校准;
校准控制可以是通过时钟校准电路产生的7bit校准控制字输出给所述环振电路,所述环振电路按照校准控制字对应控制环形时钟的驱动电流大小来调整环振时钟clk_osc的时钟频率。
作为一种可实施方式,如图1为时钟校准电路示意图,对于时钟校准字adj_val[6:0]的每个比特(bit)bit[n]的计算方式一致,其中,n=0,1,2,3,4,5,6;用环振时钟clk_osc对基准时钟clk_ref信号的高电平进行计数,计数值adj_cnt与基准值REF_VAL进入比较器COMP进行比较,会出现以下结果:
adj_cnt<REF_VAL时,bit[n]置为1,否则保持该bit值不变;
adj_cnt>REF_VAL时,bit[n]置为0,否则保持该bit值不变;
adj_cnt=REF_VAL时,则结束时钟校准过程。
作为一种可实施方式,如图2所示,所述时钟校准计算的具体操作流程,包括如下步骤:
步骤S210,空闲状态时,不执行时钟校准操作,为电路上电默认状态,当输入的校准使能信号有效时,进入等待状态;
步骤220,等待状态时,校准电路已经进入校准流程,正在等待基准时钟的时钟输入,基准时钟是通过芯片管脚持续输入的“高电平时长31250ns,低电平时长500ns”的方波,当基准时钟上升沿有效时,进入采样状态;
步骤S230,采样状态,校准电路输入的基准时钟clk_ref始终处于高电平,校准计数器adj_cnt用环振电路产生的待校准环振时钟clk_osc进行计数,当基准时钟下降沿有效时,进入校准值计算状态;
步骤S240,校准值计算时,校准电路输入的基准时钟clk_ref始终处于低电平,校准值比特计数器bit_cnt用环振电路产生的待校准环振时钟clk_osc进行计数,每次执行减1操作后判断校准完成信号是否有效;
校准完成信号无效时,进入等待状态进行校准值下一比特校准;
校准完成信号有效时,表明校准值全部比特完成校准,回到空闲状态;
作为一种可实施方式,所述校准值计算包括如下步骤:
环振电路产生环振时钟clk_osc为9.216MHz,基准时钟clk_ref的高电平时长31250ns,因此在时钟校准计算流程中提到的采样状态下(即clk_ref的高电平期间)使用环振时钟clk_osc进行计数adj_cnt,其理想计数结果REF_VAL为288,因此:
1)实际计数值adj_cnt<REF_VAL时,说明环振时钟频率低于9.216MHz,需要提高环振时钟 clk_osc的时钟频率;
2)实际计数值adj_cnt>REF_VAL时,说明环振时钟频率高于9.216MHz,需要降低环振时钟clk_osc的时钟频率。
作为一种可实施方式,如图3所示,环振电路包括奇数首尾相连的反相器,产生自激振荡,并利用门电路器件的固有延迟产生的时钟频率,其驱动电流越大,产生的时钟频率越快。
所述时钟校准电路反馈的时钟频率控制字bit[6:0]控制一个驱动电流产生电路,每个比特(bit)控制一个电阻的开闭,可以看出当全部电阻开关打开时,驱动电流最小,反之驱动电流最大。因此时钟校准电路通过控制频率控制字的每个比特(bit)实现调整环振电路的驱动电流大小,实现生成环振时钟clk_osc的频率校准。
控制环振电路调整时钟频率的方式是通过一个7bit的时钟校准控制字adj_val,该控制字控制着环振电路的驱动电流,电流越大产生的时钟频率越高。因此在时钟校准电路中通过调整adj_val数值即可完成时钟频率的调整。
时钟校准控制字adj_val的调整方法是由高至低逐bit进行校准,因此在时钟校准计算流程中提到的校准值计算状态下,bit_cnt初始值为6(即从adj_val的最高位)开始进行校准,直至bit_cnt为0时说明全部时钟控制字完成校准。
时钟控制字每个bit的校准方法都是一样的,就是在校准值计算状态判断adj_cnt与REF_VAL的关系:
adj_cnt<REF_VAL时,adj_val对应的该bit置为1;
adj_cnt>REF_VAL时,adj_val对应的该bit置为0;
adj_cnt=REF_VAL时,adj_val不需要调整。
经测试,整个时钟校准过程持续时间大约270us,之后时钟校准电路产生校准完成信号输出给MCU,MCU控制时钟校准流程停止。
步骤S300,将确认时钟校准值作为默认时钟校准值写入到非易失型内存中,并关闭时钟校准计算。
MCU向非易失型内存写入新的校准控制值,即新的默认时钟校准值。
在时钟校准值写入阶段里,经过计算的时钟校准值作为默认时钟校准值,重新写回非易失内存(memory)中保存起来,以便之后芯片在实际工作过程中使用。
步骤S400,当F2F解码芯片上电时,回读所述默认时钟校准值,并对F2F解码芯片输出准确的时钟。
作为一种可实施方式,所述步骤S400包括如下步骤:
步骤S410,芯片初始化阶段:完成芯片上电后的一系列初始化操作;
步骤S420,在实际使用阶段,时钟校准值回读时,芯片已经完成了时钟校准操作,因此在非易失内存中保存着准确的默认时钟校准值,每次芯片上电都会回读该值以便F2F解码芯片的环振时钟输出准确时间;
步骤S430,芯片执行其他任务操作阶段。
如图4所示,本发明实施例的应用于F2F解码芯片中的片上时钟校准装置,包括MCU10,时钟校准电路20,环振电路30,以及非易失型内存40,其中:
所述MCU 10,用于控制所述时钟校准电路的开闭,校准控制字向所述非易失型内存中回读/回写,并控制执行时钟校准;
所述时钟校准电路20,用于在所述MCU的控制下,并在所述环振电路的配合下,进行时钟校准;
所述环振电路30,用于在所述时钟校准电路的控制下,配合所述时钟校准电路,按照校准控制字进行时钟频率调整;
所述非易失型内存40,用于存储默认时钟校准值。
较佳地,所述非易失型内存包括但不限于PROM(Programmable Red-Only Memory,可编程只读存储器),EPROM(Erasable Programmable ROM,可擦除可编程只读存储器),EEPROM(Electrically Erasable Programmable ROM,电可擦可编程只读存储器)等等。
本发明实施例的应用于F2F解码芯片中的片上时钟校准装置,其工作过程与所述应用于F2F解码芯片中的片上时钟校准方法基本相同,因此,在本发明实施例中,不再一一重复描述。
本发明实施例的应用于F2F解码芯片中的片上时钟校准方法和装置,其不额外占用芯片管脚,在工厂测试期间操作可以复用功能管脚;内置电路整个时钟校准时间短,节省测试时间,节约测试成本;一次校准后在芯片整个生命周期中可用,无需再次校准操作。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进轨道了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。