多麦Beamforming的门槛:从「按时钟搬数据」到「在时序约束下精密协同」
调通单颗PDM麦克风的音频通路,只需要正确配置左右声道和采样率。但当原理图上出现第二颗、第三颗麦克风时,很多团队才发现TDM时序配置才是真正的门槛:Slot分配表怎么填、时钟域怎么隔离、两个Codec节点同时挂载时FS建立时间够不够——这些问题在单麦场景下根本不会出现。
本文面向正在设计4麦阵列会议大屏或智能音箱的硬件工程师/音频算法工程师,直接给TDM时序配置思路、DSP算力预算表和可参考的BOM组合。KT系列与CM7104各有明确的适用边界,混用则能形成互补型方案。
① 多麦TDM/I2S拓扑选型:三条路怎么走
多通道音频采集有三种主流拓扑,各有代价:
菊花链(Daisy Chain)
麦克风输出级联,后一级吃掉前一级延迟再吐出数据。优点是走线少——SCLK和WS两根主线串起所有节点;代价是累积延迟不可控,第四麦的相位可能偏差几百微秒,Beamforming的相位对齐算法要花大量算力去补偿。适合2麦场景,4麦以上不推荐。
星形(Star)
每个麦克风独立的数据线汇到Codec。布线成本高,但时序干净,每路延迟相对可控。KT0234S的I2S接口支持2通道输入,在星形拓扑下可以挂两颗麦克风做2麦方案,需要更多通道时再通过GPIO外接扩展芯片。
TDM总线仲裁
这是4麦以上阵列的标准解法。多个Codec节点挂同一TDM总线,通过Slot分配决定每路数据的写入位置。KT系列(KT0234S/KT0235H)的TDM接口支持可配置Slot宽度,CM7104的双路I2S/TDM接口(内置ASRC)则能处理来自不同时钟域的音源。
所有节点必须共享同一BCLK和FS信号,且FS的建立时间要满足最慢节点的要求——时钟域交叉冲突是TDM多节点场景中最隐蔽的Bug,两个晶振之间几十PPM的频偏积累到一定程度,会在某个Buffer切换节点集中爆发为音频杂音。解法通常是让一个Codec节点担任时钟主控,其余配置为从模式。
PCB布局红线
不管选哪种拓扑,有两条物理约束必须死守:
- SCLK走线等长误差≤50mil,否则位偏移导致误采样
- FS相对于BCLK的建立/保持时间,TDM模式下通常要求FS边沿在BCLK下降沿前至少一个T完成建立
KT0234S的I2S接口通常配置为MSB-first,Slot宽度可配,布局前建议先确认寄存器手册中I2SCR寄存器的SLOT_WIDTH位域设置。KT0234S还内置3路8位ADC,可用于按键检测或辅助信号采集,与主音频通路隔离设计。
② KT系列/CM7104的T序接口时序参数拆解
KT0234S:可编程DSP的灵活Slot配置
KT0234S的TDM接口支持立体声输入输出,Slot分配通过内部寄存器配置。关键时序参数:
- Frame Sync周期:对应采样率,48kHz采样时Frame周期为20.83μs
- Slot宽度:可配置为16/24/32/48/64位
- DMA双缓冲:KT0234S内置的DSP支持Ping-pong缓冲,切Buffer时会产生约一个采样点的延迟(约21μs @48kHz),设计TDM接收中断服务程序时要注意这个「天然」延迟
寄存器配置的核心判断在于时钟主从关系——如果外挂的PDM麦克风阵列已经有时钟主控,KT0234S应配置为从模式,避免两个时钟源打架。 反过来,如果Codec是唯一时钟源,则由它产生BCLK和FS,KT0234S设为主模式。
KT0234S内置Flash存储器,支持客户固件存储与二次开发,具体容量请参考最新版datasheet或联系FAE确认。封装QFN-24L(3mm×4mm),引脚间距0.5mm,适合空间受限的会议系统设计。
CM7104:TDM接口与音效引擎的资源争用
CM7104的310MHz DSP支撑Xear音效引擎和Volear ENC HD同时运行,支持24-bit/192kHz音频采样(ADC/DAC各2通道),封装LQFP。TDM接口内置ASRC(异步采样率转换器),能自动处理主时钟和本地时钟的频偏——USB Host的采样率和本地晶振之间往往存在几十PPM的差异,ASRC在这里是刚需。
CM7104在多通道场景下有一个隐蔽陷阱:Volear ENC HD与Xear音效引擎共享DSP算力。 开启双麦降噪后,DSP负载会上浮约40%,如果同时打开7.1虚拟环绕声,部分低规格设计会触发算力不足导致的杂音。我们接触过的项目里,这个问题在量产前的压力测试阶段才暴露出来,处理方式通常是关掉某些音效模块,或将部分处理卸载到PC端。实测下来,同时开ENC和7.1环绕声时,建议留至少30%的DSP算力余量。
CM7104的SRAM容量及AI ENC固件支持情况,建议联系骅讯FAE确认最新版本。
混用场景:KT做前端,CM7104做后端
一个经过验证的组合思路:KT0234S负责多路麦克风数据的TDM采集与前端Beamforming处理,CM7104负责后端音效渲染(Xear Surround + Volear ENC)。
两个芯片通过I2S级联:KT0234S的I2S输出接到CM7104的I2S输入,由CM7104的DSP统一做回声消除和音效增强。这种方案的代价是增加了PCB复杂度和BOM成本,优势是算法分工明确,固件迭代互不干扰。
③ 2麦vs4麦:麦克风间距的物理课
Beamforming的理论基础是声程差导致相位差,相位差可用来算方向角。最经典的经验公式是λ/2原则:
麦克风间距 d ≤ λ/2,λ为声波波长
48kHz采样率对应声波最高频率约16kHz,λ/2 ≈ 1.07cm。
但这是理想值。 实际工程中要考虑:
- 低频波长更长:200Hz时λ/2 ≈ 85cm,实际阵列不可能做到,所以低频指向性差是所有Beamforming方案的共同短板
- 房间混响:多径反射让相位信息不可靠,实测中4麦阵列的混响抑制比2麦好5dB以上
- 灵敏度一致性:全向MEMS麦克风的灵敏度偏差通常±1dB以内即可接受,但批量SMT后偏差可能扩大,需要在DSP中做灵敏度校准
2麦阵列适合桌面会议全向麦,4麦阵列(常见矩形或线性排布)适合智能大屏和远距离拾音场景。通话距离≤1.5米且无明显混响,选2麦;需要3米以上远场拾音或会议室内有多人同时说话,4麦起步。
DSP侧相位对齐:GCC/PHAT/MVDR
硬件工程师和算法工程师的分工边界在这里:
- GCC(广义互相关):算两路信号的时延,算法简单,适合固定场景,KT0234S的可编程DSP可以烧录此算法
- PHAT(相位变换加权):GCC的改进版,对噪声更鲁棒,但计算量增加约30%
- MVDR(最小方差无失真响应):高端方案常用,抑制干扰方向能力最强,但需要持续的算力支撑
对于KT0234S这类可编程DSP,推荐GCC起步,如果主控端算力充裕再升级到PHAT。CM7104的DSP因为算力充沛(310MHz),可以直接上MVDR,但要和骅讯FAE确认固件版本是否支持。
④ 远场语音增强的DSP算力预算
这是最容易被低估的部分。很多方案在算法评审时只算「能不能跑通」,没算「同时开能跑多稳」。
典型算力消耗(48kHz采样,供参考)
| 处理模块 | MIPS估算 | Flash占用 |
|---|---|---|
| EQ(10段) | 5-8 | 8-12KB |
| DRC(动态压缩) | 3-5 | 4-6KB |
| 2麦Beamforming(GCC) | 15-20 | 20-30KB |
| 4麦Beamforming(MVDR) | 40-60 | 50-80KB |
| AI ENC(神经网络降噪) | 80-120 | 200-400KB |
KT0234S的DSP可支撑轻量级Beamforming,但如果要跑AI ENC,需要外挂算法芯片或把神经网络卸载到主控端。 CM7104的310MHz DSP理论上可以承载轻量级AI ENC模型,但神经网络固件支持程度需与骅讯FAE确认。
实操中有一个简单判断法:如果同时开启Beamforming和AI ENC,且总MIPS超过DSP标称频率的70%,就要考虑降级算法或分时复用。 会议系统对实时性要求极高,分时复用可能导致语音包延迟抖动,建议提前做压力测试。
⑤ 4麦阵列会议大屏BOM参考
一个典型的KT0234S+CM7104混用方案时钟域设计要点:
- 主时钟域:CM7104作为主控时钟源(晶振通常为24.576MHz),通过I2S/BCLK分配给KT0234S和麦克风阵列
- 从时钟域:KT0234S配置为从模式,接收CM7104的BCLK和FS信号
- USB时钟:USB 2.0高速接口的时钟由USB Host提供(独立于音频时钟),CM7104的ASRC处理两者差异
元器件选型参考:
- MEMS麦克风:推荐Knowles或歌尔的数字PDM麦克风,灵敏度一致性≤±1dB
- KT0234S:QFN-24L封装,USB 2.0 HS,支持UAC 1.0/2.0免驱,主要市场方向含桌面会议系统,负责多路麦克风TDM采集
- CM7104:LQFP封装,信噪比100-110dB,负责音效处理和USB音频桥接
- 晶振:若独立设计麦克风阵列时钟域,建议用精度±10PPM的晶振,减少ASRC负担
价格与MOQ信息站内未披露,请直接询价确认。
选型决策树:KT系列 vs CM7104
第一步:算力需求多少?
如果产品规划里有后续算法升级需求,或者需要OTA更新固件来响应市场反馈,KT0234S更合适——它内置Flash支持客户固件二次开发,桌面会议系统本身就是它的主要战场。
如果追求量产稳定性,希望固件经过原厂验证不想自己趟坑,CM7104是更稳的选择——Xear音效引擎出厂集成,192kHz采样率覆盖Hi-Res场景,SDK支持体系更成熟。
第二步:麦克风数量?
2麦以下,且对音质有极致追求(384kHz采样率,SNR 116dB,THD+N -85dB),KT0235H的24位ADC/DAC在这个价位段有竞争力。2麦但成本压力大,短期不打算OTA,考虑KT02F21——96kHz采样率对会议场景已经绑绑够用,单芯片集成度高,内置G类耳机功放,BOM更干净。
4麦以上,换一种思路:KT0234S+CM7104混用,KT系列做前端采集,CM7104做后端渲染,形成互补型Combo BOM。
第三步:音效复杂度?
需要7.1虚拟环绕声加ENC双开,CM7104算力更稳,但实测下来建议只开一个重型音效模块,另一个降到低功耗模式。只需要基础EQ加DRC,KT系列内置DSP即可覆盖,节省CM7104的BOM成本。
常见问题(FAQ)
Q1:TDM总线多Codec节点同时挂载时,时钟域交叉冲突怎么解决?
最常见的坑是:两个Codec各有自己的晶振,频偏积累到一定程度在Buffer切换边界爆发杂音。我们FAE在评审多个TDM多节点项目时发现,最容易被参考设计忽略的就是时钟主从配置——很多设计直接照抄两家原厂的默认设置,结果两个时钟源同时拉高SCLK,导致时序冲突。解法是让一个节点担任时钟主控(BCLK和FS由此节点产生),其余节点配置为从模式接收时钟。KT0234S通过寄存器配置I2S为主或从模式,如果外接麦克风阵列本身有时钟主控,KT0234S就配置为从。
Q2:KT系列能否同时支持PDM接口和TDM接口?
KT0234S和KT0235H的音频接口通常默认配置为I2S/TDM,PDM模式需要通过寄存器切换。KT0234S内置的3路8位ADC主要用于辅助信号采集,不直接参与TDM音频通路。如果项目需要混用数字PDM麦克风和TDM Codec,建议用PDM转TDM的时钟仲裁芯片,而不是让同一Codec在两种模式之间动态切换——后者在量产中容易出现模式切换噪声。
Q3:CM7104同时开Volear ENC和Xear音效时出现杂音,怎么处理?
这是CM7104在多通道场景下最常见的资源争用问题。310MHz DSP在同时跑双麦ENC(约40%算力负载)和7.1虚拟环绕声时,算力余量不足。推荐的做法是将7.1环绕声降到5.1或立体声模式,把算力留给ENC,或者通过骅讯SDK将部分后处理卸载到PC端。如果固件不支持模块级算力分配,建议直接联系骅讯FAE调一个专用的双开固件版本——量产项目通常需要原厂配合调参。
Q4:4麦阵列的麦克风间距必须严格遵守λ/2吗?
不一定。λ/2是避免栅瓣(Grating Lobe)的理论边界,实际工程中稍大间距会导致栅瓣出现在声源主方向之外,影响远场拾音质量。但如果产品定位是近场(<1米),可以适当放宽间距要求,优先保证麦克风灵敏度一致性和PCB布局合理性。我们在某款4麦会议大屏量产时发现,比严格λ/2稍大的间距反而因为有效孔径更大,在3米远场场景下语音清晰度更好——当然这取决于具体声学环境和算法调校。
想获取KT0234S/CM7104在2麦以上应用中的完整TDM时序配置文档与参考BOM? 联系我们的FAE,支持原理图评审与算法调试指导,帮助团队快速跨过「原理图验证」这道坎。价格与MOQ站内未披露,请直接询价确认。