是从单片机的PCB设计到软件处理方面的介绍及处理

对于电子工程师来说,单片机电路设计中的电磁干扰不仅关系到单片机在控制方面的能力和精度,还关系到企业在行业中的竞争。电磁干扰的设计 本文主要涉及硬件和软件的设计与处理。下面从单片机的PCB设计到软件处理来介绍电磁兼容的处理。

一、影响 EMC 的因素

1.电压

更高的电源电压意味着更大的电压幅度和更多的辐射,而更低的电源电压会影响灵敏度。

2.频率

高频产生更多发射,而周期性信号产生更多发射。在高频微控制器系统中,器件切换时会产生电流尖峰;在模拟系统中,当负载电流发生变化时会产生电流尖峰。

3.接地

在所有的EMC问题中,最主要的问题是接地不当引起的。信号接地方式有单点、多点、混合三种。频率低于1MHz时,可采用单点接地方式,但不适用于高频;在高频应用中,最好采用多点接地。混合接地是低频的单点接地和高频的多点接地。地线的布局是关键,高频数字电路和低电平模拟电路的地线尽量不能混用。

4.PCB设计

正确的印刷电路板 (PCB) 布线对于防止 EMI 至关重要。

5.电源去耦

当设备切换时,电源线上会产生瞬态电流,必须对其进行衰减和过滤。来自高 di/dt 源的瞬态电流会导致接地和走线“发射”电压,而高 di/dt 会产生大范围的高频电流,从而激发组件并辐射电缆。通过导线的电流和电感的变化会导致电压降,这可以通过降低电感或电流随时间的变化来最小化。

二、干扰措施的硬件方法

一、印刷电路板(PCB)的电磁兼容性设计

PCB是单片机系统中电路元器件和器件的支撑,提供电路元器件和器件之间的电气连接。随着电子技术的飞速发展,PCB的密度越来越高。PCB设计的好坏对单片机系统的电磁兼容性影响很大。事实证明,即使电路原理图设计正确,印制电路板设计不当,也会对单片机系统的可靠性产生不利影响。例如,如果印刷电路板上的两条细平行线非常靠近,则会在传输线末端出现信号波形延迟和反射噪声。所以,在设计印制电路板时,应注意采用正确的方法,符合PCB设计的一般原则,并应满足抗干扰的设计要求。为了获得电子电路的最佳性能,元件和布线的布局非常重要。

2、输入/输出的电磁兼容设计

在单片机系统中,输入/输出也是干扰源的传导线,是接收射频干扰信号的拾音源。我们在设计时一般会采取有效措施:

① 使用必要的共模/差模抑制电路,并采取一定的滤波和防电磁屏蔽措施以减少干扰。

② 尽可能采取各种隔离措施(如光电隔离或磁电隔离),阻断干扰的传播。

三、单片机复位电路的设计

图片[1]-是从单片机的PCB设计到软件处理方面的介绍及处理-老王博客

在单片机系统中,看门狗系统在整个单片机的运行中起着特别重要的作用。由于无法将所有干扰源隔离或排除,一旦CPU干扰程序的正常运行,复位系统结合软件处理措施就成为有效纠错防御的障碍。有两种常用的复位系统:

①外部复位系统。外部“看门狗”电路可以自己设计两个模拟信号如何同时输入到单片机,也可以用专门的“看门狗”芯片搭建。但是,它们有自己的优点和缺点。大部分专用“看门狗”芯片不能响应低频“喂狗”信号,但可以响应高频“喂狗”信号,从而在低频“喂狗”信号下产生狗”的信号。在高频“喂狗”信号下不会发生复位动作。这样,如果程序系统陷入死循环,而循环恰好有“喂狗”信号,那么复位电路就无法实现。适当的功能。但是,我们可以设计一个带通“喂狗”的系统

②现在越来越多的单片机都有自己的片上复位系统,用户可以方便地使用其内部的复位定时器。但是有些型号的单片机的复位指令过于简单,也会出现像上面死循环一样的“喂狗”指令,使其失去监控作用。有些单片机的片上复位指令比较好。通常,它们将“喂狗”信号以固定格式制成多条指令,依次执行。如果出现一定误差,“喂狗”操作无效,大大提高了复位电路的可靠性。

4.振荡器

大多数微控制器都有一个耦合到外部晶体或陶瓷谐振器的振荡器电路。在 PCB 上,要求外部电容器、晶体或陶瓷谐振器的引线尽可能短。RC 振荡器对干扰信号具有潜在敏感性,并且可以产生非常短的时钟周期,因此最好选择晶体或陶瓷谐振器。此外,石英晶体的外壳应接地。

五、防雷措施

室外使用的单片机系统或从室外引入室内的电源线和信号线应考虑系统的雷击。常用的防雷装置有:气体放电管、TVS(瞬态电压抑制)等。气体放电管是当电源电压大于一定值,通常为几十或几百伏时,气体击穿放电,将电源线上的强脉冲脉冲引导到大地。TVS可以看成是两个反向并联的稳压二极管,当两端电压高于一定值时导通。它的特点是可以瞬时通过数百或数千A的电流。

三、干扰措施的软件方法

电磁干扰源产生的干扰信号在某些特定情况下(如某些电磁环境比较恶劣的情况下)无法完全消除,最终会进入CPU处理的核心单元,从而在一些大型-规模积分电路经常受到干扰,导致它们不能正常工作或工作在错误的状态下。尤其是RAM等采用双稳态存储的设备,在强干扰下容易翻转,使原来存储的“0”变成“1”,或者“1”变成“0”;一些串口的传输时序和数据会因为干扰而改变;更严重的是,一些重要的数据参数会被破坏;后果往往很严重。在这种情况下,

1.由于电磁干扰,程序大致会遇到以下几种情况:

①程序跑了。

这种情况是最常见的干扰结果。一般来说,有一个好的复位系统或软件框架测量系统就足够了,不会对整个运行系统产生太大影响。

②死循环或程序代码运行异常。

当然,这种死循环和异常的程序代码并不是设计者故意编写的。我们知道程序的指令是由字节组成的,有的是单字节指令,有的是多字节指令。当干扰发生时,PC 指针出现。改变,使原来的程序代码重组产生不可预知的可执行程序代码,那么,这种错误是致命的,它可能会修改重要的数据参数,并可能产生不可预知的控制输出等一系列错误状态。

2、重要参数的存储措施

一般来说,我们可以使用错误检测和纠正来有效地减少或避免这种情况。根据检错纠错原理,主要思想是在写入数据时,根据写入的数据生成一定位数的校验码,并与相应的数据一起存储;阅读代码并做出决定。如果有一位错误,会自动纠正,发送正确的数据,将纠正后的数据写回覆盖原来的错误数据;如果出现两位错误,则会产生中断报告,并通知 CPU 进行异常处理。所有这些动作均由软件设计自动完成,具有实时、自动完成的特点。通过这样的设计,

检错与纠错原理:我们先来看看检错与纠错的基本原理。错误控制的基本思想是按照一定的规则,以不同的方式将冗余码添加到信息码组中,以便在读取信息时依靠冗余的监控码或校验码来发现或自动纠正错误。

根据误码发生的特点,即误码发生的随机性和随机性,几乎总是随机影响某个字节中的一个比特(bit)。因此,如果可以设计成自动纠正一个位错误两个模拟信号如何同时输入到单片机,并检查两位错误编码。可以大大提高系统的可靠性。

3、RAM和FLASH(ROM)的检测

编程时最好写一些测试程序,测试RAM和FLASH(ROM)的数据代码,看看有没有错误。一旦发生,应立即纠正。如果不能纠正,应及时给出错误提示,以便用户去处理。

另外,编程时增加程序冗余是必不可少的。在某个地方添加三个或更多的 NOP 指令可以有效地防止程序重组。同时,在程序的运行状态中应引入标志数据和检测状态,以便及时检测和纠正错误。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论