分享到plurk 分享到twitter 分享到facebook

版本 e45c565f0116b2a3f44e288a5a80a7706a8b766a

embedded/I2C

Changes from e45c565f0116b2a3f44e288a5a80a7706a8b766a to 4179d8878fe2d3816947811bcb6a48d8adc3c628

---
title: I2C
categories: I2C, Peripherals, STM32F4
...

I²C 簡介
...................
I²C(Inter-Integrated Circuit)是內部整合電路的稱呼,是一種串列通訊匯流排,由PHILP公司在1980年代為了讓主機板、手機及嵌入式系統用以連接低速週邊裝置而發展,主要應用在board-to-board,它的設計並不能應用到長距離裝置的通訊,由於協定中從樸裝置位址只有7個位元,因此一組I²C的最多裝置位址定義至127個。
I²C只使用兩條雙向開放汲極(Open Drain)(串列資料(SDA)及串列時脈(SCL))並利用電阻將電位上拉。I²C允許相當大的工作電壓範圍,但典型的電壓準位為+3.3V或+5v。
I²C只使用兩條雙向開放汲極(Open Drain)(master and slave只能把電位拉到LOW或是讓他OPEN)(串列資料(SDA)及串列時脈(SCL))並利用電阻將電位上拉。I²C允許相當大的工作電壓範圍,但典型的電壓準位為+3.3V或+5v。

I²C bus
-------------------


.. image:: /hackpad.com_C2QDfQqCjxE_p.268476_1415256217724_300px-I2C.svg.png

藉由Master發送訊號來控制與Slave之間的通訊


通訊流程
-------------------

* I²C 串列傳輸包括四個部分:起始信號、設備位址發送、數據傳送和停止信號。