3. 系统架构设计

多参数监护设备的系统架构设计,本质上是在“信号从哪里来、经过哪些处理、最终以什么形式呈现和传输”这条主线上,把整机拆解为职责清晰、接口明确、可独立验证的若干层。合理的分层不仅决定硬件选型与软件任务划分,也直接影响信号质量、报警实时性、电磁兼容性和后期维护成本。工程上通常把整机划分为六个层次:传感器层、前端采集层、主控处理层、显示交互层、报警输出层和网络传输层。分层的基本原则是:每一层只依赖下一层提供的标准化接口,不跨层直接访问底层资源,从而把生理信号链与数字处理链解耦。

一、分层结构与信号流向

传感器层是整机的物理入口,负责把生理量转换为电信号。典型对象包括心电电极与导联线、血氧探头(红光 660 nm / 红外光 940 nm 双波长 LED 与光电二极管)、无创血压袖带与压力传感器、体温探头(NTC 热敏电阻或热电偶)、呼吸阻抗电极以及呼末二氧化碳传感器等。这一层的输出是幅度小、阻抗高、易受干扰的模拟信号,例如心电信号典型幅度仅 0.5~5 mV,源阻抗可达数十千欧。

前端采集层紧贴传感器,承担信号调理与数字化。其内部按通道划分模块:心电通道包含仪表放大器、右腿驱动电路、0.05~150 Hz 带通滤波与 50/60 Hz 陷波;血氧通道包含 LED 恒流驱动、时分复用采样与 I-V 转换;血压通道包含泵阀驱动、压力桥式放大与过压保护。各通道经独立 ADC 采样后,通过 SPI 或 I²C 总线送入主控。前端层的关键指标是输入等效噪声、共模抑制比(CMRR 通常要求 ≥ 80 dB)和通道间串扰。

主控处理层是整机的计算与调度中心,通常由一颗主控 MCU/SoC 加一颗实时协处理器构成。主控负责参数算法(QRS 检测、SpO₂ 比值计算、NIBP 振荡法包络分析)、数据融合、报警判定、界面渲染调度和网络协议栈。实时协处理器专门处理采样时序、导联脱落检测和安全看门狗,避免界面卡顿影响报警响应。主控与前端之间通过中断加 DMA 的方式搬运数据,保证采样节拍不被软件阻塞。

显示交互层负责波形刷新、数值显示、菜单操作和触摸响应。波形刷新率通常为 25 mm/s 走纸等效,即每 40 ms 更新一列像素;数值区以 1 Hz 刷新。该层与主控之间通过帧缓冲或图形库接口交互,不直接参与信号处理。

报警输出层是安全关键层,包含声、光、振动三类通道。报警判定在主控完成,但报警驱动必须独立于显示任务,即使界面异常也能发声。声压级一般要求 45~85 dB 可调,光报警采用不同颜色区分优先级:红色为高优先级、黄色为中优先级、青色为提示级。

网络传输层负责把参数、波形和报警事件送往中央站或电子病历系统。常用接口包括以太网、Wi-Fi 和串口,协议上多采用 HL7 或设备厂商私有协议承载波形与数值。该层必须与实时信号链隔离,网络拥塞不得反向影响采集与报警。

多参数监护设备六层架构与信号流向 传感器层 ECG 电极/导联 SpO₂ 探头 NIBP 袖带 体温探头 EtCO₂ 传感器 微弱模拟信号(mV 级、高阻) 前端采集层 仪表放大 + 右腿驱动 CMRR ≥ 80 dB LED 恒流 + I-V 转换 时分复用采样 桥式放大 + 泵阀驱动 过压保护 多通道 ADC SPI / I²C 输出 数字采样流(DMA + 中断) 主控处理层 参数算法 QRS / SpO₂ / 振荡法 数据融合与报警判定 阈值 / 优先级 实时协处理器 时序 / 看门狗 协议栈与调度 任务优先级 显示交互层 波形刷新 25 mm/s(40 ms/列) 数值刷新 1 Hz,触摸菜单 报警输出层(安全关键) 声:45~85 dB 可调 光:红/黄/青 三级优先级 网络传输层 以太网 / Wi-Fi / 串口 HL7 或私有协议 → 中央站 隔离原则:网络拥塞不得反向影响采集与报警;报警驱动独立于显示任务

二、模块划分与接口约定

分层之后需要把每层拆成可独立测试的模块,并约定接口。传感器层按参数划分模块,接口是物理连接器与电气规格,例如心电采用 3/5/10 导联定义,血氧探头需标明波长与驱动电流范围。前端采集层按通道划分,接口是采样率、位宽和数据帧格式。以心电为例,可约定采样率 500 Hz、16 位、每帧含通道号与时间戳;血氧采样率 100 Hz,血压在充放气阶段以 50 Hz 采集压力值。

主控处理层按功能划分为算法模块、报警判定模块、界面调度模块和通信模块。模块之间通过消息队列或共享内存交换数据,而不是直接函数调用,这样任一模块异常不会立即拖垮整机。报警判定模块接收各参数的数值与质量标志,输出报警等级和报警源标识,再分别驱动声光通道和网络事件上报。

显示交互层与报警输出层虽然都面向用户,但必须物理或逻辑隔离。工程上常见的做法是:显示任务运行在普通优先级,报警驱动运行在高优先级中断或独立定时器上。这样即使界面渲染阻塞,报警仍能按 1 秒内响应的要求触发。

三、一个可参考的模块接口示例

下面给出前端采集层向主控上报数据时可采用的一种帧结构约定,用于说明接口应包含哪些字段。该结构为教学示例,实际项目应按器件手册和协议要求调整。

typedef struct {
    uint8_t  ch_id;        // 通道号:1=ECG, 2=SpO2, 3=NIBP, 4=TEMP
    uint8_t  quality;      // 信号质量:0=无效, 1=弱, 2=良好
    uint16_t sample;       // 16 位采样值
    uint32_t timestamp;    // 采样时刻,单位 ms
} frontend_frame_t;

// 心电通道:500 Hz,每 2 ms 产生一帧
// 血氧通道:100 Hz,每 10 ms 产生一帧
// 主控以 DMA 环形缓冲接收,按 ch_id 分发到各算法模块

接口中保留 quality 字段非常关键。导联脱落、探头未接、袖带漏气等异常都应在采集层被识别并随数据上报,而不是让主控去猜测信号是否可信。报警判定模块据此决定是抑制报警还是触发“技术报警”,避免把传感器故障误报为患者生理报警。

四、分层设计中的关键约束

第一,实时性约束。从心电采样到波形上屏的端到端延迟通常要求小于 100 ms,报警从判定到发声小于 1 s。这要求前端到主控的搬运不能经过低速总线,主控到显示的路径不能有长队列积压。

第二,安全隔离约束。报警输出层必须独立供电或独立驱动,显示层崩溃不得导致报警失效;网络层断开不得影响本地监护功能。这是监护设备与普通消费电子在架构上的根本区别。

第三,可测试性约束。每一层都应留出测试点:前端层可用信号发生器注入标准波形验证增益与带宽;主控层可用回放数据验证算法;网络层可用抓包工具验证报文完整性。分层清晰时,故障可以快速定位到某一层,而不必整机排查。

架构评审时建议逐层追问三个问题:这一层的输入是什么、输出是什么、异常时如何被上层感知。能回答清楚,分层才算真正落地。

综上,六层架构把传感器、前端采集、主控、显示、报警和网络传输串成一条职责分明的信号链。设计时先定分层与接口,再定模块与参数,最后用实时性、安全隔离和可测试性三条约束反向校验,才能得到既满足临床要求又便于工程实现的整机架构。