2024-06-05 06:41 AM - last edited on 2024-06-05 07:08 AM by Peter BENSCH
Hi,
I am new to I2S protocol, this is the first time I am working on this, I’m sorry if my question sounds trivial.
I am trying to interface the RAK3172 module (STM32WLE5CC is inside) with the NAU88L25YGB audio codec from Nuvoton, the audio codec has ADCOUT and DACIN that as per the given reference design should connect to I2S_DI and I2S_DO of a MCU respectively. STM32WLE5CC/RAK3172 only has I2S2_SD pins, no separate DI and DO pins.
Following is the wiring between RAK3172(STM32WLE5CC) and NAU88L25YGB.
RAK3172(STM32WLE5CC) | NAU88L25YGB |
PA3 | CODEC_I2S2_MCK/MCLK |
PA8 |
CODEC_I2S2_CK/BCLK |
PA9 | CODEC_I2S2_WS/LRCK |
PA10 | CODEC_I2S2_SD/DI/DO (??) |
How can I tackle missing I2S's DI and DO pins of STM32WLE5CC?
Thanks in advance for any help.
-Anesh
Solved! Go to Solution.
2024-06-05 10:06 AM
Oops, I overlooked pin 25, where you would have PA10 available.
Ok, then you can use I2S - but, as already mentioned, only half-duplex, i.e. EITHER transmitting OR receiving, NOT both at the same time.
The four I2S2_SD pins PC1, PC3, PA10, PB15 are only available in the larger packaged STM32WLEJx, your STM32WLE5Cx only has one I2S2_SD pin: PA10 (see data sheet, table 29, package UFQFPN48, i.e. the most left column). But even with the STM32WL in the larger package, you can only select exactly one I2S2_SD and cannot use it as an alternative DI or DO - please remember, it is not a full duplex implementation of I2S.
Regards
/Peter
2024-06-05 07:34 AM
Both package variants of the STM32WLE5 only support half-duplex I2S, for which WS, CK and SD are usually sufficient; as a master, the STM32WLE5 can also output the MCK signal. I2S2_SD is used for master and slave operation, SI and SO would only be useful for full duplex.
In the smaller package UFQFPN48, I2S2_SD is on PA10. However, RAK does not appear to have brought out the PA10 pin. With the STM32WLE5 in UFBGA73 you could switch I2S2_SD to alternative pins, unfortunately this is not possible with the smaller package UFQFPN48 and therefore also with the RAK3172.
I'm very sorry, but it looks like there is no way to use I2S with the RAK3172.
Regards
/Peter
2024-06-05 08:06 AM
I am looking at the datasheet of RAk3172 and can confirm that PA10 has been brought out on the pin.
https://docs.rakwireless.com/Product-Categories/WisDuo/RAK3172-Module/Datasheet/#hardware
STM32WLE5CC has four I2S2_SD pins PC1, PC3, PA10, PB15. Can I configure one I2S2_SD pin as a DI and another as a DO?
Regards,
-Anesh
2024-06-05 10:06 AM
Oops, I overlooked pin 25, where you would have PA10 available.
Ok, then you can use I2S - but, as already mentioned, only half-duplex, i.e. EITHER transmitting OR receiving, NOT both at the same time.
The four I2S2_SD pins PC1, PC3, PA10, PB15 are only available in the larger packaged STM32WLEJx, your STM32WLE5Cx only has one I2S2_SD pin: PA10 (see data sheet, table 29, package UFQFPN48, i.e. the most left column). But even with the STM32WL in the larger package, you can only select exactly one I2S2_SD and cannot use it as an alternative DI or DO - please remember, it is not a full duplex implementation of I2S.
Regards
/Peter
2024-06-05 10:49 AM
Thanks Peter for the help.