PDM ======== 概述 -------- PDM 是对连续变化的模拟信号进行抽样、量化和编码产生的数字信号的信号调制方式。 PDM 通过合适的算法将典型的 24 比特的脉冲编码调制(Pulse Code Modulation,PCM)信号转换为 1 比特的音频信号,其为 1 位数字采样的高频数据流,脉冲的相对密度对应于模拟信号的幅度。原理图如下: .. image:: ../../../_static/PDM_SAMPLE.png :align: center .. centered:: PDM SAMPLE 架构图 在 PDM 信号中,脉冲的相对密度对应于模拟信号的幅度。大量的 ‘1’ 对应于高(正)幅度值,而大量的 ‘0’ 对应于低(负)幅度值,交替的 ‘1’ 与 ‘0’ 对应于幅度值 ‘0’。 WQ7036 有 4 个 PDM Rx 模块和 1 个 PDM Tx 模块,支持最多 4 对(或 8 路)1 比特 PDM 格式数字信号输入和 1 对(或 2 路)1 比特 PDM 格式数字信号输出。每个 PDM 模块可以工作在不同时钟。 功能特性 ------------------ PDM 模块特性如下: - 支持双声道数据输入/输出,即上升沿(左声道),下降沿(右声道)。 - 支持 Tx/Rx 配置成 master 或者 slave。 - master 模式下,输出时钟为 audio 工作时钟整数倍分频。 - 支持输入/输出数据时延配置(0~3 拍)。 - 支持 Tx/Rx 独立运行。 - 支持 4 MHz、3.2 MHz、2 MHz、1 MHz 等采样率(audio 工作时钟为 16 MHz)。 - 支持 3.84 MHz、3.072 MHz、1.92 MHz、1.56 MHz、0.96 MHz 等采样率(audio 工作时钟为 15.36 MHz)。 PDM RX 架构 ----------- PDM RX 的架构图如下图所示。 .. image:: ../../../_static/PDM_RX.png :align: center .. centered:: PDM RX 架构图 一个 PDM Rx 模块可以支持两路 PDM 数据传输和单路 PDM 数据传输: - 两路数据传输时,在时钟上升沿和下降沿进行数据分离,得到两路独立的数字信号,再分别进行下采样和滤波处理,得到多比特高精度音频信号。 - 单路数据传输时,在任意时钟沿(上升沿或下降沿)提取数据,再分别进行下采样和滤波处理,得到多比特高精度音频信号。 WQ7036 最大支持 8 路 PDM MIC 数据输入。 PDM TX 架构 ----------- PDM TX 架构图如下图所示。 .. image:: ../../../_static/PDM_TX.png :align: center .. centered:: PDM TX 架构图 WQ7036 支持两路 PDM 数据输出。两路 PCM 数据经过上采样和滤波等处理之后,经过 PDM Tx 模块得到两路 1 比特数字信号,在时钟上升沿和下降沿合并两路 1 比特数字信号,并输出到芯片 GPIO 管脚。 API 介绍 ------------ .. doxygenfile:: wq_pdm.h .. doxygenfile:: wq_pdm_declare.h