第四章:起搏器核心状态——起搏状态、感知状态与不应期状态

好,咱们今天聊点硬核的。

起搏器的状态机,说白了就是三个核心状态的来回切换:起搏状态感知状态不应期状态。这三个状态构成了所有起搏模式(VVI、VDD、DDD)的骨架。你想想看,无论算法多复杂,最终落到硬件上,无非就是“什么时候发脉冲”、“什么时候听心跳”、“什么时候装聋作哑”。

4.1 起搏状态:心脏的“人工节拍器”

起搏状态,就是起搏器主动发放电脉冲的时刻。我习惯把它叫做“主动出击”状态。

在VVI模式下,起搏器只盯心室。如果心室感知窗口内没看到自身心跳,它就发一个脉冲到心室。DDD模式更复杂,心房和心室都可能起搏。

核心要点:起搏状态不是随时都能进的。它必须满足两个条件:

  • 低层速率定时器超时(也就是该跳了没跳)
  • 当前不在不应期内(不应期里不能起搏,这是铁律)

我在项目中遇到过一个问题:有个工程师把起搏脉冲宽度设成了2ms,结果电池半年就耗光了。嗯,这里要注意,起搏脉宽通常0.4ms~1.0ms就够,别贪心。

// 起搏状态进入条件(伪代码)
if (timer_expired && !refractory_active) {
    enter_pacing_state();
    deliver_pulse(chamber);
    start_refractory_timer();
}

4.2 感知状态:心脏的“监听雷达”

感知状态,就是起搏器竖起耳朵听心脏自身的电活动。说白了,它就是个高灵敏度的心电图放大器。

VVI模式只感知心室,VDD模式感知心房+心室,DDD模式也是双腔感知。但这里有个坑——感知灵敏度设得太高,会把肌电干扰当成心跳;设得太低,又会漏掉真正的自身搏动。

避坑指南:我曾经调试过一台起搏器,术后患者总说心慌。一查日志,发现感知状态里误把T波当成了R波,导致起搏抑制。后来把感知灵敏度从2.5mV调到5.0mV,问题解决。记住:T波感知是起搏器最经典的“假阳性”陷阱。

感知状态结束后,会触发两个动作之一:

  • 如果感知到自身心跳 → 重置低层速率定时器(“哦,你自己跳了,那我再等等”)
  • 如果没感知到 → 定时器继续跑,直到超时进入起搏状态

4.3 不应期状态:心脏的“强制静默期”

不应期,这是最容易让人迷糊的状态。我刚开始学的时候也觉得:不就是发完脉冲后歇一会儿吗?其实远不止这么简单。

不应期分为两种:

类型 持续时间 作用
心房不应期(ARP) 通常150~250ms 防止感知起搏脉冲后的心房回波
心室不应期(VRP) 通常200~350ms 防止感知T波或起搏后电位

为什么要有不应期?你想想看,起搏器刚发完一个脉冲,电极周围的组织还在去极化,这时候如果感知电路还开着,它会把起搏脉冲本身当成一次心跳。这就叫“自感知”——一个经典的死循环。

我的经验:在DDD模式下,心房起搏后要特别注意交叉感知。就是心房起搏脉冲被心室通道误感知。我建议在心室通道的不应期里再加一个“空白期”(blanking period),通常30~50ms,彻底屏蔽掉心房脉冲的干扰。

4.4 三种模式下的状态流转

咱们用VVI、VDD、DDD三种模式来串一下这三个状态:

VVI模式(单腔心室)

  • 起搏状态 → 发心室脉冲 → 进入心室不应期
  • 不应期结束 → 进入感知状态(监听心室)
  • 感知到自身R波 → 重置定时器 → 继续感知
  • 定时器超时 → 进入起搏状态

VDD模式(心房感知+心室起搏)

  • 心房感知到P波 → 启动AV延迟 → 等待心室
  • AV延迟内感知到自身R波 → 抑制心室起搏
  • AV延迟超时 → 进入心室起搏状态
  • 心室起搏后 → 进入心室不应期

DDD模式(双腔起搏+双腔感知)

  • 这是最复杂的。心房和心室各有自己的状态机,但互相耦合
  • 心房起搏后 → 启动AV延迟 → 同时开启心房不应期
  • 心室感知或起搏后 → 启动心室不应期 → 同时开启心房空白期
  • 说白了,就是两个状态机在玩“你方唱罢我登场”的游戏
// DDD模式状态流转简化伪代码
switch (current_state) {
    case ATRIAL_PACING:
        deliver_atrial_pulse();
        start_av_delay();
        start_atrial_refractory();
        break;
    case VENTRICULAR_SENSING:
        if (detect_r_wave()) {
            reset_ventricular_timer();
            start_ventricular_refractory();
        } else if (av_delay_expired) {
            enter_ventricular_pacing();
        }
        break;
    case VENTRICULAR_REFRACTORY:
        if (refractory_timer_expired) {
            enter_atrial_sensing();  // 又开始听心房了
        }
        break;
}

4.5 一个容易忽略的细节:不应期内的感知标记

嗯,这里要特别提一下。虽然不应期内起搏器不响应感知事件,但它仍然在记录。很多起搏器的日志里会区分“有效感知”和“不应期感知”。

我见过一个案例:患者动态心电图显示大量“感知事件”,但起搏器却没反应。后来一查,全是落在不应期里的T波感知。这就是为什么调试时一定要看“感知标记通道”,别被表面数据骗了。

总结一下:

  • 起搏状态 = 主动发脉冲,之后必须进不应期
  • 感知状态 = 监听自身心跳,决定是否抑制起搏
  • 不应期状态 = 保护期,防止自感知和交叉感知
  • 三个状态循环往复,构成了起搏器最基本的生命节律

下一章咱们会深入讲定时器——这些状态切换背后的“时钟指挥官”。到时候你会发现,所有看似复杂的起搏算法,其实都是几个定时器在背后默默倒计时。