I2Cバスを延長するのに何かないかと探していて見つけたもの。データシートのサマリ部分をちらっと見ただけなので、詳細はわかりませんが、とりあえずピックアップ。
●ピックアップ
- NXP PCA9507 2-wire serial bus extender for HDMI DDC I2C-bus and SMBus(@239)
エクステンダとあるようにバスが延長できます。容量負荷400pF、18mまで - NXP PCA9306 Dual bidirectional I2C-bus and SMBus voltage-level translator(@106)
秋月電子さんで販売されているDIP基板に乗っけたものはこちらです。これはレベル変換だけで、バッファ機能はありません。 - Linear Technology TC4313, LTC4315 2-Wire Bus Buffers with
High Noise Margin (@700程度)
ノイズマージンや論理レベルの性能にこだわった、高性能のものですが、それなりの価格です。
※単価はいずれもDigKey 15/3/4現在の価格。25個などまとめて買うと安くなる
まだ、他にもいろいろありそうですが、価格も手ごろで入手性もよさそうな PCA9507がよさそうです。延長と同時にレベル変換もできるので、5V系と3V系が接続できます。これから、ちょっと研究します。
円高の頃なら、もっと安く購入できたんですけどねぇ。
●PCA9507
以下、NXPウェブサイト(http://www.nxp.com)より抜粋して引用
Features and benefits Exceeds 18 meters (above the maximum distance for HDMI DDC) Voltage level translation from 2.7 V to 5.5 V I2C-bus, SMBus and DDC-bus compatible Supports arbitration and clock stretching across the repeater Port A operating supply voltage range of 2.7 V to 5.5 V Port B operating supply voltage range of 2.7 V to 5.5 V 5V tolerant I2C-bus and enable pins Packages offered: SO8 and TSSOP8
クロックストレッチも使えますね。データシートの等価回路みると、オープンドレインのバッファが双方向につながっているだけみたいですが。
18mまで延長できるとあります。HDMIの規格なんですね。使用例にありましたが、スター接続やシリーズ接続もできます。このバッファ何個か使って、分岐、延長させれば、I2Cデバイス100個ぐらいつなげそうです。
CANやRS485で延長しようかと考えていましたが、これなら、直接I2Cで引っ張れます。これはいいかも。