PDM MEMS麦克风 LR/Data Select时序机制详解 1. 背景为什么PDM麦克风需要LR/Data Select引脚数字MEMS麦克风常见的PDM接口通常包括CLK、DATA、VDD、GND以及LR或Data Select引脚。PDM输出不是I2S这类分帧PCM数据而是高速1-bit bitstream。接收端通过数字抽取滤波器把bit density转换成音频采样值。LR/Data Select的主要作用不是改变声学通道本身而是规定这颗麦克风在共享DATA总线时占用哪一个半时钟周期。这样两颗麦克风可以共用一根CLK和一根DATA一颗麦在一个半周期驱动DATA另一颗麦在另一个半周期驱动DATA。因此LR接GND或VDD本质上是在选择数字总线上的slot。它决定DATA何时被麦克风驱动、何时被接收端采样、何时释放为High-Z。2. Datasheet表格的准确含义Data Select Pin状态麦克风驱动DATA的时刻接收端采样DATA的时刻DATA输出释放为High-Z的时刻Connected to VDDRising clock edge之后Falling clock edgeFalling clock edge之后Connected to GNDFalling clock edge之后Rising clock edgeRising clock edge之后这张表最关键的地方是区分三个动作第一麦克风什么时候开始驱动DATA第二接收端什么时候读取DATA第三麦克风什么时候释放DATA线。很多沟通误差来自把这三个动作都笼统地说成上升沿或下降沿。对于LRGND表格并不是说麦克风在rising edge才输出数据。恰恰相反它说明麦克风在falling edge之后已经开始驱动DATA到下一个rising edge时DATA已经经过半个周期的建立时间接收端可以在这个rising edge安全地锁存该bit。3. LR接GND的完整时序当Data Select Pin连接到GND时一个PDM bit的数字接口流程可以写成下面的顺序CLK falling edge到来。麦克风在falling edge之后驱动新的DATA bit。DATA经过内部输出延迟和板级传播延迟后稳定。接收端在下一个rising edge采样DATA。rising edge之后麦克风释放DATA输出进入High-Z。这就是LR接GND时接收端在上升沿采样的原因不是因为上升沿本身有特殊声学意义而是因为该bit在前一个falling edge后已经被放到DATA线上到rising edge时满足接收端的setup/hold要求。3.5 两种模式对比时序图下面用Mermaid时序图直观展示LRGND和LRVDD两种模式下CLK、DATA驱动、DATA采样、DATA High-Z四个信号在一个完整时钟周期内的时序关系。timeline title PDM时序LRGND vs LRVDD一个完整CLK周期 section CLK CLK rising edge : 时钟上升沿 CLK falling edge : 时钟下降沿 section LRGND模式 Falling edge之后 : 麦克风驱动DATA输出有效bit Rising edge : 接收端采样DATA锁存该bit Rising edge之后 : 麦克风释放DATA → High-Z section LRVDD模式 Rising edge之后 : 麦克风驱动DATA输出有效bit Falling edge : 接收端采样DATA锁存该bit Falling edge之后 : 麦克风释放DATA → High-Z section DATA线状态双麦共享场景 Falling-to-Rising半周期 : GND麦克风驱动DATA Rising-to-Falling半周期 : VDD麦克风驱动DATA 两个半周期之间 : DATA线交替出现两个麦克风的PDM bit时序图说明LRGNDCLK falling edge → 麦克风驱动DATA → DATA建立 → CLK rising edge → 接收端采样 → rising edge后释放为High-Z。LRVDDCLK rising edge → 麦克风驱动DATA → DATA建立 → CLK falling edge → 接收端采样 → falling edge后释放为High-Z。两种模式各占用半个CLK周期交替驱动时DATA线不会冲突。关键边沿标注驱动边沿麦克风开始输出、采样边沿接收端锁存、释放边沿进入High-Z三者明确区分。4. LR接VDD的互补时序当Data Select Pin连接到VDD时该麦克风占用相反的半个时钟周期。它在rising edge之后驱动DATA接收端在下一个falling edge采样随后在falling edge之后释放DATA。VDD与GND的slot互补这样两颗麦可以共享同一根DATA线VDD麦克风占用rising-to-falling半周期GND麦克风占用falling-to-rising半周期。两者交替驱动避免同时驱动同一条DATA线。5. 为什么不能在刚驱动DATA的同一个边沿采样数字信号不是理想瞬间变化的。麦克风从时钟边沿触发输出到DATA引脚真正达到稳定高/低电平中间会经历内部latch延迟、输出buffer延迟、pad延迟、PCB走线延迟以及接收端输入延迟。因此datasheet通常会把Data driven after某边沿和Data sampled by receiver on另一个边沿分开描述。这样做可以把半个时钟周期留给DATA建立。例如PDM clock为3.072 MHz时周期约为325.5 ns半周期约为162.8 ns。这个半周期就是接口时序的主要margin。如果接收端在DATA正在切换或尚未稳定的时候读取就可能读到错误bit、浮空状态或另一个声道的数据。这类错误在音频上可能表现为灵敏度偏差、噪声异常、左右声道错位、pop/click、失真增大或不稳定的SNR。6. High-Z的作用让两颗麦克风共享一根DATAHigh-Z是高阻态可以理解为麦克风临时把自己的DATA输出从总线上断开。对于共享DATA的双麦结构High-Z非常关键。假设一颗麦克风LRVDD另一颗麦克风LRGND。VDD麦克风在rising-to-falling半周期驱动DATA到falling edge被采样后释放GND麦克风在falling-to-rising半周期驱动DATA到rising edge被采样后释放。于是DATA线上按时间交替出现两个麦克风的PDM bit。如果没有High-Z或High-Z时序错误两颗麦克风可能同时驱动同一根DATA线。一颗输出1另一颗输出0时会形成总线冲突波形会被拉坏严重时还可能增加功耗或造成可靠性问题。7. 采样一词的两个层级这里特别容易混淆的一点是datasheet里的Data Sampled by Data Rx On指的是接收端在某个时钟边沿读取DATA线上的0/1 bit。它不是指麦克风内部在这个边沿采集空气声压。声学信号进入MEMS结构后经过前端模拟电路和sigma-delta调制器形成高速1-bit PDM bitstream。这个调制过程在内部连续进行。外部PDM时钟边沿主要用于同步输出bit和接收端锁存bit。因此LRGND时rising edge采样这句话应理解为PDM接收器在rising edge把DATA线上的当前bit锁存进数字接收逻辑。它不等价于声压只在rising edge被测量。8. 调试时需要检查的配置检查项为什么重要错误时可能出现的现象PDM receiver的采样边沿必须与麦克风的data-valid窗口匹配bit error灵敏度偏差噪声异常LR/Select接法决定该麦克风占用哪个半周期左右声道交换声道为空或错位DATA是否有共享双麦共享DATA时必须依赖High-Z交替驱动总线冲突波形畸变功耗异常CLK频率和占空比半周期长度决定timing margin高频时序不稳定偶发失真或pop走线和电平质量边沿过慢或串扰会压缩有效采样窗口PDM数据抖动EMI敏感SNR变差对于图中的时序如果只接一颗LRGND的麦克风接收端应把rising edge采样到的bit作为该通道数据。若接收端配置为相反边沿它可能在麦克风刚释放或另一个半周期的状态读取结果就不再可靠。9. 推荐的沟通表述为了避免歧义在和FAE、ASIC、Codec或客户沟通时不建议只说LRGND走上升沿。更准确的表述如下对于该PDM MEMS麦克风Data Select接GND时麦克风在falling clock edge之后驱动DATA接收端在下一个rising clock edge采样该DATA bit然后麦克风在rising edge之后释放DATA线进入High-Z。Data Select接VDD时则相反rising edge之后驱动falling edge采样falling edge之后High-Z。这句话同时说明了输出边沿、采样边沿和High-Z边沿比上升沿采样更完整也更适合用于技术邮件、debug note或客户解释。10. 总结LR/Data Select引脚的本质作用是选择PDM麦克风在共享DATA线上的半周期slot。LRGND时该麦克风占用falling-to-rising半周期falling edge后驱动DATArising edge被接收端采样rising edge后释放为High-Z。LRVDD时则占用rising-to-falling半周期。因此这类时序问题的关键不是简单记忆上升沿或下降沿而是明确三个动作之间的关系data driven after哪个边沿、data sampled by receiver on哪个边沿、data high-Z after哪个边沿。只要这三个动作与接收端配置一致PDM数据流才能被正确、稳定地解码。