Hi,
I'm experiencing issues when attempting to communicate with the MAX17854 in a daisy chain configuration with four devices.
The bottom device in the chain is a MAX17852, and I have no problems communicating with it. Additionally, the WRITEALL and WRITEDEVICE commands work fine. However, I encounter errors when using the READDEVICE or READALL commands with any of the MAX17854 devices in the daisy chain. Specifically, my data-check byte gets overwritten by the MSB of the device, and the last fill byte remains in the message, resulting in multiple errors when I read the data back on my host device.
For example, when I try to read the data from the VERSION register on the MAX17854, I write the following message to the MAX17851 transmit queue:
| Message Length | Command | (Device ID<< 3) | Register Address | Data Check Byte | PEC |
| 0x06 | 0x0D | 0x00 | 0x00 | 0xEE |
The following message is received through the MAX17854 UART:
| Preamble | Command | (Device ID<< 3) | Register Address | Data Check Byte | PEC | FILL BYTE 1 | FILL BYTE 2 | Stop |
| Preamble Character | 0x0D | 0x00 | 0x00 | 0xEE | 0xD3 | 0xC2 | Stop Character |
The MAX17854 then transmits the following reply:
| Preamble Character | 0x0D | 0x00 | 0x44 | 0x85 | 0x02 | 0xC2 | Stop Character |
However, when the host reads the data received by the MAX17851, I get the following message:
| 0x0D | 0x00 | 0x44 | 0x85 | 0x02 | 0xA4 | 0xD4 |
This indicates numerous LSSM and Data Check Byte errors.
I do not encounter these issues when using the same command with the MAX17852.
Can someone help me resolve this problem?
Thanks in advance.