1
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

AD2 > I2C > Re-Startという表記 > repeated start condition

動作環境
Windows 8.1 Pro (64bit) 
  - on VMware workstation 14 Pro, version:14.0.0 build-6661328
Analog Discovery 2 (以下AD2)
WaveForms 2015 v3.7.5

Raspberry Pi > C > RPi_i2c_comm_180227: v0.4 > GPIOピンのレベル設定と、レベル読取まで
で実装中のI2C通信確認のため、AD2を使い始めている。

自前実装のI2C通信が失敗する(読取値が0xFFになる)ため、カンニングすることにした。

GitHubにあるPythonスクリプトで測定値の取得ができる。それのスクリプトで実行中のI2CのSCLとSDAをAD2で取得した。

qiita.png

qiita.png

Re-Startとは何か?

参考

Repeated Start Condition
...
Instead of sending the stop condition it is also allowed to send another start condition again followed by an address

意訳「Stop条件を送らずに再度Start条件を送る」

備考

自前のI2C通信処理において、Stop条件のタイミングでStart条件を送信するとRe-startとしてAD2で測定できるようになった。

ひっかかり

  • データシートではRepeated Start conditionでなく、Stop conditionとインターバル後のStart conditionが記載されている
  • 上図の波形を見てもStop conditionの15msec後にStart conditionに思われる
  • 自前の実装でもStop conditionの15msec後にStart conditionで測定値が読めるようになった

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
1
Help us understand the problem. What are the problem?