Other Parts Discussed in Thread: TCA9554, TCA9548A, DRV2605L
I'm working on a project using a Raspberry Pi to drive the 8 drivers off the DRV2605LEVM-MD over I2C. I had some brief success at first, but have recently run up against an issue where I am unable to communicate with certain I2C devices at seemingly random times. Here's a summary of what I've tested so far in order to calibrate the driver on driver 2:
set TCA9554 (0x20) control register (0x03) to output port 2 (0xfd, 11111101)
set TCA9554 (0x20) output register (0x01) to enable port 2 (0x02, 00000010)
set TCA9548A (0x70) to enable communications on port 2 (0x02) // in this case, the tool I'm using requires a register, so I set 0x70 register 0x02 to 0x02 per the datasheet
However, at this point I am unable to access the DRV2605L's themselves. The i2cdetect command can't see anything at address 0x5a (or 0x58, as I've read in some other questions here), and trying to read/write from it results in a rather descriptive "Read failure" or "Write failure". Unfortunately, I have not yet been able to do an ocilloscope test -- I can try to get that done if needed. I can verify that a stable 5V is fed into the Vbat connector, and that the I2C communication lines themselves are secure (I checked this by testing an I2C-based accelerometer on the same bus lines with no errors whatsoever [it's address is 0x1d]).
is this an issue that anyone's run up against? If so, how was it resolved? Thanks in advance for any help!