- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Sometimes after a manual hard reset (without powering off everything) the boot defaults to USB and the code stored in the eeprom is no longer read.
I did my research an found that for some unknown reason SDA gets low and then the FX3 assumes the i2c bus is in use and default to USB boot.
After that no matter what I do it will stay like this forever and I need to take power off and turn it all back on.
When powering it up all works perfect all the times. It is only if I apply a manual hardware reset with the chip powered that sometimes it locks up in this state.
Is there a way to avoid this situation ?
Thanks.
Luis C.
Solved! Go to Solution.
- Tags:
- i2c booting
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Luis,
When FX3 is reset, if SDA was low, then then there is a problem. When FX3 tries to boot again, I2c master sees the I2c bus to be busy and hence EEPROM reset would be necessary. This is an expected behavior.
Regards,
Hemanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Luis,
You can connect reset of fx3 to eeprom reset as well so that eeprom also gets reset when fx3 is reset.
Regards,
Hemanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Hemanth.
I use the 24M02, same exact chip and connections as the FX3 kit.
This eeprom has no reset pin !!!
I am using a jumper to manually reset.
is this problem related with bad de-bouncing of reset line ?
is the FX3 chip sensitive to that and confuses the eeprom ?
Thanks.
Luis C.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Luis,
When FX3 is reset, if SDA was low, then then there is a problem. When FX3 tries to boot again, I2c master sees the I2c bus to be busy and hence EEPROM reset would be necessary. This is an expected behavior.
Regards,
Hemanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Hemanth,
Yes I know this is the expected behavior.
What I learned with this is that the reset line of the FX3 must stay clean during the boot from I2C.
An hand made reset with a metallic tip or a jumper has a number of contact bounces that may trigger
another reset while the load is already ongoing and there is a probability to stop the process when the SDA is low
Then it will stay low as FX3 will not clock it out of that state on the next reset (as it assumes the bus is busy).
Nice dead lock
Well if anyone needs to provide the reset line to the user/outside-world it better to debounce it clean.
Tks for help.
Regards
Luis.