基于配置系统的硬件初始化机制(15.8.10)

针对仪器在初始化过程中遇到的卡死问题,探讨了液面感应通讯失败的原因,并提出了改进措施。文中还讨论了现有模式下故障识别的不合理之处,并提出了一种硬件自检方案来解决这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发现的问题

在软件初始化过程中卡死在Instrument Booting(仪器初始化)过程,经排查发现设置液面感应电容只回复了BB和CC而未回复33或55.导致上位机卡死.经确认液面感应板与驱动板线路虚焊导致通讯失败.

有关故障识别的问题
通讯过程直接下发下位机时序属于定制功能,下位机并不受上位机软件管理,因此除了固定的字节数组外其他信息一无所知,每个指令的执行超时时间并不知道.因此在现有模式下让上位机识别下位机超时并不合理.
此外,由于现有的中位机和驱动板是按照配置模式设计,不具备通讯检查的功能.因此让板卡定制程序也不科学(毕竟不知道到底有没有液面感应版,需要配置).
另外,有人提出了心跳包的方案对硬件及底层软件的改动也比较大.并不划算的方案.

提出硬件自检的方案
常规的仪器设备自身的一些常规错误应当自己检查,比如通讯,供电等.作为基础检查是必不可少的.因此应当系统开始时进行自检检查更加合理.结合时序配置方案,可以将板卡的自检作为下位机时序,通过命令调用执行,单次检查避免了心跳包的改动,出现错误可以按照原有协议向上位机返回错误代码.

需要改动的内容
由于现有方案是由上位机软件主导初始化,因此需要增加指令使上位机调用启动自检.
中位机和驱动板需要增加新的功能以执行自检命令(通讯测试),及错误代码反馈.
在错误代码的配置文件中增加错误代码.供上位机关联识别报警.

转载于:https://www.cnblogs.com/sunlyk/p/7427606.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值