发布时间:2021-12-10 阅读量:791 来源: 我爱方案网 作者: 我爱方案网整理
冗余与容错设计
保证单片机应用系统100%无故障是不可能的。容错是指当系统的某个部件发生故障时,系统仍能完全正常地工作,即给系统增加容忍故障的能力。为使系统具有 容错能力,必须在系统中增加适当的冗余单元,以保证当某个部件发生故障时能由冗余部件接替其工作,原部件修复后再恢复出错前的状态。硬件冗余设计可以在元 件级、子系统或系统级上进行。
指令冗余
CPU取指令过程是先取操作码,再取操作数。在程序的关键地方人为的插入一些单字节指令,或将有效单字节指令重写称为指令冗余,通常是在双字节指令和三字节指令后插入两个字节以上的NOP指令。这样即使跑飞程序飞到双字节指令和三字节指令操作数上。由于窄操作指令NOP的存在,避免了后面的指令被错误地执行,为程序纳入正轨做好准备。此外,对系统流向起重要作用的指令,如RET、RETI、LCALI.、LJMP,JC等,可以在这些指令之后插入两条NOP指令,可将跑飞程序纳入正轨,以确保这些重要指令的执行。指令冗余只能使CPU不再将操作数当作操作码错误地执行,却不能主动地将程序的错误执行方向扭转过来,要想纠止程序的错误执行方向,就需要下面的技术。
5、设计软件“陷阱”
通常在程序存储器中未使用的EPROM空间填入窄操作指令NOP,最后再填入一条跳转指令,跳转到跑飞处理程序,或者直接填入指令LJMP 0000H,当跑飞程序落到此区域。即可在执行一段空操作后转入正轨。如果未使用的EPROM空间比较大,可以均匀地填入几条空操作指令和跳转指令,这种几条空操作指令加一条跳转指令的结构我们称之为“软件陷阱”。
软件陷阱的一般结构为:
NOP
LJMP FLY
FLY为跑飞处理子程序,如果程序正常执行,软件陷阱部分是永远也执行不到的,只有在程序跑飞到陷阱里,软件陷阱会立刻将程序跳转到正常轨道。即使程序没有跑飞到陷阱里,也可以在程序执行一段错误操作后遇到一个软件陷阱,从而转入正轨。除了程序存储器的空白区域,程序的数据表结尾也应该设置软件陷阱,如果数据表比较大,应该在数据表的中间也设置软件陷阱,以保证程序跑飞到数据区能及时转入正轨。另外,如果程序存储器的空间足够大的话,可以在每两个子程序中间设 置一个软件陷阱。当使用的中断因干扰而开放时,在对应的中断服务程序中设置软件陷阱,能及时捕获错误的中断。软件陷阱的数量要根据实际受到干扰的情况和程序存储器的容量来确定,如果太少不能进行有效的跑飞拦截,如果太多又会占用大量的程序存储器空间。
推荐阅读:
在现代汽车行业中,HUD平视显示系统正日益成为驾驶员的得力助手,为驾驶员提供实时导航、车辆信息和警示等功能,使驾驶更加安全和便捷。在HUD平视显示系统中,高精度的晶振是确保系统稳定运行的关键要素。YSX321SL是一款优质的3225无源晶振,拥有多项卓越特性,使其成为HUD平视显示系统的首选。
随着医疗技术的进步,心电监护设备在日常生活和医疗领域中起到了至关重要的作用。而无源晶振 YSX211SL 作为一种先进的心电贴产品,以其独特的优势在市场上备受瞩目。
对于可编程晶振选型的话,需要根据企业的需求选择。在选择可编程晶振的时候注重晶振外观、晶振的频率、晶振的输出模式、晶振的型号等等,这些都是要注意的,尤其是晶振的频率和晶振输出模式以及晶振的型号都是需要注意的。
在现代科技发展中,服务器扮演着越来越重要的角色,为各种应用提供强大的计算和数据存储能力。而高品质的服务器组件是确保服务器稳定运行的关键。YSO110TR宽电压有源晶振,作为服务器的重要组成部分,具备多项优势,成为业界必备的可靠之选。
其实对于差分晶振怎么测量方式有很多种,主要还是要看自己选择什么样的方式了,因为选择不同的测量方式步骤和操作方式是不同的。关于差分晶振怎么测量的方式,小扬给大家详细的分享一些吧!