I am studying this SPH0645 module for use with a STM32.

I started by checking the timing diagram of the I2S and compatibility between this module and the STM32.

The STM32L151 MCU is compatible with Philips mode which is the most used mode according to my research. I found a problem in the change of the pin data, as we see on the time diagram (here), the chagement (for the Philips mode) is done during the falling edge, while for the SPH0645 this change is done at rising edge. This is the SPH0645 datasheet:here

Difference between stm32 and sph0645 timing diagrams

The SPH0645 timing diagram is not compatible with philips mode. But I find in the adafruit site an arduino code with philips mode configuration, I'm confused, and don't know how I can configure the STM32 to be compatible with this module.

You can find also the stm32 timing diagram on figure 257 page 775 in the RM0038 document:here

Can you confirm if the sph0645 module will work or not with stm32 (philips mode configuration), and why?

Thank you


You keep mentioning philips mode, why is that?

From stm32 datasheet you linked:

Bits 5:4 I2SSTD: I2S standard selection
  00: I2S Philips standard.
  01: MSB justified standard (left justified)
  10: LSB justified standard (right justified)
  11: PCM standard

Do any of these modes do what you want? Is there a more detailed datasheet for sph0645 as this one looks a bit brief?

  • \$\begingroup\$ The Philips standard is used on arduino code (in adafruit site) to configure I2S protocol. It's the mode that has the least difference with the SPH0645 timing diagram. but isn't totally compatible, according to my analysis. I add an image to my question to clarify the difference between the two timing diagams. \$\endgroup\$ – aymen Mar 28 at 9:55
  • \$\begingroup\$ I don't find another technical document for the sph0645 \$\endgroup\$ – aymen Mar 28 at 10:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.