Help us understand the problem. What is going on with this article?

Raspberry Pi > I2C > clock stretching機能付きslave deviceへの対応 > link

More than 1 year has passed since last update.
動作環境
Raspberry Pi 2 Model B (以下RPi2)
Raspbian Jessie
gcc (Raspbian 4.9.2-10) 4.9.2
とあるI2Cセンサー

I2Cのslave deviceにおいてclock stretching機能を持つ製品がある。

clock stretchingにおいてはSCLがlowにholdされる状態になる。
masterであるRPi2でSCLがlowを認識出ればいいが、RPi2のbcmチップセットではバグにより認識できないとのこと。
http://www.advamation.com/knowhow/raspberrypi/rpi-i2c-bug.html

対応方法としては「baudrateをlowestにする」こと。

参考1

http://raspberrypi.znix.com/hipidocs/topic_i2c_clock_stretch.htm

You can slow down the whole I2C bus so that perhaps your attached device may be able to complete tasks within longer clock times.

/boot/config.txtへの設定例がある。

また、コマンドでのon the flyでの設定方法も紹介されている。

参考2

https://www.richud.com/wiki/Rasberry_Pi_I2C_EEPROM_Program

Generally use the lowest you can to mitigate the clock stretching bug, if your device supports clock stretching. (these eeproms dont)

懸念

clock stretchingの期間が12msecから150msecというようなslave deviceの場合、baudrateは3Hzなどになる。

ソフトウェアI2C実装で対応するなどの工夫が必要かもしれない。

参考3

In order to workaround this, I set data rate in I2C slave module higher. The communication rate is 400 kbps, but I set the data rate 1000 kbps. It worked for me.

baudrateを小さくするのでなく大きくすることで対処。

関連

7of9
セブンオブナインです。Unimatrix 01の第三付属物 9の7という識別番号です。Star trek Voyagerの好きなキャラクターです。まとめ記事は後日タイトルから内容がわからなくなるため、title検索で見つかるよう個々の記事にしてます。いわゆるBorg集合体の有名なセリフから「お前たち(の知識)を吸収する。抵抗は無意味だ」。Thanks in advance.
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした