片机系统运行参数的保存及有效性判别

时间:2011-05-31来源:网络


3 运行参数的数据校验
  系统运行参数是单片机控制系统正确运行的关键数值,能确保系统按设置的特性运行。在许多单片机组成的控制系统中,系统在运行过程中需读出EEPROM中的数据,为了确定所读出的数据与原先写入的数据一致,就要用到数据校验。在一般的校验中,一是采用数据字节值进行异或运算;二是字节值作相加运算并忽略进位的方法。本文介绍了采用一种16位循环冗余法(CRC)思想的自定义数据校验法。
3.1 循环冗余法的简介
  循环冗余法是基于将位串看成是系数为0或1的多项式,一个k位的帧可以看成是从xk-1到x0的k次多项式的系数序列,这个多项式的阶数为k-1。高位(最左边)是xk-1项的系数,下一位是xk-2项的系数,依此类推。例如11001001有8位,表示成多项式是x7+x6+x3+x0,多项式的系数分别是1,1,0,0,1,0,0和1。
  如果采用循环冗余法进行校验,在产生校验和时及检验数据时,运算必须用相同的生成多项式G(x),生成多项式的高位和低位必须是1。以2为模  展开运算。运算法则是:加法不进位,减法不借位;加法和减法两者都异或运算相同。如果分计算m位的数据序列M(x)的校验和,生成多项式G(x)必须比多项式M(x)短,即m>k。校验的基本思想是:将校验和加在数据序列M(x)的末尾,使这个带校验和的多项式能被G(x)除尽。当检验数据时,用G(x)去除这个带校验和的多项式,如果余数不等于零,则所检验的数据有错。
计算检验和的算法如下:
  (1)设G(x)为r阶,在数据序列的末尾附加r个零,使数据序列为m+r位,则相应的多项式是xrM(x)。
  (2)按模2除法,用对应于G(x)的位串去除对应于xrM(x)的位串,得余数。
  (3)按模2减法,从对应于xrM(x)的位串中减去余数。结果就是带校验和的数据序列,叫多项式T(x)。
  该方法是经过严密数学推导的,有三项多项式已成为国际标准,即12位的CRC-12:x12+x11+x3+x2+x1+1;16位的CRC-16:x16+x15+x2+1和CRC-CCITT:x16+x12+x5+1。
3.2 自定义数据校验的软件实现
  循环冗余法在通讯中的实现一般是用一种简单的移位寄存器电路来进行运算,并用硬件来完成对校验和的校验。实际应用中几乎都在使用此硬件。在单片机控制系统中,参考这一产生数据序列校验和的思想,由于单片机的运算速度已相当高,用软件实现这一校验也是可行的。在检错要求较高的情况下,并考虑到单片机的运算是基于字节(8位数据)的,数据校验采用以下自定义数据校验算法。自定义算法的生成多项式取G(x)=x7+x5+1,可以检出1位错和2位错,显然比字节和或者异或和的检错能力大。
  自定义数据序列校验的软件实现流程如图4所示。根据流程图,校验用到异或和移位操作运算,软件编程用相应的单片机汇编语言较易实现,程序简捷,实时性好。
  单片机控制系统在保存运行参数过程中,首先在RAM区中连续存储运行参数,并用自定义数据校验算法计算运行参数的校验和。系统向X24C44写入运行参数值时,也将校验和写入。在读出X24C44中的运行参数时,再用同一算法计算检验和,与X24C44中原有的校验和比较,判别数据是否合法,如果校验和相同,则对运行参数的读写是正确的。这一检验算法可有效保证程序所使用的运行参
数的有效性。
  在读出X24C44的运行参数时,如果所读出的数据按同一方法计算校验和与X24C44中原有的校验和不一致,则表明读出的是错误的数据。这时可不用这些数据,在程序中调用默认的运行参数值,从而
保证了门机控制系统的安全运行,提高了可靠性。

4 参数的取值范围检验
  在单片机控制系统中,所使用的参数数值如果超过了系统的允许范围,则有可能使系统运行出现不可预见的工作状况。为了保证控制系统按所要求的功能运行,系统在使用运行参数之前要进行取值范围检验。
  在单片机组成的系统中,系统的运行参数绝大多数是正数。如果运行参数1的取值范围为N11≤参数1≤N12,则在运行参数的取值范围检验子程序中,系统进行条件处理为:当参数1<N11时,令参数1取值为N11;当参数1>N12时,令参数1取值为N12;当参数1在许可范围之内时,参数1取值不变。运行参数的取值范围检验子程序处理流程如图5所示。
5 结束语
  本文所讨论的运行参数的保存及参数有效性判别的实现方法,在作者所开发的电梯门机单片机控
制系统中使用,实际应用表明:可以保证运行参数在设计的许可范围内,保证系统有较强的容错能力,提高控制系统的运行可靠性。这一方法也可应用于需要保存参数的单片机组成系统中,如智能仪表、运动控制等领域的系统。

1 2

关键词: 有效性 判别 保存 参数 运行 系统

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版