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

技术编号:9976966 阅读:138 留言:0更新日期:2014-04-28 18:01
本发明专利技术公开了一种单片机内部振荡器频率实时补偿方法,解决单片机内部振荡器因外界因素改变导致频率漂移的问题,使内部振荡频率精度达到千分之一。本方法通过环境可调设备、可调压直流电源、传感器、A/D转换模块以及频率实时补偿模块来实现。通过调整内部振荡器精度校准寄存器的值补偿振荡器的频率变化,从而提高了单片机内部振荡器的定时精度。本方法可以用于强震动、高冲击、高离心力等恶劣环境,这种环境单片机不能采用外部振荡器。通过采用本方法大大提高了单片机的应用范围,同时可以节约外部振荡器的成本。

【技术实现步骤摘要】
一种单片机内部振荡器频率实时补偿方法
本专利技术涉及一种内部振荡器频率补偿方法,特别是一种单片机内部振荡器频率实时补偿方法。
技术介绍
国内南京理工大学谭菊琴在其硕士论文中分析了用于引信的电子时控器性能,认为内部振荡器的振荡频率随环境条件和输入物理量等外界因素的变化而改变。由于影响因素太多,补偿模型过于复杂,很难采用软件进行频率补偿。电子科技大学的魏婧专利技术了一种2.4MHz晶体振荡器的微机温度补偿方法,这种补偿方法只对因温度引起振荡频率漂移的情况进行了软件补偿,忽略了外部输入物理量对振荡频率的影响。这种补偿方法不够全面,且补偿后的振荡频率精度提升不高。
技术实现思路
本专利技术的目的在于提供一种单片机内部振荡器频率实时补偿方法,解决环境条件和输入物理量等外界因素导致单片机内部振荡器振荡精度降低的问题。一种单片机内部振荡器频率实时补偿方法的具体步骤如下:第一步构建单片机内部振荡器频率实时补偿系统单片机内部振荡器频率实时补偿系统,包括:环境可调设备、可调压直流电源、传感器、A/D转换模块以及频率实时补偿模块。A/D转换模块用于将传感器测量的环境参数和电压参数的模拟量转成数字量;频率实时补偿模块用于实时接收A/D转换模块传来的数据,并进行处理,得出内部振荡频率的补偿量。最后通过改变内部振荡器精度校准寄存器值实现补偿。可调压直流电源分别与单片机的VCC和GND端口连接,传感器与A/D转换模块相连接,A/D转换模块与单片机IO口连接,可调压直流电源、传感器、A/D转换模块和单片机均置于环境可调设备内,频率实时补偿模块置于单片机内部。单片机内部振荡器频率实时补偿系统首先确定需要进行补偿的n个参数,其中参数1、参数2、···、参数n-1为环境参数,包括:温度、湿度和振动;参数n为电压参数。第二步环境可调设备连续改变环境参数环境可调设备固定参数2、参数3、···、参数n的值,通过连续改变参数1的值,得到参数1与振荡频率一一对应的数据。根据相应的曲线选择与曲线相对应的数值拟合方式拟合出参数1与振荡频率之间的函数关系。在参数1与振荡频率的函数特性基础上分析参数2与振荡频率之间的关系,同样固定参数1、参数3、···、参数n的值,通过连续改变参数2得到参数1、参数2与振荡频率之间的函数关系。以此类推得出参数1、参数2、···、参数n-1与振荡频率之间的函数关系。第三步可调压直流电源连续改变输出电压值可调压直流电源在单片机允许的输入电压范围内连续改变电压值,得到在环境参数不变的情况下,电压参数n与振荡频率之间的函数关系。结合环境参数与振荡频率之间的函数关系,得出所有影响单片机内部振荡频率的参数,即参数1、参数2、···、参数n与振荡频率之间的函数关系f1。第四步传感器测量出单片机实际环境下参数1至参数n的值采用相应的传感器测量出单片机实际环境下参数1至参数n的值,经过A/D转换模块进行数模转换,并将数据传给单片机。第五步频率实时补偿模块实时对单片机内部振荡频率进行补偿频率实时补偿模块采用实时调整内部振荡器精度校准寄存器值的方式对内部振荡器频率进行频率补偿。通过参数1、参数2、···、参数n与振荡频率之间的函数关系f1得出标准周期与实际周期之差A=1/f0-1/f1。其中f0为单片机基准频率。计算出内部振荡器精度校准寄存器的改变值N=A/τ,并取整。τ为单位内部振荡器精度校准寄存器值所对应的周期值。利用频率实时补偿模块给内部振荡器精度校准寄存器赋值,一个补偿周期结束。补偿原理是改变内部振荡器精度校准寄存器值会调整振荡器电路的电容值。内部振荡器精度校准寄存器的值加1,振荡周期就会减少τ。通过调整内部振荡器精度校准寄存器的值可以补偿振荡器的频率变化,从而提高了单片机内部振荡器的定时精度。至此实现单片机内部振荡器频率实时补偿。本方法能够解决单片机内部振荡器因外界因素改变导致频率漂移的问题,使内部振荡频率精度达到千分之一。本方法可以用于强震动、高冲击、高离心力等恶劣环境,这种环境单片机不能采用外部振荡器。采用本方法大大提高了单片机的应用范围,同时可以节约外部振荡器的成本。具体实施方式一种单片机内部振荡器频率实时补偿方法的具体实施方式,选择单片机的型号为C8051F310。第一步构建单片机内部振荡器频率实时补偿系统单片机内部振荡器频率实时补偿系统,包括:环境可调设备、可调压直流电源、传感器、A/D转换模块以及频率实时补偿模块。A/D转换模块用于将传感器测量的环境参数和电压参数的模拟量转成数字量;频率实时补偿模块用于实时接收A/D转换模块传来的数据,并进行处理,得出内部振荡频率的补偿量。最后通过改变内部振荡器精度校准寄存器值实现补偿。可调压直流电源分别与单片机的VCC和GND端口连接,传感器与A/D转换模块相连接,A/D转换模块与单片机IO口连接。可调压直流电源、传感器、A/D转换模块和单片机均置于环境可调设备内,频率实时补偿模块置于单片机内部。环境可调设备采用的是高低温试验箱,可调压直流电源选择的是直流稳压稳流电源WYK-303B2,传感器采用温度传感器和电压传感器两种,A/D转换模块为双通道、12位精度。由于温度和电压对内部振荡频率影响最为显著,确定对温度参数1和电压参数2两个参数进行补偿。第二步环境可调设备连续改变环境参数在固定电压参数2为3.3V的基础上,通过高低温试验箱连续改变温度参数1,得到温度参数1与振荡频率一一对应的数据。根据曲线选择最小二乘法拟合出温度参数1与振荡频率之间的函数关系。第三步可调压直流电源连续改变输出电压值直流稳压稳流电源在2-5V范围内连续改变电压参数2,在温度参数1与振荡频率的函数特性基础上分析电压参数2与振荡频率之间的关系,同样根据最小二乘法拟合得到温度参数1、电压参数2与振荡频率之间的函数关系f1。第四步传感器测量出单片机实际环境下参数1、参数2的值通过温度和电压传感器测量出实时的温度参数1和电压参数2的值,经过AD转换后将数据传给单片机。第五步频率实时补偿模块实时对单片机内部振荡频率进行补偿频率实时补偿模块实时调整内部振荡器精度校准寄存器值对内部振荡器频率进行频率补偿。计算得出标准周期与实际周期之差A=1/f0-1/f1。计算出内部振荡器精度校准寄存器的改变值N=A/τ(τ=31ps),并取整。利用程序给内部振荡器精度校准寄存器赋值,一个补偿周期结束。至此实现单片机内部振荡器频率实时补偿。本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种单片机内部振荡器频率实时补偿方法,其特征在于本方法的具体步骤为:第一步,构建单片机内部振荡器频率实时补偿系统:单片机内部振荡器频率实时补偿系统,包括:环境可调设备、可调压直流电源、传感器、A/D转换模块以及频率实时补偿模块;A/D转换模块用于将传感器测量的环境参数和电压参数的模拟量转成数字量;频率实时补偿模块用于实时接收A/D转换模块传来的数据,并进行处理,得出单片机内部振荡器频率的补偿量,进而通过改变单片机内部振荡器精度校准寄存器值实现补偿;可调压直流电源分别与单片机的VCC和GND端口连接,传感器与A/D转换模块相连接,A/D转换模块与单片机IO口连接;可调压直流电源、传感器、A/D转换模块和单片机均置于环境可调设备内;频率实时补偿模块置于单片机内部;单片机内部振荡器频率实时补偿系统首先确定需要进行补偿的n个参数,n≥4,且为整数,其中参数1、参数2、……、参数n-1为环境参数,包括:温度参数、湿度参数和振动参数;参数n为电压参数;第二步,环境可调设备连续改变环境参数:环境可调设备固定参数2、参数3、···、参数n的值,通过连续改变参数1的值,得到参数1与单片机内部振荡器频率一一对应的数据;根据相应的曲线选择与曲线相对应的数值拟合方式拟合出参数1与单片机内部振荡器频率之间的函数关系;在参数1与单片机内部振荡器频率的函数特性基础上分析参数2与单片机内部振荡器频率之间的关系,同样固定参数1、参数3、··...

【专利技术属性】
技术研发人员:顾林李建冬陈治国聂光玮
申请(专利权)人:北京机械设备研究所
类型:发明
国别省市:

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

1