24小(xiǎo)时联系電(diàn)话:18217114652、13661815404
中文(wén)
- 您当前的位置:
- 首页>
- 電(diàn)子资讯>
- 技术专题>
- 智能(néng)自检流程可(kě)优化嵌...
技术专题
智能(néng)自检流程可(kě)优化嵌入式系统的加電(diàn)
智能(néng)自检流程可(kě)优化嵌入式系统的加電(diàn)
為(wèi)什么加電(diàn)自检很(hěn)重要
在典型的嵌入式系统中,微控制器连接到PCB上的各种组件。它依靠内存芯片来存储关键参数或历史记录。参数的每一位都可(kě)能(néng)影响功能(néng)算法的结果。
使工业设备自动化的嵌入式系统还依靠输入来激活某些阀门或電(diàn)动机。在大多(duō)数情况下,输入是从连接到PCB的传感器获得的模拟信号。确保系统加電(diàn)时传感器正常运行是很(hěn)重要的。
随着世界拥抱物(wù)联网,嵌入式系统可(kě)以通过更广泛的技术相互通信。无论使用(yòng)哪种接口,传统活动(如基本握手协议或简单的状态检查)对于确保系统以正确的方式通電(diàn)仍然至关重要。
当然,有(yǒu)人会争辩说,可(kě)靠的固件将确保在执行算法之前评估正确的输入或参数。那么,為(wèi)什么还要进行一系列的自检呢(ne)?
对系统故障采取行动的最佳时间是在加電(diàn)期间。
在大多(duō)数应用(yòng)中,嵌入式系统由设备附近的技术人员供電(diàn)。与在执行某些逻辑之前发现的异常相比,启动期间发现的任何异常都可(kě)以立即采取行动,这可(kě)能(néng)需要几天或几周的时间。
除此之外,由于電(diàn)源故障而中断的嵌入式系统可(kě)能(néng)没有(yǒu)机会完成其最后的操作。他(tā)们可(kě)能(néng)在断電(diàn)之前已部分(fēn)存储了交易记录。在某些情况下,在電(diàn)源恢复后,嵌入式系统根本就没有(yǒu)准备好应对这种情况。
有(yǒu)用(yòng)的嵌入式系统自检程序
就像嵌入式系统的设计可(kě)能(néng)有(yǒu)所不同一样,所需的自检程序也可(kě)能(néng)有(yǒu)所不同。根据我在开发用(yòng)于商(shāng)业和工业应用(yòng)的嵌入式系统方面的经验,以下是一些在加電(diàn)期间要执行的最自检:
1.内存检查
嵌入式系统通常将参数或历史日志(zhì)存储在闪存,铁磁随机存取存储器(FRAM)和静态随机存取存储器(SRAM)等存储器中。这些存储芯片通常通过内部集成電(diàn)路(I2C)或串行外围接口(SPI)协议连接到微控制器。
执行读取命令时SPI的问题在于,即使相应的存储芯片出现故障,您也可(kě)能(néng)会收到无效的0xFF十六进制值。这可(kě)能(néng)导致微控制器执行错误的算法。
因此,请谨慎确保在启动过程中PCB中使用(yòng)的每个存储芯片都可(kě)以正常工作。例如,在FRAM和SRAM中分(fēn)配一个虚拟字节以比较“读”和“写”值或从闪存中检索设备ID。
通过快速自检,确保所有(yǒu)内存芯片在启动过程中均正常运行。
2.数据库检查
在历史记录对应用(yòng)程序至关重要的嵌入式系统中,确保電(diàn)源恢复后存储任何记录之前数据库处于良好状态是一种很(hěn)好的做法。与软件应用(yòng)程序中的SQL副本相比,嵌入式系统中的数据库相当原始。
嵌入式系统数据库通常是自定义构建的,并且可(kě)能(néng)存在潜在的漏洞,无法通过测试。需要对记录指针进行基本检查,以确保它们在其指定的扇區(qū)内。这样可(kě)以防止由于覆盖不同数据类型之间的扇區(qū)而导致数据库损坏。
3.输入检查
用(yòng)于工业自动化的嵌入式系统在很(hěn)大程度上依赖于数字和模拟输入来执行相关功能(néng)。对于微控制器,在启动主算法之前,请确保连接安全开关的数字输入端提供正确的值,这是一个好习惯。
在使用(yòng)4-20 mA模拟传感器的应用(yòng)中,微控制器可(kě)以快速检查传感器是否正确连接。等效模拟值小(xiǎo)于4 mA表示传感器有(yǒu)故障,应立即警告技术人员。
4.通讯检查
在某些情况下,嵌入式系统通过有(yǒu)線(xiàn)或无線(xiàn)通信连接到其他(tā)设备。让微控制器在这些设备上启动状态检查是在系统开始运行之前识别任何故障设备的好方法。
虽然我们乐观地期望第三方设备是完美的,但我的经验证明了事实并非如此。我有(yǒu)一些有(yǒu)时会拒绝正确启动的工业条码打印机。通过在启动过程中进行的快速调查,我可(kě)以确保立即解决所有(yǒu)紧迫的问题,并且不会有(yǒu)生气的客户在我的脖子上喘不过气来。