【導讀】如果說有一種工程師人盡皆知的總線技術,那非I2C莫屬。I2C在微電子通信控制領域廣泛采用的一種總線標準,是同步通信的一種特殊形式,具有接口線少、控制方式簡化、器件封裝形式小、通信速率較高等優(yōu)點。它是雙向總線,可以在任何IC工藝(NMOS,CMOS,雙極性)中輕松實現,并允許簡單的IC間通信。
在硬件上,I2C總線只需要一根數據線和一根時鐘線兩根線,總線接口已經集成在芯片內部,不需要特殊的接口電路,而且片上接口電路的濾波器可以濾去總線數據上的毛刺。因此I2C總線簡化了硬件電路PCB布線,降低了系統成本,提高了系統可靠性。問題來了,如果因為各種原因,I2C器件需要從你的主PCB上挪開,該注意什么?
移除I2C器件,請避免通過電纜發(fā)送單端信號
從PCB上挪開I2C器件首先要避免的是通過電纜發(fā)送單端信號,這里比較可行的做法是使用一對I2C擴展器,例如ADI公司的LTC4331,該產品是一款I2C擴展器,具備總線緩沖器系列的常見功能。使用LTC4331時需要將一個安裝在本地PCB上,另一個安裝在遠程板上,然后,在本地I2C主機和遠程I2C從機上創(chuàng)建連接。這里可以使用單根雙絞線實現連接,例如來自CAT的雙絞線,也可以采用RJ45連接器實現連接。
在實際應用中又會是什么狀態(tài)呢?I2C主機向遠程從機(例如其中的LTC4331)發(fā)送一個命令, 從機會接收,然后發(fā)回,完成向/從差分信號協議的轉換,但不會消耗應用資源。值得一提的是可以使用I2C總線覆蓋3/4英里及更遠的距離。
在本地,運行速率可以達到MHz,I2C主機會控制本地和遠程端的總線速度,這里的LTC 4331可以設置為按100kHz、400kHz或1MHz的速率與從機通信。下圖中未包含提醒和控制通道, 它們的狀態(tài)也通過雙線鏈路編碼和傳輸。所以,可以看出,LTC 4331對支持和中斷從遠程從機返回的信號,支持額外的控制信號。當控制信號可由引腳設置,或者可由帶I2C的寄存器和命令一起編程。
由一對LTC 4331組成的解決方案具備差分對的優(yōu)點,性能也極為可靠,可以安裝在極為惡劣的環(huán)境中。LTC 4331可以承受IEC 4級ESD攻擊,還可以調節(jié)4個電氣快速瞬變,具有+/-60V容錯,這在操作人員在安裝后無法啟動,或在現場意外損壞時非常有用,比如傳輸信號和電源的電纜壓在一起。
高噪聲工業(yè)環(huán)境下的I2C設備擴展器
上面提到LTC4331是一款點對點、兼容SMBus的 I2C 從器件擴展器,專為在高噪聲工業(yè)環(huán)境中運行而設計。LTC4331采用 ±60V 故障保護差分收發(fā)器,可通過單個雙絞線差分鏈路(最長1200米)擴展 I2C/SMBus 總線,包括SMBALERT和一個控制信號。該解決方案采用擴展的共模工作范圍,可以容忍節(jié)點之間大的地面差異。對于EMI敏感環(huán)境,壓擺率控制引腳可降低差分鏈路發(fā)出的EMI。
此外,LTC4331可以充當 I2C 至 I2C 的橋接器,使本地和遠程網絡之間能擁有獨立總線頻率。該解決方案對主設備完全透明,在大多數情況下不需要額外的數字碼; 但提供了用于其他配置和故障監(jiān)視的控制接口。強烈建議使用完全支持SCL時鐘拉伸的主控制器。
一個完整的擴展 I2C 網絡需要兩個 LTC4331 器件。利用REMOTE引腳,一個LTC4331被配置為本地模式,并作為一個全功能的SMBus兼容I2C從屬器件,通過這個本地接口,一個主站可以沿差分電纜對一個遠距離的從站設備進行尋址。在遠程網絡上,另一個LTC4331被配置為遠程模式的I2C 主設備,與遠程從屬設備相連。
除了LTC4331,還有一款點對點堅固型 SPI 擴展器LTC4332,這是ADI針對跨長距離的高噪聲工業(yè)環(huán)境中運行而設計。該器件采用一個 ±60V 故障保護 RS485 接口收發(fā)器,可通過兩根雙絞線電纜傳輸 SPI 數據,包括高達 2MHz 的中斷信號。差分鏈路上的擴展共模范圍和高共模抑制性能可容許節(jié)點之間存在大的地電位差異。另外,LTC4332 還支持鏈路上的外部電氣隔離。LTC4332 提供一個控制接口,該接口采用一個用于配置和故障監(jiān)視的單獨從設備選擇。
結語
I2C無處不在,使得連接更容易。ADI公司的I2C解決方案系列支持熱插拔、雙線式雙向總線緩沖器,可將I/O卡插入帶電背板中,而不會損壞數據和時鐘總線。ADI的軟件可編程和引腳可選I2C多路復用器有助于解決I2C地址限制,增加扇入或扇出能力,并為一體化解決方案集成總線緩沖器和上升時間加速度計。電阻可配置I2C地址轉換器可配置超過100個獨特的從機地址,使多個具有相同地址的從器件可在同一總線上共存。
推薦閱讀: