i2c通信 アドレスが重複した場合

adコンバータのads1115をi2c通信を使ってデータのやり取りを行おうと思っているのですが複数のadsとやり取りをするときにスレーブアドレスが重複してしまい苦戦しております。

初歩的なことで申し訳ないのですがどなたか解決方法を教えていただけないでしょうか。

  • ADS1115はADDRピンの接続先で4つのアドレスを選択可能になっています。
    いくつのADS1115がつながっているのでしょうか?
  • Higetakaさん回答ありがとうございます。
    5つのads1115がつながっております。
  • 使用しているマイコンは何でしょうか?
    I2Cバスを2つ使用してデバイスを振り分ける事ができれば、解決できるのですが。
  • Higetakaさん回答ありがとうございます。
    RX65Nを使用しております。
  • RX65Nなら、I2Cが3ch使えるので、複数chにデバイスを分散させてみてはいかが?
    1chで使えるのは4つまでです。
    通信速度はFast Mode (400kbps)までは大丈夫そうです。
  • Higetakaさん回答ありがとうございます。
    同じチャンネルではやはりアドレスを変更しないといけないのでしょうか?
    初歩的なことですみません。
  • その通りです。
    以下のページは参考になりますか?
    ADS1115を搭載したブレークアウトボードでアドレスを変更したり、複数の接続をしている例が出ています。
    learn.adafruit.com/.../assembly-and-wiring
    「I2C Addressing」と「Multiple Boards」のところ。
  • Higetakaさん回答ありがとうございます。
    返信が遅くなり申し訳ございません。

    アドレスの変更の仕方はわかりました。しかし5つのADS1115を使用するのでアドレスが一つは重複してしまいます。その時に他のチャンネルを使えばいいとのことでしたがプログラム上で重複したアドレスを指定したときに2つのチャンネルが動くような気がします。その時にどのようにして差別化できるか教えていただけないでしょうか?(分かりずらくてすみません)
  • たむらさん
    「重複したアドレスを指定したときに2つのチャンネルが動く」ことは動くのではと思います、ただし正常に動作できるのは送信のみだと思います、A/Dコンバータはデータの受信が重要で1チャンネルがFF00を送信して2チャンネルが00FFを送信したときSDAはオープンコレクタでドライブして来るのでたぶん受信できるのは0000となるのではないかと思います、差別化するということではチャンネル毎に電源ON/OFFできるようにするか(OFFでハイインピーダンスになる場合)、SDAをアナログスイッチで区切る、ADDR端子を区切る等ですがBGAのICでもありシャットダウン端子も無いようですからパターン幅も細ければ難航を極めると思いますよ。
  • IKUZOさん回答ありがとうございます。

    なるほど...ちょっと難しそうですが提案された通りにやってみます。
    またわからないことがあれば質問しますのでその際はよろしくお願いします。