Other Parts Discussed in Thread: BQSTUDIO
Hello,
I am trying to enable PEC for controlling message control in BMS system that uses BQ78350-R1 IC as slave and a MCU as master to be used as host. Despite enabling "HPE" bit via Smb Configuration and appliying reset after changing the corresponding bits I cannot see any CRC bit at the end of messages sent by Gauge and gauge fails if I try to send CRC for my write message. I can establish successful communication between MCU and Gauge withhout PEC option enabled .
When I have checked the SMBUS line with logic analyser I have seen that read command did not include the supposed CRC at the end of the file as seen in figure 1. CRC should be 0xFE but I have received 0x79 instead. Desired message length is obtained as master requests to read 3 bytes.
Figure 1. Read command without corresponding CRC.
After sending a package with crc added to end as shown in Figure 2 , following commands gives wrong results.
Figure 2. Write command that leads to failure.
I refered and followed given instructions for enabling PEC in "BQ78350-R1 Technical Reference"(SLUUBD3E) and "SMBus Made Simple"(SLUA475) documents. I have used P(x) = x8+ x2+ x1+ x0 calculation for PEC. I am also sure that all of the registers I intended to set are configured as desired. For controlling I used bqstudio and made flash read with different version of software without PEC control.
I am thinking that I cannot enable PEC for Gauge IC. How can I enable PEC for the gauge IC? Which factors can interfare with enabling the PEC calculation (such as firmware version or mutually exclusive settings)?
Thanks for your interest,
Berk KARADAYILMAZ