Other Parts Discussed in Thread: BQ76940, BQSTUDIO
Bq78350-R2 with bq76940 AFE in 15 cell stack.
Problems with interpreting AFE_VCELL data (sub-command 0x5A)
- Need to verify that Write Block/Read Block method is correct.
- Cell Voltage command (0x31 – 0x3F) returns the expected data (eg ~3725 mV).
- LT_BLOCK1, LT_BLOCK2, DA_STAT1 etc also return expected cell voltage values.
- Is there a way to capture the Transaction Log from ‘Adv Comm SMB’ tab in bqStudio
Detail regarding AFE_VCELL (sub-command 0x5A), using bqStudio Adv Comm SMB tab:
Write Block to 0x44: 0x5A 0x00
Read Block to 0x44: 5A 00 E8 25 EF 25 ED 25 F4 25 E8 25 EC 25 F1 25 F0 25 EB 25 EC 25 E8 25 ED 25 F8 25 F8 25 E9 25 3C 8E
Attempt to interpret the Cell1 voltage of the AFE, ie the 1st two bytes of of the data: I2C data is returned : 0xE8 0x25 ...
Example 1: hi byte/ lo byte |
value |
|
16bit as displayed hex |
E825 |
Use the value ‘verbatim’ RE:data sheet |
trunc 2 MSBits (ie 14b dec) |
10277 |
|
shift right 2 bits hex |
A09 |
|
shift right 2 bits dec |
2569 |
millivolt? Too low |
|
|
|
Example 2: lo byte / hi byte |
|
|
16-bit hex ‘swapped’ |
25E8 |
This makes ‘more sense’ because every other byte is 0x25, implying it is the high byte of the 16-bit value, BUT the 76940 data sheet claims that the first byte (0xE8) is the high byte. |
14-bit decimal |
9704 |
Truncation is not needed as the 2MSbits are zero |
shift right 2 bits hex |
97A |
|
shift right 2 bits dec |
2426 |
millivolt? too low |
For Reference: Capture of All VFE related data (bqStudio Adv Comm SMB tab):