0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何能将显示屏与微控制器连接,并配置为在极少耗电或不耗电的情况下提供诊断信息

lPCU_elecfans 来源:电子发烧友网 作者:电子发烧友网 2020-09-24 11:29 次阅读

物联网 (IoT) 和工业物联网 (IIoT) 节点正逐渐应用于安全性越来越高的系统中。在这些系统中,整个网络的安全保障比网络上单个设备的功能更为重要。这意味着,如果一个物联网节点发现自身遭到入侵,或者将会发生不可恢复的固件错误,则最安全的措施可能是该节点在可行的情况下尽快关闭电源,以避免节点和网络可能出现危险后果。 然而,一旦节点断电,所有易失性存储器的内容都将丢失。若将调试数据存储在 EEPROM 或闪存等非易失性存储器中,则会耗时耗电,增加潜在损坏的风险。此外,如果上电序列也遭到入侵,则系统遭到入侵的程度可能已经达到上电时回读数据无法再提供可信数据。 本文介绍了如何将电子纸显示屏 (EPD) 轻松连接至物联网或工业物联网节点,以显示最后的已知错误,从而提供断电事件原因的可视化指示,以便技术人员采取适当的措施。然后,本文以 Pervasive Displays 和 Display Visions 的电子纸显示屏为例,讨论了如何能将这些显示屏与微控制器连接,并配置为在极少耗电或不耗电的情况下提供诊断信息

高安全性物联网和工业物联网节点

物联网和工业物联网节点设计人员的责任越来越大,需要采用越来越复杂的安全方法,保证主机微控制器的正常运行。一般来说,必须防范三种安全威胁:

微控制器固件故障

来自传感器、键盘、串行外设或其他设备的无效输入数据

恶意攻击者的行为

微控制器固件故障可能由多种原因引起:安装的固件中编码错误;导致故障的无效计算;或者,在极其罕见的情况下,微控制器的硬件故障。通常,编写良好的固件可通过清理对子例程和函数的输入来检测故障。在固件被锁定或陷入循环的极端情况下,看门狗超时将通过跳转至错误控制子例程或执行微控制器硬复位来恢复固件。 在输入数据无效的情况下,如外部传感器发生故障或被篡改,可能会导致超限数据,且这些数据可能未在应用程序代码中给予适当考虑。例如,如果在一个有人的控制室中,环境温度传感器错误地记录了 250°F 的高温,这可能是传感器故障或遭到恶意篡改。粗心的固件程序员可能没有对如此高的温度读数编码,这可能导致诸如不正确的数据记录之类的小事,或诸如允许入侵者进入安全区域之类的严重事故,也可能导致会造成设备故障或严重人身伤害的关键性控制算法计算错误。潜在的负面结果很多。 恶意攻击者的不同之处在于,他们可能有意造成物联网节点故障。黑客攻击尝试造成的故障可能会被安全例程检测为入侵;但是,也可能伪装成固件故障或无效的外部输入数据。在示例中,250°F 的环境温度读数可能是由于恶意攻击者在如此高的读数下测试固件行为,意图测试入侵方法;例如,如果 250°F 的环境温度读数被错误地评估为火灾,门可能会自动解锁。

对固件故障作出反应

无论错误来源是什么,在高安全性物联网和工业物联网节点中,微控制器固件都不能容许出错。任何及所有故障均必须进行编码并加以捕获。子例程和函数的输入必须进行清理,所有传感器输入数据必须进行验证。看门狗定时器必须进行编程,以根据已知的运行时间检测耗时过长的锁定或循环代码。 当在高安全性物联网或工业物联网节点中检测到固件故障时,无论该故障是意外的还是故意的,固件都必须尽快捕获该事件。常见的操作包括尝试对故障进行补偿。对于始终超出范围的故障传感器,固件可能会对该传感器设置“跛行模式”,以补偿不良数据,直至可以更换传感器。若固件例程返回错误结果,则可能会重新进行初始化。通常,在网络上发送错误代码,以将问题通知网络主机。 不过,在一些高安全性物联网或工业物联网节点中,存在一类特殊的故障,对于这些故障不能或不应进行补偿或采取对策。这可能包括物理篡改检测、内部校验和失败、一些内置自检 (BIST) 失败,以及任何可能由受损的固件或黑客入侵系统引起的故障。对于这些高安全性的情况,唯一的选择可能是立即安全地关闭节点的电源。当节点未能响应网络请求时,网络主机将确定节点已断电。如果节点在未向主机发送错误报告的情况下断电,并且如果节点忽略重新启动的网络命令,则表示发生了致命故障,必须派遣技术人员对节点进行物理检查以查明原因。 然而,一旦节点断电,所有易失性存储器和状态数据将立即擦除。这使得就算有可能诊断关机原因,也会非常困难。或者,在关闭节点电源之前,可以将诊断数据存储至非易失性存储器,例如 EEPROM 或闪存。而问题是写入这些类型的内存需要时间,在此期间节点必须保持活动状态,可能导致额外的损坏。

用电子纸诊断致命错误

EPD 耗电极少,可用于在节点即将断电前存储并显示错误和诊断信息。节点断电后,EPD 可在没有任何电源的情况下维持其显示图像达数天或数星期之久。通过显示屏上的信息,技术人员可以直观地了解关断的原因,从而确定是否可以安全地给物联网节点上电,或者是否应将其从网络中取出以进行详细分析。 Pervasive Displays 的 E2271CS091 EPD 模块就是一个适用于显示诊断信息的 EPD 示例。该模块可通过 SPI 串行接口连接至任何兼容微控制器,并且带有一块 2.71 英寸 (in.) 高对比度显示屏(图 1)。

E2271CS091 EPD 模块使用有源矩阵薄膜晶体管 (TFT) 显示屏,原生分辨率为 264 x 176 像素,每英寸 117 个像素点 (dpi)。这允许显示屏包含大量信息,以协助技术人员进行诊断。防眩光屏幕具有近 180˚ 的宽视角,方便在不寻常的安装位置轻松查看显示内容。该 EPD 需要 3.0 V 的电源。 主机微控制器通过显示屏的 24 针带状连接器上的 SPI 接口向 EPD 发送数据。这种 SPI 数据通信仅仅是单向的,即从主机微控制器到 EPD。若要从 EPD 传送回主机微控制器,唯一通信方式是带状连接器上的“设备忙”引脚,这大大简化了接口,并提高了所显示诊断数据的可信度。 如果检测到错误或黑客攻击,并且错误严重到需要关闭节点,则必须首先通过固件、看门狗或其他方法捕获错误。然后,必须将控制权移交给向 EPD 发送数据的错误日志记录例程。该错误日志记录例程应该是最高优先级的任务,以防止数据中断或损坏。为了实现最大的可靠性,建议该错误日志记录例程应为完全自足式,不调用外部子例程或函数。理想情况下,错误日志记录例程应位于永久写保护闪存中,以确保代码的完整性,即使是在固件更新之后。 在用错误数据更新 EPD 之前,主机微控制器应先通过 SPI 接口向 EPD 发送软复位命令,以清除显示内容。然后,它以一系列字节序列发送黑白显示信息,字节中的每一位都代表 EPD 上的像素。序列完成后,错误日志记录例程即可关闭微控制器。不同制造商的微控制器有不同的关闭方式,因为这取决于架构和制造商。在某些情况下,出于安全考虑,制造商可能会有未说明的微控制器关闭方式,只能应请求提供。或者,可以使用外部电路来中断微控制器的电源;但是,这会增加系统的复杂性,从而导致可靠性降低。因此,微控制器的固件关断控制是最佳选择。 为了帮助使用 EPD 进行开发,Pervasive Displays 提供了 B3000MS034 EPD 扩展套件(图 2)。该套件有一个扩展板,带有一个用于该 24 针 EPD 显示屏的连接器,并且还有一些连接器可用于其他需要 40 针和 26 针连接器的 Pervasive Displays EPD。该扩展板兼容 Texas Instruments 的 LaunchPad 开发和评估工具套件,但也可以与其他开发工具套件搭配使用。20 针桥接电缆可以连接到 20 针 90˚ 针座连接器,而当焊接到扩展板时,可在开发期间监测发送至 EPD 的控制信号

另一个 EPD 选择是 Display Visions 的 EA EPA20-A(图 3)。

该 EPD 带有一块 172 x 72 灰阶显示屏,并且同样使用 SPI 接口与主机微控制器通信。该 EPD 的功耗极低,需要一个 3.3 V 单电源,并且在显示内容变换期间仅消耗 40 毫瓦 (mW) 的功率。Display Visions 的 EA EPA20-A EPD 也可以不加电而保持显示内容。

总结

高安全性物联网和工业物联网节点有时必须关闭电源,以应对致命的固件错误或检测到的威胁。这可能导致丢失所有易失性数据,包括主机微控制器的内部状态。但是,状态和诊断数据可以在关断前发送至连接的 EPD,并显示数天或数周时间。这样便可为技术人员提供所需的信息,让他们能够确定关断的原因并在必要时采取未来的预防措施,以保护和确保节点及网络的安全。 作者:Bill Giovino 来源:Digi-Key

原文标题:使用电子纸显示屏,指示关键物联网节点中的致命错误和安全受损情况

文章出处:【微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6734

    浏览量

    147371
  • 电子纸显示器

    关注

    0

    文章

    7

    浏览量

    6663

原文标题:使用电子纸显示屏,指示关键物联网节点中的致命错误和安全受损情况

文章出处:【微信号:elecfans,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    psoc63能否不开启蓝牙的时候让蓝牙耗电

    情况下,功耗大概13mA,M4睡眠,M0唤醒的情况下待机功耗7mA。我M0跑起来的时候我是没有开启蓝牙广播的。 我记得之前用62的时候M0跑起来没有这么大的功耗。 好像也就2~3mA。我现在有个疑问,是不是
    发表于 02-19 07:38

    TLE9877控制器高温下出现驱动故障怎么解决?

    错误。 当我没有诊断(相位开路短路检测)的情况下启动电机时,电机启动正常运行。 但是当我开始使用英飞凌
    发表于 01-30 08:16

    将Wdg_17_Scu与BSW集成,如果没有调试微控制器将停止运行的原因?

    下工作)。 我试过的: 我使用配置初始化了 MCU 和 SMU,将 LED 设置闪烁。 连接调试
    发表于 01-23 08:27

    物联网里GPRS模块耗电是很高的,怎么控制功耗?

    物联网里GPRS模块耗电是很高的,那一般都是怎么控制功耗的。
    发表于 11-06 06:39

    AT32微控制器上的各种调试过程信息输出方法

    AT32 Printf Debug Demo介绍了AT32微控制器上的各种调试过程信息输出方法,可满足不具备串口助手条件的调试过程信息
    发表于 10-23 06:19

    NuMicro M2351系列微控制器的安全特色与应用

    NuMicro M2351 系列微控制器以 Arm Cortex-M23 核心,内建 Armv8-M 架构的 TrustZone 技术,并提供 XOM (Execute-Only-Memory
    发表于 08-28 06:24

    NANO100为何在没有设置ISPCON的APUEN位1的情况下也能擦出和写入FLASH存储呢?

    样机却不能保存经过修改后的参数。 2、经过排查程序后,我们程序中设置ISPCON的APUEN位1后,3台样机均能正确保存经过修改后的参数。 所以在此想问一问,这个是不是NANO100芯片内部的BUG呢? 为何在没有设置ISPCON的APUEN位
    发表于 08-24 08:20

    带温度传感器的低功耗电子墨水显示屏(第1部分)

    电子发烧友网站提供《带温度传感器的低功耗电子墨水显示屏(第1部分).zip》资料免费下载
    发表于 07-03 10:20 0次下载
    带温度传感器的低功<b class='flag-5'>耗电</b>子墨水<b class='flag-5'>显示屏</b>(第1部分)

    硕博电子7寸显示屏在随车吊上的应用

    显示屏通过与随车吊的传感器和控制器进行连接,实时获取吊臂角度、起重量、平衡状态等各种参数,并将其以直观的画面或数字形式显示在屏幕上。操作人员可通过观察
    的头像 发表于 06-09 15:48 435次阅读
    硕博电子7寸<b class='flag-5'>显示屏</b>在随车吊上的应用

    S32K148如何计算微控制器最坏情况下的电流消耗?

    (μA/MHz) 是什么意思吗。这是否意味着每 1Mhz IC 将消耗 719mA?(我知道我错了,如果是那样的话,电流将是巨大的!!!! ) 一般来说,我们如何计算微控制器最坏情况下的电流消耗。 #S32K148
    发表于 06-09 07:48

    是否有可用的选项任何软件可以不使用调试当前存在于MC​​UXpresso安全配置工具中的情况下擦除?

    是不可能的,连接是不可能的。编程只能进行一次,然后需要使用调试擦除芯片才能继续。是否有可用的选项任何软件可以不使用调试
    发表于 06-08 10:01

    LPC54606J512BD100微控制器无法连接到目标怎么解决?

    我正在使用LPC54606J512BD100微控制器面临一个非常严重的问题。 问题是,成功对控制器进行编程随机工作后,我无法再次上传代
    发表于 05-31 07:48

    单片机和微控制器有什么区别吗?

    于20世纪70年代中期,经过20多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。 二、微控制器是单片机吗 微控制和单片机是我们经常讨论的计算机核心部件,多数
    发表于 04-13 15:11

    MPC5784G Core2没有复位的情况下无法工作怎么处理?

    我正在使用 MPC5748G 控制器,我正在使用 Core 2 对 TFT 显示器进行编程,我面临的问题是我使用硬件上的 SW1 重置微控制器之前
    发表于 04-06 08:09

    是否可以不修改软件硬件的情况下用MC9S12XA256替换它?

    我有一个问题,你肯定会觉得荒谬但没关系。也许甚至有人问过,但我的研究没有给出任何东西......我经常使用 MC9S12A256 微控制器。我的问题是:是否可以不修改软件硬件的
    发表于 04-03 06:09