PCM = Pulse Code Modulation 是通过等时间隔(即采样率时钟周期)采样将模拟信号数字化的方法。图为4 bit 采样深度的PCM数据量化示意图:
和I2S接口差不多,PCM接口是4根信号线,通常用于AP处理器和通信MODEM之间传输语音数据(就是双向打电话的数据)。
AP处理器和蓝牙之间也是通过PCM来传输语音数据,打电话的蓝牙数据走的是PCM,放音乐的蓝牙数据走的是串口(不是PCM)。
特点:
效率高,多达16路数据;主要传输音乐;先传高位再传低位。
传输内容:
PCM编码后的音频数据。
工作模式:
根据 SD相对帧同步时钟FSYNC的位置,TDM分两种基本模式:
Mode A:数据在FSYNC有效后,BCLK的第2个上升沿有效。
Mode B:数据在FSYNC有效后,BCLK的第1个上升沿有效。
时分复用TDM技术:
I2S只能传2个声道的数据,PCM可以传多达16路数据,采用时分复用的方式,就是TDM(Time Division Multiplexing)
下图表示应用DSP作为主设备控制ADC和DAC间数字音频流的例子。
信号定义
PCM接口与I2S相似,电路信号包括:
PCM_CLK 数据时钟信号
PCM_SYNC 帧同步时钟信号
PCM_IN 接收数据信号
PCM_OUT 发送数据信号
TDM/PCM与I2S接口对应关系见表2:
时钟(BCLK)频率的计算
FSYNC的频率等于音频的采样率(例如44.1 kHz,48 kHz等)。Frame每次传输包括所有声道的数据。PCM采样音频数据量化深度一般在16-32bit(最常见为16/24bit)。那么对于8声道,每个声道32bit音频数据,采样率48kHz的系统,TDM的系统时钟速率为:8 × 32 × 48kHz = 12.288 MHz
在器件Datasheet中可以见到TDM128/TDM256/TDM384/TDM512等说法,数字的含义为单个TDM数据帧包含数据的比特数(即帧长)。如上例8声道(Channels)32bit的音频数据,亦称为TDM256(=8*32)。TDM系统时钟速率就可以简单地用采样率乘以TDM帧长计算得出。相同的例子,TDM系统时钟速率:48kHz × 256 = 12.288 MHz
下表4列出系统时钟SCK/BCLK和采样率fs及TDM帧长的关系: