關(guān)注、星標(biāo)公眾號,直達精彩內(nèi)容 來源:本文編譯自Chip Interfaces ApS。
飛利浦半導(dǎo)體公司(現(xiàn)為恩智浦半導(dǎo)體公司)于 1980 年發(fā)明的 I2C(Inter-Integrated Circuit:內(nèi)部集成電路)總線,在簡化嵌入式系統(tǒng)通信方面邁出了一大步。它是一種簡單的雙線接口,用于同步、多主/多從、單端串行通信。
45 年后,它仍然廣泛用于連接低速外設(shè)集成電路 (IC)、處理器和微控制器。但如今的硅片已經(jīng)發(fā)生了變化,我們已經(jīng)從 8 位 MCU 發(fā)展到多核 SOC,從簡單的傳感器發(fā)展到復(fù)雜的多模傳感器設(shè)備。對帶寬、延遲和功耗的需求都在增加,而這正是新型改進型總線變體得以發(fā)展的契機。
什么是I3C以及它為何重要?
I3C(Improved Inter-Integrated Circuit:改進型集成電路)是由MIPI 聯(lián)盟開發(fā)的一種總線,是一種基于 I2C 的雙線接口,并對其進行了改進以提高速度和效率。它旨在取代 I2C(以及部分 SPI),同時仍保持與 I2C 的向后兼容。它提供高達 12.5 MHz 的更高時鐘速度、無需額外線路的帶內(nèi)中斷、動態(tài)尋址、雙數(shù)據(jù)速率和多通道操作(最高可達 100Mbps)、節(jié)能模式以及標(biāo)準(zhǔn)化命令集。它是專為現(xiàn)代嵌入式系統(tǒng)打造的更快、更精簡的繼任者,并正迅速成為 SoC 和 FPGA 設(shè)計人員的默認選擇。
為什么要過渡到I3C?I2C和I3C的比較?
I2C 的成功得益于其簡單的一條數(shù)據(jù)線 (SDA) 和一條時鐘線 (SCL) 以及主/從架構(gòu),總線上最多可連接 127 個設(shè)備。它不需要像 SPI 那樣每個設(shè)備都進行片選,這使其成為低引腳數(shù)封裝和簡化電路板布線的理想選擇。隨著技術(shù)的發(fā)展,SOC 變得越來越復(fù)雜,時間敏感的設(shè)計人員開始達到 I2C 的極限。線路速率和數(shù)據(jù)吞吐量經(jīng)過多次迭代,包括 400 kbit/s 快速模式、1 Mbit/s 加快速模式、3.4 Mbit/s 高速模式和 5 Mbit/s 超快速模式。
盡管有這些改進,但線路速率仍不足以滿足當(dāng)今對高速傳感器或復(fù)雜外設(shè)日益增長的需求。設(shè)計人員面臨著通過讓設(shè)備輪詢或使用單獨的 GPIO 線來實現(xiàn)中斷的挑戰(zhàn),這破壞了雙線布線的簡單性。多控制器設(shè)置在仲裁方面很復(fù)雜,而且通常不受目標(biāo)設(shè)備支持。
I3C 由 MIPI 聯(lián)盟開發(fā),旨在解決這些限制,同時仍保持與傳統(tǒng) I2C 設(shè)備的向后兼容性。能夠支持傳統(tǒng)傳感器并啟用新功能,這就是 I3C 對當(dāng)今系統(tǒng)設(shè)計人員如此重要的原因。I3C 相對于 I2C 有很多關(guān)鍵優(yōu)勢,其中最重要的是更高的吞吐量。在 SDR(單數(shù)據(jù)速率)模式下,其時鐘頻率高達 12.5MHz,即使在廣泛采用的快速模式下,其速度也比 I2C 快 10 倍,是 I2C 頂級超快速模式的兩倍多。
但它并沒有就此結(jié)束,因為 I3C 還可以在 HDR(高數(shù)據(jù)速率)模式下運行,將性能進一步推高至 100 Mbps。I3C 的動態(tài)尋址允許在總線初始化期間分配設(shè)備地址,這與 I2C 硬編碼或引腳可配置地址不同。這簡化了 PCB 設(shè)計并實現(xiàn)了更具可擴展性的系統(tǒng)。帶內(nèi)中斷 (IBI) 的加入消除了對外部中斷線的需求,并允許目標(biāo)設(shè)備通過同一雙線接口發(fā)出中斷以響應(yīng)控制器活動,這使得 I3C 成為事件驅(qū)動架構(gòu)的理想選擇。多種節(jié)能功能使其能夠?qū)崿F(xiàn)更高的能效。熱連接允許設(shè)備在總線運行時動態(tài)加入總線,設(shè)備可以高效地進入睡眠狀態(tài)并被喚醒。此外,與 I2C 僅支持開漏操作不同,推挽信號傳輸?shù)募尤脒M一步降低了功耗。
在評估項目的 I3C IP 核時,請牢記以下幾點:符合最新的 MIPI I3C 規(guī)范(v1.1.1 或 v1.2);向下兼容以實現(xiàn)無縫 I2C 回退(這對于混合環(huán)境至關(guān)重要);可配置的角色(包括輔助主設(shè)備的動態(tài)角色切換);支持 HDR,以便在傳輸大數(shù)據(jù)塊時充分利用更高的數(shù)據(jù)速率(HDR-DDR、HDR-TSP/TSL、HDR-BT)。向 I3C 的過渡可能是一個循序漸進的過程,尤其是在使用傳統(tǒng)設(shè)備的系統(tǒng)中。以下幾個指標(biāo)表明是時候進行遷移了:您可能需要更高的帶寬;中斷所需的 GPIO 線路過多;您的設(shè)計對功耗敏感;或者您可能需要一個面向未來的協(xié)議來降低延遲和電路板復(fù)雜性。
結(jié)論
與 80 年代相比,如今的嵌入式系統(tǒng)速度更快、更復(fù)雜,功耗感知也更強。數(shù)十年來,I2C 一直是系統(tǒng)設(shè)計中不可或缺的接口,并經(jīng)歷了多次迭代。I3C 正是為應(yīng)對新挑戰(zhàn)而生,它不僅保留了我們熟悉的兩線式簡潔性,還兼具現(xiàn)代系統(tǒng)所需的性能。如果您正在構(gòu)建下一個 ASIC 或為 FPGA 設(shè)計選擇外設(shè), I3C 是一個很好的選擇,它不僅是一種更快的總線,而且是芯片間通信的絕佳基礎(chǔ)。
參考鏈接
https://www.design-reuse.com/blog/56172-from-i2c-to-i3c-evolution-of-two-wire-communication-in-embedded-systems/
???????????????? END ???????????????
關(guān)注我的微信公眾號,回復(fù)“星球”加入知識星球,有問必答。
點擊“閱讀原文”查看知識星球詳情,歡迎點分享、收藏、點贊、在看。