Part Number:CC2640R2F
Team,
my CAT3 customer has this issue:
Part of our software code is a communication channel between the BLE and BMS in the battery (over I2C).
When there no electrical noise in the system code is running and we have no issues. Once we start our motors
and we have electrical noise the BMS starts to send false data.
We have two software projects. One uses an older TI SDK: simplelink_cc2640r2_sdk_1_50_00_58 without the
ability to do a firmware update (no OAD) and a new software project based on TI’s latest SDK: simplelink_cc2640r2_sdk_3_10_00_15
With the older project we found a work around. We re-initialized the I2C driver and that solve the problem.
This work around works fine and is consistent.
I have started on a new software project to replace that one we use now that has the ability to do an over the air download (OAD)
This software project uses the latest TI SDK: simplelink_cc2640r2_sdk_3_10_00_15
For some reason the same work around that worked with the older SDK does not work as expected in the new software project.
After reinitializing the I2C we either get a system crash or if we modify the code that worked before we are able to get it to run
But although the I2C communication resumes we get a transaction error from the I2C driver.
We used a logic analyzer so we can see that after re-initializing the driver we get good data. We have hacked into TI own drivers
And found that the driver returns a bus busy error and that is causing eventually the transaction failure.
Just to remind you that in our system the BLE serves as a single master I2C and we have only one slave device. Also we are working
in blocking mode. In such conditions there should not be a bus busy error ??"
Thank you for your help
Best regards
Karim