Professional Documents
Culture Documents
TWI AVR Register
TWI AVR Register
TWI AVR Register
2021年10月10日 下午 04:44
簡介
I² C(Inter-Integrated Circuit)是內部整合電路的稱呼,是一種串列通訊匯流排,由Philips公司在1980年代為
了讓主機板、手機及嵌入式系統用以連接低速周邊裝置而發展,主要應用在board-to-board,它的設計並不能
應用到長距離裝置的通訊。不過,I2C bus 可以被應用在各種控制架構上,如系統管理匯流排、電源管理匯流
排、智慧平台管理介面、顯示數據通道、先進電信運算架構
I² C的參考設計使用一個7位元長度的位址空間但保留了16個位址,所以在一組匯流排最多可和112個節點通訊。
常見的I² C匯流排依傳輸速率的不同而有不同的模式:標準模式(100 Kbit/s)、低速模式(10 Kbit/s),但時
脈頻率可被允許下降至零,這代表可以暫停通訊。而新一代的I² C匯流排可以和更多的節點(支援10位元長度的
位址空間)以更快的速率通訊:快速模式(400 Kbit/s)、高速模式(3.4 Mbit/s)。
I2C bus
##I2C 使用兩條雙向 open-drain Line:
1.SDA : Serial Data Line, holds Data or address signal
2.SCL : Serial Clock Line, holds Clock signal
3.導通時是低電位,不導通時float,所以利用電阻(pullup resistor)將電位拉高。常用電壓為 +5 V or +3.3 V。
4.IO 必須是 open drain (or open collector in TTL)
5.bus 為 wired-AND configuration
6.SDA must be stable when SCL is high, excluding Start/Stop condition
##pullup resistor :
##I2C術語定義
##I2C資料傳輸
I2C基礎資料 第 1 頁
I2C基礎資料 第 2 頁
TWCR (TWI Control Register)
2021年10月8日 下午 07:37
TWCR 第 3 頁
TWSR (TWI Status Register)
2021年10月9日 上午 08:55
Bit2 - 保留位元,終為0
沒有用
TWSR 第 4 頁
TWBR (TWI Bit Rate Register)
2021年10月8日 下午 07:31
TWBR 第 5 頁
TWDR (TWI Data Register)
2021年10月9日 下午 01:39
TWDR 第 6 頁
TWAR (TWI (slave) Address Register)
2021年10月8日 下午 07:49
TWAR 第 7 頁
AVR的I2C寫流程
2021年10月9日 下午 05:34
I2C 的 寫流程
1.Master發起START
2.Master發送I2C addr(7bit)和w操作0(1bit),等待ACK
3.Slave發送ACK
5.Slave發送ACK //EEP
6.Master發送data(8bit),即要寫入暫存器中的數據,等待ACK
7.Slave發送ACK
##第6步和第7步可以重复多次,即顺序写多个寄存器##
8.Master發起STOP
寫流程 第 8 頁
z
AVR的I2C讀流程
2021年10月10日 上午 11:59
I2C 的 讀流程
1. Master發起START
2.Master發送I2C addr(7bit)和r操作1(1bit),等待ACK
3. Slave發送ACK
5. Slave發送ACK //EEP
8. Slave發送data(8bit),即暫存器裡的值
9.接受後發送ACK
## 第8步和第9步可以重複多次,即順序讀多個暫存器##
11.Master 發送STOP
讀流程 第 9 頁
必讀
2021年10月10日 下午 05:13
I2C 的讀寫動作
給我讀 第 10 頁
參考資料
2021年10月10日 下午 04:40
1.http://jyhshin3.blogspot.com/2009/04/ic-inter-integrated-circuit.html
2.https://blog.csdn.net/qq_30624591/article/details/85255871
3.https://embedds.com/programming-avr-i2c-interface/
4.https://www.engineersgarage.com/avr-atmega32-twi-registers/
5.https://www.exploreembedded.com/wiki/Basics_of_I2C_with_AVR
6.http://wiki.csie.ncku.edu.tw/embedded/I2C
參考資料 第 11 頁