I2c isolator1/1/2024 The result? The received signal emerges not in that pristine, staccato square wave that we all know and love, but a diluted representation of the original, as if staggering back home from a rough night at the pub.įun Fact: Bus capacitance primarily affects rise time, not fall time, since the N-channel MOSFET which closes to create a “logic 0” signal is essentially creating a short to ground, bypassing the capacitor altogether. Why? We must first pass our signal through this low pass filter, or, in more conventional terms, charge up this parasitic capacitor. When any device releases our SDA or SCL line from low to high, modeled above as a switch opening, we can’t just change the value of the bus instantaneously. With a little re-jiggering, let’s just examine one device and now model its transistor as a switch.īehold! A wild lowpass filter has appeared! I☬ implements open drain configuration, which means each device has a MOSFET on it’s input, enabling it to pull the entire bus down to “logic 0.”Īssuming we’re running our I☬ bus over a long cable, let’s now add our parasitic bus capacitor into our diagram. Why is this happening? Let’s look at the bus architecture. However, as that wire distance grows in size, that parasitic cap takes our nice clean signal and starts attenuating it. In fact, it’s so short we can pretty much forget about our bus capacitance altogether. OK, so now that we know there’s a capacitor in our system, what, exactly, is it doing to our signal? In the ideal world, or at least when our conductors were short, we could expect a pretty short delay between the time our signal takes to exit one device and enter the next. Remember, capacitors are just “two conductors, separated by an insulator.” Sound suspicious? If we look at our cable topology, a signal wire and a ground wire form exactly that–an unwanted capacitor! The longer our cable grows, the bigger this capacitor grows. Stretching out our Bus Capacitanceįirst, there’s the capacitance of those long wires. Let’s take a quick tour of the two biggest challenges that are all too eager to bite us: bus capacitance and EMI. What’s the big deal? Once we start running signals over cables, there’s a host of assumptions that start to break down. Ok, so maybe I routed a couple feet of cable carrying I☬ through my robot chassis to talk to my sensors. Heads-up: if you’re just diving into I☬, let our very own take you on a crash course. I thought I’d take this week to break down that misconception of running I☬ over cables, and then give a couple examples on “how to do it right.” (Guilty!) In fact, with all the build logs publishing marvelous sensor “Christmas-trees” sprawling out of a breadboard, it’s easy to forget that I☬ signals were never meant to run down any length of cable to begin with!Īs I learned quickly at my first job, for industry-grade (and pretty much any other rugged) projects out there, running unprotected SPI or I☬ signals down any form of lengthy cable introduces the chance for all sorts of glitches along the way. It’s also easy to start thinking we could even make those wires longer - long enough to wire down my forearm, my robot chassis, or some other container for remote sensing. With vendors like Sparkfun and Adafruit popping I☬ devices onto cute breakout boards, it’s tempting to finish off a project with the same hookup wires we started it with. You might even be the proud owner of a couple dozen sensors pre-loaded on breakout boards, ready for breadboarding with their pins exposed. If you’re reading these pages, odds are good that you’ve worked with I☬ devices before. Prototyping starts here, but we’re in danger when projects finish with this sort of wiring
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |