




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 邮局订阅号:82-946360元/年技术创新单片机开发与应用PLC 技术应用200例您的论文得到两院院士关注单片机应用系统的软件抗干扰措施The Step of Software Anti-jam m ing in SingleChip System(广东工业大学覃毅汤荣江李治龙相洪贵QIN YI TANG RONGJIANG LI ZHILONG XIANG HONGGUI摘要:在单片机的应用系统中,工业现场存在的各种干扰,很容易导致系统不稳定甚至无法正常工作。因此,如何提高稳定性是必须认真对待的。本文从实践的角度出发,对软件抗干扰措施作了比较细致的探讨。关键词:单片机;软件;抗干扰;措施
2、中图分类号:TP368.1文献标识码:BAbstract:In the application system of singleChip,there exists every kind of disturbance in industry scene.It is difficult to cause the system stable.Therefore,how to enhance the stability is must earnestly be treated.In this article,we had carefully discussed to the soft-ware ant
3、i-jamming in the aspect of practice.Keywords:singleChip,software,anti-jamming,measure文章编号:1008-0570(200702-2-00101-03引言近年来,微机测控系统,特别是单片机在工业自动化、生产过程控制、智能化仪器仪表等领域的应用日益广泛。但测控系统的工作环境往往是比较恶劣和复杂的,其应用的可靠性、安全性就成为一个非常突出的问题。微机测控系统必须长期稳定、可靠地运行,否则将导致控制误差加大,严重时会使系统失灵,造成巨大的损失。因此,提高测控系统的稳定性、可靠性和安全性,成为人们日益关心的课题,这不仅
4、具有一定的科学理论意义,而且具有很高的工程实用价值。单片机系统的抗干扰措施具体可分为硬件和软件两方面,其中软件抗干扰以其设计灵活、不需增加硬件资源、成本低等优势越来越得到广泛采用。在工程中,软件抗干扰主要从两方面入手:程序失控时的处理;对输入输出信号的处理。在此,本文以目前国内常见的MCS-51系列单片机系统为例,对前者进行进行较深入的探讨。单片机系统的程序是一步步有序执行的。当发生外部的干扰或系统本身的硬件瞬时故障时,会产生程序失控,偏离设定的顺序。为预防这种失控,可采取如下措施:1指令冗余我们知道,CPU 对指令的执行过程是:先取操作码,再取操作数。当受到干扰后,程序会脱离正常顺序而“跑飞
5、”,那就极有可能出现这种情况:CPU 将一些二字节、三字节指令的操作数当作操作码来执行,程序运行必然产生混乱。这时,我们可以在一些关键的地方人为地插入一些单字节指令(NOP ,或将有效单字节指令和重要的控制指令重复书写,这就称为指令冗余。1.1汇编源程序中指令冗余的实现对于使用汇编语言写的程序来说,指令冗余通常的做法是在双字节和三字节指令之后插入两个以上的NOP 指令。一旦出现程序跑飞,则在执行几个NOP 指令后,就会继续完整地执行后面的指令,这样,程序自动步入正轨。但要注意的是,冗余指令不宜太多,否则会降低程序的运行效率。另外,对程序流向起决定作用的指令如RET 、RETI 、LCALL 、
6、SJMP 、JZ 、CJNE 、JC 等跳转指令之前插入两个NOP 指令,亦可将跑飞的程序纳入正轨,保证此类重要指令的执行。如:.NOP NOPCJNE A,50H,L1.1.2C 语言下指令冗余的实现对于使用Keil C 语言写的51程序来说,可以采用在C 语句适当的位置内嵌汇编语句的方式来实现上述指令冗余。在欲实现指令冗余的地方,可以插入如下指令:.#pragma asm nop nop#pragma endasm .一般来讲,用Keil C 写的程序,if-else 、switch 、for 以及while 等语句在编译后都会产生跳转指令。对于C 语言这种函数式的语言,在函数体的一对花括
7、弧中,右括弧之前就可以考虑插入上述指令冗余,若想确定最适宜的位置,可与编译器产生的.src文件对照参考。比如如下函数框架:void function(./此处添加指令冗余此外,在函数调用之前也可以插入以上语句,因为一般情况下,C 的函数调用经过编译后都是通过跳转指令实现的。覃毅:硕士研究生101-技术创新中文核心期刊微计算机信息(嵌入式与SOC 2007年第23卷第2-2期360元/年邮局订阅号:82-946现场总线技术应用200例单片机开发与应用2软件拦截技术软件拦截技术是指将跑飞的程序引向指定位置,再进行错误处理。前面的指令冗余方法并不能完全解决程序跑飞的问题,当跑飞的程序落到非指令区就无
8、法起作用了。对此多用设置软件陷阱的办法来拦截跑飞的程序。当然首先要正确设计软件陷阱,再合理安排其位置。2.1软件陷阱的设计软件陷阱是指用来将捕获的跑飞程序引向复位入口或错误处理程序入口地址的几条指令。通常把以下几条指令作为常用的软件陷阱:NOP NOPLJMP 0000H (或LJMP ERROR,ERROR 为错误处理程序的入口标号为防止干扰导致未使用的中断被异常开放,对于未使用的中断服务程序则可以这样:NOP NOPPUSH 00H PUSH 00H RETI对于使用C 语言编写的程序来说,以上“软件陷阱”也可以用内嵌汇编语句的方式插入代码段中,类似前面“指令冗余”的实现方法。2.2软件陷
9、阱的位置安排通常在未使用的程序存储器单元空间填充软件陷阱,即将其置为“0000020000H ”(复位陷阱的机器码。当跑飞程序落到此处,即自动步入正轨。可以采用手动编辑烧写文件的方式实现填充。除了未使用程序空间外,软件陷阱还常安放于未使用的中断向量区(可纠正干扰导致的错误中断、常数表格区的最后和程序的代码段之间的空隙。3软件“看门狗”技术若失控的程序进入“死循环”,通常采用“看门狗”技术使程序脱离“死循环”。通过不断检测程序循环运行时间,若发现程序循环时间超过最大循环运行时间,则认为系统陷入“死循环”,需进行出错处理。“看门狗”技术可由硬件实现,也可由软件实现。对于内部没有集成看门狗的单片机,
10、可以用软件的方法来模拟硬件看门狗,其原理是类似的。仍以51系列为例,用一个定时器来对主程序的运行时间进行监控。将T0设定为高优先级中断,对T0设定一定的定时时间,当产生定时中断的时候对一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,要设定的定时值要小于主程序的运行时间,这样在主程序的尾部对变量的值进行判断,如果值发生了预期的变化,就说明T0中断正常,如果没有发生变化则使程序复位。此外,在不影响程序功能的情况下,还可以利用单片机的“待机”工作方式来实现抗干扰。在待机(睡眠时,单片机只有定时/计数器和中断系统处于工作状态,对系统各总线上出现的干扰不会有任何反应,这就大大降低了系统对
11、干扰信号的敏感程度。4系统故障处理及自恢复程序的设计单片机系统受到强干扰或意外掉电后导致的复位在实际中并不鲜见,属于非正常复位。从软件方面实现故障诊断并自动恢复非正常复位前的状态,使系统正常工作,这在工业控制中的实时计量系统中是非常重要的。4.1非正常复位的识别程序的执行总是从0000H 开始,导致程序从0000H 开始执行有四种可能:(1正常上电复位;(2软件故障复位;(3看门狗超时未喂狗硬件复位;(4掉电后又上电复位。四种情况中除第一种情况外均属非正常复位,需加以识别并作相应的处理。4.1.1软件故障导致复位软件故障复位的特点之一,是单片机内部RAM 保持复位前的状态,因此可选取片内某一个
12、或两个单元作为上电标志。设40H 单元用来做上电标志,上电标志字为F0H ,若系统复位后40H 单元内容不等于F0H ,则可以认为是硬件复位,否则认为是软件复位,然后转向相应的故障处理模块。4.1.2看门狗超时未喂狗导致硬件复位看门狗故障复位的正确识别,一般要借助非易失性RAM 或者EEPROM 。当系统正常运行时,设置一可掉电保护的观测单元。当系统正常运行时,在定时喂狗的中断服务程序中使该观测单元保持正常值(设为55H ,而在主程序中将该单元清零,因观测单元掉电可保护,则开机时通过检测该单元是否为正常值即可判断是否看门狗复位。目前已有部分看门狗电路具备了一定容量的数据存储器,比如X5045就
13、是集看门狗、电压监控和4096bit 的串行EEPROM 等多种功能于一身的可编程控制模块,与Max813等常用的无RAM 的看门狗电路相比,使用X5045后,一般不必再额外添加EEPROM 模块,元器件数量少了,在一定程度上系统稳定性得以提高。4.1.3系统掉电后又上电的复位在识别测控系统因意外情况如系统掉电等情况引起的开机复位,对于过程控制和实时计量控制系统尤为重要。同看门狗故障复位识别一样,设置一可掉电保护的观测单元,并在程序的各个分支流程对该监测单元以及重要数据予以保护,一旦系统掉电复位后,可据此单元判断系统之前的运行状态,并跳到出错处理程序进行系统恢复,使测控误差减到最小。4.2非正
14、常复位后系统自恢复运行的程序设计对顺序要求严格的一些过程控制系统,系统非正常复位后,一般都要求从失控的那一个模块或任务恢复运行。所以,测控系统要及时作好重要数据单元、参数的备份,如系统运行状态、系统的进程、当前的输入、输出值,观测单元值等,这些数据既要定时备份,同时若有修改也应立即备份,以保证恢复数据的可靠性。当在已判别出系统非正常复位的情况下,先要恢复一些必要的系统数据,如显示模块的初始化、片外扩展芯片的初始化等。其次再对测控系统的运行状态、运行参数等予以恢复,包括显示界面等的恢复。之后再把复位前的任务、参数、运行时间等还原,然后才能进入系统运行状态。下页是工控系统可采用的数据恢复过程流程图
15、。对于输入输出信号的软件抗干扰处理方法如:对输入量(电平和脉冲多次读取、对输出数据复写、RAM 数据保护与校验、数字滤波等,限于篇幅,本文未作讨论。102- 邮局订阅号:82-946360元/年技术创新单片机开发与应用PLC 技术应用200例您的论文得到两院院士关注5结束语本文以51单片机为例,针对单片机测控系统易受环境干扰的问题,详尽的分析并讨论了软件抗干扰的各种解决办法,以及各种原因导致的系统故障的还原措施。笔者在某纯净水售水控制系统的设计中采用了上述软件抗干扰措施,并在硬件电路抗干扰方面予以加强,经长期测试,控制系统始终保持比较稳定的工作状态。而经测试,在去除相应的抗干扰部分时,控制系统
16、对现场环境表现过于“敏感”,频繁的随机出现异常,工作状态非常不稳定,达不到系统设计要求。在工程实践中,通常都是多种抗干扰方法并用,且硬件与软件抗干扰技术相结合,互相补充,完善系统监控程序,才能取得较好的抗干扰效果。针对不同的工业控制环境,系统地研究分析产生干扰的原因和传输途径,采用合理的抗干扰措施,这是设计单片机测控系统时必须预先考虑的重要内容。本文作者创新点:1在“指令冗余”和“软件陷阱”等的具体实现上,在给出汇编语言的写法后,针对单片机系统编程中广泛采用的C 语言,结合keil C ,给出了实现方法并分析了部分有必要实现“指令冗余”和“软件陷阱”的地方。2针对系统故障的恢复,详细分析了各种
17、情况并指出解决办法,并给出了一种通用形式的恢复流程框图。参考文献:1王幸之,王雷等.单片机应用系统抗干扰技术M.北京:北京航空航天大学出版社,2001.2何立民.单片机应用系统设计M.北京:北京航空航天大学出版社,1999.3杨宏丽,张健.单片机应用系统的抗干扰解决方案J.微计算机信息,2005,5.作者简介:覃毅(1974-男,四川遂宁人,广东工业大学计算机学院硕士研究生,研究方向:智能工程与软计算,E_mail:love-ly_qq,lovely_qq2004;汤荣江,男,广东广州人,广东工业大学计算机学院副教授,硕士生导师,主要研究方向:智能工程与软计算及其在智能家居网络、嵌入式系统的应
18、用。Biography:Qin Yi,male,born in SUINING -SICHUAN province in 1974.Master.Currently major in intelligent engineering andsoft comupting in GuangDong University of Technology.Tan-gRongJiang,male,born in GUANGZHOU-GUANGDONG province,adjunct professor,master supervisor,major in intelligent engineer-ing a
19、nd soft comupting intelligent and the applications in home network and embedded system.(510090广州广东工业大学计算机学院覃毅汤荣江李治龙相洪贵(Faculty of computer,Guangdong University of Technology,Guangdong Guangzhou,510090Qin Yi Tang Rongjiang Li Zhilong Xiang Honggui通讯地址:(510090广东广州市广州大学城广东工业大学计算机学院04级研究生班覃毅(收稿日期:2006.1
20、2.17(修稿日期:2007.1.15(上接第55页释放信号量,由任务display 完成一帧的显示工作,并等待下一次中断触发时信号量的再次释放。4总结在以PC 机为目标机的实验平台上,利用本文介绍的视频采集系统可以流畅地显示经视频采集卡转换的数字图像信息,达到实时视频监视的目的。创新观点:以前的视频监视系统软件平台多为Windows ,其实时性不能得到有效的保证。不太适合于对系统稳定性和实时性要求较高的应用场所。而VxWorks 系统正好可以弥补这些缺陷,但是其对硬件的支持不如Windows 平台广泛,尤其是在多媒体显示方面。本文设计的系统可以在VxWorks 下对PCI 采集设备很好地支持,完成模拟视频信号到数字信号的转换过程。同时利用了WindML 库对VxWorks 下视频的显示方法给出了一个比较
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字身份认证体系-第2篇-洞察及研究
- 政治会考试题及答案
- 浙江会计从业资格考试试题及答案
- 增值税题库及答案
- 运动训练常识题库及答案
- 吉林水利电力职业学院《工程荷载与可靠性设计原理》2023-2024学年第二学期期末试卷
- 金山职业技术学院《工程地质与土力学》2023-2024学年第二学期期末试卷
- 桂林信息科技学院《病原生物学与免疫学》2023-2024学年第二学期期末试卷
- 福建江夏学院《器乐合奏》2023-2024学年第二学期期末试卷
- 辽宁广告职业学院《医学病原学与免疫学》2023-2024学年第二学期期末试卷
- 2025年高考河北卷物理真题(解析版)
- 2025春季学期国开电大本科《经济学(本)》一平台在线形考(形考任务1至6)试题及答案
- 三基考试试题及答案护士
- 2025年乡村振兴战略相关知识考试题及答案
- 哈尔滨市第九中学校2024-2025学年高二下学期期中地理试卷
- CJ/T 315-2009城市市政综合监管信息系统监管案件立案、处置与结案
- 辽宁邮政招聘笔试题库2025
- 中国多式联运发展报告2024-交通运输部规划研究院
- 2025春国开《创业基础》形考任务1-4答案
- 钢构车棚施工组织方案
- HP彩色激光打印机节能证书
评论
0/150
提交评论