How to daisy chain I2C with MiniGPS

Breakout boards, sensors, other Adafruit kits, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
User avatar
gammaburst
 
Posts: 1014
Joined: Thu Dec 31, 2015 12:06 pm

Re: How to daisy chain I2C with MiniGPS

Post by gammaburst »

Hi danhalbert,
Yes, I don't see any further details on the slew-rate limiter or filter (paragraph 36.2). Perhaps the filter is flawed. If I find some spare time, I'll hook up my fast pulse generator and try to sniff out the filter's behavior.

I wonder if Microchip has an errata on their I2C controller. When I get a free moment I'll search ...
https://www.microchip.com/doclisting/Te ... ype=errata

You don't recommend 5V I2C on Titano?? Look here for "the I2C connector defaults to 5V":
https://learn.adafruit.com/adafruit-pyp ... no/pinouts

The malfunction is indeed reduced by changing from 5V to 3V, as sgalway discovered. That makes sense, 3V decreases the distributed charge stored on the I2C bus, and thereby reduces the glitch amplitude during MOSFET turn-on.

I've noticed several other tweaks that reduce the malfunction. However I enjoy understanding and solving problems, not merely tweaking things until the problem disappears. (Imagine if Boeing had merely tweaked things in their MCAS until the problem disappeared. Adafruit's impressionable young customers could someday be designing flight control systems.)

My CPU went berserk when I simply connected a 200pF capacitor from SCL to GND (and the falling-edge glitch occurs). No I2C cables or sensor breakouts were attached. The CPU was running a simple CircuitPython loop that called scan() repeatedly. Connecting the capacitor from SCL_3V to GND did not cause malfunction (and no falling-edge glitch).

User avatar
danhalbert
 
Posts: 4613
Joined: Tue Aug 08, 2017 12:37 pm

Re: How to daisy chain I2C with MiniGPS

Post by danhalbert »

Sorry, I got the different versions of the PyPortal mixed up!

User avatar
gammaburst
 
Posts: 1014
Joined: Thu Dec 31, 2015 12:06 pm

Re: How to daisy chain I2C with MiniGPS

Post by gammaburst »

Hi adafruit2,
I tried the Adafruit 4756 I2C accelerator with Titano jumpered for 5V I2C, unmodified CircuitPython 7.0, and a chain of three sensors. (That combination malfunctions roughly every several seconds.) I now see much faster rise time, as advertised. I also see an increase in Titano malfunction rate, probably because the accelerator slightly enlarges the SCL_3V falling-edge glitch. With three devices connected, the system is on the verge of failure, and is very sensitive to glitch shape. I haven't determined if the critical factor is glitch amplitude, or glitch duration, or glitch position, or just what.

Clever little device. I like it, but for other purposes. Thanks for suggesting it!

I wouldn't have named it a "terminator". It's not a matching impedance for a transmission line.

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Products from Adafruit”