一种单片机内部振荡器频率实时补偿方法

文档序号:7543501阅读:235来源:国知局
一种单片机内部振荡器频率实时补偿方法
【专利摘要】本发明公开了一种单片机内部振荡器频率实时补偿方法,解决单片机内部振荡器因外界因素改变导致频率漂移的问题,使内部振荡频率精度达到千分之一。本方法通过环境可调设备、可调压直流电源、传感器、A/D转换模块以及频率实时补偿模块来实现。通过调整内部振荡器精度校准寄存器的值补偿振荡器的频率变化,从而提高了单片机内部振荡器的定时精度。本方法可以用于强震动、高冲击、高离心力等恶劣环境,这种环境单片机不能采用外部振荡器。通过采用本方法大大提高了单片机的应用范围,同时可以节约外部振荡器的成本。
【专利说明】一种单片机内部振荡器频率实时补偿方法【技术领域】
[0001]本发明涉及一种内部振荡器频率补偿方法,特别是一种单片机内部振荡器频率实时补偿方法。
【背景技术】
[0002]国内南京理工大学谭菊琴在其硕士论文中分析了用于引信的电子时控器性能,认为内部振荡器的振荡频率随环境条件和输入物理量等外界因素的变化而改变。由于影响因素太多,补偿模型过于复杂,很难采用软件进行频率补偿。电子科技大学的魏婧发明了一种
2.4MHz晶体振荡器的微机温度补偿方法,这种补偿方法只对因温度引起振荡频率漂移的情况进行了软件补偿,忽略了外部输入物理量对振荡频率的影响。这种补偿方法不够全面,且补偿后的振荡频率精度提升不高。

【发明内容】

[0003]本发明的目的在于提供一种单片机内部振荡器频率实时补偿方法,解决环境条件和输入物理量等外界因素导致单片机内部振荡器振荡精度降低的问题。[0004]一种单片机内部振荡器频率实时补偿方法的具体步骤如下:
第一步构建单片机内部振荡器频率实时补偿系统
单片机内部振荡器频率实时补偿系统,包括:环境可调设备、可调压直流电源、传感器、A/D转换模块以及频率实时补偿模块。
[0005]A/D转换模块用于将传感器测量的环境参数和电压参数的模拟量转成数字量; 频率实时补偿模块用于实时接收A/D转换模块传来的数据,并进行处理,得出内部振
荡频率的补偿量。最后通过改变内部振荡器精度校准寄存器值实现补偿。
[0006]可调压直流电源分别与单片机的VCC和GND端口连接,传感器与A/D转换模块相连接,A/D转换模块与单片机IO 口连接,可调压直流电源、传感器、A/D转换模块和单片机均置于环境可调设备内,频率实时补偿模块置于单片机内部。
[0007]单片机内部振荡器频率实时补偿系统首先确定需要进行补偿的η个参数,其中参数1、参数2、...、参数η-1为环境参数,包括:温度、湿度和振动;参数η为电压参数。
[0008]第二步环境可调设备连续改变环境参数
环境可调设备固定参数2、参数3、..?、参数η的值,通过连续改变参数I的值,得到参数I与振荡频率一一对应的数据。根据相应的曲线选择与曲线相对应的数值拟合方式拟合出参数I与振荡频率之间的函数关系。
[0009]在参数I与振荡频率的函数特性基础上分析参数2与振荡频率之间的关系,同样固定参数1、参数3、..?、参数η的值,通过连续改变参数2得到参数1、参数2与振荡频率之间的函数关系。以此类推得出参数1、参数2、..?、参数η-1与振荡频率之间的函数关系。
[0010]第三步可调压直流电源连续改变输出电压值可调压直流电源在单片机允许的输入电压范围内连续改变电压值,得到在环境参数不变的情况下,电压参数η与振荡频率之间的函数关系。结合环境参数与振荡频率之间的函数关系,得出所有影响单片机内部振荡频率的参数,即参数1、参数2、..?、参数η与振荡频率之间的函数关系H。
[0011]第四步传感器测量出单片机实际环境下参数I至参数η的值
采用相应的传感器测量出单片机实际环境下参数I至参数η的值,经过A/D转换模块进行数模转换,并将数据传给单片机。
[0012]第五步频率实时补偿模块实时对单片机内部振荡频率进行补偿
频率实时补偿模块采用实时调整内部振荡器精度校准寄存器值的方式对内部振荡器频率进行频率补偿。通过参数1、参数2、..?、参数η与振荡频率之间的函数关系4得出标准周期与实际周期之差A=Iz^-1/ f10其中&为单片机基准频率。
[0013]计算出内部振荡器精度校准寄存器的改变值N=A/τ,并取整。τ为单位内部振荡器精度校准寄存器值所对应的周期值。利用频率实时补偿模块给内部振荡器精度校准寄存器赋值,一个补偿周期结束。
[0014]补偿原理是改变内部振荡器精度校准寄存器值会调整振荡器电路的电容值。内部振荡器精度校准寄存器的值加1,振荡周期就会减少τ。通过调整内部振荡器精度校准寄存器的值可以补偿振荡器的频率变化,从而提高了单片机内部振荡器的定时精度。
[0015]至此实现单片 机内部振荡器频率实时补偿。
[0016]本方法能够解决单片机内部振荡器因外界因素改变导致频率漂移的问题,使内部振荡频率精度达到千分之一。本方法可以用于强震动、高冲击、高离心力等恶劣环境,这种环境单片机不能采用外部振荡器。采用本方法大大提高了单片机的应用范围,同时可以节约外部振荡器的成本。
【具体实施方式】
[0017]一种单片机内部振荡器频率实时补偿方法的【具体实施方式】,选择单片机的型号为C8051F310。
[0018]第一步构建单片机内部振荡器频率实时补偿系统
单片机内部振荡器频率实时补偿系统,包括:环境可调设备、可调压直流电源、传感器、A/D转换模块以及频率实时补偿模块。
[0019]A/D转换模块用于将传感器测量的环境参数和电压参数的模拟量转成数字量; 频率实时补偿模块用于实时接收A/D转换模块传来的数据,并进行处理,得出内部振
荡频率的补偿量。最后通过改变内部振荡器精度校准寄存器值实现补偿。
[0020]可调压直流电源分别与单片机的VCC和GND端口连接,传感器与A/D转换模块相连接,A/D转换模块与单片机IO 口连接。可调压直流电源、传感器、A/D转换模块和单片机均置于环境可调设备内,频率实时补偿模块置于单片机内部。
[0021]环境可调设备采用的是高低温试验箱,可调压直流电源选择的是直流稳压稳流电源WYK-303B2,传感器采用温度传感器和电压传感器两种,A/D转换模块为双通道、12位精度。由于温度和电压对内部振荡频率影响最为显著,确定对温度参数I和电压参数2两个参数进行补偿。[0022]第二步环境可调设备连续改变环境参数
在固定电压参数2为3.3V的基础上,通过高低温试验箱连续改变温度参数1,得到温度参数I与振荡频率一一对应的数据。根据曲线选择最小二乘法拟合出温度参数I与振荡频率之间的函数关系。
[0023]第三步可调压直流电源连续改变输出电压值
直流稳压稳流电源在2-5V范围内连续改变电压参数2,在温度参数I与振荡频率的函数特性基础上分析电压参数2与振荡频率之间的关系,同样根据最小二乘法拟合得到温度参数1、电压参数2与振荡频率之间的函数关系f\。
[0024]第四步传感器测量出单片机实际环境下参数1、参数2的值
通过温度和电压传感器测量出实时的温度参数I和电压参数2的值,经过AD转换后将数据传给单片机。
[0025]第五步频率实时补偿模块实时对单片机内部振荡频率进行补偿
频率实时补偿模块实时调整内部振荡器精度校准寄存器值对内部振荡器频率进行频率补偿。计算得出标准周期与实际周期之差A=IZ^-1/ f10计算出内部振荡器精度校准寄存器的改变值N=A/τ ( T=31ps),并取整。利用程序给内部振荡器精度校准寄存器赋值,一个补偿周期结束。
[0026]至此实现单片机内部 振荡器频率实时补偿。
【权利要求】
1.一种单片机内部振荡器频率实时补偿方法,其特征在于本方法的具体步骤为: 第一步构建单片机内部振荡器频率实时补偿系统 单片机内部振荡器频率实时补偿系统,包括:环境可调设备、可调压直流电源、传感器、A/D转换模块以及频率实时补偿模块; A/D转换模块用于将传感器测量的环境参数和电压参数的模拟量转成数字量; 频率实时补偿模块用于实时接收A/D转换模块传来的数据,并进行处理,得出内部振荡频率的补偿量;最后通过改变内部振荡器精度校准寄存器值实现补偿; 可调压直流电源分别与单片机的VCC和GND端口连接,传感器与A/D转换模块相连接,A/D转换模块与单片机IO 口连接;可调压直流电源、传感器、A/D转换模块和单片机均置于环境可调设备内;频率实时补偿模块置于单片机内部; 单片机内部振荡器频率实时补偿系统首先确定需要进行补偿的η个参数,其中参数1、参数2、...、参数η-1为环境参数,包括:温度、湿度和振动;参数η为电压参数; 第二步环境可调设备连续改变环境参数 环境可调设备固定参数2、参数3、..?、参数η的值,通过连续改变参数I的值,得到参数I与振荡频率一一对应的数据;根据相应的曲线选择与曲线相对应的数值拟合方式拟合出参数I与振荡频率之间的函数关系; 在参数I与振荡频率的函数特性基础上分析参数2与振荡频率之间的关系,同样固定参数1、参数3、...、参数η 的值,通过连续改变参数2得到参数1、参数2与振荡频率之间的函数关系;以此类推得出参数1、参数2、...、参数η-1与振荡频率之间的函数关系;第三步可调压直流电源连续改变输出电压值 可调压直流电源在单片机允许的输入电压范围内连续改变电压值,得到在环境参数不变的情况下,电压参数η与振荡频率之间的函数关系;结合环境参数与振荡频率之间的函数关系,得出所有影响单片机内部振荡频率的参数,即参数1、参数2、..?、参数η与振荡频率之间的函数关系fl ; 第四步传感器测量出单片机实际环境下参数I至参数η的值采用相应的传感器测量出单片机实际环境下参数I至参数η的值,经过A/D转换模块进行数模转换,并将数据传给单片机; 第五步频率实时补偿模块实时对单片机内部振荡频率进行补偿频率实时补偿模块采用实时调整内部振荡器精度校准寄存器值的方式对内部振荡器频率进行频率补偿;通过参数1、参数2、..?、参数η与振荡频率之间的函数关系得出标准周期与实际周期之差A=IzX-1/ ;其中&为单片机基准频率; 计算出内部振荡器精度校准寄存器的改变值N=A/ τ,并取整;τ为单位内部振荡器精度校准寄存器值所对应的周期值;利用频率实时补偿模块给内部振荡器精度校准寄存器赋值,一个补偿周期结束; 至此实现单片机内部振荡器频率实时补偿。
【文档编号】H03B5/04GK103746655SQ201310748042
【公开日】2014年4月23日 申请日期:2013年12月31日 优先权日:2013年12月31日
【发明者】顾林, 李建冬, 陈治国, 聂光玮 申请人:北京机械设备研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1