i2c我們用得很多,i3c又是什麼?

2021-10-05 17:01:04 字數 3182 閱讀 1226

2.3 i3c 時序圖

2.4 i3c應用場景

2.5 i3c不適用的場景

3 總結

4 參考文章

常見的板級間通訊匯流排有i2c、spi、uart、i2s等,這類匯流排常用於adc、dac、感測器、觸控螢幕等等外設中;i2s則用於傳輸音訊資訊,在音訊adc和dac中應用。隨著物聯網的應用越來越廣泛,湧現各類感測器,溫度、氣壓、心率、陀螺儀,傳統感測器一般是以i2c、spi、uart為介面,隨著感測器種類的激增和對效能與功耗的要求,暴露出匯流排的一部分缺陷,典型的問題有幾點。

基於上述問題,mipi主導並提出了i3c匯流排,可以解決現有問題,適用於多個感測器的場合。

i2c全稱是inter integrated circuit,i3c是mipi(mobile industry processor inte***ce)移動產業處理器介面聯盟推出的改進型i2c匯流排介面,全稱是improved inter integrated circuit,因此簡稱為i3c。i3c仍然是採用2根通訊線,一根資料線sdl,一根時鐘線scl。i3c向下相容i2c,也就是i3c匯流排可以掛載傳統i2c介面的器件,使用很是方便。mipi聯盟的新介面標準旨在通過減少感測器系統整合的物理引腳來實現感測器通訊的標準化,提供乙個快速、低成本、低功耗、兩線數字介面標準。

i3c向下相容i2c,但不相容10bit的i2c擴充套件位址

i3c典型應用電路

i3c感測器

i3c除了向下相容i2c的特點外,最重要是引入了自身特有的功能,以適應物聯網應用的需求發展。

i3c標準的目標電平電壓是3.3v、1.8v、1.2v,甚至更低。

傳統i2c、spi介面需增加中斷線通知主控制器,i3c支援軟中斷,無需外部中斷線,感測器數目多的情況下,節約io引腳和中斷資源。i3c軟中斷的基本原理是,當匯流排處於空閒狀態時,從裝置可以通過中斷機制傳送乙個"start"訊號,然後主裝置會為從裝置提供乙個時鐘訊號,從裝置可以通過主裝置提供的分配位址將裝置驅動到匯流排上來啟動中斷。如果此時有多個從裝置嘗試啟動中斷,則位址最小的從裝置獲得此次仲裁。同時主裝置發出ack訊號響應此次中斷並重新啟動匯流排或者繼續從從裝置接收資料,也可以發出nack訊號來結束通訊。

i3c不僅支援多個從裝置,還支援多個主裝置。i3c匯流排上可以支援的裝置有:

i3c匯流排支援掛載裝置拓撲圖

熱插拔特性可以讓i3c從裝置在不工作時處理睡眠或者關閉狀態,需使用時才掛載到匯流排上使用,進一步達到降低功耗的目的。

i3c支援動態位址,同時可以分配7bit靜態位址以適配傳統i2c 從裝置。i3c從裝置位址由主裝置仲裁,但並不是所有裝置位址都可用,部分位址是i3c標準所保留的,用於後期拓展或者錯誤仲裁。

部分不可用位址

i3c支援從12.5 mbps到接近37.5 mbps的通訊速率。

i2c與i3c速率和功耗對比

i3c支援4種通訊模式,分別是sdr、hdr-ddr、hdr-tsl、hdr-tsp,不同模式通訊速率有差異。

i3c四種模式功耗對比

上述i3c特點,傳統i2c、spi、uart所不具備的,因此彌補了前面提及的弊端。

起始時序與i2c一致,當scl線為高電平是,sda線由高電平到低電平變化。

i3c起始時序

停止時序與i2c一致,當scl線為高電平是,sda線由低電平到高電平變化。

i3c停止時序

i3c傳輸1位資料時需要乙個時鐘脈衝,配合主裝置的時鐘訊號完成資料逐位傳輸。在進行資料傳輸時,scl線為高電平時sda線電平保持穩定,低電平表示資料0,高電平表示資料1;在scl線為低電平時允許sda線電平變化。

i3c資料傳輸時序

i3c典型應用,掛載i2c和i3c器件

i3c相比i2c要複雜得很多很多,前面只是提及其主要特點,關於其實現原理、支援模式、糾錯原理過程等,進一步深入研究,可以參考官方協議文件。

通過對比分析,i3c繼承了i2c、spi、uart的優點,並增加了新的特性,實現了乙個快速、低成本、低功耗、掛載節點數目多的匯流排標準。i3c將會像type-c統一外部介面(充電、資料傳輸)一樣,統一板間通訊,解決介面碎片化問題。但目前只是初步階段,支援i3c介面的cpu和外設比較少,傳統i2c、spi、uart依然是主流。

可以通過乙個**,對比幾種匯流排的特性。

通訊介面

uart

i2cspi

i3c線數22

42最大通訊速率

典型115200bps

3mbps

60mbps

37.5mbps

主裝置單一

單一單一

支援多個

從裝置點對點

多個多個

多個軟中斷

不支援不支援

不支援支援

熱插拔不支援

不支援不支援

支援從裝置位址

不支援靜態位址

不支援靜態和動態位址

i3c 匯流排協議詳細解析(第一章)

mipi i3c官網

在boot中新增i2c使用得方法

在 lk platform msm8226 include platform aboot.h 中新增 判斷 判斷pad與pad鏈結得引腳定義 define p03 plug in 15 gpio表中查詢 在 lk platform msm8226 include platform iomap.h中修...

I3C匯流排HDR模式研讀

基本的i3c並不支援hdr模式,但是為了相容i3c v1.x裝置,基本的i3c裝置必須能夠檢測到hdr進入 退出以及重啟,i3c v1.x的裝置可以在相同的匯流排頻率上傳輸更多的資料。注意 i3c匯流排通常初始化並配置為sdr模式,永遠不會配置為hdr模式。i3c v1.x hdr模式,意味著整個i...

i2c通訊的詳細講解 I2C匯流排簡介

本文介紹了內部積體電路 aka i2c 序列通訊協議的基本特性和突出優點。元件之間的通訊 通訊協議 毫無疑問,電子系統的共同特徵是需要在兩個或三個或十個單獨的元件之間共享資訊。工程師已經開發出許多標準協議,可以幫助不同的晶元成功通訊 當您在微控制器或數字訊號處理器的功能列表中 通訊 下面對縮略語時,...