构建可靠的电池供电型临床级无线温度计,实现持续监测
投稿人:DigiKey 北美编辑
2019-04-23
对于医疗服务提供者和患者而言,监测患者体温是必要的,但这种做法会造成干扰。无线温度计能够在临床环境和家中,以非侵入方式定期测量体温,这种功能会深受医疗服务提供者和患者的欢迎。然而,对于开发人员来说,相应的解决方案往往无法满足对高精度以及长时间低功耗无线操作的需求,因而难以确保满意的用户体验。
本文将介绍临床级温度计的关键要求,并说明开发人员如何结合使用 Texas Instruments 的高精度数字温度传感器与无线微控制器,来满足这些似乎完全矛盾的要求。
临床级温度计要求
在医疗保健领域,体温与心率、血压和呼吸频率一起并列为四大主要生命体征。体温除了可用来辨别感冒或流感等疾病以外,也是一种重要的临床指标。体温的微小变化,可以是判断患者对用药或输血等治疗有不良反应的最早指征。因此,若要确保持续护理以及在出现并发症时发出需要干预的信号,精确的体温测量必不可少。
体温微小变化的意义非常重要,因此临床级温度计必须满足 ASTM E1112 和 ISO-80601-2-56 标准中规定的精度和校准要求。ASTM E1112 标准由 ASTM International(前身为美国检测与材料协会)制定,要求用于临床应用的温度计必须满足以下各温度范围的最大误差率要求:
- 在 37.0˚C 至 39.0°C 温度范围内(通常表明轻微至中度发热),最大误差为 ±0.1°C
- 在 35.8˚C 至 36.9°C 温度范围内(在某些个体中可能表明体温过低),最大误差为 ±0.2°C
- 在 39.1˚C 至 41.0°C 温度范围内(表明更严重的身体状况,包括高烧或体温过高),最大误差为 ±0.2°C
- 在体温低于 35.8°C 或高于 41.0°C 时,最大误差为 ±0.3°C
尽管临床级体温监测在临床上非常重要,但它过去依赖昂贵的床边监护仪来提供所需的精度级别。为持续监测体温,医疗服务提供者不得不给患者接上电缆,而在某些环境(如新生儿病房)中,这样做至少是不方便的,甚至是不可能的。无线温度监测可以是一种有效的替代方案,但开发人员一直很难创建能够同时满足诸多要求的无线设计。除了要满足临床级精度和低功耗电池工作的基本要求外,此类无线监测器的设计还必须确保患者的舒适度,在持续几小时甚至几天的工作期间始终不会对患者造成干扰,并且确保电池寿命可保证长时间的可靠工作。对于可满足这些要求的设计,Texas Instruments 的 TMP117MAIDRVT 温度传感器可用作关键的支持组件。
临床级温度传感器
TMP117MAIDRVT(下文简称 TMP117)将模拟温度传感子系统与 I2C 串行接口、EEPROM 和控制逻辑组合在一起,还具有可编程的警报功能,能够在温度超出指定范围时发出信号。在该温度传感子系统中,传感器调节电路将双极结型晶体管 (BJT) 硅带隙温度传感器的输出,提供给 16 位片上模数转换器 (ADC)(图 1)。
图 1:Texas Instruments 的 TMP117 集成了所需的全部模拟和数字元器件,能够以最低功耗提供高精度温度测量功能。(图片来源:Texas Instruments)
TMP117 专为支持临床应用而设计,能够完全满足 ASTM E1112 和 ISO-80601-2-56 标准对临床用电子温度计的要求。该器件不仅可在 37.0°C 至 39.0°C 范围内满足 ±0.1°C 最大误差要求,而且能在 -20°C 至 50°C 范围内实现该精度水平,而无需任何校准。TMP117 在建议的 -55°C 至 150°C 整个工作范围内具有出色的精度性能,因此甚至可以充当 AA 类电阻温度检测器 (RTD) 的替代品(图 2)。
图 2:Texas Instruments 的 TMP117 数字温度传感器设计符合临床级电子温度计的标准,在其工作温度范围内的精度超出了 AA 级 RTD 的精度。(图片来源:Texas Instruments)
TMP117 采用 2 mm x 2 mm 尺寸的 6 引脚封装,工作电压为 1.8 至 5.5 伏,平均电流消耗只需 3.5 微安 (µA)(转换速率为 1 赫兹 (Hz)),而在关断模式下只需 150 纳安 (nA)。此外,开发人员可以使用该器件的单次转换功能,最大限度地延长 TMP117 处于超低功耗关断模式的时间。
单次模式可使器件在活动转换阶段后立即进入关断模式。相比之下,该器件默认的连续转换模式可使其在一段可编程时间内,在 1.25 μA 待机模式下保持活动状态。在单次模式下,每次温度测量都涉及一个活动转换阶段,大约持续 15.5 毫秒 (ms),共消耗约 135 μA 电流。
这两种模式使开发人员能够通过牺牲功耗换取更高的转换速率,而平均模式让他们能够通过牺牲功耗换取更高的噪声抗扰度。在平均模式下,该器件会自动执行 8 次连续的转换,生成平均结果。使用这种模式时,器件能够在转换后的数字结果中实现最低有效位 (LSB) 为 ±1 的可重复性,而在非平均模式下 LSB 为 ±3。
设计挑战
借助单次模式和平均模式等集成功能,TMP117 可在 2 mm x 2 mm WSON(小型超薄无铅)封装中提供完整的数字温度测量传感器,并且仅采用 6 个引脚: V+ 电源、接地、串行数据、串行时钟、串行总线地址选择和警报功能。因此,硬件接口设计所需的工作量不会超过任何典型 I2C 串行器件所需的工作量。然而在实践中,相对而言,这种或任何其他高精度温度传感器的设计挑战,更多存在于为热管理而优化的物理布局设计中,而不是硬件接口的设计中。
板载热管理功能:数字温度计的一个有趣问题
对于体温传感器,其设计必须尽可能减少来自其他热源的导热路径,同时最大化对患者的导热率。为了尽可能减小来自其他热源的影响,开发人员可以将传感器安装在远离主板的 PC 板狭窄支臂的末端。这样可以有效地使传感器与主设计中的热源相互隔热。然而,即使有理想的隔热机制,任何电子器件也会受到自热效应的影响,从而可能有损温度传感器的精度。而 TMP117 的低功耗特性有助于在此情况中最大限度地减小自热效应。随着时间的推移,该器件的自热反应与其供电电压成比例上升,但变化只有毫摄氏度水平 (mC)(图 3)。开发人员通过使用单次模式,可以缩短器件的有源工作时间,使自热效应保持在个位数的 mC 水平。
图 3:与任何半导体器件一样,Texas Instruments 的 TMP117 数字温度传感器也产生自热效应,随着供电电压的增高而提升。不过,这些效应保持在毫摄氏度水平。(图片来源:Texas Instruments)
更困难的设计挑战在于,如何优化器件与患者皮肤之间的导热路径。为帮助提高向底层板或组件的导热率,该器件封装包括大型裸露导热垫,该导热垫并不接地,而是纯粹用于提高经由该封装到 BJST 硅带隙传感器的传热性能。Texas Instruments 建议在器件的导热垫下面填充固体覆铜,以优化该器件与 PC 板之间的导热路径。
然而,对于与皮肤接触的最终触头,TI 建议使用过孔和采用生物相容性材料(如导热聚合物)的最后涂层,而不是继续使用覆铜。这是因为铜可能会引起皮肤发生腐蚀或其他反应。最后建议使用的组件是简单的双层层叠,旨在降低制造成本,同时在器件与皮肤之间提供必要的导热率(图 4)。
图 4:为了确保可靠传热及快速响应皮肤温度的变化,这一有效热设计使用了带导热底部填充胶或气隙(如适用)的层叠和一对过孔,来提高器件与患者皮肤之间的导热率。(图片来源:Texas Instruments)
低功耗无线数字温度计的参考设计
Texas Instruments 在无线临床级温度计的综合性参考设计中,演示了如何将 TMP117 与适当的热管理方法配合使用。在此设计中,Texas Instruments 将 TMP117 与低功耗的 Texas Instruments CC2640R2F 蓝牙微控制器一起结合使用。除了用作主处理器的 Arm® Cortex®-M3 32 位内核外,CC2640R2F 还集成了专用的射频 (RF) 内核子系统及其自身专用的 Arm Cortex-M0 内核和 RF 收发器(图 5)。
图 5:Texas Instruments 的 CC2640R2F 无线微控制器结合了主处理器和射频 (RF) 内核,为传感器(如 Texas Instruments TMP117)提供单芯片无线连接解决方案。(图片来源:Texas Instruments)
借助该 MCU 本身集成的功能,此设计只需使用一个 3 伏薄膜电池(如 Molex 的 0132990001)和几个额外的无源元器件,即可提供完整的电池供电解决方案。构建的设计可通过医用胶带粘附在人体上,提供连续几天的持续监测,尽管薄膜柔性电池的容量相对有限。该参考设计提供的完整解决方案使用带上述加长支臂的柔性 PC 板,对 2 mm x 2 mm TMP117 IC 进行隔热(图 6)。
图 6:Texas Instruments 的无线温度计参考设计提供了柔性印刷电路板的硬件原理图和布局设计文件,该电路板可通过医用胶带粘附到患者的皮肤,用于持续测量体温。在规格方面,请注意 TMP117 的尺寸是 2 mm x 2 mm。(图片来源:Texas Instruments)
TI 还提供了一个相关的样例应用程序,演示如何使用蓝牙广告协议,将皮肤贴片的温度读数传输到移动设备。蓝牙广告协议旨在向附近的蓝牙设备提供短信息,允许开发人员向标准蓝牙广告包添加几个字节的数据。
该样例软件在 TI-RTOS 工作环境中构建,其中包括一个模块 tida_01624.c
,该模块演示了如何使用 TI 的低功耗蓝牙 (BLE) 堆栈,在蓝牙广告包中传输 TMP117 温度读数。虽然使用 BLE 堆栈可能比较复杂,但该 TI 软件架构可将通过堆栈的数据流抽象化。对于具体的应用程序实例 SimplePeripheral
,该应用程序在任务函数 SimplePeripheral_taskFxn()
中的主循环内执行。在初始化该应用程序后,软件框架的事件管理服务会将控制流带到一段代码中,该代码会读取 TMP117 传感器 (sensorRead()
),将生成的温度测量值加载到广告包的有效载荷中,并使用生成的数据包启动蓝牙广告(清单 1)。
复制 static void SimplePeripheral_taskFxn(UArg a0, UArg a1) { // Initialize application SimplePeripheral_init(); // Application main loop for (;;) { uint32_t events; // Waits for an event to be posted associated with the calling thread.// Note that an event associated with a thread is posted when a // message is queued to the message receive queue of the thread events = Event_pend(syncEvent, Event_Id_NONE, SBP_ALL_EVENTS, ICALL_TIMEOUT_FOREVER); if (events) { ...if (events & SBP_PERIODIC_EVT) { uint16_t uiTempData; Util_startClock(&periodicClock); // Read the last converted temperature and then start the next // temperature conversion.uiTempData = sensorRead(); // Update the Auto Advertisement Data advertData[9] = (uiTempData & 0xFF00) >> 8; advertData[10] = uiTempData & 0xFF; GAPRole_SetParameter(GAPROLE_ADVERT_DATA, sizeof(advertData), advertData); // Perform periodic application task SimplePeripheral_performPeriodicTask(uiTempData); } } } }
清单 1:Texas Instruments 的无线温度计样例应用程序演示了 TI 蓝牙堆栈框架的使用。该框架将应用程序构建到一个主循环中,该循环用于调用开发人员的代码来读取传感器数据,在本例中是在发生事件(如定时器到期)时调用。(代码来源:Texas Instruments)
除了基本的初始化和配置外,与 TMP117 的软件交互也简单直接。例如,上述应用程序主循环中使用的 sensorRead()
函数只简单地执行用于传输测量结果的 I2C 事务(清单 2)。
复制 static uint16_t sensorRead(void) { uint16_t temperature; uint8_t txBuffer[3]; uint8_t rxBuffer[2]; I2C_Transaction i2cTransaction; /* Point to the T ambient register and read its 2 bytes */ txBuffer[0] = TMP117_OBJ_TEMP; i2cTransaction.slaveAddress = Board_TMP_ADDR; i2cTransaction.writeBuf = txBuffer; i2cTransaction.writeCount = 1; i2cTransaction.readBuf = rxBuffer; i2cTransaction.readCount = 2; if (I2C_transfer(i2c, &i2cTransaction)) { /* Extract degrees C from the received data; see TMP117 datasheet */ temperature = (rxBuffer[0] << 8) | (rxBuffer[1]); /* * If the MSB is set '1', then we have a 2's complement * negative value which needs to be sign extended 7.8125 mC */ if (temperature & 0x8000) { temperature ^= 0xFFFF; temperature = temperature + 1; } } else { Display_printf(dispHandle, 0, 0, "I2C Bus fault"); } /* Start the next conversion in one-shot mode */ txBuffer[0] = TMP117_OBJ_CONFIG; txBuffer[1] = 0x0C; txBuffer[2] = 0x20; i2cTransaction.slaveAddress = Board_TMP_ADDR; i2cTransaction.writeBuf = txBuffer; i2cTransaction.writeCount = 3; i2cTransaction.readBuf = rxBuffer; i2cTransaction.readCount = 0; /* Wait for the I2C access for configuration.If it fails * then sleep for 1 second and try again.This is a must * to do before reading the device.*/ while(!(I2C_transfer(i2c, &i2cTransaction))); return(temperature); }
清单 2:在 Texas Instruments 的无线温度计样例应用程序中,用于读取 TMP117 传感器数据的函数只需调用几次 I2C 软件服务。(代码来源:Texas Instruments)
除了演示蓝牙堆栈和 TI-RTOS 的使用外,样例软件还提供了现成的应用程序,用于将温度读数传输到运行 TI SimpleLink SDK Explorer 移动应用程序(具有 iOS 和 Android 两种版本)的移动设备。除了预建的应用程序,TI 还针对每种移动平台提供了含完整源代码的 SimpleLink SDK Explorer 应用程序分发包,以及适用于 CC2640R2 MCU 的 TI SDK Explorer Bluetooth 插件。
总结
由于无法同时满足测量精度高和电池寿命长的需求,一直难以设计出对用户友好且有效的临床级无线温度计。Texas Instruments 的 TMP117 温度传感器具有低功耗和临床级精度,因此提供了一种有效的解决方案。正如在综合性参考设计中所演示,开发人员可以结合使用 TMP117 与 Texas Instruments 的 CC2640R2 无线蓝牙微控制器,构建适用于医疗应用的完整无线温度计设计。
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。