01
PCM接口概述
什么是PCM接口、PCM与I2S的区别、PCM的应用场景(蓝牙音频、数字麦克风、语音编解码器)
概念对比
02
PCM协议基础
帧同步(FSYNC)、位时钟(BCLK)、数据线(DATA)、单声道与立体声模式、数据格式(左对齐、右对齐、I2S兼容模式)
协议时序
03
PCM时序分析
帧同步脉冲宽度、位时钟频率计算、数据建立时间与保持时间、主从模式时序差异
时序计算
04
硬件接口设计
PCM引脚定义、电平匹配(1.8V/3.3V)、外部电路(上拉电阻、去耦电容)、常见硬件连接错误
硬件电路
05
开发环境搭建
Keil/IAR工程配置、STM32CubeMX配置PCM外设、时钟树设置、GPIO复用功能配置
工具STM32
06
PCM初始化编程
外设时钟使能、GPIO初始化、PCM参数配置(采样率、数据位宽、帧格式)、中断与DMA配置
初始化配置
07
PCM数据发送
阻塞式发送、中断式发送、DMA发送、发送缓冲区管理、发送完成回调函数
发送DMA
08
PCM数据接收
阻塞式接收、中断式接收、DMA接收、接收缓冲区管理、接收溢出处理
接收溢出
09
PCM中断处理
中断优先级设置、中断服务函数编写、中断标志位清除、中断嵌套问题
中断优先级
10
PCM DMA传输
DMA通道配置、DMA循环模式、DMA半传输中断、DMA传输完成中断、DMA与CPU数据同步
DMA循环
11
PCM双缓冲机制
双缓冲原理、缓冲区切换策略、乒乓操作实现、数据丢帧预防
缓冲乒乓
12
PCM时钟同步
主时钟与位时钟关系、时钟分频计算、时钟抖动影响、时钟恢复技术
时钟同步
13
PCM数据格式转换
16位/24位/32位数据转换、有符号与无符号处理、大端与小端模式、数据缩放与归一化
转换格式
14
PCM音量控制
数字音量调节、软件增益控制、音量渐变实现、防止削波失真
音量增益
15
PCM采样率转换
整数倍采样率转换、分数倍采样率转换、插值与抽取、抗混叠滤波
采样率滤波
16
PCM音频编解码
A律/μ律压缩、线性PCM与压缩PCM转换、G.711编解码实现、G.726 ADPCM编解码
编解码G.711
17
PCM与I2S桥接
PCM转I2S协议转换、时序适配、数据位宽匹配、常见桥接芯片(如CS8406)
桥接I2S
18
PCM多通道扩展
时分复用(TDM)原理、多通道时隙分配、通道同步、多通道数据交织
TDM多通道
19
PCM低功耗设计
时钟门控、DMA睡眠模式、数据缓冲深度优化、唤醒与休眠流程
低功耗优化
20
PCM错误处理
帧同步丢失检测、位错误检测、CRC校验实现、错误恢复机制
错误CRC
21
PCM调试技巧
逻辑分析仪抓取PCM波形、示波器测量时序、调试打印数据、常见问题排查
调试波形
22
PCM与蓝牙音频
HFP协议中的PCM传输、蓝牙音频编解码器(如CSR8670)、SCO链路与eSCO链路
蓝牙HFP
23
PCM与数字麦克风
PDM转PCM、数字麦克风接口协议、MEMS麦克风驱动、麦克风阵列同步
麦克风PDM
24
PCM与语音编解码器
WM8731/VS1053驱动、I2C配置编解码器、PCM数据流控制、音量与均衡器控制
编解码器I2C
25
PCM实时音频处理
音频延迟处理、回声消除(AEC)基础、噪声抑制(NS)基础、自动增益控制(AGC)
实时AEC
26
PCM音频文件存储
WAV文件格式解析、PCM数据写入WAV、SD卡存储音频、FATFS文件系统操作
WAVSD卡
27
PCM音频播放
DAC驱动、PWM音频输出、I2S DAC播放、音频放大电路设计
播放DAC
28
PCM音频录制
ADC驱动、PDM麦克风录音、PCM数据缓存、录音文件生成
录制ADC
29
实战项目一:蓝牙音箱
PCM接收+音量控制+DAC播放+按键控制
项目蓝牙音箱
30
实战项目二:数字录音笔
PDM麦克风+PCM编码+SD卡存储+OLED显示
项目录音笔