资源预览内容
第1页 / 共54页
第2页 / 共54页
第3页 / 共54页
第4页 / 共54页
第5页 / 共54页
第6页 / 共54页
第7页 / 共54页
第8页 / 共54页
第9页 / 共54页
第10页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单片机应用系统抗干扰技术重点要求,第五章 单片机应用系统抗干扰技术,一 干扰的主要来源,三 抗干扰措施 硬件抗干扰措施 软件抗干扰措施,二 干扰产生带来的后果,一、干扰的主要来源,工业现场环境中的干扰通常是以脉冲的形式进入单片机系统,其主要的渠道有三条,1、空间干扰,空间干扰,又称场干扰。电磁信号通过空间辐射进入系统,多发生在高电压、大电流、高频电磁场附近,并通过静电感应,电磁感应等方式侵入系统内部。,2、供电系统干扰,电磁信号通过供电线路进入系统。供电系统干扰主要由电源的噪声干扰引起的。,3、过程通道干扰,干扰通过与系统相连的前向通道、后向通道及与其它系统的相互通道进入,一般沿各种线路侵入系统。,说明: 一般情况下空间干扰在强度上远小于其它两种,故微机系统 中应重点防止过程通道干扰和供电系统干扰 。 此外,系统接地装置不可靠等,也是产生干扰的重要原因;各 类传感器,输入输出线路的绝缘损坏也有可能引入干扰 。,二、干扰产生带来的后果,1、数据采集误差加大,2、程序运行失常,3、系统被控对象误操作,4、被控对象状态不稳定,5、定时不准,6、数据发生变化,2、程序运行失常,控制状态失灵,当干扰侵入单片机系统的前向通道叠加在信号上,会使数据采集误差增大,特别是前向通道的传感器接口是小电压信号输入时,此现象会更加严重。,在单片机系统中,由于干扰的加入使输出误差加大,造成逻辑状态改变,最终导致控制失常。,死机,在单片机系统受强干扰后,造成程序计数器PC值的改变,破坏程序正常运行 ,造成死循环。,1、数据采集误差的加大,3.系统被控对象误操作,4.被控对象状态不稳定,锁存电路与被控对象间的线路(包括驱动电路)受干扰,从而造成被控对象状态不稳定(锁存电路一般较敏感)。,6. 数据发生变化,在单片机应用系统中,由于外部RAM是可读写的,在干扰的侵入下,RAM中数据有可能发生改变,虽然ROM能避免干扰破坏,但单片机片内RAM以及片内各种特殊功能寄存器等状态都有可能受干扰而变化,甚至EEPROM中的数据也可能误读写,使程序计算出错误的结果。,5.定时不准,抗干扰措施有硬件措施和软件措施。硬件措施如果得当,可将绝大部分干扰拒之门外,但仍然会有少数干扰进入微机系统,故软件措施作为第二道防线必不可少。由于软件抗干扰措施是以降低CPU效率为代价的,如果没有硬件消除绝大多数干扰,CPU将疲于奔命,无暇顾及正常工作,严重影响系统的工作效率和实时性。因此,一个成功的抗干扰系统是由硬件和软件相结合构成的。,三、抗干扰措施,1、注意印制电路板的布线与工艺,2、屏蔽,4、光电隔离,3、提高元器件的可靠性,5、过压保护电路,6、增加硬件看门狗电路,7、供电系统抗干扰措施,硬件抗干扰措施,1、注意印制电路板的布线与工艺,尽量采用多层印制电路板,多层板可提供良好的接地网,可防止产生地电位差和元件之间的耦合(但要考虑性价比)。,印制电路板要合理分区。模拟电路区、数字电路区、功率驱动区要尽量分开,地线不能相混,分别和电源端的地线相连。,元件面和焊接面应采用相互垂直、尽量避免相互平行走线以减小寄生耦合;避免相邻导线平行段过长;加大信号线间距。高频电路互联导线尽量短,使用45或者圆弧折线布线,不要使用90折线,以减小高频信号的发射。,印制电路板要按单点接电的原则布置。三个区域的电源线、地线分三路引出。地线、电源线要尽量粗,噪声元件与非噪声元件要尽量离远一些。时钟振荡电路、特殊高速逻辑电路部分用地线圈起来,让周围电场趋近于零。,使用满足系统要求的最低频率的时钟,时钟产生器要尽量靠近用到该时钟的器件。石英晶体振荡器外壳要接地,时钟线尽量短,时钟线要远离IO线,在石英晶体振荡器下面要加大接地的面积而不应该走其它信号线。,IO驱动器件、功率放大器件尽量靠近印制板的边、靠近引出接插件。重要的信号线尽量短并要尽量粗,并在两侧加上保护地。将信号通过扁平电缆引出时,要使用地线-信号-地线相间的结构。,原则上每个IC元件要加一个0.010.1F去耦电容,布线时去耦电容应尽量靠近IC的电源脚和接地脚。要选高频特性好的独石电容或瓷片电容作去耦电容。去耦电容焊在印制电路板上时,引脚要尽量短。这样便可以消除大部分高频干扰。,闲置不用的IC管脚不要悬空以避免干扰引入。单片机不用的IO口定义成输出。单片机上有一个以上电源、接地端,每个都要接上,不要悬空。,2、屏蔽,避免环流的产生、包地技术等。,加粗的线,晶振尽量靠近用到时钟的器件,AT89c2051,选用质量好的电子元件并进行严格的测试、筛选和老化。 设计时元件技术参数要有一定的余量。 提高印制板和组装的质量。,4、光电隔离,在输入和输出通道上采用光电隔离器来进行信息传输,将微机系统与各种传感器、开关、执行机构从电气上隔离开来,很大一部分干扰将被阻挡。,3、提高元器件的可靠性,2、屏蔽,对容易产生干扰和被干扰的部件使用金属盒进行屏蔽以使干扰电磁波短路接地。,在输入输出通道上应采用一过压保护电路,以防引入高电压,伤害微机系统。过压保护电路由限流电阻和稳压管组成,限流电阻选择要适宜,太大会引起信号衰减,太小起不到保护稳压管的作用。稳压管的选择也要适宜,其稳压值以略高于最高传送信号电压为宜,太低将对有效信号起限幅效果,使信号失真。,5、过压保护电路,6、增加硬件看门狗电路,对于失控的CPU,最简单的方法是使其复位,程序自动从0000H开始执行。为此只要在单片机的RESET端加上一个高电平信号,并持续10ms以上即可。,WATCHDOG有如下特征: 本身能独立工作,基本上不依赖于CPU。CPU只在一个固定的时间间隔内与之打一次交道,表明整个系统“目前尚属正常”。 当CPU落入死循环之后,能及时发现并使整个系统复位。,“喂狗”过程一般安排在监控循环或定时中断中,如果有比较长的延时子程序,则应该在其中插入“喂狗”过程。目前有很多单片机在内部已经集成了片内的硬件WATCHDOG电路,使用起来更为方便。对于片内看门狗,是通过两条特定的赋值指令来完成。此外,也可以也可以用软件程序来形成WATCHDOG。,CPU,WATCH DOG,RESET,脉冲,供电系统抗干扰措施,(1)防止从电源系统引入干扰,可采取交流稳压器保证供电的稳定性,防止电源的过压和欠压。使用隔离变压器滤掉高频噪声,低通滤波器滤掉工频干扰。 (2)采用开关电源并提供足够的功率余量,主机部分使用单独的稳压电路,必要时输入,输出供电分别采用DC-DC模块隔离,以避免各个部分相互干扰。,1.开机自检 2.软件陷阱(程序“跑飞”检测) 3.设置程序运行状态标记 4.输出端口刷新 5.输入多次采样 6.数据滤波 7.指令冗余 8.软件“看门狗”,常用软件抗干扰措施:,1、开机自检,开机后首先对单片机系统的硬件及软件状态进行检测,一旦发现不正常,就进行相应的处理。开机自检程序通常包括对RAM、ROM、I/O通道等的检测。,检测RAM,检查RAM读写是否正常,出错时应作出提示(声光)或标志。 方法:1.向RAM单元写“00H”和“FFH” ,读出也应为“00H”和“FFH” ,检查通过。 2.不改变RAM单元内容的检查方法。(实例程序),不改变RAM单元内容的检查方法实例程序,设有1片6264,地址为2000H3FFFH,结果F0=1:出错。,TEST7: MOV DPTR,#2000H ;诊断6264 MOV R2,#20H ;共20H页 TEST70:LCALL TEST75 ; JB F0 TEST71 ;出错_跳 DJNZ R2,TEST70 TEST71:RET TEST75:SETB F0 ;页内检测 TEST76:MOVX A,DPTR ;检查一个字节 MOV B,A ;保存副本 CPL A ;取反 MOVX DPTR,A ;写 MOVX A,DPTR ;读 CPL A ;取反,CJNE A,B,TEST78 ;校对,错转 MOVX DPTR,A ;恢复 MOVX A,DPTR ;再读 CJNE A,B,TEST78 ;校对,错转 INC DPTR ;下一单元 MOV A,DPL JNZ TEST76 ;全页完? CLR F0 TEST78:RET,说明: 256Byte为1页,1K有4页。6264是8KRAM,故有32页=20H页。,检测ROM,对ROM单元的检测主要是检查ROM单元的内容的校验和。,1.将ROM的内容逐一相加,放弃进位后得到的一个数值。 2.将ROM的内容逐一异或相加,得到的一个数值。,校验和求法:,编程完成后,另编程序求出校验和,存入ROM的最后一个单元,校验时用相同方法求校验和并和ROM最后一个单元中的内容进行比较,若相同则校验通过。,校验方法:,实例程序:,求校验和程序(异或和),设有1片EPROM2764(8K),地址:0000H 1FFFH 方法:在应用软件(包括各种抗干扰措施)编译后,把目标码调入开发系统的RAM中,例如0A000H 0BFFFH,然后用程序求出这8K字节(最后1个单元除外)的校验和,并把它存入最后1个单元0BFFFH中。至此即可将0A000H 0BFFFH的内容写入2764中了。(程序),求异或校验和程序,ORG 8000H ROMT: MOV DPTR,#0BFFFH ;指向最后单元 CLR A MOV B,A MOVX DPTR,A ;最后单元清零,思考为什么清零? MOV R2,#20H ;8K有20H页 MOV DPTR,#0A000H XRT0: MOVX A,DPTR XRL B,A INC DPTR MOV A,DPL JNZ XRT0 ;本页结束否,没结束跳 DJNZ R2, XRT0 ;全部结束否,没结束跳 MOV DPTR,#0BFFFH ;指向最后单元 MOV A,B MOVX DPTR,A ;存异或和 RET, ROM检测程序,ROMT1:MOV DPTR,#0000H ;首地址 MOV R2,#20H MOV B,#0 R0MT2: CLR A MOVC A,A+DPTR ;读ROM XRL B,A INC DPTR MOV A,DPL JNZ ROMT2 ;本页校完? DJNZ R2,ROMT2 ;全部校完? MOV A,B ;判断:A0 正确 RET ; A0 出错,检测I/O通道,数字I/O通道 模拟I/O通道 方法:人机互动进行检测, 数字I/O通道,显示器件(数码管、指示灯) 一般开机时全部点亮数秒钟,或闪亮数秒种。 键盘 逐个按动并作相应指示来检查。 报警器(蜂鸣器、喇叭) 开机鸣响数秒。 通讯口 进行通讯检测。, 模拟I/O通道,A/D通道 用基准电压源进行转换,检查结果是否正确。 D/A通道 输出标准数据(固定之值或步进增长值),检查结果是否正确。, 软件陷阱,设置目的:捕捉“跑飞”程序 设置位置:程序存储器未使用的区域 程序段之间 程序存储器的结尾处 捕捉方法:若干条空操作和无条件跳转指令相结合,使程序转到“跑飞”处理程序入口。 实例程序:,软件陷阱 NOP NOP NOP LJMP FLY, 程序存储器未使用区域的代码,数据: FFH 相当指令:MOV R7,A,有程序区,无程序区, 在程序存储器未使用的区域设软件陷阱,设有4K地址范围:0000H0FFFH,空区域0800H 0FFFH ORG 0800H NOP ;软件陷阱 NOP NOP LJMP FLY ORG 0C00H NOP ;软件陷阱 NOP NOP LJMP FLY, 程序段之间设软件陷阱,DSP:;显示子程序 RET NOP ;软件陷阱 NOP NOP LJMP FLY ; D10MS:MOV R0,010H;延时子程序 RET NOP ;软件陷阱 NOP
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号