- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9.7.1 硬件故障的自诊断技术 自诊断俗称“自检”。通过自诊断功能,使人们增加了对系统的可信度。对于具有模拟信息处理功能的系统,自诊断过程往往包括自动校验过程,为系统提供模拟通道的增益变化和零点漂移信息。供系统运算时进行校正,以确保系统的精度。自检过程有三种进行方式: 上电自检:系统上电时自动进行,自检中如果没有发现问题,则继续执行其它程序,如发现问题,则及时报警,避免系统带病运行。 定时自检:由系统时钟定时启动自检功能,对系统进行周期性在线检查,可以及时发现运行中的故障,在模拟通道的自检中,及时发现增益变化和零点漂移,随时校正各种系数,为系统精度提供保证。 键控自检:操作者随时可以通过键盘操作来启动一次自检过程。这在操作者对系统的可信度下降时特别有用,可使操作者恢复对系统的信心或者发现系统的故障。 1. CPU的诊断 CPU是控制系统的核心,如果CPU有问题,系统也就不能正常工作了。对于CPU来说,诊断程序若在片外FLASH中,则CPU的诊断过程必须以三总线(包括地址锁存器74HC373)没有问题和FLASH中的诊断程序也正确为前提。 指令系统能否被正确执行是诊断CPU中指令译码器是否有故障的基本方法。首先编制一段程序,将执行后的结果与它预定结果进行比较,如果不同,则证明CPU有问题。如果和预定结果相同,证明本段程序可以正确执行,并不能绝对保证没有问题。 2. FLASH的诊断 用户程序通过编程器写入FLASH后,一般是不会出错的。当FLASH受到环境中的干扰,均有可能使FLASH中的信息发生变化,从而使系统运行不正常。由于这种出错总是个别单元零星发生,不一定每次都能被执行到,故必须主动进行检查。 3. RAM的诊断 RAM的诊断,分破坏性诊断及非破坏性诊断,一般采用非 破坏性诊断。非破坏性的诊断方法是先读出某一单元的内容暂存,然后可进行破坏性诊断,诊断完毕,恢复原来单元的内容。 4. A/D通道的诊断与校正 对A/D通道的诊断方法如下:在某一路模拟输入端加上一个已知的模拟电压,启动A/D转换后读取转换结果,如果等于预定值,则A/D通道正常,如果有少许偏差,则说明A/D通道发生少许漂移,应求出校正系数,供信号通道进行校正运算。如果偏差过大,则为故障现象。 5.D/A通道的诊断 D/A通道诊断的目的是为了确保模拟输出量的准确性,而要判断模拟量是否准确又必须将其转变为数字量,CPU才能进行判断。因此,D/A的诊断离不开A/D环节。 在已经进行A/D诊断,并获知其正常后,就可以借助A/D的一个输入通道来对D/A进行诊断了。 将D/A转换器的模拟输出接到A/D转换器的某一输入端,D/A输出一固定值,即可在A/D输入端得到一对应值,达到诊断的目的。 除上述介绍的硬件故障诊断技术外,还有数字I/O通道的诊断。 9.7.2 软件的容错设计 当设计一段短的程序,用来完成某些特定的功能时,一般并不难。但把很多程序段组成一个应用系统时,往往会出问题。当发现一个问题,并将它解决之后,另一段本来“没有问题”的程序又出了问题。系统越大,各段程序之间的关联就越多,处理起来就越要小心。如果能养成一些良好的程序设计习惯,遵守若干程序设计的基本原则,就能少走弯路,减少程序出错的机会。下面讨论一些常见的软件设计错误,有些错误是明显的,有些错误是隐蔽的,孤立分析是发现不了的,有些错误是在特定条件下才有可能发生的。 1.防止堆栈溢出 堆栈区留得太大,将减少其它的数据存放空间,留得太少,很容易溢出。所谓堆栈溢出,是指堆栈区已经满了,还要进行新的压栈操作,这时只好将压栈的内容存放在非堆栈区。 系统程序对堆栈的极限需求量即为主程序最大需求量加上低级中断的最大需求量,再加上高级中断的最大需求量。 中断子程序是在主程序完全没有准备的情况运行的,故对主程序的现场必须加以保护,这和一般子程序不同。当中断子程序本身对主程序现场完全没有影响时,也不必保护现场。另外,影响范围有多大就保护多大,不必什么都压栈保护,增加堆栈的开销。防止堆栈溢出的另一个办法是在监控程序中重复设置栈指针,每执行一次监控循环程序,初始化堆栈一次。 2.中断中的资源冲突及其预防 在中断子程序执行的过程中,要使用若干信息,处理后,还要生成若干结果。主程序中也要使用若干信息,产生若干结果。在很多情况下,主程序和中断子程序之间要进行信息的交流,它们有信息的“生产者”和“消费者”的相互关系。主程序和普通的子程序之间也有这种关系,但由于它们是在完全清醒的状态下,各种信息的存放读取是有条有理的,不会出现冲突。但中断子程序可以在任何时刻运行就有可能和主程序发生冲突,产生错误的结果。 资源冲突发生的条件是: 某一资源同时为前台程序和后台程序所使用,这是
您可能关注的文档
最近下载
- COLMO洗衣机工程师资格认证考试题及答案.doc VIP
- 《合理用药与用药安全》课件.ppt VIP
- 配件部经理岗位职责(24篇).docx VIP
- (人教2024版)英语八年级上册Unit 4 大单元教学设计(新教材).docx
- TCECS 179-2023 健康住宅建设技术规程.pdf VIP
- 数字孪生及车间实践第二篇数字孪生研究体系.pptx VIP
- 2025年四川省绵阳市初中学业水平考试语文真题试卷含参考答案与习作例文精品.pdf VIP
- 2024版行政管理培训课件.pptx VIP
- 《公安机关互联网安全监督检查规定》培训与解读课件.pptx VIP
- 数字孪生及车间实践第一篇数字孪生的内涵及研究应用现状.pptx VIP
文档评论(0)