3. 医疗设备硬件接口与信号基础
医疗设备采集与控制软件的边界,最终都落在“物理量 ↔ 电信号 ↔ 数字量”这条链路上。软件工程师若只把接口当成驱动 API,很容易在噪声、量程、时序和隔离问题上踩坑。本节从信号链视角梳理传感器、执行器、ADC/DAC、GPIO 与通信接口的原理和选型要点,帮助你在写代码之前先想清楚“信号从哪来、经过什么、精度损失在哪”。
一、从物理量到数字量:完整信号链
以一台多参数监护仪的心电通道为例,信号链大致是:电极拾取 μV~mV 级差分电压 → 仪表放大器(增益约 1000,CMRR > 100 dB)→ 抗混叠低通滤波(如截止 150 Hz)→ ADC 采样(如 500 SPS、24 位 Σ-Δ)→ MCU/SoC 数字滤波与特征提取。任何一环选错,后面软件再补偿也救不回来。
选型时先确定三个量:量程(被测物理量范围)、带宽(信号最高有效频率)、精度(允许误差)。ADC 位数不是越高越好,要结合有效位数(ENOB)和参考电压噪声。例如 3.3 V 参考、16 位 ADC 的理论 LSB 约 50 μV,若前端噪声已达 200 μV,多出的位数只是噪声。
二、传感器与执行器:接口类型决定驱动方式
传感器按输出可分为模拟型、数字型和开关型。模拟型(如热电偶、应变片)需要 ADC 配合,重点在激励与冷端补偿;数字型(如 I²C 温度传感器 TMP117、SPI 压力传感器)直接输出校准后的数值,软件只需处理总线时序和寄存器映射;开关型(如光电门、限位开关)走 GPIO 或中断,重点在去抖和边沿检测。
执行器侧常见的是电机、电磁阀、加热片和泵。以步进电机为例,软件通过 GPIO 输出脉冲(STEP)和方向(DIR),或经 PWM 调节占空比控制转速。选型时要确认驱动电流是否超过 MCU 引脚能力——多数 MCU 单脚仅 4~20 mA,驱动继电器或电磁阀必须加三极管/MOSFET 或专用驱动芯片,并考虑续流二极管抑制反电动势。
三、ADC/DAC:精度、速度与参考源的三角权衡
ADC 选型先看架构:逐次逼近(SAR)适合 1 MSPS 以内、12~18 位的中速场景,如血压袖带压力采样;Σ-Δ 适合低速高精度,如 24 位称重或心电;流水线型用于高速示波类应用。DAC 则常用于控制电压输出,如驱动比例阀或校准信号源,重点看建立时间、分辨率和输出驱动能力。
实际配置时,参考电压的稳定性直接决定绝对精度。若用 MCU 的 VDDA 作参考,电源纹波会直接调制结果;高精度通道应使用外部基准(如 REF5025,温漂 3 ppm/°C)。采样率与抗混叠滤波器要匹配:若信号带宽 100 Hz,采样 500 SPS,则抗混叠截止应设在 250 Hz 以下,否则高频噪声会折叠进带内。
// 示例:STM32 ADC 单通道连续采样配置要点(参数为教学示例)
// 采样时间:239.5 周期,适合高阻抗传感器
// 分辨率:12 位,参考电压:外部 2.5 V
// 采样率 = ADC_CLK / (采样周期 + 转换周期)
// 若 ADC_CLK = 12 MHz,总周期 = 239.5 + 12.5 = 252
// 采样率 ≈ 47.6 kSPS,满足 10 kHz 以内信号采集
四、GPIO、串口、USB、以太网:数字接口的分工
GPIO 是最基础的接口,用于按键、指示灯、继电器控制和中断输入。医疗设备中,GPIO 常承担“安全联锁”角色,例如门开关检测、急停信号。配置时要明确上拉/下拉、驱动能力、是否复用为外设功能,并注意 3.3 V 与 5 V 电平兼容。
串口(UART)适合点对点低速通信,如与流量计、蠕动泵控制器通信,典型 9600~115200 bps,需约定波特率、数据位、停止位和校验。USB 适合与 PC 或模块通信,医疗设备中常见 CDC 虚拟串口或 HID 类;以太网则用于多设备组网、影像传输和远程监护,需关注 TCP/UDP 选择、心跳机制和网络隔离。
| 接口 | 典型速率 | 医疗设备典型用途 | 选型关注点 |
|---|---|---|---|
| GPIO | — | 按键、联锁、继电器 | 电平、驱动电流、中断 |
| UART | 9.6k~115.2k bps | 泵、传感器模块 | 波特率、校验、隔离 |
| USB | 12~480 Mbps | PC 通信、数据导出 | 类驱动、供电、EMC |
| 以太网 | 100 Mbps~1 Gbps | 监护组网、影像传输 | 协议、实时性、隔离 |
五、选型检查清单
面对一个新通道,可以按以下顺序快速决策:先确定被测物理量和带宽,再选传感器输出类型;根据精度要求反推 ADC 位数和参考源;根据通信距离和实时性选数字接口;最后核对供电、隔离和 EMC 约束。把这条链路画在纸上,比直接翻驱动手册更省时间。