SAI外设
SAI(Serial Audio Interface)提供了多种音频协议,例如:I2S标准(LSB或MSB认证),PCM DSP,TDM和S PDIF。 SAI包含两个独立的音频子块,Block-A和Block-B。。 每个子模块都有自己的时钟发生器和I / O线路控制器,可以配置为发送器或接收器。
特性:
支持高达192khz的音频采样频率。
SAI可以在工作在master或slave配置。
音频子块可以是接收器(receiver),也可以是发送器(transmitter),并且可以同步或异步地工作(相对于另一个)。
SAI可以与其他SAI连接以同步工作。
Domain | Peripheral | Runtime allocation | Comment | |||
Instance | Cortex-A7 secure (OP-TEE) | Cortex-A7 non-secure (Linux) | Cortex-M4 (STM32Cube) | |||
Audio | SAI | SAI1 | ☐ | ☐ | Assignment (single choice) | |
SAI2 | ☐ | ☐ | Assignment (single choice) | |||
SAI3 | ☐ | ☐ | Assignment (single choice) | |||
SAI4 | ☐ | ☐ | Assignment (single choice) |
以下是SAI2控制器的dts代码,arch/arm/boot/dts/stm32mp157c.dtsi文件中。
sai2: sai@4400b000 {
compatible = "st,stm32h7-sai";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x4400b000 0x400>;
reg = <0x4400b000 0x4>;
interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
resets = <&rcc SAI2_R>;
status = "disabled";
sai2a: audio-controller@4400b004 {
#sound-dai-cells = <0>;
compatible = "st,stm32-sai-sub-a";
reg = <0x4 0x1c>;
clocks = <&rcc SAI2_K>;
clock-names = "sai_ck";
dmas = <&dmamux1 89 0x400 0x01>;
status = "disabled";
};
sai2b: audio-controller@4400b024 {
#sound-dai-cells = <0>;
compatible = "st,stm32-sai-sub-b";
reg = <0x24 0x1c>;
clocks = <&rcc SAI2_K>;
clock-names = "sai_ck";
dmas = <&dmamux1 90 0x400 0x01>;
status = "disabled";
};
};
作者:SteveChen 创建时间:2024-09-18 17:41
最后编辑:SteveChen 更新时间:2024-09-18 17:41
最后编辑:SteveChen 更新时间:2024-09-18 17:41