CN103746655B - 一种单片机内部振荡器频率实时补偿方法 - Google Patents
一种单片机内部振荡器频率实时补偿方法 Download PDFInfo
- Publication number
- CN103746655B CN103746655B CN201310748042.9A CN201310748042A CN103746655B CN 103746655 B CN103746655 B CN 103746655B CN 201310748042 A CN201310748042 A CN 201310748042A CN 103746655 B CN103746655 B CN 103746655B
- Authority
- CN
- China
- Prior art keywords
- parameter
- chip microcomputer
- internal oscillator
- real
- frequency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Oscillators With Electromechanical Resonators (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
本发明公开了一种单片机内部振荡器频率实时补偿方法,解决单片机内部振荡器因外界因素改变导致频率漂移的问题,使内部振荡频率精度达到千分之一。本方法通过环境可调设备、可调压直流电源、传感器、A/D转换模块以及频率实时补偿模块来实现。通过调整内部振荡器精度校准寄存器的值补偿振荡器的频率变化,从而提高了单片机内部振荡器的定时精度。本方法可以用于强震动、高冲击、高离心力等恶劣环境,这种环境单片机不能采用外部振荡器。通过采用本方法大大提高了单片机的应用范围,同时可以节约外部振荡器的成本。
Description
技术领域
本发明涉及一种内部振荡器频率补偿方法,特别是一种单片机内部振荡器频率实时补偿方法。
背景技术
国内南京理工大学谭菊琴在其硕士论文中分析了用于引信的电子时控器性能,认为内部振荡器的振荡频率随环境条件和输入物理量等外界因素的变化而改变。由于影响因素太多,补偿模型过于复杂,很难采用软件进行频率补偿。电子科技大学的魏婧发明了一种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),并取整。利用程序给内部振荡器精度校准寄存器赋值,一个补偿周期结束。
至此实现单片机内部振荡器频率实时补偿。
Claims (1)
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、···、参数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/τ,并取整,τ为单位单片机内部振荡器精度校准寄存器值所对应的周期值;利用频率实时补偿模块给单片机内部振荡器精度校准寄存器赋值,一个补偿周期结束;
至此实现单片机内部振荡器频率实时补偿。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310748042.9A CN103746655B (zh) | 2013-12-31 | 2013-12-31 | 一种单片机内部振荡器频率实时补偿方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310748042.9A CN103746655B (zh) | 2013-12-31 | 2013-12-31 | 一种单片机内部振荡器频率实时补偿方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103746655A CN103746655A (zh) | 2014-04-23 |
CN103746655B true CN103746655B (zh) | 2017-02-15 |
Family
ID=50503656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310748042.9A Active CN103746655B (zh) | 2013-12-31 | 2013-12-31 | 一种单片机内部振荡器频率实时补偿方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103746655B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107257240B (zh) * | 2017-05-17 | 2021-01-26 | 电子科技大学 | 一种晶体振荡器的数字温度补偿方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388646A (zh) * | 2008-10-15 | 2009-03-18 | 凯涛电子(上海)有限公司 | 逐次逼近型温度频率校正方法和装置 |
CN102082548A (zh) * | 2010-11-12 | 2011-06-01 | 成都天奥电子股份有限公司 | 具有高精度的微机补偿表贴温补晶振 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7221233B2 (en) * | 2004-09-24 | 2007-05-22 | Cypress Semiconductor Corp. | Nonvolatile programmable crystal oscillator circuit |
-
2013
- 2013-12-31 CN CN201310748042.9A patent/CN103746655B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388646A (zh) * | 2008-10-15 | 2009-03-18 | 凯涛电子(上海)有限公司 | 逐次逼近型温度频率校正方法和装置 |
CN102082548A (zh) * | 2010-11-12 | 2011-06-01 | 成都天奥电子股份有限公司 | 具有高精度的微机补偿表贴温补晶振 |
Also Published As
Publication number | Publication date |
---|---|
CN103746655A (zh) | 2014-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103309397B (zh) | 基于usb的数据采集设备的同步采样方法 | |
CN104344885A (zh) | 一种高温振动传感器幅相绝对校准装置 | |
CN104596496B (zh) | 自适应时滞反馈控制微机械陀螺仪*** | |
CN104937504B (zh) | 石英电子表高精度守时方法 | |
CN106569544A (zh) | 实时时钟芯片及其时钟校准方法、装置 | |
CN104765289B (zh) | 一种磁流变液负载模拟器的控制***及其控制方法 | |
US11326961B2 (en) | Voltage and temperature sensor for a serializer/deserializer communication application | |
CN106292839A (zh) | 实时时钟补偿电路及校准方法、装置 | |
WO2015097657A3 (en) | Apparatus and method for reacting to a change in supply voltage | |
CN103746655B (zh) | 一种单片机内部振荡器频率实时补偿方法 | |
CN105571709A (zh) | 一种振动传感器高温灵敏度绝对校准方法 | |
CN102857197B (zh) | 一种提高内置rc振荡器频率精度的校准方法 | |
WO2016101610A1 (zh) | 一种环境传感器和一种环境参数测量和预测方法 | |
CN102620862A (zh) | 一种温度校验仪 | |
CN105319971B (zh) | 基于光纤光栅的gma自适应控制方法及装置 | |
CN202435342U (zh) | 一种恒温晶体振荡电路的温度补偿装置 | |
CN104065341B (zh) | 晶振时钟补偿方法和装置 | |
CN105115535A (zh) | 电容传感器的模拟装置 | |
CN204924274U (zh) | 电容传感器的模拟装置 | |
CN105484734A (zh) | 微芯片示踪器的温度补偿方法及*** | |
CN108061607A (zh) | 一种小体积高精度测温模块 | |
CN110474607B (zh) | 可空间应用的补偿型石英晶体振荡器及补偿方法 | |
CN201673418U (zh) | 可外部精确设定恒温晶体振荡器恒温槽恒温点的控制器 | |
CN204188258U (zh) | 一种高温振动传感器幅相绝对校准装置 | |
Ramanathan et al. | Low value capacitance measurements for capacitive sensors-a review |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |