DIODES達爾科技 使用I2C GPIO擴展器的理由

古老的 2線I²C總線今天仍然像飛利浦在 1982 年發明它時一樣流行。最初是 100KHz 總線,當前版本 4 (2014) 超快速模式 (UFm) 時鐘為 5MHz — 使其足以滿足大多數中速外圍設備,包括數字 I/O、GPIO、鍵盤、小鍵盤和傳感器。事實上,I²C 是在許多嵌入式系統中移動信號的完美方式,包括智能手機內部或註定存在於物聯網 (IoT) 的“雲端”的系統。

在本文中,我們將推薦多個示例,其中 I²C 將為您的嵌入式設計增加價值,為您的設計工具包提供一個新技巧。

I²C 的多點、3.3V 或 5.0V 低電平有效、2 線接口非常易於接線且易於編程。使用串行數據線 (SDA) 和串行時鐘線 (SCL),主機控制總線,從機確認其 7 位或 10 位地址(圖 1)。通信隨之發生,主機以停止位結束傳輸。可以有多個主機,從機的數量僅受可用地址和總線電容的限制。

典型的 I²C 總線長度約為幾米——對於板載或板對板系統通信來說已經足夠了。大多數 I²C 線保留在單個 PCB 上。 I²C 協議是 START 和 STOP 位的組合,通常通過將線路從高到低進行枚舉,高通常為 5VDC。



憑藉可用的 5.0 伏電壓和兩條易於佈線的線路,I²C 可以轉換為許多其他類型的中速接口,例如 GPIO、A/D/A、電平轉換器和無數 IoT 傳感器(圖 2)。 這意味著許多設備和接口可以通過 I²C 進行多路復用、轉換和傳輸。 例如,寬並行接口可以簡化為 I²C,從而通過節省佈線和走線來降低佈線複雜性。

同樣重要的是在 SoC 上節省 I/O 引腳。 圖 2 中顯示的所有器件都可以僅使用兩個 SoC 引腳來實現。 超過 13 個設備連接到一個只有兩個引腳的空間受限的 SoC; 驚人的! 例如,請返回圖 2(右下部分),其中顯示了 I²C 橋接至 SPI 總線或 UART——所有這些都僅使用兩個 I²C 引腳。

圖 3 顯示了雙向 I²C 多路復用器,用於僅使用兩根電線在更長的距離上運行多跡線信號或總線。 I²C 的速度足以適應這種安排,並且使工作變得輕鬆。 例如,從寬並行總線轉換為 I²C 可以節省 PCB 佈線,允許更便宜(和更簡單)的連接器,甚至可以充當系統中板之間的總線擴展器。

圖 4 顯示了將 I²C 總線轉換為 16 位並行總線的 I/O 擴展器。 Diodes Incorporated 的 PI4IOE5V9539 符合 I²C 規範,支持低電平有效信號、用於雙單工(全輸入或全輸出)GPIO 操作的 400KHz 快速模式操作,並可根據需要提供高達 2MHz 的時鐘頻率。 這個特定的設備最多可以組合到三個其他設備,以創建一個 48 位並行總線,該總線縮小到一個 2 線 I²C 接口(使用四個 I²C 從設備)。 根據 Diodes 的說法,這相當於僅使用四個 24 針微型 TSOP 並行 I/O 擴展器將 48 線鍵盤控制器轉換為兩條 I²C 線。


I²C I/O 擴展器如此有用的另一個原因是它們增加了本地線路控制,同時將系統控制器從低級任務中解放出來。的簡化手機中,基帶/應用引擎可以避免不斷輪詢所示的 I/O 塊,從而消耗電池電量以保持控制器處於活動狀態。 相反,INT(中斷)輸出線可以僅在需要時喚醒控制器,使其保持待機或睡眠狀態,從而節省系統電源。 一件簡單的事情,但在電池供電的設備中必不可少。 在 Pericom 的設備中,這稱為“快速鏈接”。

圖 4 所示的 I/O 擴展器還包括 RESET。 RESET 設置開機默認值,無需重啟設備電源,這是一個方便的功能,可將仍然供電的系統恢復到已知的良好狀態。 此外,該器件還能夠將極性切換為輸入或輸出,從而使單個器件具有雙向用途。

I²C I/O 擴展器以其他不太明顯的方式簡化系統設計。 Diodes 的 I/O 擴展器產品線包括 x2、x4、x8 和 x16 類型的扇出,並結合了一些漂亮的二階功能。例如,2.2V 至 5.5V Vcc 範圍為設計人員提供了從典型 TTL 5.0VDC 到電池和移動設備中的較低電壓的電壓選擇。

I²C 是一種簡單而穩健的 2 線接口,但走線較長可能會產生噪聲。在 I²C SCL 和 SDA 線上添加噪聲過濾可避免錯誤的電平變化。一些 I/O 擴展器還支持 I²C 線上的 TTL 和 CMOS 電壓電平,這為傳統設計提供了便利。

圖 6 所示的 PI4IOE5V9570 4 位 I/O 擴展器也可以直接驅動 LED。這是一款速度更快的設備,能夠以 1MHz I²C 運行,但其四個鎖存輸出中的每一個都可以提供 25mA 的電流。在這種情況下,SoC 使用 I²C 接口(通過擴展器中的橋接功能)控制 GPIO 信號。 SoC 向擴展器發出 I²>C 命令,然後擴展器將命令轉換為高電壓或低電壓。 GPIO 端口直接驅動 LED,從 I²C 到 GPIO 的轉換和適當的 LED 電壓完全由 I/O 擴展器處理。在像手機這樣的系統設計中,這意味著兩條 I²C 線可以點亮和控制四個獨立的 LED。

在本文中,我們僅描述了 I²C I/O 擴展器使嵌入式設計受益的幾種方式。 從扇出/輸入到節省 SoC 功率和引腳,再到直接驅動 LED,I²C I/O 擴展器為成熟的 I²C 總線增添了一些簡單的優雅。 更好的是,使用 I²C 擴展器的方法太多了。 我們鼓勵您在下一個設計中嘗試一次 I²C I/O 擴展器。

★博文內容參考自 網站,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論