CN102662107A - 基于soc芯片电表的mcu内置基准温度补偿方法 - Google Patents
基于soc芯片电表的mcu内置基准温度补偿方法 Download PDFInfo
- Publication number
- CN102662107A CN102662107A CN2012101554299A CN201210155429A CN102662107A CN 102662107 A CN102662107 A CN 102662107A CN 2012101554299 A CN2012101554299 A CN 2012101554299A CN 201210155429 A CN201210155429 A CN 201210155429A CN 102662107 A CN102662107 A CN 102662107A
- Authority
- CN
- China
- Prior art keywords
- built
- temperature
- mcu
- benchmark
- ammeter
- 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.)
- Granted
Links
Images
Abstract
本发明公开了一种基于SOC电表方案的MCU内置基准温度补偿方法。该方法首先测量得到内置基准及误差与温度的关系数据,再通过计算得到内置基准校正所需的微调因子与温度的对应关系,并将相关数据点存储起来,建立补偿数据表格以供查表使用;然后通过使用MCU微控制器的片上温度传感器定时读取片上温度,并采用查表和插值相结合的方法计算该温度下的内置基准微调因子;最后使用计算得到的微调因子设置内置基准数字调节寄存器的值,以补偿由于温度变化造成的内置基准的波动。本发明克服了温度效应对基准电压、A/D转换结果及电能测量精度的影响,简化了后续的温度补偿处理环节,可操作性强、成本低、稳定性好,可广泛应用于基于嵌入式SOC方案的电能计量领域中。
Description
技术领域
本发明主要涉及电能计量技术领域,具体涉及基于SOC芯片电表的MCU内置基准温补偿方法。
背景技术
随着大规模集成电路的逐渐发展及片上系统SOC技术的日益成熟,电能表计量方案逐步进入SOC单芯片设计方案时代。
基于嵌入式SOC芯片方案的智能电表绝大部分使用片内A/D等模拟部件完成模拟信号采集。参考电压用于为A/D转换器中的电阻阶梯网络提供基准电压,在模拟信号采集中必不可少。理论与实践均表明,参考电压的波动会导致A/D转换结果产生较大的误差,从而影响测量精度。在实际应用中,参考电压可直接由SOC芯片内置精密电压源提供,也可由专用电压参考芯片提供。无论是内置基准还是外置专用基准芯片,一般都使用能隙电压源结构。这种能隙电压源只有在室温附近能够得到近似于零的温度系数,在低温时具有正的温度特性,在高温时具有负的温度特性,并且在低温和高温区域,温度系数能够达到±30~10×107/℃。这说明参考电压的温度效应会导致测量结果产生较大误差。SOC芯片内置的参考电压一般不带温度补偿。虽然目前已有内部自带温度补偿、温度系数小的外置专用基准芯片,但价格昂贵。因此,如何减小参考电压的温度效应,并且成本较低是目前亟待解决的问题。
发明内容
本发明的目的在于提供一种能减小参考电压的温度效应,并且应用成本低的基于SOC芯片电表的MCU内置基准温度补偿方法
本发明基于SOC芯片电表的MCU内置基准温度补偿方法,包括以下步骤:
(1).建立温度补偿数据表:
a.将电表置于温度点T的环境中工作;
b.测量并记录MCU内置基准的输出电压值,记为u(T);
c.计算MCU内置基准电压误差e(T),
适用公式为:e(T)=u(T)-u0,
式中u0为MCU内置基准在室温时的标定输出值,可从MCU技术特性手册中查到;
d. 计算MCU内置基准的电压补偿值,
适用公式为:r(T)=r0-e(T)/m,
式中,r0为MCU内置基准校准寄存器的电压初始值,e(T)为步骤c计算得到的MCU内置基准的电压误差,m为MCU内置基准的最小校正电压,该m值从MCU技术手册中查到;
在电表工作环境可能到达的温度范围,将数据(T, r(T))用一个一维数组表示并按照温度由小到大依序存放得到温度补偿数据表,其中T是指电表工作环境可能到达的温度范围内的任一温度点;r(T)是对应于该温度点MCU内置基准的电压补偿值;
(2). 线性插值计算得到MCU内置基准在当前温度下的微调因子:
读取SOC芯片片上温度,对于当前温度值TC可以从所述温度补偿数据表中查到与该温度值TC相邻的两个补偿数据点(Ta,ra)和(Tb,rb),并以此两点进行线性插值得到MCU内置基准在当前温度下的微调因子rc,插值公式为rc=ra+(rb-ra)×(Tc-Ta)/(Tb-Ta);
(3)用步骤(2)得到的微调因子对MCU内置基准当前的电压进行补偿;
(4)重复步骤(2)和(3),并且每隔一定时间进行一次,用于电表在工作过程中一直得到MCU内置基准温度补偿。
所述温度点T设在-40℃到+80℃的范围内。所述步骤(1)中数据(T, r(T)), 以1摄氏度为间隔的数据点进行选取存储起来。所述步骤(4)的设定时间为100毫秒。所述步骤(2)中SOC芯片片上温度通过SOC芯片内部温度传感器读取。
本发明方法能减小参考电压的温度效应,尤其在电能表等对电压参考的温度特性要求很高的应用场合,其效果更加明显。本发明能克服温度效应对基准电压、A/D转换结果及电能测量精度的影响,简化了后续的温度补偿处理环节,可操作性强、成本低、稳定性好,可广泛应用于基于嵌入式SOC方案的电能计量领域中。
附图说明
图1为温度补偿前和温度补偿后的基准电压曲线比较图。
图2本发明方法实现时硬件平台框图。
图3为本发明方法实施时的软件设计流程图。
具体实施方式
本发明方法要做的第一件事是建立温度补偿数据表,具体实施时可以按如下步骤来做:
a.先将电表放置在一个温度能调节的高低温箱中工作,我们可以先设定一个环境温度范围,这个范围应当是电表工作环境可能到达的温度范围,比如设在-40℃到+80℃,然后按照温度从低到高的原则,先将高低温箱设在-40℃,待温度稳定后,用一个高精度数字万用表测量并记录MCU内置基准的输出电压值,记为u(-40);
b.计算MCU内置基准电压误差e(-40),
适用公式为:e(-40)=u(-40)-u0,
式中u0为MCU内置基准在室温(25摄氏度)时的标定输出值,可从MCU技术特性手册中查到;
d. 计算MCU内置基准的电压补偿值,
适用公式为:r(-40)=r0-e(-40)/m,
式中,r0为MCU内置基准校准寄存器的电压初始值,e(-40)y由上一步骤得到,m为MCU内置基准的最小校正电压,该m值从MCU技术手册中查到;
将数据(-40, r(-40))记录并存储起来。
按照上面的方法将高低温箱的温度打到-39℃,得到数据(-39, r(-39)),再打到-38℃,得到数据(-38, r(-38)),如此这般以1摄氏度为间隔的数据点进行选取由小到大依序存放起来,便得到温度补偿数据表。
要做的第二件事是线性插值计算得到MCU内置基准在当前温度下的微调因子:
通过SOC芯片内部温度传感器读取SOC芯片片上温度,对于读取的当前温度值TC可以从所述温度补偿数据表中查到与该温度值TC相邻的两个补偿数据点(Ta,ra)和(Tb,rb),并以此两点进行线性插值得到MCU内置基准在当前温度下的微调因子rc,插值公式为rc=ra+(rb-ra)×(Tc-Ta)/(Tb-Ta)。用得到微调因子对MCU内置基准当前的电压进行补偿。对于SOC芯片片上温度应定时读取,比如本实施方式是每隔100毫秒读取一次,然后插值计算得到微调因子,并进行电压补偿,如此不断重复该步骤,将对电表的MCU内置基准电压不断进行补偿,从而达到克服因环境温度的变化而引起的内置基准精度的变化的现状。
本实施方式对电表补偿前和补偿后的数据进行了记录并形成了图1,从图1可以看出补偿前电表的SOC芯片随着片上温度的增高MCU内置基准电压也不断增高,形成的线是一条向上的曲线(虚线所示),而补偿后片上温度高低对MCU内置基准电压几乎没有影响,形成的线接近一条水平线。
本发明方法实施时以SOC智能电表为硬件平台,通过开发、配置SOC芯片的内部资源进行具体实施,参见图2,使用C语言对SOC芯片进行编程,使得SOC芯片内部配置有温度采样ADC、温度采样结果寄存器、温度补偿数据表、100毫秒定时器及补偿数据运算处理单元。其中温度采样ADC用于采集SOC芯片内部的温度传感器信号,采集到的温度存放于温度采样结果寄存器中;温度补偿数据表为一数组变量,用于存储基准电压在工作温度范围内各个温度点的微调因子,各个温度点之间的间隔为1摄氏度;100毫秒定时器用于控制温度采样ADC进行定时采样;补偿数据运算处理单元主要进行查表、线性插值等操作。
根据本发明方法设计的软件流程图见图3,程序首先初始化系统,对ADC、定时器等模块及MCU进行初始化设置后,程序将温度补偿数据表从FLASH闪存中拷贝到RAM缓冲区中,以供直接、快速查表使用。然后程序不断查询100毫秒定时标志,如果定时时间已到,则启动温度采样ADC对温度传感器采样,读取ADC采样值并转化为实际温度值。接着依次进行查表、线性插值等运算处理,得到内置基准电压的实际修正值。最后将修正值写入基准校正寄存器中,并继续查询100毫秒定时标志,依照这个流程循环。
Claims (5)
1.一种基于SOC芯片电表的MCU内置基准温度补偿方法,包括以下步骤:
(1).建立温度补偿数据表:
a.将电表置于温度点T的环境中工作;
b.测量并记录MCU内置基准的输出电压值,记为u(T);
c.计算MCU内置基准电压误差e(T),
适用公式为:e(T)=u(T)-u0,
式中u0为MCU内置基准在室温时的标定输出值,可从MCU技术特性手册中查到;
d. 计算MCU内置基准的电压补偿值,
适用公式为:r(T)=r0-e(T)/m,
式中,r0为MCU内置基准校准寄存器的电压初始值,e(T)为步骤c计算得到的MCU内置基准的电压误差,m为MCU内置基准的最小校正电压,该m值从MCU技术手册中查到;
在电表工作环境可能到达的温度范围,将数据(T, r(T))用一个一维数组表示并按照温度由小到大依序存放得到温度补偿数据表,其中T是指电表工作环境可能到达的温度范围内的任一温度点;r(T)是对应于该温度点MCU内置基准的电压补偿值;
线性插值计算得到MCU内置基准在当前温度下的微调因子:
读取SOC芯片片上温度,对于当前温度值TC可以从所述温度补偿数据表中查到与该温度值TC相邻的两个补偿数据点(Ta,ra)和(Tb,rb),并以此两点进行线性插值得到MCU内置基准在当前温度下的微调因子rc,插值公式为rc=ra+(rb-ra)×(Tc-Ta)/(Tb-Ta);
(3)用步骤(2)得到的微调因子对MCU内置基准当前的电压进行补偿;
(4)重复步骤(2)和(3),并且每隔一定时间进行一次,用于电表在工作过程中一直得到MCU内置基准温度补偿。
2.根据权利要求1所述基于SOC芯片电表的MCU内置基准温度补偿方法,其特征在于所述温度点T设在-40℃到+80℃的范围内。
3.根据权利要求1或2所述基于SOC芯片电表的MCU内置基准温度补偿方法,其特征在于步骤1中数据(T, r(T)), 以1摄氏度为间隔的数据点进行选取存储起来。
4.根据权利要求1所述基于SOC芯片电表的MCU内置基准温度补偿方法,
其特征在于所述步骤(4)的设定时间为100毫秒。
5.根据权利要求1所述基于SOC芯片电表的MCU内置基准温度补偿方法,其特征在于步骤(2)中SOC芯片片上温度通过SOC芯片内部温度传感器读取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210155429.9A CN102662107B (zh) | 2012-05-18 | 2012-05-18 | 基于soc芯片电表的mcu内置基准温度补偿方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210155429.9A CN102662107B (zh) | 2012-05-18 | 2012-05-18 | 基于soc芯片电表的mcu内置基准温度补偿方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102662107A true CN102662107A (zh) | 2012-09-12 |
CN102662107B CN102662107B (zh) | 2014-07-09 |
Family
ID=46771636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210155429.9A Active CN102662107B (zh) | 2012-05-18 | 2012-05-18 | 基于soc芯片电表的mcu内置基准温度补偿方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102662107B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103293505A (zh) * | 2013-06-06 | 2013-09-11 | 中国电子科技集团公司第四十一研究所 | 一种拓宽工作温度范围的温度补偿方法及其电子校准件 |
CN104569866A (zh) * | 2013-10-14 | 2015-04-29 | 中国科学院上海微系统与信息技术研究所 | 温度修正单元及修正方法、所适用的超导量子干涉传感器 |
CN104849523A (zh) * | 2015-05-15 | 2015-08-19 | 威胜集团有限公司 | 单相电能表的温度补偿方法 |
CN105676163A (zh) * | 2016-03-07 | 2016-06-15 | 宁波迦南电子有限公司 | 一种电能表自热影响误差补偿方法 |
CN107645260A (zh) * | 2016-07-20 | 2018-01-30 | 湖南中车时代电动汽车股份有限公司 | 电机控制器误差校正方法及装置 |
CN107782938A (zh) * | 2017-09-14 | 2018-03-09 | 宁波三星医疗电气股份有限公司 | 电能表自热的误差补偿方法 |
CN108181491A (zh) * | 2018-01-03 | 2018-06-19 | 江苏林洋能源股份有限公司 | 一种提高电能表计量精度及计量可靠性的方法 |
CN109799473A (zh) * | 2019-02-26 | 2019-05-24 | 西门子电力自动化有限公司 | 用于电力系统的测量数据校准方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200627784A (en) * | 2005-01-17 | 2006-08-01 | Holtek Semiconductor Inc | Temperature compensation circuit and method |
CN1950716A (zh) * | 2004-03-04 | 2007-04-18 | 爱特梅尔股份有限公司 | 使用片上传感器和计算装置的集成电路片温度补偿方法和装置 |
CN101498741A (zh) * | 2008-12-25 | 2009-08-05 | 哈尔滨电工仪表研究所 | 一种多功能电能表的温度补偿方法 |
CN201477390U (zh) * | 2009-08-31 | 2010-05-19 | 武汉盛帆电子股份有限公司 | 高精度温度补偿时钟 |
CN201601136U (zh) * | 2010-01-13 | 2010-10-06 | 山东交通职业学院 | 一种用于激光接收电路的温度补偿电路 |
CN202204918U (zh) * | 2011-07-26 | 2012-04-25 | 浙江吉利汽车研究院有限公司 | 一种基于温度补偿的soc精度提高装置 |
CN102445576A (zh) * | 2011-09-08 | 2012-05-09 | 北京煜邦电力技术有限公司 | 对电表中的计量芯片和锰铜片进行温度补偿的方法 |
-
2012
- 2012-05-18 CN CN201210155429.9A patent/CN102662107B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1950716A (zh) * | 2004-03-04 | 2007-04-18 | 爱特梅尔股份有限公司 | 使用片上传感器和计算装置的集成电路片温度补偿方法和装置 |
TW200627784A (en) * | 2005-01-17 | 2006-08-01 | Holtek Semiconductor Inc | Temperature compensation circuit and method |
CN101498741A (zh) * | 2008-12-25 | 2009-08-05 | 哈尔滨电工仪表研究所 | 一种多功能电能表的温度补偿方法 |
CN201477390U (zh) * | 2009-08-31 | 2010-05-19 | 武汉盛帆电子股份有限公司 | 高精度温度补偿时钟 |
CN201601136U (zh) * | 2010-01-13 | 2010-10-06 | 山东交通职业学院 | 一种用于激光接收电路的温度补偿电路 |
CN202204918U (zh) * | 2011-07-26 | 2012-04-25 | 浙江吉利汽车研究院有限公司 | 一种基于温度补偿的soc精度提高装置 |
CN102445576A (zh) * | 2011-09-08 | 2012-05-09 | 北京煜邦电力技术有限公司 | 对电表中的计量芯片和锰铜片进行温度补偿的方法 |
Non-Patent Citations (3)
Title |
---|
余小平等: "基于SOC的高精度倾角测量系统的设计", 《电子设计工程》 * |
周英平等: "数字测量系统中传感器温度补偿的一种新方法", 《传感器技术》 * |
芶志平等: "一种新型SOC单片机在水平仪温度补偿的应用", 《压电与声光》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103293505A (zh) * | 2013-06-06 | 2013-09-11 | 中国电子科技集团公司第四十一研究所 | 一种拓宽工作温度范围的温度补偿方法及其电子校准件 |
CN103293505B (zh) * | 2013-06-06 | 2015-11-25 | 中国电子科技集团公司第四十一研究所 | 一种拓宽工作温度范围的温度补偿方法 |
CN104569866A (zh) * | 2013-10-14 | 2015-04-29 | 中国科学院上海微系统与信息技术研究所 | 温度修正单元及修正方法、所适用的超导量子干涉传感器 |
CN104849523A (zh) * | 2015-05-15 | 2015-08-19 | 威胜集团有限公司 | 单相电能表的温度补偿方法 |
CN104849523B (zh) * | 2015-05-15 | 2017-06-09 | 威胜集团有限公司 | 单相电能表的温度补偿方法 |
CN105676163A (zh) * | 2016-03-07 | 2016-06-15 | 宁波迦南电子有限公司 | 一种电能表自热影响误差补偿方法 |
CN105676163B (zh) * | 2016-03-07 | 2018-08-21 | 宁波迦南智能电气股份有限公司 | 一种电能表自热影响误差补偿方法 |
CN107645260A (zh) * | 2016-07-20 | 2018-01-30 | 湖南中车时代电动汽车股份有限公司 | 电机控制器误差校正方法及装置 |
CN107782938A (zh) * | 2017-09-14 | 2018-03-09 | 宁波三星医疗电气股份有限公司 | 电能表自热的误差补偿方法 |
CN108181491A (zh) * | 2018-01-03 | 2018-06-19 | 江苏林洋能源股份有限公司 | 一种提高电能表计量精度及计量可靠性的方法 |
CN109799473A (zh) * | 2019-02-26 | 2019-05-24 | 西门子电力自动化有限公司 | 用于电力系统的测量数据校准方法和装置 |
CN109799473B (zh) * | 2019-02-26 | 2021-12-28 | 西门子电力自动化有限公司 | 用于电力系统的测量数据校准方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102662107B (zh) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102662107B (zh) | 基于soc芯片电表的mcu内置基准温度补偿方法 | |
CN101604970B (zh) | 自拟合数字温度补偿晶体振荡器及其系统与实现方法 | |
CN110380724B (zh) | Rtc时钟频率温度补偿芯片 | |
CN104849523B (zh) | 单相电能表的温度补偿方法 | |
CN102722197A (zh) | 一种自校准的温度控制装置及方法 | |
CN105242233A (zh) | 一种单相电能表的快速校表方法 | |
CN106569544B (zh) | 实时时钟芯片及其时钟校准方法、装置 | |
CN102914756B (zh) | 一种二极管式微波功率探头的全自动校准补偿的方法 | |
CN104297716B (zh) | 一种智能电表rtc校准方法 | |
CN105388445A (zh) | 一种单相电能表的自动校表方法 | |
CN103178779B (zh) | 一种具有幅度补偿功能的信号发生器及其方法 | |
CN108020808B (zh) | 一种高可靠高精度电能表实时时钟设计方法 | |
CN102830294A (zh) | 用于微机补偿晶振的自动调试系统 | |
CN203299557U (zh) | 实时时钟补偿装置 | |
CN115979324A (zh) | 一种磁编码器的非线性校准方法及装置 | |
CN110519356B (zh) | 一种校准燃气表上报成功率的方法及装置 | |
CN102620862A (zh) | 一种温度校验仪 | |
CN102422538B (zh) | 模拟单元 | |
CN202614950U (zh) | 一种地震数据采集的时间系统 | |
CN108508385A (zh) | 一种低成本高精度自动校正方法 | |
CN112444671A (zh) | 基于瞬时功率的电能表电能计量方法、装置及储存介质 | |
CN111045317B (zh) | 设备时钟的校准方法、装置及系统、自校准方法及设备 | |
CN103163924B (zh) | SoC芯片及其运放失调电压的补偿方法和补偿装置 | |
CN104635193B (zh) | 一种电表用的soc芯片实时时钟高精度补偿方法 | |
CN209961898U (zh) | 计量装置和电表 |
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 |