0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

I2C > 異なるプルアップ抵抗で動作するICデバイスの同居 > I2C Repeater Hubで回路を分離する

Last updated at Posted at 2020-02-15
動作環境
Ubuntu 18.04 LTS
ボード: STM32L476 Nucleo_64 (以下、STM32L476)
Zephyr 2.1.0-rc1
キャラクタLCD: AQM0802
放射温度計センサー: MLX90632 (CLICK-IRThermo)
ロジック確認: Analog Discovery 2 (AD2)

第一回

概要

  • I2Cデバイスを複数接続しようとしていた
  • MLX90632には基板上に1kΩのプルアップ抵抗が実装済
  • AQM0802は1kΩのプルアップ抵抗では動作しない
  • I2C Repeater Hubで回路を分離して、それぞれプルアップ抵抗を実装している回路を見つけた
  • その回路を実際に作って動作を確認した

デバイス

参考

  • http://www.ti.com/lit/an/slva689/slva689.pdf
    • Figure 1にI2C Repeater Hubにて回路を左と右に分離して、プルアップ抵抗をそれぞれ実装している例がある
    • これらのプルアップ抵抗の値は指定なし

上記の基づいて、以下の質問をした。

回答の概要としては「それは動くかもしれないけど、XXXの方がよいと」というものだった。
動作確認のために実装してみた。

回路

以下は、draw.ioにて作成した回路図。

Screenshot from 2020-02-15 09-33-34.png

プログラム

MLX90632およびAQM0802を動作するソフトをZephyr(RTOS)用に自作した。
整理できていないため、詳細は未公開。

  • MLX90632ソフト
    • ambient temperatureとobject temepratureを取得する
    • 結果はシリアル出力する (screenで動作確認)
  • AQM0802ソフト
    • Helloという表示
    • 7of9という表示
    • 上記を1秒ごとに切り替える

ブレッドボード実装

ブレッドボードで実装した。

IMG_1693.JPG

  • 黄ケーブル: SCK
  • 青ケーブル: SDA
  • 赤ケーブル: VCC
  • 白ケーブル: VCCまたはプルアップ用
  • 緑ケーブル、黒ケーブル: GND
  • 緑の基板: MLX90632
  • 青の基板: AQM0802

結果

それぞれのソフトが正常動作した。
まだ数時間程度の運用のため、長期動作時の問題については未確認。

関連

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?