0x4000 4000 - 0x4000 43FF
0x4000 3C00 - 0x4000 3FFF
0x4000 3800 - 0x4000 3BFF
0x4000 3400 - 0x4000 37FF
STM32 I2S 支持四种接口标准和数据格式,如下表。更多内容请参考对应型号 STM32 的参考手册。
I2S 标准(Philips 标准)、左对齐标准、右对齐标
准、PCM 标准
16 位数据 @16 位帧、16 位数据 @32 位帧、24
位数据 @32 位帧、32 位数据 @32 位帧
由表可看出,STM32 I2S 支持音频分辨率可为 16,24 和 32 位。I2S 时钟配置及数据格式选择决定了音频采样率,时钟产
生架构如下图所示。不同系列 STM32 I2S 接口能够支持的最大音频采样率有差异,更多采样率支持情况请参考对应型号
STM32 的参考手册。
图中 MCK、CK 分别对应 I2S 总线上的主时钟和总线时钟。其中 I
2
SxCLK 获取路径如下图所示(对应于右侧的 I2S
clocks)。红色线路或者绿色线路可选,本文中以红色线路为例,利用 PLL 时钟源获取 I
2
SxCLK 时钟。
注:下图是 STM32F429 时钟配置图的部分。不同型号 STM32 的时钟树存在差异,具体以实际采用型号的时钟树为准。
在遵循 I2S 标准的实现方案中,采样率公式如下 (注:Fs 为采样率,得益于 Cube 驱动库中的良好 API 实现,可以直接
设置采样率,使用者不需要按照下述公式进行 I2SDIV 和 IDD 的计算及配置。):