《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 解決方案 > 適合工業(yè)應用的魯棒SPI/I2C通信

適合工業(yè)應用的魯棒SPI/I2C通信

2022-06-06
來源:ADI公司
關鍵詞: ADI SPII2C通信

評估和設計支持

電路評估板

CN0564參考設計板(EVAL-CN0564-ARDZ)

設計和集成文件

原理圖,、布局文件、物料清單


電路功能與優(yōu)勢

對于控制器和外設之間的短距離電路板內連接,,串行外設接口(SPI)和Inter-Integrated Circuit (I2C)接口是流行的事實上的通信標準,。由于存在廣泛的硬件和軟件支持,,SPI和I2C已被傳感器、執(zhí)行器和數(shù)據(jù)轉換器制造商廣泛采用,。當控制器和外設位于同一電路板上,、共享同一接地層且相距不遠(不大于1米)時,,這些接口的實現(xiàn)相當簡單。

但是,,狀態(tài)監(jiān)控,、工廠自動化、樓宇自動化和結構監(jiān)控等應用要求外設位于遠程位置,,通常遠離控制器,。系統(tǒng)設計人員傳統(tǒng)上利用中繼器或具有更高驅動強度的驅動器來擴展這些接口,其代價是整體成本和功耗增加,。

圖1所示電路輕而易舉地解決了長距離,、魯棒SPI/I2C通信的問題,對電路元件數(shù)量,、工作速度或軟件復雜性則沒有任何影響,。為了在高噪聲、惡劣的工業(yè)環(huán)境中無錯誤運行,,器件必須能承受較大地電位差,。SPI/I2C擴展器具有魯棒的收發(fā)器,可在±25V(SPI通信)和±15V(I2C通信)的擴展共模范圍內工作,,支持長達1200米的距離,。每個鏈路由位于電纜任一端的單個器件組成,電源電壓范圍為3V至5.5V,,而單獨的邏輯電源允許I2C或SPI接口從1.62V至5.5V電源供電。擴展器還提供了用于故障監(jiān)測的內部控制接口,;當長距離監(jiān)測設備時,,這非常重要。

ADI公司的Circuits from the Lab?電路由ADI工程師設計構建,。每個電路的設計和構建都嚴格遵循標準

工程規(guī)范,,電路的功能和性能都在實驗室環(huán)境中以室溫條件進行了測試和檢驗。然而,,您需負責自行測試電路,,并確定對您是否適用。因而,,ADI公司將不對由任何原因,、連接到任何所用參考電路上的任何物品所導致的直接、間接,、特殊,、偶然、必然或者懲罰性的損害負責,。

電路描述

I2C信號標準綜述

I2C是用于雙向雙線接口的串行協(xié)議,,可將EEPROM,、模數(shù)和數(shù)模轉換器、I/O接口及其他外設連接到嵌入式處理器,。由于簡單且可擴展,,它在傳感器領域非常受歡迎??偩€上可以存在多個器件,,每個器件都有自己的唯一地址。它只需要2條線便可在器件之間傳輸數(shù)據(jù),。這2條線包括:

SCL - 串行時鐘信號線

SDA - 用于在控制器和外設之間發(fā)送和接收數(shù)據(jù)的串行數(shù)據(jù)線

SCL和SDA信號是開漏邏輯,,I2C總線規(guī)范和用戶手冊(規(guī)范 - I2C總線)中定義了邏輯電平和時序規(guī)格

給定I2C總線上可以存在的外設數(shù)量受地址空間和最大400 pF的總線總電容限制。開漏邏輯具有相對較高的阻抗和較低的噪聲抗擾度,,這就要求所有外設以低阻抗連接到公共接地回路,,并且在100kHz時,最大總線長度以大約一米為限,。CN0564則不同,,它具有差分收發(fā)器,可將總線長度擴展至1200米,,并能承受控制器和外設之間最高±15V的共模壓差,。

SDA本質上是雙向的,在事務處理過程中,,控制器與外設之間的數(shù)據(jù)流向會改變方向,。雖然不是很常見,但是I2C支持時鐘延展,,即外設可以讓SCK保持低電平以減慢時鐘速率,。因此,SCL也是雙向的,。I2C的雙向性質使其不便于利用緩沖器擴展,、隔離或轉換到其他物理層,這需要多種邏輯電平和其他非標準技術,。

常見I2C總線速度為100 kHz標準模式和400 kHz快速模式,。LTC4331控制器接口支持最高2000 kHz的所有常見I2C時鐘速率。然而,,在高時鐘頻率和長電纜的情況下,,強烈建議使用完全支持SCL時鐘延展的控制器。(更多信息請參閱LTC4331數(shù)據(jù)手冊)


SPI信號標準綜述

串行外設接口(SPI)是一種同步串行通信接口規(guī)范,,用于短距離通信,,主要用在嵌入式系統(tǒng)中。與I2C不同,,SPI的定義不嚴格,。它支持多種時鐘頻率,、邏輯電平和時序關系,需要仔細檢查控制器和外設規(guī)格,。SPI是全雙工通信(即數(shù)據(jù)既可從控制器流向外設,,同時也可從外設流向控制器)。


SPI物理層由4個信號組成:

SCLK - 串行時鐘,,通常由控制器驅動

MISO - 控制器數(shù)據(jù)輸入,、外設數(shù)據(jù)輸出

MOSI - 控制器數(shù)據(jù)輸出、外設數(shù)據(jù)輸入

CS - 片選使能與外設通信,。每個外設需要一條CS線,。

SPI引腳使用推挽邏輯(而不是開漏),控制器和外設之間的邏輯電平必須匹配,。每個外設都需要自己的CS信號,,這使SPI總線的物理擴展進一步復雜化。

7.jpg

時鐘和數(shù)據(jù)之間支持四種不同的時序關系,,分別稱為模式0,、1、2,、3,,對應于四種可能的時鐘配置。每個事務都是在片選線被驅動到邏輯低電平時開始(片選通常是低電平有效信號),。片選,、數(shù)據(jù)和時鐘線之間的確切關系取決于時鐘極性(CPOL)和時鐘相位(CPHA)的配置。這四種模式總結在圖2中,。

LTC4332最多支持3個遠程外設,,每個外設都有自己的CS線。每個外設的SPI模式都可以獨立設置為模式0,、1、2或3,。數(shù)據(jù)從控制器透明地傳輸?shù)酵庠O,,但從外設到控制器的數(shù)據(jù)會引入一個字的延遲。有關更多信息,,請參閱一字延遲 - SPI讀取命令部分,。

系統(tǒng)拓撲

CN0564使用LTC4331和LTC4332來擴展I2C和SPI信號,距離最長可達1200米,。每個鏈路由一對器件組成,,控制器側配置為本地模式(REMOTE引腳接低電平),外設側器件配置為遠程模式(REMOTE引腳接高電平),。

電路描述

LTC4332/LTC4331將來自控制器的SPI/I2C信號編碼為差分信號,,然后通過雙絞線電纜傳輸,。在電纜的遠端,差分信號由遠程LTC4332/LTC4331接收并解碼回SPI/I2C,,然后路由到遠程外設,。正常工作時,遠程外設會鏡像本地控制器產(chǎn)生的事件,。

可選波特率

LTC4332/LTC4331可以使用可選速度索引(如表1和表2所示)改變鏈路波特率——即數(shù)據(jù)在本地和遠程鏈路之間傳輸?shù)乃俣?。此速度索引通過配置鏈路和接口時序選擇引腳SPEED1和SPEED2來設置,這兩個引腳均為三態(tài)輸入,。

電纜上的可選波特率支持根據(jù)應用要求平衡性能與電纜長度,。但是,鏈路兩側的速度配置必須相同,。

8.jpg

9.jpg

增加電纜傳輸長度

LTC4332/LTC4331利用高速差分收發(fā)器在最長1200米的鏈路上通信,。I2C/SPI信號轉換為差分信號以實現(xiàn)高速高質量信號傳輸、噪聲抗擾度和共模抑制,。對于給定的速度設置,,必須遵守表1(適用于LTC4331)和表2(適用于LTC4332)中給出的電纜長度規(guī)格,否則鏈路不會工作,。表中的值是在實驗室環(huán)境中使用Cat5E以太網(wǎng)電纜測得,。請注意,實際最大電纜長度取決于電纜類型和應用環(huán)境,。

共模電壓和ESD魯棒性

差分收發(fā)器工作在±25V(SPI擴展器)和±15V(I2C擴展器)的擴展共模范圍內,,因此它適合于高噪聲環(huán)境或存在地電位差的系統(tǒng)(參見圖1)。

接口引腳(LTC4331 A和B引腳,,LTC4332 A,、B、Y和Z引腳)具有故障保護功能,,可承受最高±60V的電壓,。接口引腳還有異常魯棒的靜電放電(ESD)保護特性。在所有工作模式下,,或在未供電時,,接口引腳能承受相對于GND和VCC(帶4.7μF電容接GND)的±40kV HBM ESD(人體模型測試),而不會發(fā)生閂鎖或損壞,。

另外,,LTC4331/LTC4332 ESD均通過了國際電工委員會(IEC) ESD和EFT(電氣快速瞬態(tài))測試。IEC ESD應力在峰值電流,、幅度和上升時間方面均超過了HBM測試,,而EFT測試提供了長時間的重復應力。這種保護等級可確保LTC4332/LTC4331在各種實際危險下都能如常運行。

一字延遲 - SPI讀取命令

在I2C通信的情況下,,LTC4331(本地)- LTC4331(遠程)鏈路是透明的,;遠程外設顯示為本地控制器的本地器件。

但是,,對于SPI擴展器解決方案,,LTC4332(本地)- LTC4332(遠程)在讀訪問期間會引起一個字的延遲。從SPI控制器發(fā)送到外設的數(shù)據(jù)會經(jīng)歷與控制器啟動的接口時鐘(SCK)相同的延遲,,因此兩者在整個數(shù)據(jù)鏈路上會保持同步,。

在相反方向上,僅當?shù)谝粫r鐘沿到達外設時,,外設才將MISO數(shù)據(jù)發(fā)送到控制器,。此數(shù)據(jù)在返回控制器的路徑上會經(jīng)歷第二次延遲,因此MISO數(shù)據(jù)會不同步,,偏差為電纜傳輸延遲的兩倍,。物理上較遠的器件將需要大大降低時鐘速率以適應每個比特寬度內的傳輸延遲。為了克服這種限制,,LTC4332將移位寄存器引入MISO信號路徑,,如圖3所示。

10.jpg

電路描述

因此,,對遠程外設的SPI寫請求是軟件透明的,,但對遠程外設的SPI讀請求會產(chǎn)生一個字的延遲,這意味著讀取命令需要擴展一個字,。若不如此,,則當片選取消置位時,LTC4332 MISO移位寄存器中的最后一個字會丟失,。WORD_LENGTH寄存器(參見LTC4332數(shù)據(jù)手冊中的寄存器映射)表示LTC4332上MISO信號路徑中的移位寄存器的深度,,決定了SPI控制器何時開始在MISO線上接收有效數(shù)據(jù)。例如,,若WORD_LENGTH為8,,則在CS置為有效后經(jīng)過8個時鐘周期,用戶將開始接收有效MISO數(shù)據(jù),。

故障監(jiān)控

LTC4331/LTC4332LINK 引腳表示通信鏈路的狀態(tài),,驅動到低電平時表示遠程I2C/SPI總線已加入本地I2C/SPI總線。

LTC4331/LTC4332支持中斷信號,,LTC4331上為ALERT 引腳,LTC4332上為INT 引腳,。這些信號從遠程總線鏡像到本地總線,。在遠程端,中斷引腳是輸入,可以連接到相連I2C/SPI外設的中斷輸出,。在本地端,,ALERT/INT 用作開漏輸出,可以連接到共享本地中斷線,。如果使能,,本地LTC4331/LTC4332的控制接口將使用ALERT/INT 引腳報告鏈路和故障事件。本地側ALERT/INT輸出是遠程ALERT/INT 與內部端點中斷信號的邏輯“與”結果,。

本地側LTC4331/LTC4332還可以通過讓ON引腳保持低電平至少180ms來觸發(fā)遠程側復位,。如果鏈路斷開,遠程LTC4331/LTC4332會在180ms后自動復位,。遠程復位會禁用所有遠程側輸出,,直到重新建立鏈路通信。

10`.jpg

LTC4331/LTC4332控制接口

要配置LTC4331/LTC4332鏈路本地側的控制接口,,可使用單獨的內部可尋址外設,。通過配置引腳A1和A2,可為本地LTC4331的內部接口分配一個唯一的I2C地址,。LTC4332則提供了單獨的片選引腳SSC,,允許用戶與內部SPI可尋址寄存器通信。

10``.jpg

LTC4331/LTC4332控制接口支持讀取速度配置,、鏈路狀態(tài)和中斷/警報狀態(tài),,以及訪問其他I2C/SPI特定選項。LTC4331可以配置為將I2C地址轉換為遠程外設,,從而擴展I2C地址空間并防止地址沖突,。LTC4332允許每個CS引腳使用獨立的SPI模式配置,以及配置字長(用于確定所接收的數(shù)據(jù)延遲),。有關更多信息,,請參閱LTC4331和LTC4332數(shù)據(jù)手冊。


PCB尺寸

PCB設計中的元件密度增加會導致復雜的問題,。為了編碼SPI或I2C,,通常需要額外的微控制器,這會增加解決方案成本和尺寸,,但使用CN0564的話,,遠程側無需額外的微控制器。這樣可實現(xiàn)更小的傳感器解決方案,,其占用的PCB面積更小,,從而降低制造總成本,并為其他元件留下更多空間以提供更多特性,。

10```.jpg

擴展傳感器接口功能

更長傳輸距離的傳感器接口傳統(tǒng)上使用模擬信號技術,,例如0-10V或4-20 mA。例如,在狀態(tài)監(jiān)控應用中,,集成電子壓電(IEPE)傳感器接口是振動傳感器最常用的信號標準,。它為振動傳感器提供恒定電流源,傳感器輸出電壓通過相同線路讀回,。當傳輸交流信號內容時,,這種雙線系統(tǒng)可以簡化系統(tǒng)設計,但不提供額外的故障監(jiān)控或配置能力,。

LTC4332/LTC4331則支持靈活的配置和處理,,發(fā)生故障事件時可直接在數(shù)字輸出傳感器上輕松調試。


常見變化

當本地和遠程地電位之差超過容許的±25V (LTC4332)或±15V (LTC4331)時,,需要使用電氣隔離,。使用ADUM141E或ADUM140E之類的數(shù)字隔離器,可以將I2C/SPI信號與EVAL-CN0564-ARDZ上的本地LTC4331/ LTC4332進行電氣隔離,,如圖7所示,。

ADUM5020可為本地LTC4331/LTC4332提供高達100mA的隔離電源。

11.jpg

電路評估與測試

以下部分介紹CN0564如何設置和測試,。EVAL-CN0564-ARDZ可以與Arduino或Arduino兼容設備配合使用,,以利用EVAL-ADXL357Z讀取加速度數(shù)據(jù),從而輕松評估SPI (LTC4332)和I2C (LTC4331)擴展器,。以下部分側重于在EVAL-CN0564-ARDZ上設置SPI擴展器(本地和遠程LTC4332),。

有關完整的設置詳情,以及SPI和I2C擴展器(本地和遠程LTC4331/LTC4332)上的設置說明,,請訪問EVAL-CN0564-ARDZ用戶指南,。


設備要求

? 帶USB端口的PC

? EVAL-CN0564-ARDZ評估板

? EVAL-ADXL357評估板

? EVAL-XLMOUNT1

? Arduino UNO Rev 3

? USB A型轉USB B型電纜

? 跳線

? 5V/3.3V電源


開始使用

1. 下載為評估EVAL-CN0564-ARDZ評估板上的SPI或I2C擴展器而提供的Arduino草圖,并使用它對Arduino進行編程,。

2. 將EVAL-CN0564-ARDZ板插入Arduino Uno Rev 3

3. 將EVAL-CN0564-ARDZ上的LTC4332(遠程側)連接到EVAL-ADXL357

4. 使用雙絞線中的跳線將LTC4332(本地側)連接到LTC4332(遠程側)

5. 跳線連接如下:

a. 正確放置P10跳線,,使得P10上的引腳2和3在EVAL-CN0564-ARDZ上相連。這將選擇5V電源選項,。

b. JP1跳線應放置到位置D,,以將本地LTC4332上的從器件/片選引腳連接到Arduino UNO Rev 3上的D10引腳。

c. JP5跳線應放置到位置A,,以將本地LTC4332上的LINK 引腳連接到Arduino UNO Rev 3上的D6引腳,。

d. JP3跳線應放置到位置B,以將本地LTC4332上的中斷引腳連接到Arduino UNO Rev 3上的D2引腳,。

e. 默認情況下,,遠程LTC4332選擇速度索引8。本地側的速度索引應與遠程側相同,。

f. 應將P1跳線放置到位,,使得其引腳2和3相連,。同樣,還應將P2跳線放置到位,,使得其引腳2和3相連。這將選擇速度索引8以匹配本地側的速度索引,。

g. 正確放置P19跳線,,使得其引腳1和2相連。這會將本地LTC4332上的ON引腳連接到IOREF,。這將使能輸入,。

12.jpg

系統(tǒng)測試

將EVAL-ADXL357Z和遠程LTC4332安裝在EVAL-XLMOUNT1上,然后接通為電路板供電的電源?,F(xiàn)在應能夠在EVAL-CN0564-ARDZ板上看到3個LED閃爍(本地2個LED,,遠程側1個LED)。完整系統(tǒng)框圖參見圖9,。

MEMS加速度計(遠程側EVAL-ADXL357Z上)讀取的X,、Y和Z數(shù)據(jù)將顯示在Arduino串行監(jiān)視器上。退出Arduino串行監(jiān)視器并運行Python Real Time ADXL357 Data Plotter可執(zhí)行文件,,查看加速度數(shù)據(jù)的實時圖,,如圖10所示的圖形。

X,、Y和Z加速度(g)數(shù)據(jù)由python腳本存儲在三個單獨的文件中,,可以在包含可執(zhí)行文件的位置中找到。


電路評估與測試

13.jpg

電路評估與測試

14.jpg

也可以獲得圖11所示的FFT分析,,以使用所獲得的X,、Y和Z數(shù)據(jù)識別目標頻率。FFT分析常用于監(jiān)視旋轉部件的健康狀況,。預測性維護(PdM)是智能行業(yè)的關鍵組成部分,,其涉及在運行期間監(jiān)控設備以檢測潛在故障的預警跡象。有關如何分析狀態(tài)監(jiān)控(CbM)系統(tǒng)中的振動數(shù)據(jù)的更多信息,,請參閱此文章,。

15jpg.jpg

ESD警告

ESD(靜電放電)敏感器件。帶電器件和電路板可能會在沒有察覺的情況下放電,。盡管本產(chǎn)品具有專利或專有保護電路,,但在遇到高能量ESD時,器件可能會損壞,。因此,,應當采取適當?shù)腅SD防范措施,以避免器件性能下降或功能喪失,。

Circuits from the Lab電路僅供與ADI公司產(chǎn)品一起使用,,并且其知識產(chǎn)權歸ADI公司或其授權方所有,。雖然您可以在產(chǎn)品設計中使用參考電路,但是并未默認授予其它許可,,或是通過此參考電路的應用及使用而獲得任何專利或其它知識產(chǎn)權,。ADI公司確信其所提供的信息是準確可靠的。不過,,Circuits from the Lab電路是以“原樣”的方式提供的,,并不具有任何性質的承諾,包括但不限于:明示,、暗示或者法定承諾,,任何適銷性、非侵權或者某特定用途實用性的暗示承諾,,ADI公司無需為參考電路的使用承擔任何責任,,也不對那些可能由于其使用而造成任何專利或其它第三方權利的侵權負責。ADI公司有權隨時修改任何參考電路,,恕不另行通知,。

0.jpg

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉載的所有的文章、圖片,、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容,、版權和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。