jonlamb-gh / home-phone

1 stars 0 forks source link

I2S driver in the HAL crate #9

Open jonlamb-gh opened 5 years ago

jonlamb-gh commented 5 years ago

Will be used by https://github.com/jonlamb-gh/home-phone/issues/6.

Either full-duplex I2S2 or use both I2S2 and I2S3.

Some examples:

jonlamb-gh commented 4 years ago

From the datasheet:

3.26 Two standard I2S interfaces (multiplexed with SPI2 and SPI3) are available. ... For I2S2 full-duplex mode, I2S2_CK and I2S2_WS signals can be used only on GPIO Port B and GPIO Port D.

jonlamb-gh commented 4 years ago

stm32f429 SPI2 I2S2_CK: PB10, PB13, PD3, AF5 I2S2_WS: PB12, PB9, AF5 I2S2ext_SD: PB14, PC2, PI2, AF6 (full-duplex Rx) I2S2_SD: PB15, PI3, AF5 (full-duplex Tx) I2S2_MCK: PC6, AF5

jonlamb-gh commented 4 years ago

stm32f429 has a Serial Audio Interface, SAI, supports full-duplex All SAI pins are AF6

SAI1_MCLK_A: PE2 SAI1_FS_A: PE4 SAI1_SCK_A: PE5 SAI1_SD_A: PE6, PD6

SAI1_SD_B: PE3, PF6 SAI1_MCLK_B: PF7 SAI1_SCK_B: PF8 SAI1_FS_B: PF9

0x4001 5800 - 0x4001 5BFF SAI1

jonlamb-gh commented 4 years ago

arduino lib https://github.com/danieleff/STM32GENERIC/blob/master/STM32/libraries/I2S/src/I2S.cpp

jonlamb-gh commented 4 years ago

Basic master Tx support added to home-phone-changes branch: https://github.com/jonlamb-gh/stm32f4xx-hal/compare/master...jonlamb-gh:home-phone-changes

jonlamb-gh commented 4 years ago

Pins config from working master tx example:

TODO