LoginSignup
1
0

More than 3 years have passed since last update.

STM32L476 > I2C > AQM0802 > 1kΩのプルアップで動作しない (MLX90632のプルアップと同居できない)

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

第一回

使用基板

状況

  • MLX90632にてambient temperatureとobject temperatureの読取りを実装した
  • それらの値をAQM0802で表示しようとするが表示されない

プルアップ抵抗1k

MLX90632には1kΩのプルアップ抵抗が実装済である。同じI2CラインにAQM0802を接続する場合、この抵抗値でプルアップがされる。

AQM0802の表示がされない問題に関して調べたところ、以下が分かった。

  • プルアップ抵抗なし: 表示される
  • 1kΩプルアップ: 表示されない
  • 4.7kΩプルアップ: 表示される

AD2にてロジックを見ても、命令に対してNAKになってしまっている。

1kΩの影響を回避する

案1. 並列に入れる

抵抗を並列に入れても 1/R = 1/R1 + 1/R2 の計算から1.1kΩを4.7kΩにすることはできない、という認識。

案2. リピーターハブを入れる

http://www.ti.com/lit/an/slva689/slva689.pdf
のp2にプルアップを二箇所で入れている例がある。
途中にあるのは「リピーターハブ」。

リピーターハブは下記のような製品はある。

質問をしておいた。

案3. I2Cラインを分ける

STM32L476にはI2Cラインが複数ある。同居できないI2Cデバイスに対して、I2Cラインを分けて接続する。

1
0
3

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
1
0