- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bringing up a board and testing the connection to this device, which we have configured for slave address 0x20. It is acking its address but is transmitting a value of 0xFF for the contents of the device ID. Is there something else that must be done to read the register?
Edit:
Image from logic analyzer.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, the sequence you are following, should give you the Device ID. There is nothing else required.
Best regards,
Sampath Selvaraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you kindly try setting the I2C clock to 100kHz or lesser?
Best regards,
Sampath Selvaraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Sampath.
I could take it again to show you, if you like, but that log was taken at 100k. I have tested this I2C bus with other devices at 100k and 400k so I believe the bus is ok. I double-checked the design of soft addressing and it also looks correct. Do you agree that this sequence should have rendered the device ID? Is there anything else that is required?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, the sequence you are following, should give you the Device ID. There is nothing else required.
Best regards,
Sampath Selvaraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you. We are using five of these components on this board and all but one of them appear to be sending values of 0xFF for all register reads, except for one, which is responding with 0xBF to all register reads. I have tried this with various clock speeds below 100kHz.
We have also tried holding all but one of them in reset and, as expected, those in reset do not ack their addresses and the one not in reset responds to its address (i.e. with an erroneous value of 0xFF or 0xBF on all register reads).
We have a number of other I2C slaves on this bus and all are working properly so we have reason to believe this is not an issue with I2C, especially given that we have logic analyzer data showing the problem. I have probed the board to confirm good Vdd/Vss and that the soft address config is in range.
Can you think of anything else that would be causing this behavior other than, for example, a damaged or malfunctioning part?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I understand that three parts are working fine. In case you are testing on a newly designed product, I would suggest that you do a swap test. This way we can determine if the part is malfunctioning or not. In case you have more parts in stock, I would suggest that you replace the two parts which do not give the correct Device ID with the parts you have in stock.
After these steps, you will come to know if the part is really malfunctioning. Kindly be informed that you can send us the malfunctioning parts for Failure Analysis.
Do kindly let me know the results of you testing. I will advise the next steps.
Best regards,
Sampath Selvaraj