一种应用于无乘法指令单片机的测量值校准方法技术

技术编号:4117986 阅读:269 留言:0更新日期:2012-04-11 18:40
一种应用于无乘法指令单片机的测量值校准方法,包括以下步骤:(1)、采用非线性分段方式对测量值所在的区域进行分段;(2)、在每个分段后的线性区进行测量值校准,即将多次A/D采样值累加后右移n次,计算得到校准后的参数测量值,校准系数S用两个字节来保存,高字节定义为SH,低字节定义为SL,其中:S=SH×256+SL(3)、依照标准仪表的标准测量值,通过调整所述校准系数S对参数测量值进行精确的校准。本发明专利技术提升无乘法指令单片机的处理能力,避免采用浮点数乘除法操作、高效便捷。

【技术实现步骤摘要】

本专利技术涉及一种单片机的测量值校准方法。
技术介绍
在检测系统中,被测物理量通过传感器转换成电信号,信号经过放大器再通过A/D 将物理量转换得到所对应的数字量。被测物理量转换成数字量后,还需要转换成操作人员 熟悉的工程量。因为A/D转换后得到的数码值不等于原来物理量的量纲,而仅仅表示数值 的大小。必须将A/D采样值转换成带有量纲的数值后才能运算、显示。 在整个测量通道的任何一个环节的信号转换偏差都会造成最终测量结果的误差。 因此,在整个检测系统中必须对最终显示结果进行校准,提供校准手段。目前所采用的校准 方法不外乎两大类 a、通过硬件方法实现 在A/D采样通道的硬件电路上增加可调器件(如电位器)来调整测量值。也就是 直接对A/D转换前的信号进行调整。 该方法实现校准只能对确定偏差的信号进行校准,有很大的局限性, 一方面增加 了设备硬件开销,另一方面由于可调器件的性能容易产生变化,因此会直接导致测量结果 的偏差。同时该方法无法实现检测值的自动校准。 b、软件方法实现 采用软件方法对测量值进行校准的方法就是对A/D转换得到的数字量通过复杂 的数学运算,得到最终所需的测量结果。 目前使用的计算机CPU体系结构可分为CISC (全称是Complex Instruction Set Computer,复杂指令系统计算机)和RISC(全称Reduced Instruction Set Computer,精简 指令系统计算机)。 复杂的数学运算对于CISC结构的单片机来说实现起来较为方便,而对于RISC结 构的单片机来说则会成为一种负担。目前采用软件方法实现测量值校准的方法对于CISC 单片机来说,尤其是用高级语言(如C语言)编程的单片机来说几乎不成问题,实现起来非 常方便。而对于不含乘法运算的RISC单片机来说,一个简单的整数乘法运算都需要一个复 杂的子程序来实现,更不用说复杂的浮点数运算了。同时,这类单片机由于价格低,因此往 往只有很小的程序存储器空间,即使编制复杂的测量校准算法,也可能会导致程序存储器 空间溢出。 在检测系统中,许多测量信号和被测量信号之间存在着明显的非线性,这严重影 响了测量的精度,必须采用必要的手段对信号进行校准。非线性校准的方法很多,常用的数 字处理与校准方法有查表法、插值法和拟合法。在单片机系统中使用最多的是插值法对系 统模型分段进行线性拟合。而对于实际检测系统,首先采用常规的非线性分段方式进行分 段,然后在每个分段后的线性区进行测量值校准,每个分段的标准值由标准测量仪表获得。 对于那些不包含非线性环节的测量通道,线性标度变换的公式如下 Yd _《■ —义min )式中YmN 一丄'maxN .——1 、mm)(-》—参数测》-测量范围最大值; :范围最小值; 式中k-Ymax对应的A/D转换值; -Ymin对应的A/D转换值; J量值Y对应的A/D转换值。 对上述公式进行变换后得到 Y = kXX+bV咖x imm 乂b = 7——(N,加J 1 mm 乂 ^min(N -N -)、丄 max , min 乂 对于某个确定的系统来说,k、b均为常数。对每一个被测参数而言,改变k与b的 数值大小就能够实现对测量结果的校准。b值与测量结果之间为加法关系,任何单片机都能 够很方便的实现,而k值则不然,需要进行复杂的浮点数乘法运算,这对于不包含乘法指令 的单片机系统来说是很困难的事情。 k值往往不是整数,为了使测量值根据有效显示位数连续可调,k值的变化范围非 常小,必须用浮点数来表达,甚至需要用双精度浮点数来实现。以10位A/D采样(数值范 围0000 1023)为例,当A/D值为958时,显示值为1900 (本专利描述过程中的显示值均 不考虑小数点位置),则k = 1. 98330。如果实际值为1901,则需要将k修正到1. 98434 ;若 实际值为1.899,则需要将K修正到1.98225。为了实现上述目的,在校准过程中,还必须对 A/D值和测量值经过返算,计算得到k值,这中间就需要运用除法运算,这对于无乘法的单 片机系统来说无异于雪上加霜。
技术实现思路
为了克服已有的无乘法指令单片机的测量值校准方法的处理能力受限、无法处理 浮点数乘除法运算、校准效率低等的不足,本专利技术提供一种提升无乘法指令单片机的处理 能力,避免采用浮点数乘除法操作、高效便捷的应用于无乘法指令单片机的测量值校准方 法。 本专利技术解决其技术问题所采用的技术方案是 —种应用于无乘法指令单片机的测量值校准方法,包括以下步骤 (1)、采用非线性分段方式对测量值所在的区域进行分段; (2)、在每个分段后的线性区进行测量值校准,即将多次A/D采样值累加后右移n次,参照下式,计算得到校准后的参数测量值s24 其中 Y :参数测量值; X:为A/D采样值; S :校准系数,即连续采样的次数; n :A/D分辨率,即A/D位数; b :零位误差校准值; 所述的校准系数S用两个字节来保存,高字节定义为SH,低字节定义为&,其中 S = SHX256+SL 数据转换过程分为两步 第一步连续采样256次,计算累加和,然后将采样累加和再通过循环相加实现累 加和乘以sH ; 第二步连续采样&次,并计算累加和; (3)、依照标准仪表测得的标准测量值,通过调整所述校准系数S对参数测量值进 行精确的校准。 本专利技术的技术构思为不采用浮点数乘除法运算,只通过有限次数的加法运算和 移位运算就能快速便捷地实现对测量值的校准功能 基本原理将多次A/D采样值累加后除以2n,其中n为A/D芯片分辨率,即A/D位 数。由于单片机中用右移n次就能够实现除以2n的功能,因此非常适合于单片机处理,尤 其是无乘除法指令且程序存储器小的单片机。,x 仝2n 其中 Y :参数测量值; X:为A/D采样值; S :校准系数; n :A/D分辨率(A/D位数); b :零位误差校准值。 为了实现能够按照仪器有效显示位数连续调节显示值,如上例所述,每次调节变 化不大于OOOl。 条件n = 10, X = 958,不考虑零点漂移,即b = 0 : 当S = 2030,则Y = 1899 ; 当S = 2031,则Y = 1900 ; 当S = 2032,则Y = 1901。 本专利技术的有益效果主要表现在提升无乘法指令单片机的处理能力,避免采用浮 点数乘除法操作、高效便捷。具体实施例方式下面对本专利技术作进一步描述。 —种应用于无乘法指令单片机的测量值校准方法,包括以下步骤 (1)、采用非线性分段方式对测量值所在的区域进行分段; (2)、在每个分段后的线性区进行测量值校准,即将多次A/D采样值累加后右移n次,参照下式,计算得到校准后的参数测量值,x 仝2n 其中 Y :参数测量值; X:为A/D采样值; S :校准系数,即连续采样的次数; n :A/D分辨率,即A/D位数; b :零位误差校准值; 所述的校准系数S用两个字节来保存,高字节定义为%,低字节定义为&,其中 S = SHX256+SL 数据转换过程分为两步 第一步连续采样256次,计算累加和,然后将采样累加和再通过循环相加实现累 加和本文档来自技高网
...

【技术保护点】
一种应用于无乘法指令单片机的测量值校准方法,包括以下步骤:    (1)、采用非线性分段方式对测量值所在的区域进行分段;    (2)、在每个分段后的线性区进行测量值校准,即将多次AD采样值累加后右移n次,参照下式,计算得到校准后的参数测量值:    Y=*X/2↑[n]+b    其中:    Y:参数测量值;    X:为A/D采样值;    S:校准系数,即连续采样的次数;    n:A/D分辨率,即A/D位数;    b:零位误差校准值;    所述的校准系数S用两个字节来保存,高字节定义为S↓[H],低字节定义为S↓[L],其中:    S=S↓[H]×256+S↓[L]    数据转换过程分为两步:    第一步:连续采样256次,计算累加和,然后将采样累加和再通过循环相加实现累加和乘以S↓[H];第二步:连续采样S↓[L]次,并计算累加和;    (3)、依照标准仪表测得的标准测量值,通过调整所述校准系数S对参数测量值进行精确的校准。

【技术特征摘要】
一种应用于无乘法指令单片机的测量值校准方法,包括以下步骤(1)、采用非线性分段方式对测量值所在的区域进行分段;(2)、在每个分段后的线性区进行测量值校准,即将多次AD采样值累加后右移n次,参照下式,计算得到校准后的参数测量值 <mrow><mi>Y</mi><mo>=</mo><mfrac> <mrow><munderover> <mi>&Sigma;</mi> <mrow><mi>i</mi><mo>=</mo><mn>1</mn> </mrow> <mi>S</mi></munderover><mi&g...

【专利技术属性】
技术研发人员:单晓杭孙建辉张利丁力
申请(专利权)人:浙江工业大学
类型:发明
国别省市:86[中国|杭州]

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

1