內部集成電路總線(I2C)是一種同步串行數據通信總線,是一種極為常見的協議,用于連接微控制器及其外圍設備。這種在每一個工程師的設計中幾乎都可能遇到的總線技術,卻總是可能因為各種不經意的問題為大家的設計帶來不大不小的挑戰。比如,一般器件都提供開漏輸出,表示它們只能稍微下拉,這在實現雙向通信的同時也意味著需要上拉才能在總線上實現高電平狀態。如何確定上拉的大小?這是設計人員常常會提出的一個問題。
在網上找到許多相關資料,但是最后發現,需要滿足的所有電氣規格都已在如下的表中列出。在確定應用計劃的數據速率運行之后,查看規格表找到所需的上升時間即可。如果不知道總線的電容,可以估測一個值,例如每個器件30微微法拉,然后據此實施調節。但是上拉電流和總線上的總電容都存在限值,所以在設置電路之后,都會使用I2C包進行通信。每一個經驗豐富的硬件設計工程師大概還能提出曾經遇到過的很多類似問題,這里不妨以幾個工程師共性的問題提出來給出設計建議。
使用I2C包進行通信,如何降低功耗?
如果更詳細地考慮I2C信號,一般會使用上拉電阻來獲得高電平信號,可為上升沿選擇電阻。但是,當信號處于低電平時,上拉電阻只是在消耗功率,那么如何降低這種功耗呢?
ADUM1250是ADI公司的一款I2C電氣隔離器,這里來比較一下ADUM1250的發射端和上拉電阻,然后再與添加到電路中的LTC4311上升時間加速度計比較。如下圖所示,將電路中的器件電源和總線電源分開,用不同電源供電就能夠看出電源消耗在哪些地方。
下表是測試結果。有2K歐上拉電阻,上升時間表現不錯,但是有2.6毫安電流流過上拉電阻。如何節省功耗?根據功率預算,將上拉電阻調整為10 K,但是這樣的話,上升時間又會出現問題。可以假設已知RC,但是需要設定功率預算。所以,對上升時間加速。當RTA發現電壓閾值中有上升沿且壓擺率最低時,會注入電流,加快上升時間,但不會大幅上拉。這里需要注意的是,上升時間時在需要的范圍內。
再來看看RTA消耗多少電流。LTC4311與上拉電阻連接至同一電源,可以看到,消耗的電流比2K上拉時低得多。真正有利的是,RTA在剩余的波形內都保持閑置。LTC4311僅消耗約25微安電流,所以能夠使用更弱一些的上拉電阻,但仍然讓上升時間滿足所需的I2C規格。這使得LTC4311成為一種非常有趣的器件,能夠添加至移動應用或電池供電的應用中。
除此以外,還能給RTA電路帶來另一項優勢。要求開漏裝置同步的電流越多,總線上的低電平越高,這是因為開漏兩端存在壓降。所以,當低電平升高,噪聲裕量會越低。因此,RTA電路有助于降低開漏輸出兩端的壓降,并保持低電平。在電源電壓很低時,這尤其有用。LTC4311可以支持最低1.8V總線電線,所以上述電路中的RTA有助于滿足所需的上升時間,后者會消耗電源,使VOL保持低電平。
LTC4311是一款雙通道I2C有源上拉加速器,專為在遠遠超過400pF I2C規格限值的總線負載條件下提升數據傳輸速度和可靠性而設計。多個器件連接到同一總線的系統可能呈現遠高于400pF I2C性能規格的大總線電容。容性加載引起較慢的上升時間,這可能影響數據可靠性并指定總線的實際最高速度。通過在總線上升躍變時采用升高的上拉電流,同時在下降躍變和邏輯低與邏輯高時禁止電流源以改善低態噪聲容限,LTC4311減輕了這些問題。
總線緩沖器,解決不中斷加入有源I2C總線等問題
下圖這個系統具有背板,可能是服務器或者其他,上面插有很多卡。對于低速通信,I2C非常適用于與這些卡通信。但對于采用這種結構的總線需要調節上拉電阻,以獲得固定電容。 如果沒有固定數量的卡會怎樣?或者,如果拔出一張卡,然后使用具有不同電氣特性的卡進行替代,又會怎樣?可以通過設計來分配一些上拉電阻,但是在可以同步多少電流量方面,仍然存在限制。所以,可以估測每個器件給總線增加30微微法拉。如果在卡終端添加連接器,那么背板或卡上的線路會很長,電容預算很快就會用完,所以建議在卡終端添加總線緩沖器,這些總線緩沖器會將電容隔離到各個分段。
如果在應用中,卡是在I2C總線處于激活狀態時插入,那么應該以適當的方式插入。所以基本上,我們希望盡可能減少造成數據混亂或數據丟失,甚至導致總線鎖定的機率。許多總線緩沖器都有一個預充電功能。所以在總線連接之前,它可以讓總線引腳的電壓升高到約1V,相當于200Ω的串聯電阻。此舉的作用是,在新總線分段進行機械接觸時,1V預充電會盡量減少對信號的干擾。
此外,如果不希望在總線緩沖器或總線分段未上電時,產生電氣干擾,也不想給總線電壓軌饋電。總線緩沖器可以解決這些問題。I2C總線緩沖器的輸出級是末端通道開漏下拉電阻,它們的柵極接地,直到滿足一系列啟動條件。所以在上電時不允許電壓反饋,且緩沖器遠端的電容從不可見。
總線緩沖器是一種常見的系統結構,LTC4330是ADI總線緩沖器系列中的最新產品,它會隔離總線電容,采用RTA,會斷開和恢復卡塞總線,進行預充電,但仍然采用3x3毫米封裝。該產品的運行溫度最高可以達到125℃,余下的總線緩沖器的最高運行溫度為85℃。其他總線緩沖器支持400KHz,LTC4330最高支持1MHz總線,還為第三個通道提供雙向支持,所以這對于PM總線通信非常有用。
另外,總線緩沖器具有VOL偏移。但LTC4330沒有采用VOL偏移,其兩端都是固定的VOL電平。所以,如果應用以串行方式使用緩沖器,LTC4330的表現會很出色,因為設計師無需擔心VOL偏移累計問題。此外,LTC4330還提供極為可靠的系統級ESD保護,這是一個非常有用的功能,尤其當緩沖器位于卡終端上時,不僅可以讓總線緩沖器實施邏輯電平轉換,還可以實施接地電平轉換。
LTC4330雖然不是電氣隔離器,但是可以用在只需偏移基準電壓源電平的應用中。有時候,隔離器會起到這個作用。就像48V系統一樣,它可以偏移基準電壓源電平,并在兩端之間通信,而且,如果這些接地相對于彼此移動,那么LTC4330也具備非常出色的CMCI性能。
±150V I2C總線緩沖器的典型應用:-48V基準電壓源電平偏移,并提供第三個通道支持
如何控制I2C上的流量?
總線緩沖多路復用器不僅可以將總線電容隔離到各個分段,如果需要還能以不同的電壓電平操作總線分段。對于要求I2C總線扇出且ATI的I2C總線緩沖器盒包含2個和4個通道的應用,它們表現會十分出色。另一個有用的功能是,有時I2C器件采用固定的硬連接地址,但是需要更多這種器件時,數量超過可用地址的數量,這時可以使用多路復用器來獲取冗余地址,這意味著,設計師可以控制信息發送到總線的哪個分段。可以采用不同的方法來控制I2C流量,例如LTC4305和LTC4306,或者用具有控制線路的其他器件,例如LTC4312和LTC4314,利用多路復用器和控制線路,它們可以實施轉換。
使用多路復用器來控制I2C上的流量,使用總線緩沖器也可以實現同樣的效果。但是通過使用地址轉換器,無需花費成本來開關流量,也無需使用控制引腳或任何額外的I2C命令。或者使用LTC4316之類的器件來修改7位地址通信。所以,當使用采用復用地址的從機時,從主機角度它們是唯一的。
總結
ADI公司的I2C解決方案系列支持熱插拔、雙線式雙向總線緩沖器,可將I/O卡插入帶電背板中,而不會損壞數據和時鐘總線。I2C加速度計可改善總線轉換特性,支持多個器件連接或更長、更多容性互連,而不影響壓擺率或總線性能。另外,ADI的軟件可編程和引腳可選I2C多路復用器有助于解決I2C地址限制,增加扇入或扇出能力,并為一體化解決方案集成總線緩沖器和上升時間加速度計。電阻可配置I2C地址轉換器可配置超過100個獨特的從機地址,使多個具有相同地址的從器件可在同一總線上共存。
編輯:hfy
-
微控制器
+關注
關注
48文章
7491瀏覽量
151070 -
集成電路
+關注
關注
5381文章
11392瀏覽量
360903 -
I2C
+關注
關注
28文章
1481瀏覽量
123325 -
多路復用器
+關注
關注
9文章
869瀏覽量
65285 -
電氣隔離器
+關注
關注
0文章
43瀏覽量
5576
發布評論請先 登錄
相關推薦
評論