I’ve got a circuit design identical to the Hannah IMP --> GPIO expander (SX1509) configuration. Every once in a while I’ll notice an I2C failure upon power up (either with my design or with the Hannah). I’ll typically just do a power cycle (IMP out - IMP in), then all is well … I2C now works fine. (This is just a very low level infrequent problem at this point … everything typically works fine).
I think I recall reading about this somewhere on the devwiki or forums a while back, but just can’t seem to locate it. If I remember correctly, I believe it was some sort of IMP / GPIO power up sequence issue. I had some time so was going to look into it, but I just first wanted to review what was known about this.
I’d appreciate if anyone could point me in the right direction.
Do you have a pullup on the SX1509’s RESET_N pin? This is required, as I remember.
Hi Hugo - yes, I’ve got the 100k pullup on the NRESET pin … as mentioned, I pretty much just copied this portion of the circuit from the Hannah … and I’ve observed this behavior (again, very infrequently) from both circuits. I’ll just see repeated I2C r/w fails until I mechanically cycle the Imp (i.e. power). I thought I saw some comment related to this way, way back … but I can’t recall. It seems to me like some sort of possible IMP/GPIO power on timing issue, but I’m just speculating. (Again, not a really big deal at all, just one of those little quirks I’m trying to get a handle on).
Shouldn’t be a power on issue, we’re very careful about cleanliness of pin configuration transitions. What pins are you using for i2c?
I’ve been running I2C_89 Hugo. Yes, it may not be related to power on at all … I just got on that line of thinking based on what I thought I had come across previously related to this on the forum or devwiki.
We can probably put this discussion on hold until I collect a bit more information. Since it’s something I encounter very infrequently/intermittently, it’s been difficult to re-create … I’ll do some more investigating to see if I can pinpoint situations where I’ve seen this. One observation is that I’ll typically see the I2C fail right when I’m trying to bring a new Impee/Imp on line, or switching an Imp to a different Impee … but then I’ll cycle power and the problem is gone. Don’t take this as too solid right now though, I’ll work on it some more and report back.