避免MCU或编程语言干扰设计
如何提高MCU抗干扰能力?

1 前言随着单片机的发展,单片机在家用电器、工业自动化、生产过程控制、智能仪器仪表等领域的应用越来越广泛。
然而处于同一电力系统中的各种电气设备通过电或磁的联系彼此紧密相连,相互影响,由于运行方式的改变,故障,开关操作等引起的电磁振荡会波及很多电气设备。
这对我们单片机系统的可靠性与安全性构成了极大的威胁。
单片机测控系统必须长期稳定、可靠运行,否则将导致控制误差加大,严重时会使系统失灵,甚至造成巨大损失。
因此单片机的抗干扰问题已经成为不容忽视的问题。
2 干扰对单片机应用系统的影响2.1 测量数据误差加大干扰侵入单片机系统测量单元模拟信号的输入通道,叠加在测量信号上,会使数据采集误差加大。
特别是检测一些微弱信号,干扰信号甚至淹没测量信号。
2.2 控制系统失灵单片机输出的控制信号通常依赖于某些条件的状态输入信号和对这些信号的逻辑处理结果。
若这些输入的状态信号受到干扰,引入虚假状态信息,将导致输出控制误差加大,甚至控制失灵。
2.3 影响单片机RAM存储器和E2PROM等在单片机系统中,程序及表格、数据存在程序存储器EPROM或FLASH中,避免了这些数据受干扰破坏。
但是,对于片内RAM、外扩RAM、E2PROM 中的数据都有可能受到外界干扰而变化。
2.4 程序运行失常外界的干扰有时导致机器频繁复位而影响程序的正常运行。
若外界干扰导致单片机程序计数器PC值的改变,则破坏了程序的正常运行。
由于受干扰后的PC 值是随机的,程序将执行一系列毫无意义的指令,最后进入“死循环”,这将使输出严重混乱或死机。
3 如何提高设备的抗干扰能力3.1 解决来自电源端的干扰单片机系统中的各个单元都需要使用直流电源,而直流电源一般是市电电网的交流电经过变压、整流、滤波、稳压后产生的,因此电源上的各种干扰便会引入系统。
除此之外,由于交流电源共用,各电子设备之间通过电源也会产生相互干扰,因此抑制电源干扰尤其重要。
电源干扰主要有以下几类:电源线中的高频干扰(传导骚扰):供电电力线相当于一个接收天线,能把雷电、电弧、广播电台等辐射的高频干扰信号通过电源变压器初级耦合到次级,形成对单片机系统的干扰;解决这种干扰,一般通过接口防护;在接口增加滤波器、或者使用隔离电源模块解决。
mcu设计上的注意事项

mcu设计上的注意事项MCU(Microcontroller Unit)是一种集成了微处理器核心、存储器、输入输出接口和定时器计数器等功能的单芯片微型计算机。
在设计MCU时,需要注意以下几个方面。
一、功耗管理:MCU通常用于低功耗应用场景,因此功耗管理是设计中的重要考虑因素。
首先,选择适合应用需求的低功耗处理器核心,如ARM Cortex-M系列;其次,合理设计供电电路,采用多种节能技术,如功率管理单元(PMU)和智能电源管理等;此外,优化代码以降低功耗,如采用睡眠模式、动态电压频率调节等。
二、性能优化:MCU的性能优化主要包括两方面,一是提高处理器的计算能力,二是提高外设的响应速度。
在处理器方面,可以通过增加处理器的位宽、提高主频或者采用多核架构等方式提高计算能力。
在外设方面,可以采用DMA(Direct Memory Access)技术,减少处理器的负载,提高数据传输速度;同时,合理设计中断机制,确保外设的及时响应。
三、可靠性设计:可靠性设计是指MCU在工作过程中能够稳定可靠地运行。
首先,需要选择高品质的芯片供应商,确保芯片质量可靠;其次,合理设计供电电路,包括滤波电容、稳压电路等,保证电源稳定;此外,采用备份电源、故障检测和恢复机制等技术,提高系统的可靠性。
四、安全性设计:随着物联网的发展,MCU在安全性方面的设计变得愈发重要。
首先,需要采用安全芯片,具备硬件加密功能,保护数据的安全性。
其次,采用安全启动技术,确保系统的启动过程不受恶意攻击。
此外,合理设计访问控制机制、数据完整性校验等技术,提高系统的安全性。
五、软件开发:MCU的软件开发是整个设计过程中的关键环节。
首先,需要选择适合的开发工具和编程语言,如Keil MDK和C语言等。
其次,合理设计软件架构,包括任务调度、中断处理等。
此外,进行充分的测试和调试,确保软件的稳定性和可靠性。
六、外设选择:MCU通常需要与各种外设进行连接,因此在设计中需要选择合适的外设。
单片机硬件设计中的EMC兼容性与干扰抑制技术

单片机硬件设计中的EMC兼容性与干扰抑制技术单片机硬件设计中的电磁兼容性(EMC)与干扰抑制技术引言在现代电子设备中,单片机(Microcontroller Unit,MCU)起到了至关重要的作用。
单片机的硬件设计必须考虑电磁兼容性(Electromagnetic Compatibility,EMC)和抑制干扰的技术。
本文将介绍单片机硬件设计中的EMC兼容性和干扰抑制技术,包括电磁干扰的来源、EMC设计要求、常用的干扰抑制技术以及正确的布线和接地技巧。
一、电磁干扰的来源电磁干扰可以由各种外部和内部因素引起。
以下是一些常见的电磁干扰来源:1. 射频辐射:包括无线通信、雷达或其他射频电源等设备产生的电磁波。
2. 电源线干扰:来自交流电源线的噪声,如谐波和干扰信号。
3. 开关电源:开关电源高频噪声会通过电源线和地线传播到其他电子设备中。
4. 过电压和静电放电:电气设备的开关、电磁阀等在操作时可能产生过电压和静电放电。
5. 瞬态电压:包括闪电击中电力线、开关电源的瞬态电压等。
二、EMC设计要求为了满足EMC设计要求,单片机硬件设计应考虑以下方面:1. 辐射和传导:抑制电磁辐射和传导干扰,以确保设备不会对其他设备产生干扰。
2. 抗干扰:增强设备的抗干扰能力,使其能够正常工作并受到外部干扰的影响较小。
3. 地址线、数据线和控制线的布局:合理的布局可以减少交叉耦合和串扰,降低电磁干扰。
4. 接地:良好的接地设计可以降低共模噪声和差模噪声,提高设备的抗干扰能力。
5. 输入输出端口的保护:通过使用适当的保护电路来保护单片机的输入输出端口,防止它们受到外部电磁干扰的损坏。
三、干扰抑制技术1. 滤波器:采用适当的滤波器可以抑制进入单片机的高频噪声。
常见的滤波器包括RC滤波器和LC滤波器。
2. 屏蔽:通过在关键部件周围添加屏蔽罩或屏蔽层,可以有效地防止电磁波的干扰。
3. 地线设计:良好的接地设计可以减少回路的回流电流,降低共模噪声,并提高设备的抗干扰能力。
软件抗干扰技术PPT课件

2021/3/9
8
例:某压力仪表采样数据如下:
序号 1 2 3 4 5 6 7 8 9
24 25 20 27 24 60 24 25 26
☆软件陷阱由三条指令构成:
NOP
NOP
LJMP ERR ;ERR错误处理程序入口
☆软件陷阱安排在下列四种地方:
1)、未使用的中断向量区
2)、未使用的大片ROM区
3)、表格区尾部
2021/3/9
20
4)、程序区
软件陷阱安排在程序的断裂点处,这类指令有LJMP、SJMP、AJMP、RET、 RETI,正常执行的程序到此便不会继续往下执行,如果还要顺序执行,必 然是出错了,就有必要设陷阱将其扑捉出来。
特点:对周期性干扰有良好的抑制作用,平滑度高,灵敏度低; 但对偶然出现的脉冲性干扰抑制作用差,不易消除由于脉冲干 扰引起的采样值偏差。所以不适合脉冲干扰比较严重的场合, 而适用于高频振荡系统。
N值设定的工程经验值为:
参数 流量 压力 液面 温度
N值 12 4
4~12 1~4
2021/3/9
10
4.限幅滤波法
20J2B1/3//J9 NB、JBC、CJNE、DJNZ等。
17
如:利用减法比较两无符号数的大小程序(数放A、B中):
无指令冗余程序:
有指令冗余的情况:
CLR C SUBB A,B JC BBIG … … BBIG:NOP …..
CLR C
SUBB A,B
单片机防止电磁干扰的方法

单片机防止电磁干扰的方法
1、该上拉的上拉,该下拉的下拉,该加电容的加电容,总之不要让MCU任何一个脚就那么摆着
——而且也不要指望MCU内部的上拉电阻
2、没必要的情况下,不用外部高频晶振,尽可能采
用[内部RC振荡器维持运转+外部32768Hz晶振定时+软件修改振荡器微调寄存器控制速率]的做法,而且如果可能,连32768Hz晶体也换成类似速率的有源振荡器
3、用四层板,下面布屏蔽层,上面扣屏蔽罩
4、电源方面,供给MCU的那一道电源一定要用线性
稳压,而且不要用7805或者1117这类大路货色,同时滤波电容退藕电容滤波电感一个都不能少,同时,在对功
耗要求不严格的情况下,尽可能用稳压二极管为MCU供
电
5、在可能的情况下,尽量不把工控器件装在MCU板上,同时,MCU板对外通信尽可能采用差分方式(后面这半条可能会需要CPLD或若干高速422/485接口辅助)。
芯片设计中的电磁干扰问题如何解决

芯片设计中的电磁干扰问题如何解决在当今的科技时代,芯片作为各种电子设备的核心组件,其性能和稳定性至关重要。
然而,在芯片设计过程中,电磁干扰问题却常常成为困扰工程师的一大难题。
电磁干扰不仅会影响芯片的正常工作,还可能导致整个电子系统的性能下降甚至失效。
那么,如何有效地解决芯片设计中的电磁干扰问题呢?要解决这个问题,首先我们需要了解电磁干扰是如何产生的。
简单来说,电磁干扰是指电子设备在工作时产生的电磁波对周围环境或其他设备造成的不良影响。
在芯片内部,电流的快速变化、信号的传输以及电路的布局等因素都可能导致电磁干扰的产生。
电流的快速变化是产生电磁干扰的一个重要原因。
当芯片中的晶体管快速开关时,电流会在瞬间发生巨大的变化,从而产生强烈的电磁场。
这些电磁场可能会通过辐射或者传导的方式影响到其他电路部分,造成信号失真、噪声增加等问题。
信号的传输也是一个容易产生电磁干扰的环节。
如果信号在传输过程中受到干扰,可能会导致数据错误、传输速率降低等问题。
特别是在高速信号传输中,由于信号频率高、变化快,电磁干扰的影响更加显著。
电路的布局不合理同样会引发电磁干扰。
例如,电源线和信号线靠得太近,或者不同功能的电路模块之间没有进行有效的隔离,都可能导致电磁相互耦合,从而产生干扰。
了解了电磁干扰的产生原因,接下来我们就可以探讨相应的解决方法。
在芯片设计的早期阶段,进行电磁兼容性分析是非常重要的。
通过使用专业的仿真软件,可以对芯片的电磁性能进行预测和评估,提前发现可能存在的电磁干扰问题,并采取相应的措施进行优化。
例如,可以调整电路参数、改变布局结构等,以降低电磁干扰的影响。
合理的电路布局是解决电磁干扰问题的关键之一。
在布局时,应尽量将电源线和信号线分开,避免它们之间的交叉和耦合。
同时,对于敏感电路和噪声源电路,要进行有效的隔离,以减少相互干扰。
此外,还可以采用多层电路板设计,将不同功能的电路分布在不同的层上,通过地层和电源层来屏蔽电磁干扰。
计算机控制系统的抗干扰技术和措施
对于电磁场干扰,因采用低阻金属材料制成屏蔽体, 屏 蔽体以接大地为宜。
对于高增益放大器来说,一般要用金属罩屏蔽起来。 为 了消除放大器与屏蔽层之间的寄生电容影响, 应将屏蔽体与 放大器的公共端连接起来。
如果信号电路采用一点接地方式, 则低频电缆的屏蔽层 也应一点接地。
5. 印刷电路板的地线安排
在安排印刷板地线时,首先要尽可能加宽地线,以降低 地线阻抗。其次,要充分利用地线的屏蔽作用。 在印刷板边 缘用较粗的印刷地线环包整块板子,并作为地线干线,自板 边向板中延伸,用其隔离信号线,这样既可减少信号间串扰, 也便于板中元器件就近接地。
6. 屏蔽地
对于电场屏蔽来说, 由于主要是解决分布电容问题, 因 此应接大地。
2. 电磁屏蔽
电磁屏蔽主要用来防止高频电磁场对电路的影响。电磁屏 蔽包括对电磁感应干扰及电磁辐射干扰的屏蔽。它是采用低电 阻的金属材料作为屏蔽层。电磁屏蔽就是利用屏蔽罩在高频磁 场的作用下,会产生反方向的涡流磁场与原磁场抵消而削弱高 频磁场的干扰;又因屏蔽罩接地,也可实现电场屏蔽。由于电 磁屏蔽是利用了屏蔽罩上的感生涡流,因而屏蔽罩的厚度对于 屏蔽效果影响不大,而屏蔽罩是否连续却直接影响到感生涡流 的大小,也即影响到屏蔽效果的好坏。如果在金属体上垂直于 电流方向上开缝,就没有屏蔽效应。原则上屏蔽体越严密越好。 因此,电磁屏蔽层的接缝应注意良好的焊接与密封, 通风孔 与操作孔因尽量开小。
3. 磁场屏蔽
对于低频磁场干扰,用上述电磁屏蔽方法往往难以奏效, 一般采用高导磁率材料作屏蔽体,利用其磁阻较小的特点, 给干扰磁通提供一个低磁阻通路,使其限制在屏蔽体内。为 了有效地进行磁场屏蔽,必须采用诸如玻莫合金之类材料, 同时要有一定的厚度,或者采用相互具有一定间隔的两个或 多个同心磁屏蔽罩, 效果更好。
智能仪表常用的软件抗干扰措施
智能仪表常用的软件抗干扰措施在实际应用中,干扰信号可能影响到智能仪表的CPU、程序计数器(PC)或RAM等,导致程序运行失常。
因此,在设计智能仪表时除了在硬件方面采取抗干扰措施外,必须考虑软件的抗干扰措施。
干扰对软件的影响有两个方面,即程序运行失常和数据受干扰而发生变化。
单片机系统受到干扰后,会使RAM、程序计数器或总线上的数字信号错乱,从而引发一系列不良后果。
CPU得到错误的数据,就会使运行操作出错,导致错误结果,并将错误一直传递下去,形成一系列错误。
如果CPU获得错误地址信息,会使程序失控,即便此后程序恢复到正常状态,但是已经造成不良后果,埋下隐患,最终导致后续程序出错。
同时,如果干扰改变RAM以及特殊功能寄存器的状态,可能导致数值误差,改变程序状态,引起误动作。
软件抗干扰的任务在于CPU抗干扰技术和输入输出的抗干扰技术两方面。
前者主要是防止因干扰造成的程序“跑飞”,后者主要是消除信号中的干扰以便提高系统准确度。
1、数字滤波技术随机干扰会使仪表产生随机误差。
随机误差是指在相同条件下测量某一量时,其大小符号作无规律变化的误差,但随机误差在多次测量中服从统计规律。
在硬件设计中可以模拟滤波器来削弱随机误差,但是它在低频、甚低频时实现较困难。
数字滤波可以完成模拟滤波的功能,而且与模拟滤波相比,它具有如下优势:数字滤波是用程序实现的,无须添加硬件,可靠性高,稳定性好,不存在阻抗匹配的问题,而且多个输入通道可以共用,从而降低系统硬件成本;可以根据需要选择不同的滤波方法或改变滤波器的参数,使用灵活方便;数字滤波器可以对频率很低的信号进行滤波,而模拟滤波由于受电容容量的限制,频率不能太低。
常用的数字滤波算法有程序判断滤波、中值滤波、算术平均值滤波、滑动平均值滤波、加权滑动平均滤波、一阶惯性滤波等。
(1)程序判断滤波经验说明,许多物理量的变化都需要一定时间,相邻两次采样值之间的变化有一定的限度。
程序判断滤波的方法,便是根据生产经验,确定出相邻两次采样信号之间可能出现的偏差ΔY。
mcu设计上的注意事项
mcu设计上的注意事项MCU(Microcontroller Unit)是一种集成了处理器核心、存储器、输入输出接口和定时器等功能的芯片,广泛应用于嵌入式系统中。
在设计MCU时,需要注意以下几个方面。
一、处理器核心选择MCU的处理器核心是其最重要的组成部分,直接影响到整个系统的性能和功能。
在选择处理器核心时,需要考虑以下几点:1.性能与功耗平衡:根据具体应用需求选择适当的处理器核心,既要保证足够的性能,又要尽量降低功耗。
2.指令集架构:根据应用场景选择合适的指令集架构,如ARM、MIPS等。
3.存储器容量和带宽:根据应用需求选择合适的存储器容量和带宽,确保系统能够处理大量数据和复杂算法。
4.接口和外设支持:考虑处理器核心是否支持所需的接口和外设,如UART、SPI、I2C等。
二、存储器设计MCU的存储器包括程序存储器和数据存储器,对存储器的设计需要注意以下几点:1.程序存储器:选择合适的闪存或EEPROM作为程序存储器,以保证程序的可靠性和稳定性。
2.数据存储器:根据应用需求选择合适的RAM和EEPROM容量,保证系统能够存储所需的数据,并且具备数据保持能力。
3.存储器访问速度:考虑存储器的访问速度是否满足系统需求,避免存储器访问速度成为系统性能瓶颈。
三、功耗管理功耗管理是MCU设计中的重要考虑因素,合理的功耗管理可以延长系统的工作时间和使用寿命。
在设计中需要注意以下几点:1.低功耗模式:MCU应支持多种低功耗模式,以便在不同场景下降低功耗。
2.时钟频率调节:合理调节MCU的时钟频率,根据系统需求选择适当的工作频率,以降低功耗。
3.外设电源管理:对于不常用的外设,可以选择关闭电源或降低工作频率来降低功耗。
四、外设和接口设计MCU通常需要连接多个外设和接口,设计时需要注意以下几点:1.接口选择:根据外设的通信协议和数据传输要求,选择合适的接口,如UART、SPI、I2C等。
2.外设驱动能力:外设的驱动能力要与实际需求相匹配,确保外设能够正常工作。
单片机测控系统中的软件抗干扰技术
244 •电子技术与软件工程 Electronic Technology & Software Engineering单片机技术• SCM Technology【关键词】单片机 抗干扰技术 数字滤波技术1 引言如图1所示,单片机测控系统是在程序化管理下形成的测控系统,它可以在工业生产过程中提高机械控制的效率。
但是,工业现场环境复杂,具有电磁功能的大量设备频繁启动、停止,产生的干扰影响了单片机系统的正常运行。
本文针对单片机测控系统中的抗干扰问题,单片机测控系统中的软件抗干扰技术文/陈欣从软件抗干扰技术方面进行了分析和研究,并提出了解决方案。
工业单片机测控系统的常见影响如下:1.1 干扰加大数据采集的误差测试系统通道的输入部分受到干扰信号的入侵,有用信号和外来干扰信号相互叠加,加剧了该通道数据采集的误差。
尤其在当前系统输入的是小电压信号时,数据干扰的现象更加严重。
1.2 干扰使数据发送变化单片机系统中的程序是存放在存储器EPROM 中,这些程序不易发生变化。
但是单片机系统的RAM 数据区是可以读写的,它可能会受到读入信息的干扰从而发生变化。
因为干扰渠道的区别,以及数据性质的区别,单片机系统受损害的情况也各不相同,可能造成控制失灵,也可能造成数值误差,更严重的会改变单片机系统某些部件(如串行口、定时器/计数器等)的运行状态等。
1.3 干扰使控制状态失灵在单片机系统中,控制状态依赖于特定条件的输入状况和处理结果,干扰的侵入会造成条件状态错误,引起虚假的信号,从而加大输出控制的误差,甚至控制失常。
1.4 干扰使程序运行失常单片机系统正常运行的前提是CPU 正常工作,如果干扰信号影响到了CPU ,则程序计数器不能正常运行,从而引起系统混乱、控制失灵,即通常说的程序“跑飞”。
现在使用的单片机抗干扰技术主要分为硬件与软件两类。
硬件抗干扰技术固然可以降低系统受干扰的程度,但是成本较高,灵活性不足,而且容易受电磁干扰。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
避免MCU或编程语言干扰设计
很多时候有人试该观点还在不断继续:
●此类或那类嵌入式设计采用哪种CPU 内核最好?
●开发嵌入式系统采用什么语言最好?哪个编译器?
●对于简单的主循环和中断实时操作系统,应该购买,自己编写还是避开操作系统?
作为经验丰富的嵌入式系统的开发人员,既有大型系统的经验(波音777 飞行控制)又有小型单人项目(笔记本电脑热风扇控制)经验,应避开单台机器或语言的具体利弊,将更多的时间花在应用程序设计和构建上,并且独立于语言和CPU 内核。
这方面部分来自于对类似系统的工作,只是再用于下一个项目(虽然要求完全不同,并且切换到了微控制器)。
我也参与过由几个独立的设备组成的系统,每个设备都有自己的程序和微控制器,各部分经常在不同的子项目之间来回使用:某个子项目中的编码器可能是另一个项目的测试器,或当完成自己的子项目的编码后,会投入另一个子项目,以帮助完成项目。
缺乏基于系统的设计方法会觉得这些情况很困难,难以按照计划完成。
通过独立的系统设计可避免机器依赖性,让设计复用和基于团队的设计不仅成为可能,而且加大了成功机会(如以后的增加要求)。
最近的一个项目是我更加疑虑,几乎每次都是,必须使设计适应(有时根本就是)所选的语言和机器。
我们已经以某个系统架构和设计开始,只是按一般方式考虑了集成微控制器及其外围设备,我们只关注我们需要什么并不关心它是如何实现的,至少我们是这么认为的。
我们选择了一些非常专业外设的新器件,并且开始编码时,发现需要花费大量的时间来了解如何构建硬件,以及如何根据需求最好地利用。
当我们发现好的方式来利用设备的某特征时,设备的。