尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

NXP携手Widex,助听器无线音频流技术走向低功耗芯片集成

NXP携手Widex,助听器无线音频流技术走向低功耗芯片集成 1. 这场合作到底在做什么助听器无线化的真实需求如果你只看到NXP和Widex合作这条新闻标题大概会觉得这就是一次普通的上游芯片厂和终端设备厂牵手。但在嵌入式行业里摸爬滚打过几年的人看到这则消息的第一反应应该是助听器这个品类终于要全面拥抱低功耗无线音频流了。Widex是助听器领域的老牌厂商成立超过半个世纪在助听器的高端市场一直有位置。NXP则是半导体行业里的巨头覆盖汽车、工业、物联网、移动设备等多个方向。这两个名字放在一起关键词是Wireless Audio Streaming翻译过来就是无线音频流传输——也就是让助听器像真无线耳机一样直接从手机、电视、会议系统等设备接收音频流。助听器为什么需要无线音频这得从使用场景说起。传统的助听器本质是一个微型的声音放大器负责把周围环境声拾取、处理、放大后再送入耳道。但用户在餐厅、会议室、剧场这些嘈杂或者远距离场景下助听器拾取到的目标声音会被环境噪声严重淹没。这时候如果能把声源端的音频直接通过无线方式送进助听器比如手机通话的声音、电视的声音、讲台上麦克风的声音体验会完全不一样。这也就是行业里常说的远程麦克风或音频直连需求。这个需求并不是今天才有的。助听器厂商很早就开始做无线附件比如颈挂式麦克风、电视伴侣盒但早期用的都是私有协议需要额外佩戴一个中转设备体验谈不上优雅。而NXP与Widex这次合作的方向是把无线音频流传输能力直接集成到助听器内部芯片方案里让用户不依赖额外附件就能与消费电子设备直连。从产业链角度来看这个合作释放了一个明确信号助听器正在从医疗设备向医疗消费电子融合设备转型。而推动这个转型的核心技术底座就是低功耗无线音频方案。对这个领域感兴趣的人无论是做嵌入式开发的、做音频算法的、还是做产品规划的都值得把这条链路的技术细节拆开看一看。2. 无线音频流传输的核心难点功耗、延迟与音质的三角博弈2.1 功耗预算一枚纽扣电池要撑多久任何消费电子产品做无线音频第一个要面对的问题都是功耗但助听器的功耗约束比其他设备严苛一个数量级。一颗助听器用的锌空电池典型容量在100mAh到200mAh之间要支撑用户全天佩戴通常目标是让设备连续工作数天。市面上很多助听器标称的电池寿命在3到7天这已经是把DSP、麦克风、扬声器、无线收发全部算进去的总预算。对比一下你手里的真无线耳机单次充电能用4到6小时已经算不错而且耳机还有充电盒反复补给。助听器没有充电盒或者说即便有充电盒用户也习惯了塞一颗电池管一周的使用方式。在这样的功耗预算下做无线音频流射频链路的平均电流必须被压到毫安级别以下。蓝牙音频协议里经典蓝牙A2DP的功耗在30mAh以上根本不可能用在助听器上BLE Audio虽然比经典蓝牙好很多但要想在助听器场景里落地还需要在协议栈层面做大量裁剪和优化。NXP这类芯片厂商真正的竞争力恰恰体现在这里用什么样的射频前端、什么样的协议栈、什么样的电源管理策略把一个听上去不可能的功耗指标做到可能。2.2 延迟为什么是助听器体验的生死线耳机用户对延迟的感知主要是看视频口型对不对得上一般要求小于100ms就够用了。助听器对延迟的要求完全不是一个量级。助听器的核心功能是实时放大环境声。用户听到的自己的声音和别人的声音一部分通过麦克风拾取后放大一部分通过无线流传输进来。这两条路径的信号必须在时间上对齐否则会产生回声、梳状滤波效应轻则声音发空重则根本无法正常使用。比如用户在打电话时自己的声音既通过骨传导被听到又经过助听器处理回路被听到两条路径延迟差太多用户会感到明显的山洞音。所以助听器无线音频流的端到端延迟行业里通常要求控制在20ms到40ms以内这比普通蓝牙耳机的目标严苛得多。这意味着从射频接收、解包、音频解码、DSP处理到数模转换整个链路的每一毫秒都要精打细算。芯片厂商不能只提供一个通用的蓝牙音频IP还得把协议栈的缓冲策略、音频DSP的流水线设计、时钟同步机制都打包优化好否则终端厂商拿到芯片也做不出合格的产品。2.3 射频选型私有协议、经典蓝牙还是新一代方案助听器无线化早期用的都是私有2.4GHz协议比如Widex自家的WidexLink。私有协议的好处是功耗可以压得很低延迟可以做得非常短因为整个协议栈都是自己写的没有兼容性包袱。坏处也很明显手机、电视、会议系统不会内置你的私有协议用户想直连手机做不到。所以要实现真正的无线音频流必须在开放标准和低功耗之间找一个平衡点。这里有几个候选路线经典蓝牙A2DP生态最成熟手机都支持但功耗太高不适合助听器长时间使用。低功耗蓝牙BLE功耗低但传统BLE的带宽不足以承载高音质音频流。BLE AudioLE Audio基于ISO通道的音频传输标准是当前行业公认的方向但实际产品落地时对芯片的射频性能和协议栈稳定度要求很高。私有协议蓝牙共存助听器双耳之间用私有协议传输手机连接用标准蓝牙两条链路共存。芯片厂商要做的事情往往不是二选一而是把多种无线能力打包进同一个解决方案里并且让它们之间互不干扰。NXP在这类合作中提供的价值很大程度上就是这种多模无线音频处理功耗管理的整合能力。3. NXP在这一领域的技术底牌从芯片到软件生态3.1 面向助听器的低功耗无线方案从哪来NXP的产品线非常宽真正面向助听器这种超低功耗音频场景的不是大家熟悉的i.MX RT系列也不是汽车用的S32K系列而是专门的无线音频芯片方案。这类芯片通常集成了一颗低功耗MCU内核、2.4GHz射频收发器、音频编解码硬件加速单元以及电源管理模块。MCU内核负责跑协议栈和应用逻辑射频收发器负责物理层收发音频单元负责编解码和音质处理。封装尺寸要足够小放在助听器这种比指甲盖还小的PCB上同时外设要精简因为助听器内部根本没有空间放一堆引脚。对于做嵌入式开发的工程师来说第一次看到这类芯片的Pin脚定义可能会觉得怎么这么少但这是产品形态决定的。助听器内部电路板往往是柔性板或者很小的刚性板元件密度极高每一颗芯片都必须麻雀虽小五脏俱全。3.2 NXP的软件生态对开发效率的实际影响这里要说到热词里反复出现的NXP SDK和S32DS这类工具链。虽然S32DS本身主要面向汽车MCU但NXP在设计工具链和SDK时的很多思路在整个公司产品线里是一脉相承的。用NXP的SDK做过开发的人应该都有体会MCUXpresso SDK或者S32 SDK这类软件包把底层驱动、中间件、协议栈都封装好了理论上你可以不关心寄存器细节直接用API调外设和无线功能。但实际做项目时你会发现SDK能帮你把灯点亮和SDK能帮你把产品做好之间隔着大量的工程细节。比如低功耗管理。助听器这种设备主控芯片绝大部分时间处于睡眠状态无线音频事件来了才唤醒。SDK里的电源管理框架是否支持不同深度的睡眠模式切换协议栈是否能在保持射频监听的同时让MCU核心进入低功耗状态这些问题在芯片数据手册里不一定有现成答案往往需要你在开发中一点点调。再比如调试。S32DS这类IDE的Debugger Startup设置在MCU开发里是个小细节但处理不好能折腾掉你半天时间。特别是涉及多核芯片或者带独立无线子系统比如NXP的无线MCU常采用Cortex-M核心DSP核心的组合的芯片时调试器怎么连接、怎么下载固件、怎么在低功耗模式下保持调试连接都需要在IDE里做针对性配置。3.3 双耳互传与手机直连的实现路径助听器无线音频流里有个很有意思的拓扑问题两只助听器之间要通信助听器还要和手机通信。最常见的方案是主-从模式一只助听器作为主设备连接手机另一只作为从设备主设备把从手机收到的音频流通过私有链路转发给从设备。这个方案对射频的要求非常苛刻。两只助听器戴在左右耳上距离只有二三十厘米按理说信号衰减不大。但人体头部会遮挡射频信号2.4GHz频段在人体组织附近的衰减非常明显。如果主从两只助听器之间的链路不稳定用户会听到左右耳声音不同步甚至一只耳朵完全无声。芯片厂商解决这个问题通常靠两种手段一是在协议层做快速重传和信道跳变二是把主从之间的通信延迟控制得很低。双耳互传的延迟通常要求在10ms以内否则用户会明显感觉到声音偏了。这个指标看起来简单实际上对协议栈的设计影响很大——缓冲区要小调度要紧凑射频的前导码和包结构都要为低延迟优化。手机直连则走标准蓝牙协议。这里最大的坑是不同手机厂商对蓝牙协议栈的实现差异。Android手机和iPhone的蓝牙栈行为不完全一致甚至不同Android厂商的定制系统对BLE连接参数的处理也有差别。芯片方案商必须提供一个兼容性足够好的协议栈同时终端厂商的产品要经过大量实机兼容性测试。4. 从嵌入式工程师视角看这类项目的实际开发挑战4.1 Bootloader设计助听器OTA升级的几个关键约束热词里有NXP S32K344 bootloader和S32K118芯片配置底层虽然这些具体型号是汽车/工业场景的但bootloader设计思路是相通的。助听器作为长期佩戴设备固件升级几乎必须走无线OTA你不能让用户把助听器拆开用调试器烧程序。助听器场景的OTA有自己独特的约束。首先是功耗升级过程中要持续启用射频接收和Flash写入这两个都是耗电大户如果用户在助听器快没电时触发升级很可能写到一半断电设备变砖。所以bootloader必须支持升级前检查电量的逻辑并且对掉电异常做恢复处理。其次是空间助听器芯片的Flash通常很小可能只有几百KB你想要A/B双备份分区就得在功能固件和升级逻辑之间做精细的空间规划。最后是失败恢复如果升级包传输过程中丢包或者校验失败要保证设备能回退到上一个可用版本而不是卡在无法启动的状态。我实际做过的低功耗设备OTA项目里最容易被忽视的是升级过程中连接守护的问题。无线升级时如果用户走动导致手机和助听器距离变远蓝牙连接断开下载会中断。不做断点续传的话项目后期测试会收到一堆升级失败但设备还能用的反馈。设计bootloader时一定要把传输层做成可断点续传的同时合并小包的校验这样用户体验不至于因为一次偶然断开而毁掉。另外有个细节助听器通常没有屏幕没有按键用户怎么触发升级常见做法是放到充电盒里手机App检测到充电盒已连接的助听器然后开始升级。充电盒不仅负责充电还成了OTA的安全环境——设备在充电盒里升级电量有保障也不会因为用户佩戴而中断。4.2 音频链路对MCU选型的约束算力、内存与实时性很多人对助听器芯片的第一印象是用了个超低功耗MCU跑跑算法但实际音频链路的数据流比想象中复杂。助听器的麦克风采样率通常是16kHz或更高每个采样点经过ADC进入DSPDSP要完成噪声抑制、反馈抑制、多频段压缩、方向性处理等一系列算法然后把处理后的信号送到扬声器。整个过程是流式的必须在一个采样周期内完成不能像处理文件那样等着批量处理。再加上无线音频流系统里就存在两条音频通路本地麦克风通路和无线流输入通路。两条通路都要经过DSP处理但有不同的优先级和延迟要求。麦克风通路是绝不能断的因为用户需要实时听到环境声无线流通路则要能和本地通路混合输出。芯片的音频子系统需要支持多路输入同时工作并且提供灵活的混音路径。内存是另一个容易被低估的点。音频算法跑起来延时和内存强相关。更大的内存可以让你用更长的FIR滤波器、更大的数据缓冲但对助听器这种设备内存每增加1KB成本、面积、功耗都会跟着涨。芯片厂商在设计时DSP的SRAM可能只有几十KB你要在这几十KB里同时装下算法状态、音频缓冲、无线协议栈的buffer这是一个典型的螺蛳壳里做道场的优化问题。4.3 低功耗调试的实操经验怎么定位电流异常助听器开发中工程师花在功耗调试上的时间往往比功能开发还多。这类设备的平均电流目标通常在毫安甚至几百微安量级而一个微小的状态机设计失误就可能导致电流翻倍。我在处理低功耗无线设备时常用的排查手段是分段量测法。具体来说就是把整个设备的功耗路径拆成若干段射频发射时的电流、射频接收时的电流、MCU睡眠电流、音频放大器的静态电流、Flash擦写的电流峰值。每一段用电流探头或者精密万用表分别量测确认各自是否符合预期再检查段与段之间的时序配合。最常见的异常其实不是某个模块电流超标而是应该睡觉的模块没有睡。比如I2C总线上挂了某个传感器MCU进了睡眠但传感器因为某个引脚电平没拉对仍在持续工作导致整机电流多出几百微安。这类问题在数据手册上根本查不到只能靠经验逐步排查。调试低功耗问题还有一个容易踩的坑仿真器连接状态下芯片的功耗表现和实际运行完全不同。因为调试接口本身会防止芯片进入深度睡眠你会看到电流居高不下然后误判成功耗优化没做好。正确的做法是先用测试固件跑完功能验证然后在脱离调试器的状态下抓电流曲线把所有功耗数据用逻辑分析仪打上时间戳对应到具体的代码路径上去分析。5. 从NXP的布局看助听器无线化的行业趋势5.1 芯片厂商为什么要亲自下场做完整方案以前助听器厂商做无线功能往往是买一个通用的蓝牙芯片自己再写一堆胶水代码把音频处理、协议栈、功耗管理粘起来。但无线音频流这个功能恰恰是胶水代码越多体验越差的典型。原因在于功耗和延迟对系统级优化的依赖。通用蓝牙芯片和助听器主控芯片是两个独立的芯片数据要经过SPI/I2C甚至更慢的接口搬运每一次搬运都带来延迟和功耗开销。而且在两个芯片之间做时钟同步非常麻烦音频流必须经过多次缓冲才能对齐延迟轻松超过助听器的接受范围。NXP和Widex这种合作本质上是把方案级优化前置到了芯片设计阶段。NXP基于Widex的助听器产品需求定义芯片规格把音频通路、无线收发、低功耗管理设计进同一颗芯片甚至同一个SoC里。Widex则不需要再花大量精力做跨芯片的胶水优化而是能专注于自己的核心算法和用户体验。这种合作模式在消费电子领域并不新鲜但在助听器这种高壁垒、小批量、高附加值品类里以前很少见。因为助听器市场太小通用芯片厂商不愿意专门为它流片而助听器厂商自己做ASIC的成本又太高。像NXP这样拥有无线通信、音频处理、低功耗MCU多条产品线积累的厂商才有能力把这几块能力整合成一个针对性的方案。5.2 BLE Audio给助听器带来的不只是音频直连LE Audio标准里有一个对助听器特别重要的特性——Auracast广播音频。它可以让你在机场、影院、会议室等公共场所通过广播方式把音频直接传送到支持接收的设备上。用户不用再连接任何特定信源只要在有效范围内就能收到广播台的音频。对助听器用户来说Auracast的价值是跨越式的。以前在电影院看大片助听器用户要额外借一套感应线圈设备在医院候诊、在车站听广播往往什么都听不清。有了Auracast公共场所可以架设广播音频源助听器直接接收听力和正常人没有区别。NXP这种芯片厂商在底层支持Auracast等于给助听器厂商铺好了通往无障碍环境的道路。当然Auracast的落地没那么快。广播源设备的基础设施建设、不同厂商设备之间的互通测试、功耗优化都需要时间。但方向已经很明确了助听器的无线化不再只是连你自己的手机而是连整个公共音频环境。5.3 助听器量产与消费类产品量产的思维差异最后想聊聊助听器产品量产和普通消费电子产品量产的不同。这是很多从TWS耳机行业转到助听器行业的工程师最容易低估的地方。消费类音频产品比如真无线耳机量产时主要关注RF性能的一致性、音频指标的良率、外壳装配的精度。助听器的生产除了这些还有一个医疗设备特有的要求——每个用户的助听器需要按听力损失情况进行个性化编程和校准。这意味着每台设备出厂前可能要烧录不同的增益曲线、不同的算法参数甚至不同的固件配置。从产线设计角度助听器生产必须支持在线编程在线校准的流程。芯片要提供一个在产线上快速写入配置的接口并且支持每台设备的唯一ID和校准数据存储。NXP和Widex合作方案的芯片选型和软件开发流程设计里这些量产细节一定是被重点考虑的。另外助听器的固件更新策略也和消费电子不同。耳机固件更新频率高用户也不在意偶尔来个新版。助听器是医疗器械固件升级涉及算法变更、临床验证、甚至监管审批所以芯片平台的软件架构必须支持严格的版本管理和回滚机制。这也是为什么芯片厂商会提供完善的Secure Boot和固件签名方案——不是为了唬人而是监管层面的硬性要求。5.4 对开发者的实操建议怎么切入这个领域如果你是一名嵌入式开发者想进入这个方向我的建议是先从底层的低功耗音频链路入手而不是一上来就盯着无线协议。助听器开发里音频采样、数模转换、DSP流水线、时钟管理这些不太性感的模块恰恰是整个系统的地基。你把音频链路的延迟和功耗都摸透了再去理解无线协议栈为什么那样设计会顺畅很多。工具链方面NXP的MCUXpresso和S32DS系列IDE是目前NXP主推的开发环境。初次上手时我建议花点时间把Debugger的启动配置和Flash下载算法研究清楚这能省下后续大量的调试痛苦。很多新人遇到连不上调试器或者没法进入低功耗调试的问题根源都是对IDE的启动脚本和调试探针配置理解不够。还想提醒一点这类跨芯片厂商和终端厂商的合作项目最终交付的不仅仅是代码还有大量的文档、参考设计和性能测试报告。如果你是做方案集成的一方一定要重视版本管理和变更记录因为你面对的是一个完整的解决方案栈任何一层的改动都可能影响其他层的表现。我在之前的项目里就吃过类似的亏芯片厂商更新了一版协议栈我们只注意到了新版本修复了某个连接稳定性问题却没注意到新协议栈对内存的占用比旧版本多了几百字节结果在设备长时间运行后出现了偶发的内存分配失败排查了两天才定位到原因。从那以后凡是芯片厂商的SDK更新我都会先做一次完整的内存映像和功耗对比测试再决定要不要合入。这个领域的魅力在于它把半导体、音频算法、无线通信、医疗器械法规几个完全不同的知识体系揉在了一起。能做明白的人未来不管是继续深耕助听器还是转头去做其他低功耗音频设备都会有非常扎实的底子。毕竟能够在一枚纽扣电池的供能约束下把高音质、低延迟、多设备互通的无线音频体验做出来这个能力放在任何一个物联网场景里都是稀缺的。
返回列表