cancel
Showing results for 
Search instead for 
Did you mean: 

Why is the SMBus-two-wire interface limited to 100kHz clock,

FStra.9
Associate III

I'm using the STM32H743 and the it will not allow me to choose fast mode for a 400kHz clock speed. Is that a bug in the IDE?

1 ACCEPTED SOLUTION

Accepted Solutions
TDK
Guru

The reference manual lists max SMBus frequency as 100kHz so CubeMX is probably just respecting that.

0693W000006FOGCQA4.png 

This presentation says it works at higher speeds:

https://www.st.com/resource/en/application_note/dm00118362-stm32-smbuspmbus-embedded-software-expansion-for-stm32cube-stmicroelectronics.pdf

So probably if you changed the clock initialization manually it would work. But it's not going to work with HAL due to this define:

#define IS_SMBUS_CLOCK_SPEED(SPEED)                (((SPEED) > 0U) && ((SPEED) <= 100000U))

If you feel a post has answered your question, please click "Accept as Solution".

View solution in original post

1 REPLY 1
TDK
Guru

The reference manual lists max SMBus frequency as 100kHz so CubeMX is probably just respecting that.

0693W000006FOGCQA4.png 

This presentation says it works at higher speeds:

https://www.st.com/resource/en/application_note/dm00118362-stm32-smbuspmbus-embedded-software-expansion-for-stm32cube-stmicroelectronics.pdf

So probably if you changed the clock initialization manually it would work. But it's not going to work with HAL due to this define:

#define IS_SMBUS_CLOCK_SPEED(SPEED)                (((SPEED) > 0U) && ((SPEED) <= 100000U))

If you feel a post has answered your question, please click "Accept as Solution".