My goal is to replace a DPST on pullup resistors with something simple, cheap and very small that can be activated with the I2C bus voltage. I thought that this might be a common enough requirement that I would find a simple IC for this task, but after hours searching through datasheets I am not finding a solution as ideal as my gut suggests should exist.
The question on how to Use GPIO for switchable Pullups of I2C has the basics of the thing I am trying to achieve on a very small PCB. I don't necessarily want to use a GPIO to turn the pullups on and off, my goal is flexibility of the design so the pullups could be turned on by a single jumper or a GPIO.
simulate this circuit – Schematic created using CircuitLab
Inspired by the Bus Pirate which does something similar using a CD4066BC, quad bilateral switch I found the TC7W66F, dual bilateral switch which vaguely fits my price and space goals but I imagined something similar to a SOT-23 package.
The question mentioned above has an answer suggesting using FETs and I did find some dual FET packages with source already tied together that seemed like they might work but I'm primarily a software guy and have to admit not feeling 100% comfortable using something like this without further advice, or if it would require further components killing my space desires?
Answer
I would suggest "prebiased" BJTs
Dual MOSFETs tend to have a lot of Drain-Source capacitance which will affect the rise time of your I2C bus. BJT switching transistors tend to have less. For example, these ones have Cob of only 3pF typically at 10V (it will be 2-3 times higher at low voltage, which they don't tell you and you're supposed to know) but that's still pretty modest. Add the pullup resistors to the collectors, the emitters to Vdd, and connect the bases to your /enable line and you're done (one part plus the resistors, and the package is only 2.0 x 2.1mm). Very cheap in volume, and not much worry about ESD.
simulate this circuit – Schematic created using CircuitLab
So why not MOSFETs?
They're lower resistance, right? Well the saturated BJTs will drop 50~100mV most likely at the currents you'll be using them (compares well with 4066 switches), and compare the output capacitance of an FDS6312P MOSFET (Coss)- typically several hundred pF near 0V, which is nearly as high as the 400pF maximum for all devices on the bus itself.
No comments:
Post a Comment