- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
51系列单片机软件抗干扰设计方法
51系列单片机软件抗干扰设计方法摘要:软件可靠性设计越来越引起人们的重视,软件抗干扰不仅设计灵活,节省硬件资源,并且具有高可靠性,文章从软件测试的角度阐述了51系列单片机软件抗干扰设计技术和方法。 关键词:51系列单片机;软件抗干扰 中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)15-3725-03 The Software Anti-interference Design of MCS-51 LI Li (Software Test Center of Shanghai Academy of Spaceflight Technology, Shanghai 201109, China) Abstract: Today the technology of software reliability design have received more consideration. Software reliability design can not only save hardware resource but also provide high reliability. This article describe the technology of software reliability design from the point of software test view. Key words: MCS-51; software anti-interference 51系列单片机应用广泛,但由于指令系统是复杂指令集结构,致使其抗干扰性能不高,通常我们从硬件和软件两个方面开展单片机可靠性的设计。硬件抗干扰性设计复杂,且提高硬件成本,相对的,软件抗干扰性设计可以在不增加系统复杂性和硬件成本的基础上,也能做到大幅提高系统的稳定性[1]。 软件抗干扰的设计方法通常有:开机自检和初始化、软件陷阱、看门狗、关键信息三取二等等,这些设计能有效地防止程序走飞,或者在程序走飞后将程序拉回正常轨道。本文结合了作者在软件测试工作的经验和实例,讲述了51系列单片机软件的多种抗干扰设计方法及注意事项。 1抗干扰设计方法 1.1开机自检和初始化 开机自检和初始化是每个嵌入式软件上电运行的第一个抗干扰步骤,通常会有以下一些操作: 1)对程序ROM区的校验和; 2)对RAM区先写后读0xaa,0x55查看写入与读出的数是否一致; 3)检查I/O口; 4)检测其他接口电路,如扩展的EEPROM、A/ D转换电路等。 程序自检和初始化设计时需要注意的问题有: 1)自检错误时程序应给出错误提示; 2)对接口进行自检时,应设定响应时间限制,以保证在硬件无响应的情况下程序不会陷入死循环,会及时报错; 3)初始化时注意考虑对自检结果带来的影响。 这里对于第3点举例说明: 某软件要求程序的遥测下传数据中应包含当前工作状态、硬件故障等信息,该软件具有冷、热启动功能。程序实现:冷启动时对所有的内存进行了初始化,热启动时对遥测下传数据进行初始化。程序自检和初始化流程如图1所示。 从流程可以看出,自检工作在初始化之前进行,导致自检错误信息被初始化,即自检错误不会被遥测记录并发送。 由于程序自检一般不会出错,因此该错误一直潜伏在程序中,直至第三方测试时构造了自检错误的测试案例才被发现。从这个实例我们得出:软件的初始化内容要慎重处理,不能简单地直接初始化所有使用资源,要充分考虑自检操作使用资源的因素,并在设计时梳理全局资源,避免全局资源的使用冲突。 1.2软件陷阱 通常在程序存储器中未使用的EPROM空间填入空操作指令NOP ( 00H) ,最后再填入一条跳转指令,跳转到跑飞处理程序,或者直接填入指令LJMP 0000H (020000)。 软件陷阱的一般结构为: NOP NOP LJMP FLY ; FLY为跑飞处理程序 由于51单片机有两个中断优先级,为了防止软件在二级中断嵌套时走飞,由软件陷阱转入初始化程序时,要用两个中断返回语句清除二级中断服务状态标志,如以下代码所示: ERR:CLREA;关闭中断 …………;其余清端口操作 MOVDPTR,#ERR1 PUSHDPL PUSHDPH RETI ERR1:CLRA PUSHACC PUSHACC RETI;从地址0000H开始执行 在某软件的测试中,将程序PC指针拉飞后程序运行至跑飞处理程序,确没有正确复位,跑飞处理程序如下: ERR:CL
文档评论(0)