发表于:2011/10/25 17:23:37
#0楼
智能化逆变电源的软件抗干扰措施:数字滤波技术即通过简单的计算或者判断程序,对采样信号进行平滑处理,分离出有用的信号,消除或减少各种干扰和噪声。目前常用的方法有程序判断滤波法、中值滤波法、算术平均滤波法、加权平均滤波法等。对逆变电源监控模块而言,由于对采集的速度要求不是特别高,但对精度有较高的要求,同时由于被采集的模拟量变化缓慢,因此采用将算术平均滤波和中值滤波结合的复合滤波方法效果较好。其方法是,首先把采样值按大小排队,然后去掉最大和最小值,最后把剩余采集值加起来取平均值。
数字调零技术采用这种方法主要是为了消除模拟开关、放大电路以及A/D转换器本身的偏差,削弱各种随时间和温度变化的漂移的影响。
对于开关量,利用干扰信号与有效输入信号脉宽不同的特点,采取读两次的办法,即第一次读入数据后延时1段时间后再读一次,两次结果相同才予以确认;在输出的开关量控制中,也采取重复输出数据的方法。这样即使发生错误控制,也可以及时的得到弥补。
由于失控的程序可能将操作数当作操作码,使程序完全冲乱,但当遇到单字节指令时则会纳入正轨。利用这一特点,可以在程序中对程序流向起决定性作用的指令(如LCALL、JNC、DJNZ等)或某些对系统工作状态至关重要的指令(如SETBEA等)之前加入两条NOP指令,以确保该指令不被冲散。
陷阱的设置就是采用一条引导指令,强行将捕获的程序引向指定的入口,在该地址处放置程序出错的处理程序,从而使系统重新正常运行。由于LJMP指令的操作码为02,所以把陷阱程序的入口固定在0202H,即陷阱指令为LJMP0202。
在逆变电源监控模块中,A/D转换、显示等输入/输出接口是必不可少的。这些接口与CPU之间采用查询或中断方式工作,而这些设备或接口对干扰很敏感,干扰一旦破坏了某一接口的状态字后,就会导致CPU误认为该接口有输入/输出请求而停止工作,转去执行相应的输入/输出服务程序。但由于该接口本身并没有输入/输出数据,从而使CPU资源被该服务程序长期占用而不释放,其它任务程序无法执行,造成整个系统出现“死锁”。对这种干扰造成的“死锁”现象,可以采用“时间片”的方法来解决。其具体步骤如下:
(1)根据不同的输入/输出外设对时间的要求,分配相应的最大正常的输入/输出时间;
(2)在每一输入/输出的任务模块中,加入相应的超时判断程序。这样当干扰破坏了接口状态而造成CPU误操作时,由于该外设准备好信息长期无效,经过一定时间后,系统会从该外设的服务程序中自动返回,保证了整个软件的周期性不受影响,从而避免了“死锁”现象的发生。
本位来自 http://www.glspower.org/c1347.html
数字调零技术采用这种方法主要是为了消除模拟开关、放大电路以及A/D转换器本身的偏差,削弱各种随时间和温度变化的漂移的影响。
对于开关量,利用干扰信号与有效输入信号脉宽不同的特点,采取读两次的办法,即第一次读入数据后延时1段时间后再读一次,两次结果相同才予以确认;在输出的开关量控制中,也采取重复输出数据的方法。这样即使发生错误控制,也可以及时的得到弥补。
由于失控的程序可能将操作数当作操作码,使程序完全冲乱,但当遇到单字节指令时则会纳入正轨。利用这一特点,可以在程序中对程序流向起决定性作用的指令(如LCALL、JNC、DJNZ等)或某些对系统工作状态至关重要的指令(如SETBEA等)之前加入两条NOP指令,以确保该指令不被冲散。
陷阱的设置就是采用一条引导指令,强行将捕获的程序引向指定的入口,在该地址处放置程序出错的处理程序,从而使系统重新正常运行。由于LJMP指令的操作码为02,所以把陷阱程序的入口固定在0202H,即陷阱指令为LJMP0202。
在逆变电源监控模块中,A/D转换、显示等输入/输出接口是必不可少的。这些接口与CPU之间采用查询或中断方式工作,而这些设备或接口对干扰很敏感,干扰一旦破坏了某一接口的状态字后,就会导致CPU误认为该接口有输入/输出请求而停止工作,转去执行相应的输入/输出服务程序。但由于该接口本身并没有输入/输出数据,从而使CPU资源被该服务程序长期占用而不释放,其它任务程序无法执行,造成整个系统出现“死锁”。对这种干扰造成的“死锁”现象,可以采用“时间片”的方法来解决。其具体步骤如下:
(1)根据不同的输入/输出外设对时间的要求,分配相应的最大正常的输入/输出时间;
(2)在每一输入/输出的任务模块中,加入相应的超时判断程序。这样当干扰破坏了接口状态而造成CPU误操作时,由于该外设准备好信息长期无效,经过一定时间后,系统会从该外设的服务程序中自动返回,保证了整个软件的周期性不受影响,从而避免了“死锁”现象的发生。
本位来自 http://www.glspower.org/c1347.html