cancel
Showing results for 
Search instead for 
Did you mean: 

Hello everyone, I have to implement SMBus communication with battery. I read X-CUBE-SMBUS Software is only compatible with NUCLEO-G431RB, NUCLEOH743ZI, NUCLEO-L4R5ZI, 32F072BDISCOVERY, 32L0538DISCOVERY, 32L476GDISCOVERY, and STM32F3DISCOVERY boards.

Shubham1
Associate

I have an STM32 F401RE (NUCLEO - 64)board. In the document " Description of STM32F4 HAL and low-layer drivers" there are HAL SMBUS Generic drivers. Is it possible to implement SMbus communication using this board or I will have to purchase on of the above mentioned boards.

And does it work only for the above mentioned boards or the all the boards of STM32 F0 / F3 / G4 / H7 / L0 / L4 / WB Series ?

1 ACCEPTED SOLUTION

Accepted Solutions

Hi @Shubham​ ,

The SMBus on STM32F4 is limited to 100kHz, because the I2C peripheral doesn't support timing necessary for higher SMBUS frequency (it's then different to I2C). According to the reference manual it's limited to SMBus 2.0.

After an internal cross-check with the team, there is no plan to modify the driver calls in the stack/middleware to use the HAL driver of STM32F4.

Please mark my answer as best by clicking on the "Select as Best" button if it helped 🙂

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

View solution in original post

3 REPLIES 3
Imen.D
ST Employee

Hello @Shubham​ ,

Let me first welcome you to the STM32 Community =)

What version of SMBUS interface specification the battery is using ?

There is a HAL SMBus source code within STM32CubeF4 MCU package: stm32f4xx_hal_smbus.c and stm32f4xx_hal_fmpsmbus.c, available under this path: STM32Cube_FW_F4_V1.26.1\Drivers\STM32F4xx_HAL_Driver\Src

But, let me check back with the SMBUS team if the X-CUBE-SMBUS package will be updated to support F4.

I'll make sure to post any updates here as soon as I hear back from them.

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

Hi @Shubham​ ,

The SMBus on STM32F4 is limited to 100kHz, because the I2C peripheral doesn't support timing necessary for higher SMBUS frequency (it's then different to I2C). According to the reference manual it's limited to SMBus 2.0.

After an internal cross-check with the team, there is no plan to modify the driver calls in the stack/middleware to use the HAL driver of STM32F4.

Please mark my answer as best by clicking on the "Select as Best" button if it helped 🙂

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen

Hello @Imen DAHMEN​ 

Thank you for the prompt response. The battery supports SMBUS specification version 1.1.