Interleaved(交错)采样:将多个 ADC 模块错时轮流采样同一个通道或同一个波形源,让系统的总体采样速率翻倍/翻多倍。
通电(MOS开通):电感连接电源,储能,磁场增强;
断电(MOS关断):电感电流不能瞬间中断 → 电感两端产生反向高电压;
加在负载上 + 二极管导通:这个高压叠加到原始电压上,实现升压。
// 初始化函数
function system_init():
setup_GPIO() // 设置输出控制引脚:BOOST_EN, PULSE, TR_CTRL, etc.
setup_timer_20ms() // 设置定时器周期中断,每 20ms 触发一次 sequencer
setup_interrupts() // 配置外部中断(如采样完成、ESP回应)
enter_low_power_mode()
// 主定时器中断触发入口(每帧开始)
interrupt timer_20ms_ISR():
BOOST_EN = HIGH // 启动升压(大约提前1ms)
delay_us(1000) // 给boost预充时间(可调)
TR_CTRL = LOW // 切断接收路径 → 进入“发射模式”
PULSE = HIGH // 发出激励脉冲(驱动Pulser)
delay_ns(200) // 控制脉冲宽度:200ns
PULSE = LOW
delay_us(2) // 保守延迟,等待激励完成
TR_CTRL = HIGH // 切换为“接收模式”→ 接收回波
ADC_TRIG = HIGH // 触发PIC32或ADC模块开始采样
delay_us(85) // 等待采样完成
ADC_TRIG = LOW
BOOST_EN = LOW // 关闭boost,抑制干扰
wait_for_ADC_done_flag() // 可由中断或ACK设置标志位
transmit_to_ESP32() // 通知ESP32将数据通过Wi-Fi发送
enter_low_power_mode() // 等待下一帧(降低功耗)