Hi,
We are using the BQ79600 as a bridge unit to take readings from a BQ79718 board which is connected in the daisy chain. We are using the TMS570LC43x microprocessor to control the bridge via SPI interface. Generally this is all working fine, but at times we are not receiving the expected response BQ79600 device.
We are using the SPI_RDY line to determine when we can transmit or receive data on the SPI bus. We are periodically requesting readings from the BQ79718 board but the amount of data we are reading is quite small (about 36 bytes max, 2 bytes min).
I have some detailed scope traces of the transactions on showing a successful transfer and a 2nd image showing that the SPI_RDY line has remained low.
Successful transaction image
With reference to the image above:
Packet 115 shows the command request to read 6 bytes from address 0x05B8.
You can see the SPI_Rdy line goes low part of the way through the request being sent. The Red trace shows activity on the daisy chain bus, and it can be seen that after the first 7 characters were passed on the daisy chain bus, a further 12 bytes are seen which correspond with the response from the device sending back its data to the bridge. 30.18us later the SPI_RDY line is raised which we were polling to determine when the data was ready.
This transaction is successful for about 80% of all data transfers but I have identified that sometimes while polling the SPI_RDY line we hit our maximum timeout as shown in the image below.
Un-Successful transaction image
With reference to the image above:
Packet 123 shows the command request to read 6 bytes from address 0x05B8.
You can see the SPI_Rdy line goes low part of the way through the request being sent. The Red trace shows the transmission of the data onto the bus but there is no response from the intended target on the bus. The SPI_Rdy line remains low and there is no further traffic on the bus for at about 200ms after which my software performs a "Comm Clear" (Section 7.3.2.1.2.1.2 of the BQ79600-Q1) action is performed. After this the original request is re-sent and the device responds correctly.
Summary, it seems that for some reason the request to read data from the BQ79718 device numbered "01" on the bus has not been interpreted or responded to correctly.
Please can you advise me as to what might be causing this and how it can be fixed.
Regards,
David