新型可穿戴超声肌电(Echomyography, EcMG)系统硬件设计(带一丢丢软件)

文章来自自然:

同样的,我这边就不说前面的超声材料是如何设计的了,就说这个信号链的设计了。

Pzt-4/Pzt-8压电陶瓷压电材料薄膜透明压电材料|

PZT材料

看不懂一点

结构图

系统非常小

外壳是打印的,探头一点点

贴上去,一边发,一边收,数据输出的 WIFI 的

  1. 高压脉冲激励换能器(1~4 MHz)。
  2. 接收RF信号后,经AFE放大,ADC采样(12 MHz),Wi-Fi发送至PC。
  3. 数据流速:50 Hz(每20 ms一次),每次采集1024个采样点。

前面的调理和数字采集部分

AFE

MCU 用了两个,一个是时序控制,一个是 ADC 以及发送和计算

DFE

后面是 DCDC 和驱动部分

4 层板

超声的频率就是高哇

TR 开关是防止电压回流把 ADC 打坏的

切换“发射模式”与“接收模式”,保护后端放大器;发射时隔离高压激励信号;接收时低阻抗导通 RF 信号到运放输入。

在采集部分的选择上面别出心裁,没有使用外挂 ADC 的方案,而是一个 MCU:

其实这个高采样率是使用所谓的多 ADC 交织采样实现的

Interleaved(交错)采样:将多个 ADC 模块错时轮流采样同一个通道或同一个波形源,让系统的总体采样速率翻倍/翻多倍

这样做:可以提升等效采样率,多个 ADC 合作采样,采得更快。更多的我觉得是开发简单吧?

运放是 ADI 的:

这个是特点

3db 下 236Mhz,而且还可以放大信号,上面的 PCB 也是这样做的,多出来的可以去做一个缓冲。

里面正好有两颗 OP

至于为什么还有一个 OP,可能用于进一步放大或者作为低输出阻抗的缓冲驱动器,使信号更适合送入 MCU 内部 ADC,避免因高阻抗耦合带来失真。

通常配置为单位增益(1×),放在 ADA4895 之后,用于匹配 ADC 输入阻抗、改善稳定性。

这个设计里面使用了三个 OP,一次放大,两次缓冲:

应该是可以改良信号

一个在传感器的前面,马上放大,一个在 ADC 里面,来满足 ADC 的采集需求。

再次汇总一下 Bom

还有一部分是波形生成

电压高达 100V 以上

MOS 管是这个

升压转换是这个

芯片参数

通过一个基于 MIC2171 PWM 控制器 的 Boost 升压电路,结合大电感 L20、快速二极管 D20 和高压滤波电容,利用电感能量释放原理,将 LIPO 电池的 3.7V 电压提升到约 100–120V,为 pulser 提供激励能量。

升压原理是这样的:

  1. 通电(MOS开通):电感连接电源,储能,磁场增强;
  2. 断电(MOS关断):电感电流不能瞬间中断 → 电感两端产生反向高电压;
  3. 加在负载上 + 二极管导通:这个高压叠加到原始电压上,实现升压。

个人感觉应该不是很危险,因为能量不高

当然了,需要使用精密的时序控制,其实定时器就可以了

这些是控制的波形作用

详细的作用

代码语言:javascript代码运行次数:0运行复制
// 初始化函数
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()     // 等待下一帧(降低功耗)

给出一段类似的时序控制

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-18,如有侵权请联系 cloudcommunity@tencent 删除软件设计系统硬件定时器