微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于SoC方案的智能电表时钟校准

基于SoC方案的智能电表时钟校准

时间:06-26 来源:电子产品世界 点击:

摘要:智能电表可以实现多费率及阶梯电价等诸多与时间相关的电量计费功能,要求具有精确计时的功能,在运行温度范围内每天的计时误差小于1s。本文介绍了晶振的温度特性,分析了振荡电路并联电容对晶体振荡的影响,提出了基于集成型SoC(System on Chip)单片机的温度补偿方案,通过设计校准程序,实现了常温下计算时钟偏差并写入补偿数据,使智能电表到达常温下±1.5ppm,全温区±3.8ppm的计时精度。

引言

智能电表作为智能电网建设中的重要组成设备,从以往单一电量计量,发展为可以实现阶梯电量计费,保存用电数据以及关键事件记录等复杂功能。因而需要具备一个准确的计时单元,以作为各项与时间相关数据计算的基准。这一计时单元不仅要求常温条件下能够准确计时,在电表工作的整个温度范围内的偏差也不能超过规定范围,国内电表方案分为独立式时钟芯片和单片机集成时钟模块两种,其中后者较前者有更大的成本优势,本文就SoC方案电表的时钟校准展开讨论。

晶振温度特性

智能电表的时钟模块在停电状态下由电池供电,为实现低功耗运行,时钟模块时钟源只能选择低频晶振,因为使用高频晶振电流消耗也随之增大。目前电表、石英手表等计时设备中普遍采用低频音叉晶振,图1为音叉晶振结构图,能量在电信号与机械振动之间转换,具有很高的Q值,电流在电阻上的消耗很小,驱动功耗小于1μA。音叉晶振频率通常介于10kHz~200kHz之间,本文讨论的晶振工作频率为32.768kHz。  

  
?

石英晶振的振荡频率会随温度变化,称之为温度特性[1],音叉晶振的温度特性如图2所示,呈二次函数关系。在高温和低温区温度系数大约是AT切型的2倍,但其零温度系数点对切角公差要求较松,生产中便于控制定点温度一致性,因此广泛应用于各种带有温度补偿功能的时钟芯片中,图2曲线用公式表示为:
??????? ?

其中KT为温度系数,TI为顶点温度,DT为曲线顶点偏差[2],对于不同晶振,参数也会不同,但可以通过改善工艺和筛选晶体提高系数KT和顶点温度TI的一致性。通过批量测试,曲线拟合时所有晶体采用统一参数。而不同晶体顶点偏差差距较大,需要在校准时进行测量,补偿时将这一偏差值计算在内。

补偿原理

电容补偿

晶振等效电路如图3所示,其中Rs为晶体的动态电阻,Cs为动态电容,Ls为动态电感,C0为静态电容,Cs、Ls 由晶体的质量和弹性决定,Rs代表晶体振动时因摩擦而造成的损耗,取决于石英晶体的几何尺寸、表面光洁度、切割工艺以及安装结构等,C0代表晶体切片和金属板构成的静态电容。

该谐振器具有串联谐振频率fq和并联谐振频率fp两个谐振频率,分别为:
????????   (3)?  

?

单片机振荡电路除了晶体振荡器之外还包括放大器[3],如图4所示,两者形成闭环,晶体起到选频反馈作用,放大器输入阻抗较大。为达到匹配效果,晶振工作在并联谐振状态下,并联电容C0对频率响应有较大影响,通过在外围增加旁路电容CL,减小电容C0对并联谐振频率的影响,并联电容后谐振频率变为:
???????? ?? (4)?

由式(4)还可以看出晶体的并联谐振频率随着负载电容的变化会产生微小变化,可以通过改变负载电容的大小抵消晶体频率随温度的偏移[4],这就是电容补偿时钟精度的基本原理,修调灵敏度S用来表示晶体的中心频率与负载电容CL的关系:
???????? ??? (5)?

修调灵敏度与负载电容CL有关,CL越大修调灵敏度越小,如果希望得到一个相对稳定的频率信号,需要一个大的CL值;如果希望得到一个频率可变的振荡器,需要一个相对较小的CL[5]。所以CL需要控制在一定范围内,同时保证频率精度和工作稳定性。

数字补偿

电容补偿的优势在于精细,可以实现步距小于±1ppm的校准,实现精确微调,但为保证晶振起振和稳定运行,旁路电容的大小有一定限制,电容补偿的偏差范围通常限定在±40ppm范围内,为增加补偿量,需要采用数字补偿的方式。电表输出的秒脉冲是通过一个计数器对32.768kHz时钟计数,计数值满32768时溢出,计为一个秒周期。如将计数器溢出值改为32769,则秒周期改变量为:
???????? ?

因此通过改变计数器溢出值即可获得30.5ppm整数倍的频率补偿量。

补偿数据计算

为实现晶体振荡器全温度范围内输出精确频率,需要通过调节负载电容和数据补偿寄存器,获得一定频率补偿量?fcal ,保证其与晶体在这一温度下的振荡偏移值大小相等符号相反,即?fcal=-?f 。为实现调节负载电容大小的目的,单片机中设计了11位的电容控制寄存器,用以控制11个并联电容的通断,其中第n颗电容的大小为:
???????? ?

通过对相应寄存器的bit位置

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top