第三章 助听器硬件平台选型:DSP芯片、ARM Cortex-M系列、低功耗蓝牙SoC、麦克风与受话器选型、硬件架构设计

做助听器算法这些年,我最大的感触是:算法再牛,跑不动也是白搭。硬件平台选型,说白了就是给算法找个合适的「家」。这个家不能太大(功耗高),不能太小(算力不够),还得会跟外界打交道(蓝牙、麦克风、受话器)。

今天咱们就聊聊,怎么给助听器挑一套靠谱的硬件方案。我个人习惯把选型分成四个模块:核心处理器、无线连接、声学前端、后端输出。一个一个来拆解。

3.1 核心处理器:DSP vs ARM Cortex-M

核心处理器是助听器的大脑。目前主流方案就两条路:专用DSP芯片,或者ARM Cortex-M系列MCU。嗯,这里要注意,不是二选一,很多高端方案是两者结合。

3.1.1 DSP芯片——老牌劲旅

DSP(数字信号处理器)天生就是干音频处理的料。它的MAC(乘累加)单元可以在一个时钟周期内完成乘法和加法,这对FIR滤波、FFT变换简直是量身定做。

我在项目中遇到过一款经典的DSP——ADI的ADAU系列。它的好处是:

  • 低延迟:典型处理延迟可以做到3ms以内,这对助听器至关重要。你想想看,如果声音延迟超过10ms,用户会感觉像在听回音,非常难受。
  • 低功耗:运行在几MHz就能完成16通道的WDRC压缩,整机功耗可以控制在1mA以内。
  • 专用指令集:像循环寻址、位反转这些操作,DSP一条指令搞定,Cortex-M要写好几行。

但DSP也有短板。它的控制能力弱,跑复杂的状态机、协议栈比较吃力。说白了,DSP适合做「计算」,不适合做「管理」。

3.1.2 ARM Cortex-M系列——全能选手

ARM Cortex-M系列,特别是M4和M33内核,这几年在助听器领域越来越火。为什么?因为它集成了DSP指令集和FPU(浮点运算单元)。

我记得第一次用STM32L4做助听器原型时,心里还犯嘀咕:这玩意儿能跑实时音频吗?结果实测下来,在80MHz主频下,跑8通道的WDRC加上自适应降噪,CPU占用率才40%左右。嗯,真香。

Cortex-M的优势在于:

  • 生态丰富:RTOS、驱动库、调试工具一应俱全,开发效率高。
  • 集成度高:很多型号内置了ADC、DAC、DMA控制器,外围电路可以简化。
  • 灵活性好:可以同时处理音频算法和蓝牙协议栈,省掉一颗芯片。

但要注意,Cortex-M的功耗天花板比DSP高。同样是跑16通道算法,Cortex-M可能要2-3mA,而DSP可以做到1mA以下。所以,低端助听器用DSP,中高端用Cortex-M+DSP双核方案,这是行业惯例。

我的建议:如果团队DSP经验丰富,且产品定位在入门级,选纯DSP方案。如果要做多场景自适应、蓝牙音频、手机APP控制这些功能,老老实实上Cortex-M4或M33。我个人现在做新项目,基本都选Cortex-M33+DSP协处理器的组合。

3.2 低功耗蓝牙SoC——无线连接的灵魂

现在的助听器,没蓝牙都不好意思叫智能助听器。低功耗蓝牙SoC(System on Chip)负责三件事:与手机APP通信、音频流传输(LE Audio)、双耳数据同步。

选型时我重点关注三个指标:

指标 要求 说明
接收灵敏度 -95dBm以上 助听器戴在耳朵上,手机可能在口袋里,信号穿人体衰减很大
发射功耗 0dBm时<5mA 蓝牙发射是助听器功耗大头,必须低
支持LE Audio 必须支持 LC3编码器是未来标准,延迟低、音质好

目前主流方案有Nordic的nRF52/53系列、Dialog的DA145xx系列、TI的CC26xx系列。我个人偏爱nRF5340,它双核架构(一个M33跑应用,一个M33跑协议栈),正好可以跟助听器主控分工合作。

避坑指南:我曾经在一个项目里选了某款蓝牙SoC,规格书上写支持LE Audio,结果实际只支持LC3编码器,不支持LC3+(高音质模式)。后来不得不换芯片,导致项目延期两个月。所以,选型时一定要确认芯片的软件协议栈版本,不能只看硬件。

3.3 麦克风与受话器选型——声学前端与后端

麦克风是助听器的「耳朵」,受话器是「嘴巴」。这两个器件选不好,算法再好也白搭。

3.3.1 麦克风选型

助听器麦克风主要用MEMS硅麦,因为它体积小、一致性好、抗振动。选型时看三个参数:

  • 灵敏度:一般选-38dBV/Pa左右。太灵敏容易饱和,太不灵敏信噪比不够。
  • 信噪比(SNR):至少62dB以上。我建议选65dB以上的,否则底噪会很明显。
  • 频率响应:要平坦,最好在100Hz-8kHz范围内波动不超过±2dB。

另外,现在高端助听器都用双麦克风阵列做波束成形。两个麦克风的相位一致性要非常好,否则波束指向会偏。我记得有一次,同一批次的麦克风相位差达到5度,结果波束成形效果大打折扣。后来我们要求供应商按相位配对出货,才解决了问题。

3.3.2 受话器选型

受话器就是微型扬声器。助听器里常用平衡电枢(Balanced Armature)受话器,因为它效率高、体积小。

选型要点:

  • 阻抗:一般选100-200Ω。阻抗太低,驱动电流大,费电;阻抗太高,输出电压摆幅不够。
  • 最大输出声压级(OSPL90):根据用户听力损失程度选。轻度损失选110dB SPL,重度损失要130dB SPL以上。
  • 失真:总谐波失真(THD)要小于3%,否则用户会听到「破音」。

注意:受话器的频响曲线不是越宽越好。助听器受话器通常只做到8kHz,因为人耳对8kHz以上的声音不敏感,而且高频延伸会带来更多噪声和功耗。别被「20kHz频响」这种营销话术忽悠了。

3.4 硬件架构设计——把零件拼起来

零件选好了,怎么搭?我分享一个经过量产验证的硬件架构:

┌─────────────────────────────────────────────────┐
│                  电源管理                        │
│  (升压DCDC + LDO + 电池充电IC)                  │
└──────────────┬──────────────────────────────────┘
               │
┌──────────────┴──────────────────────────────────┐
│              核心处理器                          │
│  (Cortex-M33 + DSP协处理器)                     │
│  内部集成:                                     │
│    - 24bit ADC (2通道)                          │
│    - 16bit DAC (1通道)                          │
│    - I2S接口                                    │
│    - DMA控制器                                  │
└──────┬──────────────┬──────────────┬────────────┘
       │              │              │
       ▼              ▼              ▼
┌──────────┐  ┌──────────┐  ┌──────────┐
│ 麦克风阵列│  │ 蓝牙SoC  │  │ 受话器   │
│ (2x MEMS) │  │(nRF5340) │  │(平衡电枢)│
│  → 前置AMP│  │  → 天线  │  │  → 功放  │
└──────────┘  └──────────┘  └──────────┘

这个架构有几个关键点:

  • 麦克风到ADC的路径要短:模拟信号线长了容易引入噪声。我习惯把麦克风直接焊在主板上,距离ADC引脚不超过5mm。
  • 蓝牙天线要远离受话器:受话器的音圈会产生电磁干扰,影响蓝牙灵敏度。天线和受话器至少隔开10mm。
  • 电源要独立供电:模拟电路(麦克风、前置AMP)和数字电路(处理器、蓝牙)用不同的LDO供电,防止数字噪声串到模拟端。

嗯,这里还要提一句功耗优化。助听器电池一般就10-30mAh,要撑一天。我常用的招数是:

  • 处理器在空闲时进入睡眠模式,用DMA搬运音频数据
  • 蓝牙只在需要传输数据时才开启,平时保持休眠
  • 功放用D类放大器,效率可以到85%以上,比AB类省一半电

最后说一句,硬件架构设计没有标准答案。我见过用单芯片Cortex-M4搞定一切的方案,也见过DSP+蓝牙SoC+电源管理IC三芯片的方案。关键是根据你的算法复杂度、功耗目标、成本预算来权衡。说白了,没有最好的方案,只有最合适的方案。

总结一下:DSP适合纯音频处理,Cortex-M适合系统控制,蓝牙SoC负责无线连接,麦克风和受话器决定了声学底子。把这四块搭好,你的助听器硬件平台就稳了。下一章咱们聊聊怎么在这些硬件上跑实时音频算法——那才是真正见功夫的地方。