2020-10-16 04:02 AM
Hi,
I'm working on a project with a STM32L475RC and I'm facing problems with the SMBUS.
The STM32L475RC is used as a SMBUS/PMBUS Client. As smbus/pmbus stack I use the X-CUBE-SMBUS Expansion Package (AN4502).
Now I'm facing problems with block transfers. When reading block data the smbus master initially reads only the first byte (number of bytes to be read) and then in a second read the smbus master reads the complete block data. The initial read of the first byte leads to a ACKF error in the SMBUS driver. However this should not be a problem for the driver to handle this error. Then reading the whole block of data (second read) fails and the data line (sda) remains low. See the attached pictures (The images are coherent).
I checked both the stack and the smbus driver. Especially the error handling. However, I couldn't find the cause for the described behaviour.
Does anyone have any advice for me?
Thanks in advance.