2013年10月24日 木 瀧澤 義順...

15
20131024() 瀧澤 義順 ([email protected])

Transcript of 2013年10月24日 木 瀧澤 義順...

Page 1: 2013年10月24日 木 瀧澤 義順 (takizaway@mems…a011w.broada.jp/nori/TERL/TUSouzoukougaku/Souzoukougaku4.pdf · I2Cは“Inter Integrated Circuit”(インター・インテグレイティド・サーキット:集積回路間通信)の略

2013年10月24日(木) 瀧澤 義順 ([email protected])

Page 2: 2013年10月24日 木 瀧澤 義順 (takizaway@mems…a011w.broada.jp/nori/TERL/TUSouzoukougaku/Souzoukougaku4.pdf · I2Cは“Inter Integrated Circuit”(インター・インテグレイティド・サーキット:集積回路間通信)の略

http://kousaku-kousaku.blogspot.jp/2008/06/arduino-dcta7291p.html

モーターコントローラーIC

モーターへ

3番ピン:PWMでモーター 回転速度制御

1,2番ピン: 回転方向、停止制御 **

(何も繋がっていない)

**

Page 3: 2013年10月24日 木 瀧澤 義順 (takizaway@mems…a011w.broada.jp/nori/TERL/TUSouzoukougaku/Souzoukougaku4.pdf · I2Cは“Inter Integrated Circuit”(インター・インテグレイティド・サーキット:集積回路間通信)の略

5V 3.3V

I2C Bus

Page 4: 2013年10月24日 木 瀧澤 義順 (takizaway@mems…a011w.broada.jp/nori/TERL/TUSouzoukougaku/Souzoukougaku4.pdf · I2Cは“Inter Integrated Circuit”(インター・インテグレイティド・サーキット:集積回路間通信)の略

バス (BUS) データの通り道

片側1車線の道をバスが行き来していることを想像してみてください。

バスはバス停に止まって乗客を乗り降りさせます。 バス停がレジスタやメモリで、乗客がデータです。

Page 5: 2013年10月24日 木 瀧澤 義順 (takizaway@mems…a011w.broada.jp/nori/TERL/TUSouzoukougaku/Souzoukougaku4.pdf · I2Cは“Inter Integrated Circuit”(インター・インテグレイティド・サーキット:集積回路間通信)の略

コンピュータのBUSにはセンターラインがなく、バスどおしが衝突する危険性があります。

これを避けるためにコンピュータのBUSにはバスは1台しか走っていません。 一度により多くの人を運ぶために道幅を広くし、大きなバスを走らせます。 これがBUSのビット幅です。 (32bよりも64bの方が道幅が広く、より多くのデータを転送することができる。)

Page 6: 2013年10月24日 木 瀧澤 義順 (takizaway@mems…a011w.broada.jp/nori/TERL/TUSouzoukougaku/Souzoukougaku4.pdf · I2Cは“Inter Integrated Circuit”(インター・インテグレイティド・サーキット:集積回路間通信)の略

並列(Parallel)と直列(Serial)

乾電池の例

0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 1

0 1 1 0 1 1 0 1

N個 N個

電圧:同じ、電流:N倍 電圧:N倍、電流:同じ

データ転送の例 1(Byte)=8ビット(bit)データ

上位ビット(MSB)

下位ビット(LSB) パラレル・シリアル変換 シリアル・パラレル変換

パラレル転送の場合 データ線が8本必要だがスピードは遅くてよい。 シリアル転送の場合 データ線は1本だがスピードは8倍必要。

Page 7: 2013年10月24日 木 瀧澤 義順 (takizaway@mems…a011w.broada.jp/nori/TERL/TUSouzoukougaku/Souzoukougaku4.pdf · I2Cは“Inter Integrated Circuit”(インター・インテグレイティド・サーキット:集積回路間通信)の略

パラレルからシリアルへ CPUとハードディスクの接続の例

従来50本あったケーブルが7本に減った。

ハードディスクドライブ HDD(Hard Disk Drive)

Page 8: 2013年10月24日 木 瀧澤 義順 (takizaway@mems…a011w.broada.jp/nori/TERL/TUSouzoukougaku/Souzoukougaku4.pdf · I2Cは“Inter Integrated Circuit”(インター・インテグレイティド・サーキット:集積回路間通信)の略

ケーブルは4本

USB2.0 450M bps

USB3.0 5G bps

白または黒

Page 9: 2013年10月24日 木 瀧澤 義順 (takizaway@mems…a011w.broada.jp/nori/TERL/TUSouzoukougaku/Souzoukougaku4.pdf · I2Cは“Inter Integrated Circuit”(インター・インテグレイティド・サーキット:集積回路間通信)の略

I2Cは“Inter Integrated Circuit”(インター・インテグレイティド・サーキット:集積回路間通信)の略で、フィリップス社が提唱した周辺デバイスとのシリアル通信の方式。 名前の通りICとICの間で通信をする際に用いられる同期式シリアル通信。 1対1の通信以外に、マスターとスレーブとなった2つが通信でき、スレーブ側には複数も可能。I2C通

信はシリアル通信なので少ないピン数で接続することができる。 しかも、データ線が送受信兼用で1本しかく、 つまりI2Cの構成は“データ線+クロック線”の2本だけです。 I2Cはこの2本の信号線に複数のデバイスを どんどん並列に接続していくことが可能なので、回路を組む際のハードウェアは非常に単純になります。

スタート(START) コンディションとストップ(STOP) コンディション すべてのトランザクションはSTART (S) で始まり、STOP (P) で終了します。 SCL がHIGH の期間の、SDA ラインのHIGH からLOWへの変化をスタートコンディション、LOW からHIGH への変化をストップコンディションと定義します。 ス タート/ ストップコンディションは、常にマスタが生成。 スタートコン

ディションの後、バスはビジー状態となり、ストップコンディションの後、一定の時間が経過するとバスはフリー状態となる。

Page 10: 2013年10月24日 木 瀧澤 義順 (takizaway@mems…a011w.broada.jp/nori/TERL/TUSouzoukougaku/Souzoukougaku4.pdf · I2Cは“Inter Integrated Circuit”(インター・インテグレイティド・サーキット:集積回路間通信)の略

3軸・地磁気センサ ハネウエル社 HMC5883L http://www.marutsu.co.jp/data/HMC5883L.pdf

3軸・加速度センサ アナログデバイス社 ADXL345 http://www.marutsu.co.jp/data/HMC5883L.pdf

3軸・ジャイロセンサ STマイクロ社 LGA-16 http://www.st.com/web/catalog/sense_power/FM89/SC1288/PF252443

9軸センサ (ジャイロ、加速度、地磁気) Invensense社 MPU-9150 http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/IMU/PS-MPU-9150A.pdf

Page 12: 2013年10月24日 木 瀧澤 義順 (takizaway@mems…a011w.broada.jp/nori/TERL/TUSouzoukougaku/Souzoukougaku4.pdf · I2Cは“Inter Integrated Circuit”(インター・インテグレイティド・サーキット:集積回路間通信)の略

機械 金属 大きい

半導体 シリコン 小さい

村田製作所 セイコちゃん ヘリの姿勢制御

Quad Copter

Page 14: 2013年10月24日 木 瀧澤 義順 (takizaway@mems…a011w.broada.jp/nori/TERL/TUSouzoukougaku/Souzoukougaku4.pdf · I2Cは“Inter Integrated Circuit”(インター・インテグレイティド・サーキット:集積回路間通信)の略

バグを作らないためのアドバイス

フローチャートを事前に書く

例外処理を入れておく i を0~255整数とする(unsigned char)

If -1< I <128 処理 A Yes

If 127< I <256 処理 A Yes

No

No

Print i End

実際にはあり得ないが

事前に仕様書を書く 特に複数の人で分担をするとき。 引継ぎをするとき。

Page 15: 2013年10月24日 木 瀧澤 義順 (takizaway@mems…a011w.broada.jp/nori/TERL/TUSouzoukougaku/Souzoukougaku4.pdf · I2Cは“Inter Integrated Circuit”(インター・インテグレイティド・サーキット:集積回路間通信)の略

アイデアを出す時には絶対に批判をしない。 アイデア、時間を限って、紙等に書出してみる。

整理の方法: 例えばKJ法 具体化する時には、実現可能も考える。

センサ、アクチュエータの入手性 (予算、納期) プログラミング可能か

具体化には 先人に学ぶ: パックって発展させる、パくれる部品の選定 新しい解決法を見つける 例えばNM法