Other Parts Discussed in Thread: USB2ANY
I’m having some problems to program TPS929240 by using the REF pin.
Customer board which I face the issue from has a particular layout:
3 (or more) devices on the same Flexwire bus and all of them have ADDR0=GND, ADDR1=GND, ADDR2=GND.
When the devices are factory shipped INT_ADDR=0 by default so all of them have the same address which is 0.
The effect of pulling REF to 5V is to ignore ADDR0, ADDR1 and ADDR2 and DEV_ADDR value in EEPROM so that the targeted address becomes 0.
I follow this flow when programming:
In the test I did I got the failure just after Write 1h to EEPMODE.
The reason is that after writing this register I check its value by reading back its value to confirm that the device is really in EEPMODE.
Being more than 3 devices with address 0 I think there is a collision and the bit is never seen at the desired value and I go to timeout.
If I skip this stage it goes over and I get a failure just after Keep supply stable and wait 200 ms.
I think that the reason is that after 200 ms I read FLAG_STATUS to check FLAG_PROGDONE.
Also in this case being more than 3 devices with address 0 I think there is a collision and the bit is never seen at the desired value and I go to timeout.
Can you confirm that with this particular board layout I have to skip those two checks?
Furthermore I tried to program one of the target with USB2Any and the TI GUI and after having programmed it doesn’t answer to the address it was supposed to be programmed and if I try to program again with my tool I always get a CRC error in device response.
I get STATUS=0x00 and CRC=0x00 from device (I don’t know which one) with address 0.
Regards,