聊聊通訊協議 I2C 子系統之五
一、I2C Hs-mode
HS mode 為什么單獨講解?因為高速模式和其他模式有很多不一樣的地方。
速度高達3.4MHz。Hs 模式下,主機 SDAH 有一個開漏輸出 buffer, SCLH 有一個輸出的開漏極下拉和電流源上拉電路,這個電流源電路縮短了 SCLH 信號的上升時間。任何時侯在 Hs 模式只有一個主機的電流源有效。在多主機系統的 Hs 模式中,不執行仲裁和時鐘同步,以加速位處理能力。仲裁過程一般在前面用 F/S 模式傳輸主機碼后結束。Hs 模式主機器件以高電平和低電平是 1:2 的比率產生一個串行時鐘信號。解除了建立和保持時間的時序要求。還可以選擇 Hs 模式器件有內建的電橋。在 Hs 模式傳輸中,Hs 模式器件的高速數據 SDAH 和高速串行時鐘 SCLH 線通過這個電橋與 F/S 模式器件的 SDA 和 SCL 線分隔開來。減輕了SDAH 和 SCLH 線的電容負載,使上升和下降時間更快。Hs 模式從機器件與 F/S 從機器件的唯一差別是它們工作的速度。Hs 模式從機在 SCLH 和 SDAH輸出有開漏輸出的緩沖器。SCLH 管腳可選的下拉晶體管可以用于拉長 SCLH 信號的低電平,但只允許在 Hs 模式傳輸的響應位后進行。Hs 模式器件的輸出可以抑制毛刺,而且 SDAH 和 SCLH 輸出有一個 Schmitt 觸發器。Hs 模式器件的輸出緩沖器對 SDAH 和 SCLH 信號的下降沿有斜率控制功能。調整了串行數據 SDA 和串行時鐘 SCL 信號的時序。沒有必要與其他總線系統如 CBUS 兼容,它們不能在增加的位速率下工作。如果快速模式器件的電源電壓被關斷,SDA 和 SCL 的 I/O 管腳必須懸空,不能阻塞總線。連接到總線的外部上拉器件必須調整以適應快速模式 I2C 總線更短的最大允許上升時間。對于負載最大是 200pF 的總線,每條總線的上拉器件可以是一個電阻;對于負載在 200pF~400pF 之間的總線,上拉器件可以是一個電流源(最大值 3mA)或者是一個開關電阻電路,如下圖:只有 Hs 模式器件的系統的物理 I2C 總線配置。
(可選)串聯電阻器 Rs 保護 I2C 總線設備的 I/O 免受總線上的高壓尖峰影響,并將振鈴和干擾降至最低。
右下角兩個設備,不光是從設備,也可以當主設備。這種期間有一個 MCS 電流源。如果總線上器件較多,會導致總線電容較大,拉升總線電壓相當于給電容充電,這需要時間,這會導致波形上升沿過緩,所以加了電流源可以使上升沿很快。
1、data transfer format in Hs-mode(1)START condition (S)
(2)8-bit master code (0000 1XXX)
(3)Not-acknowledge bit (A)
2、在Hs模式下啟用電流源上拉電路3、在下一次重復啟動條件后,依舊在 Hs-mode由上圖可以看出,在快速模式(FS mode)下發送一個 Master code,然后切換到高速模式(HS mode),發送從設備地址。
在第一階段 FS mode 時候,發送主設備的編碼,這時候會進行仲裁,因此高速模式階段沒有時鐘同步和仲裁。
上圖為完整通信波形示意圖。先在快速模式下發送主機地址,不需要從機回復。然后切換到高速模式,會發送一個 reSTART,然后再發送自己想要操作,讀或者寫。
X 關閉
X 關閉