文档详情

单片机应用系统抗干扰技术重点要求分析.ppt

发布:2016-03-25约字共54页下载文档
文本预览下载声明
单片机应用系统抗干扰技术重点要求 第五章 单片机应用系统抗干扰技术 二、干扰产生带来的后果 3.系统被控对象误操作 三、抗干扰措施 ㈠硬件抗干扰措施 ⒎供电系统抗干扰措施 (1)防止从电源系统引入干扰,可采取交流稳压器保证供电的稳定性,防止电源的过压和欠压。使用隔离变压器滤掉高频噪声,低通滤波器滤掉工频干扰。 (2)采用开关电源并提供足够的功率余量,主机部分使用单独的稳压电路,必要时输入,输出供电分别采用DC-DC模块隔离,以避免各个部分相互干扰。 ㈡常用软件抗干扰措施: 1.开机自检 2.软件陷阱(程序“跑飞”检测) 3.设置程序运行状态标记 4.输出端口刷新 5.输入多次采样 6.数据滤波 7.指令冗余 8.软件“看门狗” 1、开机自检 开机后首先对单片机系统的硬件及软件状态进行检测,一旦发现不正常,就进行相应的处理。开机自检程序通常包括对RAM、ROM、I/O通道等的检测。 检测RAM 不改变RAM单元内容的检查方法实例程序 设有1片6264,地址为2000H~3FFFH,结果F0=1:出错。 检测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 ;判断:A=0 正确 RET ; A≠0 出错 检测I/O通道 数字I/O通道 模拟I/O通道 方法:人机互动进行检测 ⒈ 数字I/O通道 显示器件(数码管、指示灯) 一般开机时全部点亮数秒钟,或闪亮数秒种。 键盘 逐个按动并作相应指示来检查。 报警器(蜂鸣器、喇叭) 开机鸣响数秒。 通讯口 进行通讯检测。 ⒉ 模拟I/O通道 A/D通道 用基准电压源进行转换,检查结果是否正确。 D/A通道 输出标准数据(固定之值或步进增长值),检查结果是否正确。 ⒉ 软件陷阱 设置目的:捕捉“跑飞”程序 设置位置:⑴程序存储器未使用的区域 ⑵程序段之间 ⑶程序存储器的结尾处 捕捉方法:若干条空操作和无条件跳转指令相结合,使程序转到“跑飞”处理程序入口。 实例程序: ⑴ 程序存储器未使用区域的代码 数据: FFH 相当指令:MOV R7,A ⑵ 在程序存储器未使用的区域设软件陷阱 设有4K地址范围:0000H~0FFFH,空区域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  
显示全部
相似文档