单片机抗干扰措施
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.开机自检自诊断,RAM中重要内容要分区存放,经常进行比较检查,机器不能带病工作
6.表格参数放在EPROM中,检验和存于最后单元,防止EPROM内容被修改
7.加看门狗,软件走飞可从头开始
8.开关信号延时去抖动
9.IO口正确操作,必须检查口执行命令情况防止外部故障不执行控制命令
10.通讯应加奇偶校验或查询表决比较等措施,防止通讯出错
(2)递推平均滤波法
该方法是把N个测量数据看成一个队列,队列的长度为N,每进行一次新的测量,就把测量结果放入队尾,而扔掉原来队首的一次数据。计算N个数据的平均值。对周期性的干扰,此方法有良好的抑制作用,平滑度高,灵敏度低。但对偶发脉冲的干扰抑制作用差。
(3)防脉冲干扰平均值滤波法
理想的复位特征应该是:系统可以鉴别是首次上电复位(又称冷起动),还是异常复位(又称热启动)。首次上电复位则进行全部初始化,异常复位则不需要进行全部初始化,测控程序不必从头开始执行,而应故障部位开始。
(1)上电标志的设定方法
①SP建立上电标志。
②PSW.5建立上电标志。
2.4 睡眠抗干扰
在实际应用中,强干扰的来源往往是系统本身,例如被控负载的中断状态变化等。而这种干扰是可预知的,在软件设计时可采取适当措施避开。当系统接通或断开大功率负载时,暂停一切数据采集等工作。待干扰过后,再恢复进行。这比单纯在硬件上采取抗干扰措施要好的多。8031单片机中有一个电源控制寄存器 PCON。当PCON.0=1时,8031单片机进入等待工33作状态。这时单片机时钟被封锁,所有I/O口引脚均保持进入等待工作方式前的状态,内部时钟仍然继续供给中断系统定时/计数器和串行口、8031单片机现场(栈指针、程序计数器PC、状态字PSW、累加器ACC、内部RAM)和其他特殊功能寄存器内容保持不变。中断退出和硬件复位均可使8031单片机退出睡眠状态。
扰。一般的解决方法是增加干扰源与敏感器件的距离,用地线把它们隔离和在敏感器件上加蔽罩。
影响单片机系统可靠安全运行的主要因素主要来自系统内部和外部的各种电气干扰,并受系统结构设计、元器件选择、安装、制造工艺影响。这些都构成单片机系统的干扰因素,常会导致单片机系统运行失常,轻则影响产品质量和产量,重则会导致事故,造成重大经济损失。
以MSC-51系列的8031单片机为例,给出了在软硬件设计的不同阶段,对于不同干扰应采取的一些措施。
2 单片机系统软件的抗干扰
一般来讲,窜入微机测控系统的干扰,其频谱往往很宽,采用硬件抗干扰措施,只能抑制某个频率段的干扰,仍有一些干扰会进入系统。因此,除了采取硬件抗干扰方法外,还要采取软件抗干扰措施。
(二)软件抗干扰措施
1.多用查询代替中断,把中断源减到最少,中断信号连线不大于0.1米,防止误触发、感应触发
2.A/D转换采用数字滤波,平均法,比较平均法等,防止突发性干扰
3.MCS-51单片机空单元写上00H,最后放跳转指令到ORG 0000H,因干扰程序走飞,可能抓回去
4.多次重复输出,输出信号保持在RAM中,防止干扰信号输出
在脉冲干扰比较严重的场合,如果采用一般的平均滤波法,则干扰将会“平均”到结果中去,故平均值法不易消除由于脉冲干扰而引起的误差。为此,在N个采样数据中,取掉最大值和最小值,然后计算N-2个数据的算术平均值。为了加快测量速度,N一般取值为4。
2.2 “死机”现象的克服
(1)因为某种原因,程序混乱后,看门狗电路虽然发出了复位脉冲,但在程序刚刚正常还来不及发出一个脉冲信号,此时程序再次被干扰,而这时看门狗电路已处于稳态,不能再发出复位脉冲。
(2)程序进入死循环,在该死循环中,恰好又有看门狗监视I/O口上操作的指令。而该I/O口仍有脉冲信号输出,看门狗检测不到这种异常情况。
(3)电容耦合:
又称电场耦合或静电耦合。是由于分布电容的存在而产生的耦合。
(4)电磁感应耦合:
又称磁场耦合。是由于分布电磁感应而产生的耦合。
(5)漏电耦合:
这种耦合是纯电阻性的,在绝缘不好时就会发生。
为叙述方便,我们分硬件、软件抗干扰措施来讲:
(3)在有严重干扰时,中断方式控制字有时会受到破坏,导致中断关闭。
可见,只用硬件看门狗电路是无法确保单片机正常工作的。因此,可采用以下方法作为补充。
(1)软件“看门狗”的应用
选用定时器T0作为看门狗,将T0的中断定义为最高级中断。看门狗启动后,系统必须及时刷新T0的时间常数。
形成干扰的基本要素有三个:
(1)干扰源。指产生干扰的元件、设备或信号, 用数学语言描述如下:du/dt, di/dt大的地方就是干扰源。如:雷电、继电器、可控硅、电机、高频时钟等都可能成为干扰源。
(2)传播路径。指干扰从干扰源传播到敏感器件的通路或媒介。典型的干扰传播路径是通过导线的传导和空间的辐射。
按传导方式分:可分为共模噪声和串模噪声。
按波形分:可分为持续正弦波、脉冲电压、脉冲序列等等。
1.2 干扰的耦合方式
干扰源产生的干扰信号是通过一定的耦合通道才对测控系统产生作用的。因此,我们有必要看看干扰源和被干扰对象之间的传递方式。干扰的耦合方式,无非是通过导线、空间、公共线等等,细分下来,主要有以下几种:
当干扰通过总线或其他口线作用到CPU时,就会造成程序计数器PC值的改变,引起程序混乱,使系统失控。因此,在设计单片机系统时,如何发现CPU受到干扰,并尽可能无扰地使系统恢复到正常工作状态是软件设计应考虑的主要问题。
无论何种控制系统,一般讲,死机现象都是不允许的。克服死机现象最有效的办法就是采用单片机工加了硬件看门狗电路后仍然有死机现象,分析原因,可能有以下方面:
③内RAM建立上电标志。
(2)软件复位与中断激活标志
当系统执行中断服务程序时,来不及执行RETI指令而受干扰跳出该程序后,程序乱飞过程中由软件陷阱或软件“看门狗”将程序引向0000H,显然这时中断激活标志并未清除,这样就会使系统热启动时,不管中断标志是否置位,都不会响应同级中断的请求。因此,由软件陷阱或“看门狗”捕获的程序一定要完成清除 MSC-51系列中中断激活标志,才能消除系统热启动后不响应中断的隐患。
按干扰的传播路径可分为传导干扰和辐射干扰两类。
所谓传导干扰是指通过导线传播到敏感器件的干扰。高频干扰噪声和 有用信号的频带不同,可以通过在导线上增加滤波器的方法切断高频干扰 噪声的传播,有时也可加隔离光耦来解决。电源噪声的危害最大, 要特别注意处理。 所谓辐射干扰是指通过空间辐射传播到敏感器件的干
(3)敏感器件。指容易被干扰的对象。如:A/D、 D/A变换器,单片机,数字IC,弱信号放大器等。
1 干扰的分类
1.1 干扰的分类
干扰的分类有好多种,通常可以按照噪声产生的原因、传导方式、波形特性等等进行不同的分类。按产生的原因分:
可分为放电噪声音、高频振荡噪声、浪涌噪声。
2.1 模拟输入信号抗干扰
叠加在系统模拟输入信号上的噪声干扰,会导致较大的测量误差。但由于这些噪声的随机性,可以通过数字滤波技术剔除虚假信号,求去真值。常用方法如下:
(1)算术平均滤波法算术平均滤波法就是连续取N个值进行采样,然后求其平均值。该方法适应于对一般具有随机性干扰的信号进行滤波。这种滤波法的特点是:N值较大时,信号的平滑度好,但灵敏度低;当N值较小时,平滑度低,但灵敏度高。
在工业控制、智能仪表中都普遍采用了单片机,单片机抗干扰措施提到重要议事日程上来。单片机抗干扰措施不解决,其它工作也是白费劲。要解决单片机干扰问题,必须先找出干扰源,然后采用单片机软硬件技术来解决。
干扰源:主要来自外部电源、内部电源,印制板排版走线互相干扰,周围电磁场干扰,外部干扰一般通过IO口输入等
(3)程序失控后恢复运行的方法
一般来说,主程序是由若干个功能模块组成,每个功能模块入口设置一个标志,系统故障复位后,可根据这些标志选择进入相应的功能模块。这一点对一些自动化生产线的控制系统尤为重要。
总之,微机测控系统由于受到严重干扰而发生程序乱飞、陷入死循环以及中断关闭等故障。系统通过冗余技术、软件陷阱技术和“看门狗”技术等,使程序重新进入 0000H单元,纳入正轨。因故障而进入0000H后,系统要执行上电标志判定、RAM数据检查与恢复、清除中断激活标志等一系列操作,决定入口地址。
(3)软件陷阱法
单片机系统程序跑飞意味着CPU执行不正确流程程序。而当乱飞程序进入非程序区,采用冗余技术无法使程序纳入正确轨道,此时可采用软件陷阱法,拦截乱飞程序。软件陷阱就是用引导指令(如LJMP)将扑获到的乱飞程序引向复位入口地址0000H,在此对程序进行出错处理,使其纳入正轨。
Hale Waihona Puke (二) 单片机系统中硬件抗干扰设计
一个好的电路设计,应在设计过程中充分考虑抗干扰性的要求。分析系统中可能引起干扰的部件,采取必要的硬件抗干扰措施,抑制干扰源、切断干扰传播途径。
1.交流电源尽量采用电压稳定的电网
2.交流端用电感电容滤波,去掉高频低频干扰脉冲
①软件陷阱格式
NOP
NOP
LJMP0000H
②软件陷阱安排未使用的中断区;
未使用的大片ROM空间;
程序区;
中断服务程序区。
2.3 系统复位特征
单片机应用系统采用看门狗电路后,在一定程度上解决了系统死机现象,但是每次发生复位都使系统执行初始化,这在干扰较强的情况下仍不能正常工作。同时系统虽然没有死机,但工作状态频繁改变,这同样是不能容忍的。
(1)直接耦合:
这是最直接的方式,也是系统中存在最普遍的一种方式。比如干扰信号通过电源线侵入系统。对于这种形式,最有效的方法就是加入去耦电路。
(2)公共阻抗耦合:
这也是常见的耦合方式,这种形式常常发生在两个电路电流有共同通路的情况。为了防止这种耦合,通常在电路设计上就要考虑。使干扰源和被干扰对象间没有公共阻抗。
8.防雷电,用光纤隔离最为有效
9.A/D转换用隔离放大器或采用现场转换,减少误差
10.外壳接大地,解决人身安全及防外界电磁场干扰
(2)指令冗余技术
①NOP的使用
在8031单片机指令系统中所有指令都不超过3个字节。因此,在程序中连续插入3条NOP指令,有助于降低程序计数器发生错误的概率。
②重要指令冗余
对于程序流向起决定作用的指令(如RET,RETI,ACALL,LJMP,JZ等)和某些对系统工作状态有重要作用的指令(如SETBEA等)的后面,可重复写下这些指令,以确保这些指令的正确执行。
3.变压器双隔离措施,变压器初级输入端串接电容,初、次级线圈间屏蔽层与初级间电容中心接点接大地,次级外屏蔽层接印板地,这是硬件抗干扰的关键手段
4.次级加低通滤波器,吸收变压器产生的浪涌电压
5.采用集成式直流稳压电源,有过流过压过热等保护
6.IO口光电磁电继电器隔离,避免公共地
7.通讯线用双绞线,排除平行互感
6.表格参数放在EPROM中,检验和存于最后单元,防止EPROM内容被修改
7.加看门狗,软件走飞可从头开始
8.开关信号延时去抖动
9.IO口正确操作,必须检查口执行命令情况防止外部故障不执行控制命令
10.通讯应加奇偶校验或查询表决比较等措施,防止通讯出错
(2)递推平均滤波法
该方法是把N个测量数据看成一个队列,队列的长度为N,每进行一次新的测量,就把测量结果放入队尾,而扔掉原来队首的一次数据。计算N个数据的平均值。对周期性的干扰,此方法有良好的抑制作用,平滑度高,灵敏度低。但对偶发脉冲的干扰抑制作用差。
(3)防脉冲干扰平均值滤波法
理想的复位特征应该是:系统可以鉴别是首次上电复位(又称冷起动),还是异常复位(又称热启动)。首次上电复位则进行全部初始化,异常复位则不需要进行全部初始化,测控程序不必从头开始执行,而应故障部位开始。
(1)上电标志的设定方法
①SP建立上电标志。
②PSW.5建立上电标志。
2.4 睡眠抗干扰
在实际应用中,强干扰的来源往往是系统本身,例如被控负载的中断状态变化等。而这种干扰是可预知的,在软件设计时可采取适当措施避开。当系统接通或断开大功率负载时,暂停一切数据采集等工作。待干扰过后,再恢复进行。这比单纯在硬件上采取抗干扰措施要好的多。8031单片机中有一个电源控制寄存器 PCON。当PCON.0=1时,8031单片机进入等待工33作状态。这时单片机时钟被封锁,所有I/O口引脚均保持进入等待工作方式前的状态,内部时钟仍然继续供给中断系统定时/计数器和串行口、8031单片机现场(栈指针、程序计数器PC、状态字PSW、累加器ACC、内部RAM)和其他特殊功能寄存器内容保持不变。中断退出和硬件复位均可使8031单片机退出睡眠状态。
扰。一般的解决方法是增加干扰源与敏感器件的距离,用地线把它们隔离和在敏感器件上加蔽罩。
影响单片机系统可靠安全运行的主要因素主要来自系统内部和外部的各种电气干扰,并受系统结构设计、元器件选择、安装、制造工艺影响。这些都构成单片机系统的干扰因素,常会导致单片机系统运行失常,轻则影响产品质量和产量,重则会导致事故,造成重大经济损失。
以MSC-51系列的8031单片机为例,给出了在软硬件设计的不同阶段,对于不同干扰应采取的一些措施。
2 单片机系统软件的抗干扰
一般来讲,窜入微机测控系统的干扰,其频谱往往很宽,采用硬件抗干扰措施,只能抑制某个频率段的干扰,仍有一些干扰会进入系统。因此,除了采取硬件抗干扰方法外,还要采取软件抗干扰措施。
(二)软件抗干扰措施
1.多用查询代替中断,把中断源减到最少,中断信号连线不大于0.1米,防止误触发、感应触发
2.A/D转换采用数字滤波,平均法,比较平均法等,防止突发性干扰
3.MCS-51单片机空单元写上00H,最后放跳转指令到ORG 0000H,因干扰程序走飞,可能抓回去
4.多次重复输出,输出信号保持在RAM中,防止干扰信号输出
在脉冲干扰比较严重的场合,如果采用一般的平均滤波法,则干扰将会“平均”到结果中去,故平均值法不易消除由于脉冲干扰而引起的误差。为此,在N个采样数据中,取掉最大值和最小值,然后计算N-2个数据的算术平均值。为了加快测量速度,N一般取值为4。
2.2 “死机”现象的克服
(1)因为某种原因,程序混乱后,看门狗电路虽然发出了复位脉冲,但在程序刚刚正常还来不及发出一个脉冲信号,此时程序再次被干扰,而这时看门狗电路已处于稳态,不能再发出复位脉冲。
(2)程序进入死循环,在该死循环中,恰好又有看门狗监视I/O口上操作的指令。而该I/O口仍有脉冲信号输出,看门狗检测不到这种异常情况。
(3)电容耦合:
又称电场耦合或静电耦合。是由于分布电容的存在而产生的耦合。
(4)电磁感应耦合:
又称磁场耦合。是由于分布电磁感应而产生的耦合。
(5)漏电耦合:
这种耦合是纯电阻性的,在绝缘不好时就会发生。
为叙述方便,我们分硬件、软件抗干扰措施来讲:
(3)在有严重干扰时,中断方式控制字有时会受到破坏,导致中断关闭。
可见,只用硬件看门狗电路是无法确保单片机正常工作的。因此,可采用以下方法作为补充。
(1)软件“看门狗”的应用
选用定时器T0作为看门狗,将T0的中断定义为最高级中断。看门狗启动后,系统必须及时刷新T0的时间常数。
形成干扰的基本要素有三个:
(1)干扰源。指产生干扰的元件、设备或信号, 用数学语言描述如下:du/dt, di/dt大的地方就是干扰源。如:雷电、继电器、可控硅、电机、高频时钟等都可能成为干扰源。
(2)传播路径。指干扰从干扰源传播到敏感器件的通路或媒介。典型的干扰传播路径是通过导线的传导和空间的辐射。
按传导方式分:可分为共模噪声和串模噪声。
按波形分:可分为持续正弦波、脉冲电压、脉冲序列等等。
1.2 干扰的耦合方式
干扰源产生的干扰信号是通过一定的耦合通道才对测控系统产生作用的。因此,我们有必要看看干扰源和被干扰对象之间的传递方式。干扰的耦合方式,无非是通过导线、空间、公共线等等,细分下来,主要有以下几种:
当干扰通过总线或其他口线作用到CPU时,就会造成程序计数器PC值的改变,引起程序混乱,使系统失控。因此,在设计单片机系统时,如何发现CPU受到干扰,并尽可能无扰地使系统恢复到正常工作状态是软件设计应考虑的主要问题。
无论何种控制系统,一般讲,死机现象都是不允许的。克服死机现象最有效的办法就是采用单片机工加了硬件看门狗电路后仍然有死机现象,分析原因,可能有以下方面:
③内RAM建立上电标志。
(2)软件复位与中断激活标志
当系统执行中断服务程序时,来不及执行RETI指令而受干扰跳出该程序后,程序乱飞过程中由软件陷阱或软件“看门狗”将程序引向0000H,显然这时中断激活标志并未清除,这样就会使系统热启动时,不管中断标志是否置位,都不会响应同级中断的请求。因此,由软件陷阱或“看门狗”捕获的程序一定要完成清除 MSC-51系列中中断激活标志,才能消除系统热启动后不响应中断的隐患。
按干扰的传播路径可分为传导干扰和辐射干扰两类。
所谓传导干扰是指通过导线传播到敏感器件的干扰。高频干扰噪声和 有用信号的频带不同,可以通过在导线上增加滤波器的方法切断高频干扰 噪声的传播,有时也可加隔离光耦来解决。电源噪声的危害最大, 要特别注意处理。 所谓辐射干扰是指通过空间辐射传播到敏感器件的干
(3)敏感器件。指容易被干扰的对象。如:A/D、 D/A变换器,单片机,数字IC,弱信号放大器等。
1 干扰的分类
1.1 干扰的分类
干扰的分类有好多种,通常可以按照噪声产生的原因、传导方式、波形特性等等进行不同的分类。按产生的原因分:
可分为放电噪声音、高频振荡噪声、浪涌噪声。
2.1 模拟输入信号抗干扰
叠加在系统模拟输入信号上的噪声干扰,会导致较大的测量误差。但由于这些噪声的随机性,可以通过数字滤波技术剔除虚假信号,求去真值。常用方法如下:
(1)算术平均滤波法算术平均滤波法就是连续取N个值进行采样,然后求其平均值。该方法适应于对一般具有随机性干扰的信号进行滤波。这种滤波法的特点是:N值较大时,信号的平滑度好,但灵敏度低;当N值较小时,平滑度低,但灵敏度高。
在工业控制、智能仪表中都普遍采用了单片机,单片机抗干扰措施提到重要议事日程上来。单片机抗干扰措施不解决,其它工作也是白费劲。要解决单片机干扰问题,必须先找出干扰源,然后采用单片机软硬件技术来解决。
干扰源:主要来自外部电源、内部电源,印制板排版走线互相干扰,周围电磁场干扰,外部干扰一般通过IO口输入等
(3)程序失控后恢复运行的方法
一般来说,主程序是由若干个功能模块组成,每个功能模块入口设置一个标志,系统故障复位后,可根据这些标志选择进入相应的功能模块。这一点对一些自动化生产线的控制系统尤为重要。
总之,微机测控系统由于受到严重干扰而发生程序乱飞、陷入死循环以及中断关闭等故障。系统通过冗余技术、软件陷阱技术和“看门狗”技术等,使程序重新进入 0000H单元,纳入正轨。因故障而进入0000H后,系统要执行上电标志判定、RAM数据检查与恢复、清除中断激活标志等一系列操作,决定入口地址。
(3)软件陷阱法
单片机系统程序跑飞意味着CPU执行不正确流程程序。而当乱飞程序进入非程序区,采用冗余技术无法使程序纳入正确轨道,此时可采用软件陷阱法,拦截乱飞程序。软件陷阱就是用引导指令(如LJMP)将扑获到的乱飞程序引向复位入口地址0000H,在此对程序进行出错处理,使其纳入正轨。
Hale Waihona Puke (二) 单片机系统中硬件抗干扰设计
一个好的电路设计,应在设计过程中充分考虑抗干扰性的要求。分析系统中可能引起干扰的部件,采取必要的硬件抗干扰措施,抑制干扰源、切断干扰传播途径。
1.交流电源尽量采用电压稳定的电网
2.交流端用电感电容滤波,去掉高频低频干扰脉冲
①软件陷阱格式
NOP
NOP
LJMP0000H
②软件陷阱安排未使用的中断区;
未使用的大片ROM空间;
程序区;
中断服务程序区。
2.3 系统复位特征
单片机应用系统采用看门狗电路后,在一定程度上解决了系统死机现象,但是每次发生复位都使系统执行初始化,这在干扰较强的情况下仍不能正常工作。同时系统虽然没有死机,但工作状态频繁改变,这同样是不能容忍的。
(1)直接耦合:
这是最直接的方式,也是系统中存在最普遍的一种方式。比如干扰信号通过电源线侵入系统。对于这种形式,最有效的方法就是加入去耦电路。
(2)公共阻抗耦合:
这也是常见的耦合方式,这种形式常常发生在两个电路电流有共同通路的情况。为了防止这种耦合,通常在电路设计上就要考虑。使干扰源和被干扰对象间没有公共阻抗。
8.防雷电,用光纤隔离最为有效
9.A/D转换用隔离放大器或采用现场转换,减少误差
10.外壳接大地,解决人身安全及防外界电磁场干扰
(2)指令冗余技术
①NOP的使用
在8031单片机指令系统中所有指令都不超过3个字节。因此,在程序中连续插入3条NOP指令,有助于降低程序计数器发生错误的概率。
②重要指令冗余
对于程序流向起决定作用的指令(如RET,RETI,ACALL,LJMP,JZ等)和某些对系统工作状态有重要作用的指令(如SETBEA等)的后面,可重复写下这些指令,以确保这些指令的正确执行。
3.变压器双隔离措施,变压器初级输入端串接电容,初、次级线圈间屏蔽层与初级间电容中心接点接大地,次级外屏蔽层接印板地,这是硬件抗干扰的关键手段
4.次级加低通滤波器,吸收变压器产生的浪涌电压
5.采用集成式直流稳压电源,有过流过压过热等保护
6.IO口光电磁电继电器隔离,避免公共地
7.通讯线用双绞线,排除平行互感