单片机内部时钟校准方法技术

技术编号:37277932 阅读:18 留言:0更新日期:2023-04-20 23:44
本发明专利技术提供了一种单片机内部时钟校准方法,包括:利用电气设备中的交流电过零点检测电路,向单片机提供交流电过零点信号;利用单片机16位定时器及IO翻转捕获模式对交流电过零点信号进行捕获;以交流电过零点信号为基准,来计算单片机内部时钟误差;以及根据内部时钟误差,调整内部时钟频率。调整内部时钟频率。调整内部时钟频率。

【技术实现步骤摘要】
单片机内部时钟校准方法


[0001]本专利技术涉及单片机
,特别涉及一种单片机内部时钟校准方法。

技术介绍

[0002]单片机是电子产品不可缺少的电子元器件。时钟是单片能正常运行的必须条件之一。单片机具有外部时钟和内部时钟,内部时钟具有价格低、可靠性高、抵抗外部干扰能力强的优点。但是单片机内部时钟精度不高,且温度漂移大。
[0003]随生产工艺的影响,单片机内部时钟个体差异和批次差异都很大,很难保证内部时钟一致性。目前市面上单片机内部时钟精度误差一般从
±
2%到
±
10%不等。部分单片机在常温内部时钟误差可以做到
±
2%或以下,但是在+85度或者

40度,内部时钟误差在
±
5%或以上。时钟误差大可能导致通讯失败、定时超前或滞后、产品功能失效等后果。如果使用外部时钟,时钟精度有所提高,但是精度高、温度漂移小的晶振,价格贵,而且还具有某些难以克服的限制:例如在设计PCB板的时候,要求外部时钟电路做隔离处理、以及靠近单片机时钟脚。

技术实现思路

[0004]本专利技术的目的在于提供一种单片机内部时钟校准方法,以解决现有的单片机内部时钟精度不高的问题。
[0005]为解决上述技术问题,本专利技术提供一种单片机内部时钟校准方法,包括:
[0006]利用电气设备中的交流电过零点检测电路,向单片机提供交流电过零点信号;
[0007]利用单片机16位定时器及IO翻转捕获模式对交流电过零点信号进行捕获;
[0008]以交流电过零点信号为基准,来计算单片机内部时钟误差;以及
[0009]根据内部时钟误差,调整内部时钟频率。
[0010]可选的,在所述的单片机内部时钟校准方法中,所述电气设备包括家电产品、灯光控制设备和电动工具;
[0011]家电产品、灯光控制,电动工具用单片机控制功率器件,实现功率控制,调光,电机速度控制,需要用到交流电过零点检测电路,在这些产品中已经有交流电过零点检测电路,利用已有的过零点检测电路来校准单片机内部时钟;如果没有交流电过零点检测电路,需要在产品中增加此电路;
[0012]利用电气设备中的交流电过零点检测电路,向单片机提供交流电过零点信号;
[0013]交流电过零点检测电路集成在单片机上,单片机利用交流电过零点检测电路控制电气设备的功率器件实现原有功能,原有功能包括进行功率控制、调光和电机速度控制;
[0014]利用电气设备中实现原有功能的交流电过零点检测电路,向单片机提供交流电过零点信号;
[0015]交流过零点检测电路在交流电到达0V的时候输出一个高脉冲,使得50Hz交流电产生100Hz的脉冲波信号。
[0016]可选的,在所述的单片机内部时钟校准方法中,
[0017]使得16位定时器工作在内部计时模式及外部输入捕获模式;
[0018]设置定时器计数时钟与系统时钟的频率相同以减小误差;
[0019]外部输入捕获模式设置为外部上升沿捕获或外部下降沿捕获;
[0020]一个脉冲波周期时间内,定时器的实际计数值为:连续两次捕获值之差与定时器在两次捕获之间的溢出次数来计算;
[0021]定时器的标准计数值为:0误差的定时器计数时钟频率除以100;
[0022]在相同时间内,根据实际计数值和标准计数值,计算出实际计数时钟的误差,利用实际计数时钟的误差调整单片机内部时钟。
[0023]可选的,在所述的单片机内部时钟校准方法中,
[0024]对于允许修改内部时钟TRIM寄存器值的单片机,当计算的内部时钟误差大于目标范围时,通过修改TRIM寄存器值以调整内部时钟频率,直到内部时钟频率在目标误差范围内;
[0025]对于不允许修改内部时钟TRIM寄存器值的单片机,根据误差偏差值对定时器周期值、以及异步串口的波特率分DIV值进行误差补偿。
[0026]可选的,在所述的单片机内部时钟校准方法中,
[0027]利用交流电频率作为参考,连续校准单片机内部时钟;
[0028]用交流电过零点产生的脉冲波为计数周期,在计数周期内,比较实际计数值与标准计数值,如果实际计数值大于标准计数值,则内部时钟频率过快,将内部系统时钟频率调慢,反之调快内部时钟频率。
[0029]可选的,在所述的单片机内部时钟校准方法中,交流电过零点检测电路包括:
[0030]第一二极管D1和第二二极管D2通过整流桥连接变压器次级A点和B点;经过第一二极管D1和第二二极管D2全波整流,形成脉动直流波形,经电阻分压,电容滤波除去高频成分,获取检测点波形,三极管Q1的基极连接检测点,发射级接地,集电极作为输出端通过采样电阻连接电源;
[0031]当检测点电压大于阈值电压,三极管Q1导通,三极管的集电极被拉低,检测点电压小于阈值电压时,三极管Q1截止,三极管的集电极通过采样电阻拉高,使得三极管反复导通截止,输出端形成100Hz的脉冲波形。
[0032]可选的,在所述的单片机内部时钟校准方法中,定时器被配置为外部上升沿捕获,定时器周期值设置为0xFFFF;
[0033]定时器计数时钟设置为与系统时钟频率相同;
[0034]使能定制器溢出中断和捕获中断;
[0035]在溢出中断中对溢出次数进行计数;
[0036]捕获中断中保存捕获计数值和溢出次数,并对溢出次数变量清零。
[0037]可选的,在所述的单片机内部时钟校准方法中,计算标准计数值、实际计数值和实际计数值滤波;
[0038]标准计数值为:CNTstd=Tclk/100;
[0039]实际计数值为:CNTn=65536*CYCLE+(CNTcap2

CNTcap1);
[0040]对实际计数值取16次平均滤波处理得到平均计数值:
[0041]CNTaver=(CNTn

15+CNTn

14+
……
+CNTn

1+CNTn+8)/16;
[0042]计算计数误差率为:RATEerr=(CNTaver

CNTstd)/CNTstd;
[0043]其中Tclk为定时器计数时钟频率;CNTstd为标准计数值;CNTn为实际计数值;CNTaver为平均计数值;RATEerr为计数误差率;CYCLE为两次捕获之间定时器溢出次数;CNTcap1和CNTcap2为两次捕获定时器计数值,均为16位无符号整形数。
[0044]可选的,在所述的单片机内部时钟校准方法中,
[0045]计算误差上限值:CNTuperr=CNTref*(1+RCHerr);
[0046]计算误差下限值:CNTdnerr=CNTref*(1

RCHerr);
[0047]计算误差最大值:CNTmax=CNTref*(本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种单片机内部时钟校准方法,其特征在于,包括:利用电气设备中的交流电过零点检测电路,向单片机提供交流电过零点信号;利用单片机16位定时器及IO翻转捕获模式对交流电过零点信号进行捕获;以交流电过零点信号为基准,来计算单片机内部时钟误差;以及根据内部时钟误差,调整内部时钟频率。2.如权利要求1所述的单片机内部时钟校准方法,其特征在于,所述电气设备包括家电产品、灯光控制设备和电动工具;家电产品、灯光控制,电动工具用单片机控制功率器件,实现功率控制,调光,电机速度控制,需要用到交流电过零点检测电路,在这些产品中已经有交流电过零点检测电路,利用已有的过零点检测电路来校准单片机内部时钟;如果没有交流电过零点检测电路,需要在产品中增加此电路;利用电气设备中的交流电过零点检测电路,向单片机提供交流电过零点信号;交流过零点检测电路在交流电到达0V的时候输出一个高脉冲,使得50Hz交流电产生100Hz的脉冲波信号。3.如权利要求1所述的单片机内部时钟校准方法,其特征在于,使用16位定时器工作在内部计时模式及外部输入捕获模式;设置定时器计数时钟与系统时钟的频率相同以减小误差;外部输入捕获模式设置为外部上升沿捕获或外部下降沿捕获;一个脉冲波周期时间内,定时器的实际计数值为:连续两次捕获值之差与定时器在两次捕获之间的溢出次数来计算;定时器的标准计数值为:定时器计数时钟频率除以100;在相同时间内,根据实际计数值和标准计数值,计算出实际计数时钟的误差,利用实际计数时钟的误差调整单片机内部时钟。4.如权利要求1所述的单片机内部时钟校准方法,其特征在于,对于允许修改内部时钟TRIM寄存器值的单片机,当计算的内部时钟误差大于目标范围时,通过修改TRIM寄存器值以调整内部时钟频率,直到内部时钟频率在目标误差范围内;对于不允许修改内部时钟TRIM寄存器值的单片机,根据误差偏差值对定时器周期值、以及异步串口的波特率分DIV值进行误差补偿。5.如权利要求1所述的单片机内部时钟校准方法,其特征在于,利用交流电频率作为参考,连续校准单片机内部时钟;用交流电过零点产生的脉冲波为计数周期,在计数周期内,比较实际计数值与标准计数值,如果实际计数值大于标准计数值,则内部时钟频率过快,将内部系统时钟频率调慢,反之调快内部时钟频率。6.如权利要求1所述的单片机内部时钟校准方法,其特征在于,交流电过零点检测电路包括:第一二极管D1和第二二极管D2通过整流桥连接变压器次级A点和B点;经过第一二极管D1和第二二极管D2全波整流,形成脉动直流波形,经电阻分压,电容滤波除去高频成分,获取检测点波形,三极管Q1的基极连接检测点,发射级接地,集电极作为输出端通过采样电阻连接电源;
当检测点电压大于阈值电压,三极管Q1导通,三极管的集电极被拉低,检测点电压小于阈值电压时,三极管Q1截...

【专利技术属性】
技术研发人员:张光文
申请(专利权)人:小华半导体有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1