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

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

3天内不再提示

将风险降至最低:嵌入式软件和当今的医疗设备

星星科技指导员 来源:嵌入式计算设计 作者:Stephen Olsen 2022-10-26 14:21 次阅读

安全关键型软件和 SoC – 对于下一代医疗设备,直线和狭窄的路径是什么?

嵌入式开发人员在开发医疗嵌入式设备时面临着多个决策,从选择最佳系统软件以获得最佳应用性能,到了解软件操作系统与目标硬件之间的交互和限制。软件工程师应该使用小型微内核、实时操作系统 (RTOS) 还是通用操作系统 (GPOS),如安卓或 Linux?其他考虑因素包括系统的物理尺寸,以满足便携性和功能要求,包括更快的性能、功耗、数据保护和显示(用户界面)技术。影响嵌入式软件选择的FDA认证和行业标准也参与其中。

现代医疗设备正在以创纪录的速度发展。从供患者在家中使用的便携式无线设备到医疗专业人员在设施中使用的更大更复杂的设备,毫无疑问,我们处于开发新方法以增强患者和医疗专业人员能力的最前沿。我们如何确保控制这些设备的系统软件完全按计划运行,几乎没有伤害患者的风险?

问题的核心:操作系统

通常,操作系统 (OS) 管理医疗嵌入式设备。操作系统可以从一些有进取心的软件程序员内部构建的简单“滚动自己的”到来自已建立的供应商的更复杂的操作系统。GPOS(如 Linux 或 Android)为应用程序开发建立了一个功能丰富的平台,但有时消耗的内存比必要的要多。RTOS也是现代医疗设备的不错选择,特别是当特定的系统要求需要确定性的抢占式内核和较小的内存占用量时。在混合中的某个地方,您的应用程序和硬件有一个理想的候选者。有一件事是肯定的:在选择操作系统之前,请确切地知道应用程序的意图和您计划使用的硬件。

设备将如何使用?

在开发嵌入式系统时,将风险降至最低的一种方法是首先考虑其用例 - 不仅要考虑最终用户将如何与它交互,还要考虑如何设计,开发和测试它。该设备将主要由医疗保健提供者使用,由家中的患者使用,还是两者兼而有之?

设备是否具有通信模式或纯粹是独立的?根据其通信需求,您可能会发现首选操作系统包含许多您需要的模式,或者您可能更喜欢其他操作系统,在这种情况下,您必须通过通信堆栈和/或驱动程序进行移植才能获得正确的通信软件组合。

是否确定了任何实时需求?对于某些设备,不需要实时行为。如果延迟 100 毫秒处理中断,则结果可能会延迟 100 毫秒,但这不会导致失败。但是,如果它是参与眼科手术的激光,如果激光不能在精确的时间打开和关闭,这可能会产生灾难性的影响。如果激光具有眼动追踪引导,则即使在存在眼球运动的情况下,激光也必须以预定义的模式同步移动。

也许该设备是关键设备,因此对成本的敏感性最小。相反,手持式且销售量达到数百万的设备对成本具有很高的敏感性。这些类型的考虑因素将直接影响最小化 BOM 的需求,这反过来又可能导致最小化内存,从而最大限度地减少有效构建完整应用程序所需的内存。

一切都与硬件有关

定义用例后,就该找到合适的硬件了。医疗系统可以非常小,8位微控制器时钟频率低于25 MHz,并且仅使用8K的内存。更复杂的设计可以包括功能丰富的SoC,时钟频率为数百MHz和兆字节的内存。系统范围包括具有专用处理器DSP的混合系统,以及包含众多多核芯片的系统。

最适合您的设计的因素来自用例和对您希望系统如何表现的期望。

多核是必要的吗?

对于选择多核的两个主要原因 - 纯处理性能和低功耗管理 - 第三个原因可以添加,即两者的结合。

如果您担心低功耗,您可能希望使用多核SoC,因为它可以在较低的时钟频率下利用所有可用内核,而不是以更高的频率为主处理器计时。当不需要时,它可以关闭额外的内核以节省功率。

虽然功耗和性能都是使用多核的好理由,但问题更多的是关于找到分配CPU的最佳方式。使用对称硬件,您可以在所有可用内核上使用单个操作系统作为对称多核处理 (SMP) 的一种类型。大多数 GPOS 和某些 RTOS 都具有此功能。然而,使用SMP可能会使跨内核的调度复杂化,因为由于一个内核中的缓存未命中而导致的实时命中可能导致另一个内核中的缓存刷新,这总是导致系统中的延迟。自旋锁等功能是所有支持 SMP 的操作系统所共有的。如果使用不当,自旋锁可能会损害系统性能,因为一个内核会停滞一段时间,等待另一个内核上的资源被释放。

构建系统的另一种方法(即使使用对称硬件)是应用非对称多核处理(AMP)技术。这种方法涉及两个或多个独立的操作系统,使用硬件(如一系列 FIFO)或通过共享内存通过某种类型的通信通道进行交互。有一个标准使应用程序开发通过多核关联(称为多核通信 API (MCAPI))进行可移植。

当硬件和软件世界发生碰撞时

考虑这样一种情况:与 Windows 主机具有 USB 连接的医疗设备通常遵循 USB 规范,但是当 SoC 的所有部分被激活时,硬件间歇性地开始发出规范之外的信号,使得主机在会话过程中关闭端口,从而在最不合时宜的时间(在患者数据收集期间)导致故障。由于结果丢失,患者提前24小时为原始程序做了特殊准备,必须准备重新测试。

造成港口关闭的根本原因有两个。首先,软件假设USB控制器不会出现故障。其次,系统架构没有为在会话过程中拔下设备的情况进行规划。如果系统考虑了这些用例中的任何一个,系统就会在本地存储数据,从而允许在重新建立会话后进行传输,从而最大限度地降低患者可能重新测试的风险。

该应用程序依靠USB控制器的完美操作来防止数据丢失。如果应用程序已分解为多个部分,则可能会避免数据丢失。在数据收集和数据传输不相互关联的架构中,即使链路断开,数据仍存储在设备中,因此当它恢复时,它可以从中断的地方继续,而不会丢失任何数据。在传输到主机之前,在后台对缓冲区进行写入是避免在这种情况下丢失数据的一种方法。

如果使用软件变通办法来检测 USB 总线挂起,则该变通办法可以将 SoC 引脚从 USB 模式中取出,并使其成为 GPIO 引脚,以便主机可以检测到重置条件并强制重新枚举设备。然后,USB 软件将重新提交缓冲区,并且传输将恢复。最终结果是数据不会丢失,只是在解决方法发生时延迟。

可移植性注意事项

操作系统管理系统的硬件和软件资源。最基本的管理是记忆和时间。但是,操作系统的责任在哪里停止,应用程序的责任从哪里开始呢?虽然应用程序可以内置设备驱动程序并直接与硬件通信,但随着设备的发展和使用更新的硬件,移植到新硬件成为一项挑战。因此,建议系统中的大多数(如果不是全部)设备由操作系统管理,以确保将来的可移植性。

法规和患者隐私

对便携性的需求包括用于连接的 GSM 无线电或 802.11 无线接口等无线设备。其他包括蓝牙ZigBee,这些链接也必须是安全的,并提供患者隐私。即使在设备本身中,也必须只有有权看病人的医生才能真正看到病人的数据。禁止未经授权的访问也是任何设备的关键要求。记录是否安全,即使对于在设备上工作的技术人员也是如此?是否有任何模式使此数据不安全?真正的健康保险流通与责任法案 (HIPPA) 合规性是确保信息安全至关重要。患者记录数据库内部的安全性也是如此。

结论

医疗设备是一种特殊的品种,它将以某种方式触及我们所有人。在设计这些系统时,我们需要格外小心,以确保设备能够实现其预期功能。使用 RTOS 或 GPOS 来满足确定性、大小、启动时间、功耗优化和可用中间件的广度要求是否有意义?最后,为了最大限度地降低风险,我们需要确保遵守HIPA和FDA的所有法规。

审核编辑:郭婷

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

    关注

    5076

    文章

    19048

    浏览量

    303901
  • soc
    soc
    +关注

    关注

    38

    文章

    4132

    浏览量

    218000
  • 操作系统
    +关注

    关注

    37

    文章

    6756

    浏览量

    123224
收藏 人收藏

    评论

    相关推荐

    嵌入式系统的未来趋势有哪些?

    (ML)技术的快速发展,嵌入式系统更多地整合这些先进技术,以支持智能决策和自动化。在设备上直接运行AI和ML模型,进行图像识别、自然语言处理、预测分析等任务,极大提升
    发表于 09-12 15:42

    嵌入式热门领域有哪些?

    师提供了独特的事业机遇,同时也为行业的技术发展和应用前景带来了无限可能。 智能医疗 嵌入式系统在智能医疗领域的应用也备受瞩目。通过嵌入式
    发表于 07-16 09:23

    嵌入式工控主板在智慧医疗诊断设备中的应用

    嵌入式工控主板在智慧医疗诊断设备中的应用广泛且深入,其高集成度、低功耗、高性能等特点使得它成为现代医疗设备中不可或缺的一部分。以下是对
    的头像 发表于 07-11 10:51 391次阅读
    <b class='flag-5'>嵌入式</b>工控主板在智慧<b class='flag-5'>医疗</b>诊断<b class='flag-5'>设备</b>中的应用

    嵌入式系统怎么学?

    嵌入式系统怎么学? 随着物联网、智能制造等新技术的兴起,嵌入式系统的应用范围更加广泛。包括但不限于工业控制、汽车电子、医疗设备、智能家居、智慧城市、消费电子、通信
    发表于 07-02 10:10

    嵌入式开发就业前景怎么样?

    嵌入式开发的主要工作是开发各种医疗设备和系统,如医疗影像、医疗机器人、远程诊疗等。嵌入式开发人
    发表于 06-07 14:51

    嵌入式热门发展方向有哪些?

    和远程医疗:通过嵌入式传感器嵌入到患者身体或健康监测设备中,可以实现对患者健康状态的长期监测和远程传输。这有助于及时发现患者的健康问题,并
    发表于 04-11 14:17

    嵌入式会越来越卷吗?

    广泛应用的态势。这种系统在我们日常生活中随处可见,从智能手机到智能家居设备,再到工业自动化和医疗保健领域的应用,无不显现出其重要性和广泛性。这种广泛应用的态势或许会继续推动嵌入式系统进入新的领域
    发表于 03-18 16:41

    嵌入式软件设计的原则分享

    嵌入式软件开发如果具有更好的阅读性、扩展性以及维护性,就需要考虑很多因素。今天给大家分享几个嵌入式软件设计的原则。
    发表于 02-25 10:54 669次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>设计的原则分享

    嵌入式系统发展前景?

    的发展前景也十分广阔。 随着物联网和智能设备的快速发展,嵌入式系统更为普遍地应用于各种设备和设施,包括家用电器、医疗
    发表于 02-22 14:09

    嵌入式软件开发应该掌握哪些知识?

    两个部分组成,其中嵌入式软件是指在嵌入式系统中运行的程序,用于控制硬件并提供特定的功能和服务。嵌入式软件应用广泛,包括汽车、
    发表于 02-19 11:23

    嵌入式学习步骤

    硬件组件。 (4).开发固件:编写嵌入式系统的固件,这是嵌入式系统的软件部分。固件负责控制硬件并执行特定任务。 (5).调试和测试:在嵌入式
    发表于 02-02 15:24

    嵌入式软件开发和软件开发的区别

    嵌入式软件开发和软件开发是两个不同的概念,它们在一些关键方面有着明显的区别。嵌入式软件开发是指开发嵌入
    的头像 发表于 01-22 15:27 2215次阅读

    啥是嵌入式嵌入式都有啥?薪资如何?前景如何

    嵌入式系统(Embedded Systems)是一种特殊类型的计算机系统,被嵌入到其他设备或系统中,用于执行特定的任务或控制特定的功能。这些系统通常设计用于特定的应用领域,具有特定的硬件和软件
    的头像 发表于 01-17 16:39 887次阅读
    啥是<b class='flag-5'>嵌入式</b>?<b class='flag-5'>嵌入式</b>都有啥?薪资如何?前景如何

    聊聊嵌入式软件分层

    今天以控制LED闪烁为例,聊聊嵌入式软件分层
    的头像 发表于 12-28 09:22 646次阅读

    嵌入式硬件和软件哪个好?

    ,他的领域是比较广泛的,在一些消费电子,通讯设备等这些方面。因为领域大,相对而言就业领域也是比较大的,人才需求量也是一样。嵌入式软件工程师相对于硬件工程师来说,人才需求比硬件工程师要大,软件
    发表于 12-05 15:17