Seit Adafruit Breakouts und Dev-Boards mit STEMMA QT-Steckverbindern ausstattet, genießen die Leute die Einfachheit und Schnelligkeit, mit der sie I2C-Sensoren und -Geräte für schnelle Iterationen und Designs einstecken können. Das ist alles gut und schön, aber I2C wurde nicht wirklich für Hot-Plugging entwickelt. Man sollte alles einmal beim Booten angeschlossen haben und nie wieder daran herumfummeln - I2C wurde für On-Board-Verbindungen spezifiziert. Und Leute, die mit Hot-Plugging von I2C-Geräten experimentiert haben, haben irgendwann herausgefunden, dass man den Bus durch einen zusätzlichen SCL-Impuls oder eine unerwartete kapazitive Last zum Hängen bringen kann, wenn man den Stecker im falschen Moment ein- oder aussteckt.
Das Adafruit TCA4307 Hot-Swap I2C Buffer Breakout hier löst dieses Problem. Er wurde speziell entwickelt, um ein Nicht-Hot-Swap-Protokoll (I2C) zu verwenden und den Controller vor eigenwilligen Peripheriegeräten zu schützen, die den Bus während des Attach/Detach stören.
Die Verwendung ist super einfach. Schließen Sie die linke Seite (IN) an Ihren Mainboard-Controller an - Arduino, Raspberry Pi, Feather, etc. Dann schließen Sie beliebige I2C-Sensoren an die OUT-Seite an. Der Strom wird durchgeschaltet - dies ist kein Stromisolator, nur ein Buspuffer. Sie können 2,3 bis 5,5V DC Spannung und Logikpegel verwenden.
Der Chip kann bis zu 400KHz I2C-Taktraten verarbeiten und hat sogar eine "stuck bus recovery": er trennt den Bus automatisch, wenn er feststellt, dass entweder SDAOUT oder SCLOUT für ca. 40 ms low sind. Sobald der Bus unterbrochen ist, erzeugt der Baustein automatisch bis zu 16 Impulse auf SCLOUT, um zu versuchen, den Baustein, der den Bus auf Low hält, zurückzusetzen.
Es gibt auch einen zusätzlichen ENable-Pin, wenn Sie die Ein- und Ausgangsseite trennen wollen, und einen READY-Pin, der Ihnen anzeigt, ob das Peripheriegerät mit dem Controller gepuffert ist (und ob es sicher ist, mit ihm zu kommunizieren)
Damit Sie schnell loslegen können, hat Adafruit eine speziell angefertigte Platine im STEMMA QT-Formfaktor entwickelt, mit der Sie einfach eine Schnittstelle herstellen können. Die STEMMA QT-Anschlüsse auf beiden Seiten sind kompatibel mit den SparkFun Qwiic I2C-Anschlüssen. Dadurch können Sie lötfreie Verbindungen zwischen Ihrem Entwicklungsboard und dem TCA4307 herstellen oder ihn mit einem kompatiblen Kabel mit einer Vielzahl von anderen Sensoren und Zubehörteilen verketten. Das Qwiic Kabel ist nicht im Lieferumfang enthalten, wir haben dies aber ebenfalls im Sortiment.
Technische Details
- Produkt-Abmessungen: 25,4mm x 17,8mm x 4,5mm / 1,0" x 0,7" x 0,2"
- Produktgewicht: 1.7g / 0.1oz
English description
As we've been adding STEMMA QT connectors to our breakouts and dev boards, folks have been really enjoying the simplicity and speed of plugging in I2C sensors and devices for quick iteration and design. That's all good, but I2C wasn't really designed for hot-plugging. You're kinda supposed to have everything connected once on boot and never mess with it - I2C was specified for on-board connections. And, folks who have experimented with hot-plugging I2C devices eventually have discovered that if you plug in or unplug at the wrong moment you can cause the bus to hang due to an extra SCL pulse or an unexpected capacitive load.
The Adafruit TCA4307 Hot-Swap I2C Buffer breakout here solves that problem. It's specifically designed to take a non-hot-swap protocol (I2C) and protect the controller from wayward peripherals messing with the bus during attach/detach.
Usage is super simple. Connect the left side (IN) to your main board controller - Arduino, Raspberry Pi, Feather, etc. Then connect any I2C sensors you like to OUT side. Power is connected through - this isn't a power isolator, just a bus buffer. You can use 2.3 to 5.5V DC power and logic levels.
The chip can handle up to 400KHz I2C clock rates and even has stuck bus recovery: it automatically disconnects the bus if it detects either SDAOUT or SCLOUT are low for about 40 ms. Once the bus is disconnected, the device automatically generates up to 16 pulses on SCLOUT to attempt to reset the device which is holding the bus low.
There's also an extra ENable pin, if you want to disconnect the in and out sides, and a READY pin that will let you know if the peripheral is buffer-connected to the controller (and is safe to attempt communication with)
To get you going fast, we spun up a custom-made PCB in the STEMMA QT form factor, making it easy to interface with. The STEMMA QT connectors on either side are compatible with the SparkFun Qwiic I2C connectors. This allows you to make solderless connections between your development board and the TCA4307 or to chain it with a wide range of other sensors and accessories using a compatible cable. QT Cable is not included, but we have a variety in the shop.
TECHNICAL DETAILS
Product Dimensions: 25.4mm x 17.8mm x 4.5mm / 1.0" x 0.7" x 0.2"
Product Weight: 1.7g / 0.1oz