高精度直流微电阻测试仪的研究与开发-----软件系统设计
4.9软件方面的可靠性设计
在提高硬件系统抗干扰能力的同时,还要进行软件抗干扰的设计。
软件方面的可靠性设计通常有以下几种方法:
1.数字滤波
(1)算术平均法对某一点的数值连续多次采样,取其算术平均值,这种方法可以减小系统的随机干扰对数据采集的影响;
(2)比较取舍法对某一点数据连续采样多次,剔除较大偏差;
(3)中值法对某一点数值连续采样多次,依次排序,取其中间值作为采样结果;
(4)一阶递推数字滤波法
这种方法是利用软件完成Rc低通滤波器的算法,代替硬件实现Rc滤波.本系统在数字滤波方面采用了算术平均法,即对某一点的数值连续多次采样并且剔除最大值和最小值,然后取其算术平均值,这种方法的好处就是取值能够比较的符合实际电阻值,偏差较小,可以减小系统的随机干扰对数据采集的影响和滤波方面的误差。
2.设置软件陷阱
当系统受到干扰后可能引起程序计数器PC值的改变,使系统程序没有按照预定的顺序执行,而是执行其他程序区的程序,或使PC值超出程序区,将非程序区的随机数作为指令码运行,影响了系统的正常运行。
为此,本系统也采用了设置软件陷阱的方法来确保系统的软件可靠性。在本软件系统中,在非程序区安排指令强迫系统复位,不论PC失控后飞到非程序区的哪个字节,都能使系统复位。
3.应用“看门狗”技术
设置软件陷阱能解决一部分程序失控的问题,但当程序进入某种非正常的死循环时,软件陷阱可能不起作用。本软件系统同时也设置了软件“看门狗”,应用“看门狗”技术能够使程序从死循环中恢复到正常状态,“看门狗”就是一个时间监视器,软时钟是利用片内定时/计数器,定时时间比正常执行一次程序循环所需时间要长。
程序正常运行未受干扰时,CPu每隔一段时间就对软时钟重置时间常数并使其复位,复位时间应比设定的定时时间要短,使系统不受影响地正常工作。当受到干扰使程序不能正常运行陷入死循环时,因不能及时发出复位脉冲,软时钟运行至既定的定时时间,软时钟可产生中断,在中断服务子程序中进行相应处理。
软件“看门狗”应用一个内部定时器来定时,此时应将它的溢出中断设定为高级中断。
启动软件“看门狗”以后,在系统运行正常时,程序必须在定时器的定时间内重新设定定时器的定时时间常数,从而使定时器不产生溢出中断;当程序陷入死循环后,不能在定时器的定时时间内重新设其定时时间常数,使得定时器产生溢出中断,程序通过执行中断处理而退出死循环。在中断处理程序中要进行错误处理并用软件使系统复位。
在本系统中应用了“看门狗”软件,目的就是为了保证软件运行的可靠性,这也是众多测试测量仪器所通用的防止系统出现非正常死循环时的方法。
评论