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的所有法规。

审核编辑:郭婷

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

    关注

    5186

    文章

    20169

    浏览量

    329106
  • soc
    soc
    +关注

    关注

    38

    文章

    4518

    浏览量

    227682
  • 操作系统
    +关注

    关注

    37

    文章

    7332

    浏览量

    128673
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Amphenol RF嵌入式芯片天线:小身材大作用

    Amphenol RF嵌入式芯片天线:小身材大作用 引言 在当今的电子设备中,天线作为无线通信的关键部件,其性能和尺寸对设备的整体表现起着至关重要的作用。Amphenol RF推出的
    的头像 发表于 12-11 11:20 143次阅读

    医疗嵌入式软件研发以后好跳槽吗?

    医疗嵌入式软件研发,以后想跳槽一点儿也不难。别看医疗行业门槛高、规矩多,你手里攒下的那套本事,到哪儿都吃得开。嵌入式这东西,甭管在哪个行当
    的头像 发表于 12-03 11:04 275次阅读
    做<b class='flag-5'>医疗</b><b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>研发以后好跳槽吗?

    CW32嵌入式软件开发的必备知识

    嵌入式软件开发作为计算机科学和电子工程的交叉领域,要求开发人员具备一系列的专业知识和技能。 而基于CW32的嵌入式软件开发必备知识包括以下部分: 1 、编程语言 熟练掌握C(C++
    发表于 11-28 07:48

    医疗手持设备离不开嵌入式条码扫描模组的集成应用

    医疗行业数字化转型加速的当下,高效、精准的信息管理成为提升诊疗质量与工作效率的核心需求。而医疗手持设备作为医护人员日常工作的“移动助手”,其功能升级离不开关键组件的支撑——嵌入式条码
    的头像 发表于 11-04 14:58 107次阅读
    <b class='flag-5'>医疗</b>手持<b class='flag-5'>设备</b>离不开<b class='flag-5'>嵌入式</b>条码扫描模组的集成应用

    嵌入式软件测试与专业测试工具的必要性深度解析

    环节。随着嵌入式系统在汽车、医疗、军工等关键领域的广泛应用,专业测试工具的投资将带来显著的质量提升和风险降低,是嵌入式开发过程中不可或缺的重要组成部分。
    发表于 09-28 17:42

    AMD 2025.1版嵌入式软件和工具的新增功能

    AMD 2025.1 版嵌入式软件和工具是面向新一代嵌入式系统开发而打造的综合平台,全面加速概念构想到部署落地。
    的头像 发表于 08-15 15:32 1053次阅读

    入行嵌入式应该怎么准备?

    想入行嵌入式该怎么准备。很能理解大家对于嵌入式的关注,嵌入式系统是当今科技领域中的重要组成部分,它存在于我们生活的方方面面,各行各业。智能化时代的到来也让
    发表于 08-06 10:34

    嵌入式开发就业还有前景吗?

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

    嵌入式开发入门指南:从零开始学习嵌入式

    特定功能的计算机系统,广泛应用于智能家居、工业控制、医疗设备、车载系统等领域。 2. 学习嵌入式开发的前置知识熟悉C语言编程掌握基本的数据结构与算法了解数字电路与微控制器原理熟悉Linux操作系统
    发表于 05-15 09:29

    嵌入式软件行业增长驱动因素

    嵌入式软件在物联网应用中至关重要,因为它管理设备操作、控制传感器、支持连接并确保数据安全。例如,在智能家居中,恒温器、安全摄像头和灯光等设备使用嵌入
    的头像 发表于 05-09 11:26 674次阅读

    嵌入式软件工程师就业好不好?

    、智能医疗设备等,都离不开嵌入式软件的支持。预计2025年,物联网设备的数量呈爆发式增长,这将
    发表于 02-20 10:19

    嵌入式主板:智能设备的“大脑”,驱动未来无限可能

    当今这个万物互联的时代,嵌入式主板作为智能设备的“大脑”,正悄然改变着我们的生活。从智能家居到工业自动化,从医疗设备到交通系统,
    的头像 发表于 02-07 11:34 831次阅读
    <b class='flag-5'>嵌入式</b>主板:智能<b class='flag-5'>设备</b>的“大脑”,驱动未来无限可能

    嵌入式机器学习的应用特性与软件开发环境

    设备和智能传感器)上,这些设备通常具有有限的计算能力、存储空间和功耗。本文您介绍嵌入式机器学习的应用特性,以及常见的机器学习开发软件与开发
    的头像 发表于 01-25 17:05 1231次阅读
    <b class='flag-5'>嵌入式</b>机器学习的应用特性与<b class='flag-5'>软件</b>开发环境

    嵌入式好找工作吗?

    功能稳定且智能化运行,再到工业领域里的自动化生产线,靠嵌入式设备精准控制生产流程,还有医疗设备中那些辅助诊断、精准治疗的仪器等。可以说,它横跨了消费电子、汽车、工业、
    发表于 12-16 15:43

    新手怎么学嵌入式?

    新手怎么学嵌入式? 在科技飞速发展的今天,嵌入式技术已经渗透到我们生活的各个角落,从智能手机到智能家居,从汽车电子到医疗设备。对于新手而言,嵌入式
    发表于 12-12 10:51