- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]第6章计算机控制技术
其次是对有关设备作出妥善处理,如关闭各输入输出口,使外设处于某一个非工作状态等。最后必须在片内RAM的某一个或两个单元作上特定标记,例如存入0AAH或55H之类的代码,作为掉电标记。这些应急措施全部实施完毕后,即可进入掉电保护工作状态。为保证掉电子程序能顺利执行,掉电检测电路必须在电压下降到CPU最低工作电压之前就提出中断申请,提前时间为几百微秒到数毫秒。 掉电后, 外围电路失电,但CPU不能失电, 以保持RAM中内容不变,故CPU应有一套备用电源。另外,CPU应采用CMOS型的80C31芯片,执行一条ORL PCON,#2的指令后即可进入掉电工作状态。 当电源恢复正常时,CPU重新复位,复位后应首先检查是否有掉电标记,如果没有, 按一般开机程序执行(系统初始化等)。 如果有掉电标记,则说明本次复位为掉电保护之后的复位, 不应将系统初始化,而应按掉电中断子程序相反的方式恢复现场, 以一种合理的安全方式使系统继续工作。 为实现以上功能,必须有一套功能完备的硬件掉电检测电路和CPU电源切换电路,如图6-14所示。利用R3和VDW在运放的负输入端建立一个参考电压信号(约2.5~3.5 V),再由R1和R2的分压,在运放的正输入端建立电源检测信号,调整R1和R2的比值,使UCC高于4.8 V时, 运放输出为高电平,当UCC低于4.8 V时,运放输出低电平信号,触发80C31的外部中断。 图6-14 掉电检测和备用电源 CPU进入掉电保护后耗电极微,UCC继续下降后,CPU通过VD2从备用电源E中得到工作电压(2.3~2.5 V), 维持片内RAM数据不丢失。如果电容C选用自身漏电极微的大容量电解电容(1000 μF以上),二极管VD1选用硅二极管,在不要备用电源E(当然也不要二极管VD2)的情况下,RAM中的信息可以保持24小时以上, 这对于天天都开机的系统来说是完全足够的。 6.4.3 睡眠抗干扰 CMOS型80C31通过执行ORL PCON,#1还可以进入睡眠状态, 只有定时/计数系统和中断系统处于工作状态时,CPU对系统三总线上出现的干扰不会作出什么反应,从而大大降低了系统对干扰的敏感程度。 仔细分析系统软件后可以发现,CPU并不是一直忙于工作, 有很多情况下是在执行一些踏步等待指令和循环检查程序, 由于这时CPU虽未干什么主要工作,但却很容易受干扰。我们让CPU在没有工作时就睡觉,有工作时再由中断系统来唤醒它, 干完后又接着睡觉。采用这种安排之后,大多数CPU可以有50%~95%的时间用于睡觉,从而使CPU受到随机干扰的威胁就大大降低, 对于低功耗系统, CPU的功耗也有所下降。 在一些大功率计算机控制系统中,大电流和高电压设备的投入和切换都是由软件指令来完成的。这些指令执行之后, 必然引起强烈的干扰,这些干扰不能算随机干扰,它们与软件完全相关。 如果CPU在做好各种准备工作之后,进行可能引起强烈干扰的I/O操作,之后立即进入睡眠状态,也就不会受到干扰了。等到下一次醒来时,干扰的高峰也基本消失了。 按这种思想设计的软件有如下特点:主程序在完成各种自检、初始化工作后,用下述两条指令取代踏步指令: LOOP:ORL PCON, #1 LJMP LOOP 系统所有的工作都放在中断子程序中执行,而监控程序一般放在定时中断子程序中。主程序在执行ORL PCON,#1之后便进入睡眠状态,这时程序计数器PC中的地址指向下一条指令LJMP LOOP。 当中断系统将CPU唤醒后,CPU立即响应中断, 首先将PC的值压入堆栈,然后执行中断子程序本身。完成任务之后,执行一条开中断指令,确保CPU在睡眠之后还能被唤醒,最后执行中断返回指令。 这条指令结束中断子程序, 并从堆栈中将主程序执行地址弹出到程序计数器PC中,CPU便接着执行主程序中的LJMP LOOP指令,转回到ORL PCON,#1这条指令上, 执行完这条指令后便再次进入睡眠状态,如此周而复始。前面已经提到,应将可能引起强烈干扰的I/O操作指令放在睡觉前执行,这也就是说, 这类I/O操作应放在中断子程序的尾部。 为确保CPU不过早被唤醒, 躲过强烈干扰的高峰,可临时关闭一些次要的中断,仅仅留一个内部定时中断,定时尽可能长些(如100 ms),并作好标记。下次定时中断响应后,根据标记,恢复系统的正常中断设置方式。以上措施使用合理时,系统出麻烦的次数便可大为减少。 6.4.4 指令冗余 当CPU受到干扰后,往往将一些操作数当作指令码来执行, 引起程序混乱,这时首先要尽快将程序纳入正轨(执行有用程序)。MCS-51指令系统中所有的指令都不超过3个字节,而且有很多单字节指令。当程序弹飞到某一条单字节指令上时,
您可能关注的文档
最近下载
- 引领时尚潮流的可持续时尚品牌.pptx VIP
- 一年级道德与法治教案(全套).pdf VIP
- 版鲁科版英语四年级上册教案.doc VIP
- 一种脱除1,3-丙二醇中微量醛基杂质的脱除方法.pdf VIP
- 国投证券-宁德时代-300750-全球锂电行业龙头全球化布局推动发展.pdf VIP
- 2023-2024学年上海市向明中学高二上学期10月月考数学试卷含详解.docx VIP
- 《婴幼儿动作发展与训练》教案 第8课 2~3岁幼儿精细动作的发展与训练.docx VIP
- MT-500系列说明书(济南华电)-20101216.pdf
- 养成亲社会行为++课件-2025-2026学年统编版道德与法治八年级上册.pptx VIP
- 开学第一课-初中开学第一课班会.ppt VIP
文档评论(0)