一种适用于soc方案的时钟补偿方法

文档序号:8365075阅读:691来源:国知局
一种适用于soc方案的时钟补偿方法
【技术领域】
[0001] 本发明涉及石英谐振器的频率特性研宄、温敏电阻的电气特性研宄、晶体宽 温度范围的频率修正领域,特别是一种基于微控制器(Micro-Controller-Unit)片上 RTC(Real-Time-Clock)模块的时钟补偿方法。
【背景技术】
[0002] 随着科学技术的发展、芯片设计制造技术的进步,高性能大规模集成电路的应用 成为主流,传统的分立专用芯片方案逐渐被片上系统(SOC,System-On-chip)方案所取代, 而先进的S0C方案不仅能使电子产品降低功耗、减少体积、满足更高的运行速度与电磁兼 容性能,而且能大幅降低产品的物料成本,提高产品市场竞争力。

【发明内容】

[0003] 本发明要解决的技术问题是:提供一种适用于S0C方案的时钟补偿方法,保证时 钟补偿精度的同时降低成本。
[0004]本发明所采用的技术方案是:一种适用于S0C方案的时钟补偿方法,包括:
[0005] 采用温敏电阻进行温度采样,获取温敏电阻两端的电压并实时进行AD转换,得到 各温度下温敏电阻两端电压对应的ADC值;
[0006] 向微控制器的时钟误差校准寄存器写入温度补偿值,使晶振的日计时误差在 ±0. 04s/d以内,从而获得各温度下ADC值与温度补偿值的对应关系;
[0007] 将公式 Offset = Intercept+Bl^xi+E^^xS+E^^xS+IM^l^+BS^xS+BG^x6的计算 结果加上晶振转折温度下的温度补偿值,作为中间值Offsetl ;当该中间值为正数时, 利用Offsetl | = 0x800计算出最终补偿值;当该中间值为负数时,利用Offsetl = ((256+Offsetl) | 0x100) | 0x8000计算出最终补偿值;然后将计算所得最终补偿值写 入微控制器的时钟误差校准寄存器内,利用微控制器自带的时钟补偿功能进行时钟偏差补 偿,
[0008] 式中,Intercept = -355. 97,B1 = 3. 3901,B2 = -〇? 0143,B3 = 3. 3920E-5,B4 =-4. 6460E-8, B5 = 3. 3898E-11,B6 = -1. 0266E-14,x为ADC值。
[0009] 本发明有益效果在于:1、采用温敏电阻进行温度采样,较之现有技术所采用的温 度传感器,成本更低。2、采用本发明方法补偿后,晶振日计时误差在-40°C至60°C的温度范 围内均控制在±0. 3s/d(3.47ppm)以内,完全能满足相关标准的精度要求和批量生产的要 求。
【附图说明】
[0010] 图1是本发明时钟系统的电路图。
[0011] 图2是本发明32. 768kHz晶体精度随温度变化的曲线图。
[0012] 图3是本发明温敏电阻与温度的关系曲线图。
[0013] 图4是本发明温敏电阻阻值关于温度的拟合曲线图。
[0014] 图5是本发明ADC值与温度补偿值数据分布图。
[0015] 图6是本发明温度补偿曲线6次多项式拟合曲线图。
【具体实施方式】
[0016] 如图1所示,本实施例时钟系统包括,瑞萨公司R7F0C004M2DFB智能电能表专用微 控制器、精工手表晶振(32. 768kHz)、深圳市劲阳电子有限公司的JYTF05-103F3I型NTC温 敏电阻。
[0017] 微控制器自带时钟精度补偿功能,用以修正晶体振荡器的频率偏移,其可校准范 围为-274. 6ppm至+212. 6ppm,最大量化误差为±0. 48ppm,最小分辨率为0? 96ppm,完全可 以满足晶体在全温度范围内的频率偏移校准。
[0018] 数字电路在工作时均需要时钟源来驱动,实时时钟系统亦是如此,精确的时钟源 是时钟系统计时准确的基本保证。但是典型的32. 768kHz音叉晶体不能够在宽温范围内提 供较高精度,在整个温度范围内频偏大小呈抛物线(如图2所示),室温下(+25°C)精度典 型值为±20ppm,在高温与低温区域精度变差,精度会低于150ppm(典型值)。由图2可知 晶体偏差大小与温度的关系可用如下二次函数来表示:AErr=K(T-TQ)2+AEQ,其中AErr 为晶体偏差大小(ppm),K为曲率常数,T为温度,I;为转折温度,AE^为转折温度下的晶体 偏差。
[0019] 温敏电阻阻值大小与温度的关系图3所示,该曲线为反比例函数R=KAT+a)位 于Y轴正向的一支,有很好的单调性,式中R为阻值大小,T为对应的温度,K为比例系数,a 为曲线在X轴上的偏移。
[0020] 为了更好的满足微控制器的计算性能,本实施例采用乘积多项式的算法,将温敏 电阻各温度下的典型值做曲线拟合,如图4所示,其多项式公式R=Interc印t+Bl*Xi+B2 *x2+B3*x3+B4*x4,其中,Intercept= -26726. 5268,B1 = -1081. 9808,B2 = 43. 5242,B3 =-1. 2093,B4 = 0. 0114 ;综上可知,特定的温度下温敏电阻有特定的电阻值,通过分压电 路与A/D转换,有特定的ADC值;而在一定的温度下,晶振的频偏也是一定的,由此可以用 温敏电阻上压降对应的ADC值来表征环境温度,微控制器再根据内嵌算法给出准确的补偿 值,这便是本发明的基本补偿原理。
[0021] 本实施例时钟补偿方法,包括:
[0022] 1)采用温敏电阻进行温度采样,获取温敏电阻两端的电压并实时进行AD转换,得 到各温度下温敏电阻两端电压对应的ADC值。本例中,内部A/D转换模块电压基准为系统 电源电压VCC,与温敏电阻采样电路电源电压相同,因此相同温度下温敏电阻两端电压大小 经AD转换后的值不随电源电压VCC的变化而变化,这也是该电路在上电工作状态下(5V电 源电压)和掉电状态下(3. 6V电源电压)均能正常工作的原因,也是该电路能自适应电源 波动和电源切换的基本原理。
[0023] 2)向微控制器的时钟误差校准寄存器写入温度补偿值,使晶振的日计时误差在 ±0. 04s/d以内,从而获得各温度下ADC值与温度补偿值的对应关系。具体为,从50台样 机中随机抽取5台作为样本,以5°C为步进值来获取-40°C至65°C的原始补偿数据,手动 调整写入微控制器时钟误差校准寄存器的补偿数据,使每一个温度点的的日计时误差在 ±0. 04s/d以内,可得表1数据。
[0024] 表1各温度下的ADC值与补偿值数据
【主权项】
1. 一种适用于soc方案的时钟补偿方法,其特征在于包括: 采用温敏电阻进行温度采样,获取温敏电阻两端的电压并实时进行AD转换,得到各温 度下温敏电阻两端电压对应的ADC值; 向微控制器的时钟误差校准寄存器写入温度补偿值,使晶振的日计时误差在±0. 04s/ d W内,从而获得各温度下ADC值与温度补偿值的对应关系; 将公式 Offset = Intercept+Bl*xi+B2*x2+B3*x3+B4*x4+B5*x5+B6*x6的计算结 果加上晶振转折温度下的温度补偿值,作为中间值Offsetl ;当该中间值为正数时, 利用Offsetl I = 0x800计算出最终补偿值;当该中间值为负数时,利用Offsetl = ((256+Offsetl) I 0x100) I 0x8000计算出最终补偿值;然后将计算所得最终补偿值写入 微控制器的时钟误差校准寄存器内,进行时钟偏差补偿, 式中,Interc巧t = -355. 97, B1 = 3. 3901,B2 = -0. 0143, B3 = 3. 3920E-5, B4 =-4. 6460E-8, B5 = 3. 3898E-11,B6 = -1. 026犯-14, X 为 ADC 值。
【专利摘要】本发明涉及适用于SOC方案的时钟补偿方法。目的是提供一种适用于SOC方案的时钟补偿方法,保证补偿精度、降低成本。方案:采用温敏电阻进行温度采样,获取其两端的电压并进行AD转换,得各温度下温敏电阻两端电压对应的ADC值;向微控制器的校准寄存器写入温度补偿值,使晶振的日计时误差在±0.04s/d以内,获得各温度下ADC值与温度补偿值的对应关系;将Offset=Intercept+B1*x1+B2*x2+B3*x3+B4*x4+B5*x5+B6*x6的计算结果加上晶振转折温度下的温度补偿值,作为中间值来计算最终补偿值;将最终补偿值写入微控制器的校准寄存器内,进行时钟偏差补偿。本发明用于时钟补偿。
【IPC分类】H03L1-02
【公开号】CN104682952
【申请号】CN201510072309
【发明人】周良璋, 邹锦林, 董良, 舒元康, 范有, 邵丰
【申请人】杭州海兴电力科技股份有限公司
【公开日】2015年6月3日
【申请日】2015年2月11日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1