こんばんは!
これまでLCDディスプレイや有機ELディスプレイを使用した際にi2c通信という通信方法を用いましたが、今回はそのi2c通信について簡単に説明をしようと思います。
ちなみにI2Cの略称は「Inter Integrated Circuit」で正確には「I2C」と書いて「アイスクエアドシー」と呼びます。
I2C通信とは
I2C(Inter-Integrated Circuit)はフィリップス社が提唱したシリアル通信の方式です。クロックに同期させてデータの通信を行い、EEPROMとのデータ通信によく使われています。
クロック(SCL)、データ入出力(SDA)の2本の信号線で通信をします。
通信では,masterとslaveという二つの役割に分け、masterから
slaveに対して送信や受信の指示をします。クロックはmasterから出力され、入力と出力はクロックに同期して行われます。
マスタ一つで複数のスレーブと接続できます。
I2C通信の構成
I2C通信は以下のように構成されています。
1つのmasterと複数のslaveとの間がSCLとSDAという2本のバスラインでパーティーライン状に接続されており、masterが送信するクロック信号SCLを基準にして、データ信号がSDAライン上で転送されます。
通信手順
I2C通信の手順を示します。
(1)master側がスタートコンディション(通信開始の合図)を出す。
(2)masterがslaveアドレスを送信する。
(3)masterがslaveにRead・Writeを要求する。
(4)slaveからmasterにアクノリッジ(受信完了の合図)を出す。
(5)アドレスで指定されたslaveがmasterと指定された方向の通信を行う。
(6)masterからストップコンディション(通信終了の合図)を送信する。
SCLがHレベルのときにSDAの立ち下がりでスタートコンディションとなり、SCLがHレベルのときにSDAの立ち上がりでストップコンディションとなります。
master側がslave側からデータを受信するときはアクノリッジはmaster側が出します。
まとめ
今回はI2C通信について簡単にまとめました。
もっと詳しく知りたい方はこちらのページなどを参考にするといいと思います。
今回はこれで終わります。
ではまた!