按照以下程序?qū)?shù)據(jù)寫(xiě)入 TUSB1146-Q1 I2C 寄存器(請(qǐng)參閱圖 6-2):
- 控制器通過(guò)生成啟動(dòng)條件 (S) 以及 TUSB1146-Q1 7 位地址和一個(gè)用以指示寫(xiě)入周期的零值“W/R”位來(lái)啟動(dòng)寫(xiě)入操作。
- TUSB1146-Q1 確認(rèn)地址周期。
- 控制器提供要寫(xiě)入的 TUSB1146-Q1 中的寄存器偏移,它由一字節(jié)數(shù)據(jù)組成,MSB 優(yōu)先。
- TUSB1146-Q1 確認(rèn)子地址周期。
- 控制器提供要寫(xiě)入 I2C 寄存器的數(shù)據(jù)的第一個(gè)字節(jié)。
- TUSB1146-Q1 確認(rèn)字節(jié)傳輸
- 控制器可以繼續(xù)提供要寫(xiě)入的額外字節(jié)的數(shù)據(jù),每個(gè)字節(jié)傳輸都在 TUSB1146-Q1 發(fā)出確認(rèn)后完成。
- 控制器通過(guò)生成停止條件 (P) 來(lái)終止寫(xiě)入操作。
按照以下程序在不重復(fù)啟動(dòng)的情況下讀取 TUSB1146-Q1 I2C 寄存器(請(qǐng)參閱圖 6-3)。
- 控制器通過(guò)生成一個(gè)啟動(dòng)條件 (S),后跟 TUSB1146-Q1 7 位地址和一個(gè)用以指示讀取周期的零值“W/R”位,從而啟動(dòng)讀取操作。
- TUSB1146-Q1 確認(rèn) 7 位地址周期。
- 在確認(rèn)之后,控制器繼續(xù)發(fā)送時(shí)鐘。
- TUSB1146-Q1 從寄存器 00h 或上次讀取的寄存器偏移 +1 處開(kāi)始傳輸存儲(chǔ)器寄存器的內(nèi)容,MSB 優(yōu)先。如果寫(xiě)入 I2C 寄存器發(fā)生在讀取之前,則 TUSB1146-Q1 應(yīng)從寫(xiě)入中指定的寄存器偏移處開(kāi)始。
- 在每次字節(jié)傳輸后,TUSB1146-Q1 會(huì)等待控制器發(fā)出確認(rèn) (ACK) 或不確認(rèn) (NACK);I2C 控制器確認(rèn)接收到傳輸?shù)拿總€(gè)數(shù)據(jù)字節(jié)。
- 如果接收到 ACK,則只要控制器提供時(shí)鐘,TUSB1146-Q1 就會(huì)傳輸下一個(gè)數(shù)據(jù)字節(jié)。如果接收到 NAK,則 TUSB1146-Q1 停止提供數(shù)據(jù)并等待停止條件 (P)。
- 控制器通過(guò)生成停止條件 (P) 來(lái)終止寫(xiě)入操作。
按照以下程序在重復(fù)啟動(dòng)的情況下讀取 TUSB1146-Q1 I2C 寄存器(請(qǐng)參閱圖 6-4)。
- 控制器通過(guò)生成一個(gè)啟動(dòng)條件 (S),后跟 TUSB1146-Q1 7 位地址和一個(gè)用以指示寫(xiě)入周期的零值“W/R”位,從而啟動(dòng)讀取操作。
- TUSB1146-Q1 確認(rèn) 7 位地址周期。
- 控制器提供要寫(xiě)入的 TUSB1146-Q1 中的寄存器偏移,它由一字節(jié)數(shù)據(jù)組成,MSB 優(yōu)先。
- TUSB1146-Q1 確認(rèn)寄存器偏移周期。
- 控制器提供重復(fù)啟動(dòng)條件 (Sr)。
- 控制器通過(guò)生成啟動(dòng)條件 (S) 以及 TUSB1146-Q1 7 位地址和一個(gè)用以指示讀取周期的 1 值“W/R”位來(lái)啟動(dòng)讀取操作。
- TUSB1146-Q1 確認(rèn) 7 位地址周期。
- TUSB1146-Q1 從寄存器偏移處開(kāi)始傳輸存儲(chǔ)器寄存器的內(nèi)容,MSB 優(yōu)先。
- 在每次字節(jié)傳輸后,TUSB1146-Q1 將會(huì)等待控制器發(fā)出響應(yīng) (ACK) 或無(wú)應(yīng)答 (NACK);I2C 控制器會(huì)確認(rèn)接收到每次數(shù)據(jù)字節(jié)傳輸。
- 如果接收到 ACK,則只要控制器提供時(shí)鐘,TUSB1146-Q1 就會(huì)傳輸下一個(gè)數(shù)據(jù)字節(jié)。如果接收到 NAK,則 TUSB1146-Q1 停止提供數(shù)據(jù)并等待停止條件 (P)。
- 控制器通過(guò)生成停止條件 (P) 來(lái)終止讀取操作。
按照以下程序?yàn)?I2C 讀取設(shè)置起始子地址(請(qǐng)參閱 圖 6-5)。
- 控制器通過(guò)生成啟動(dòng)條件 (S) 以及 TUSB1146-Q1 7 位地址和一個(gè)用以指示寫(xiě)入周期的零值“W/R”位來(lái)啟動(dòng)寫(xiě)入操作。
- TUSB1146-Q1 確認(rèn)地址周期。
- 控制器提供要寫(xiě)入的 TUSB1146-Q1 中的寄存器偏移,它由一字節(jié)數(shù)據(jù)組成,MSB 優(yōu)先。
- TUSB1146-Q1 確認(rèn)寄存器偏移周期。
- 控制器通過(guò)生成停止條件 (P) 來(lái)終止寫(xiě)入操作。
注: 初始上電之后,如果讀取過(guò)程不包含寄存器偏移(請(qǐng)參閱圖 6-3),則讀取從寄存器偏移 00h 開(kāi)始并通過(guò)寄存器逐字節(jié)繼續(xù),直到 I2C 控制器終止讀取操作為止。在讀取操作期間,TUSB1146-Q1 會(huì)自動(dòng)遞增最后一個(gè)傳輸字節(jié)的 I2C 內(nèi)部寄存器地址,而不論是否從 I2C 控制器收到 ACK。