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

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

2022-06-06
來源:ADI公司
關(guān)鍵詞: ADI SPII2C通信

評估和設(shè)計支持

電路評估板

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

設(shè)計和集成文件

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


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

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

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

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

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

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

電路描述

I2C信號標準綜述

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

SCL - 串行時鐘信號線

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

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

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

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

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


SPI信號標準綜述

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


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

SCLK - 串行時鐘,通常由控制器驅(qū)動

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

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

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

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

7.jpg

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

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

系統(tǒng)拓撲

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

電路描述

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

可選波特率

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

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

8.jpg

9.jpg

增加電纜傳輸長度

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

共模電壓和ESD魯棒性

差分收發(fā)器工作在±25V(SPI擴展器)和±15V(I2C擴展器)的擴展共模范圍內(nèi),,因此它適合于高噪聲環(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應(yīng)力在峰值電流,、幅度和上升時間方面均超過了HBM測試,而EFT測試提供了長時間的重復(fù)應(yīng)力,。這種保護等級可確保LTC4332/LTC4331在各種實際危險下都能如常運行,。

一字延遲 - SPI讀取命令

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

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

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

10.jpg

電路描述

因此,,對遠程外設(shè)的SPI寫請求是軟件透明的,但對遠程外設(shè)的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),驅(qū)動到低電平時表示遠程I2C/SPI總線已加入本地I2C/SPI總線,。

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

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

10`.jpg

LTC4331/LTC4332控制接口

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

10``.jpg

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


PCB尺寸

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

10```.jpg

擴展傳感器接口功能

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

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


常見變化

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

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

11.jpg

電路評估與測試

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

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


設(shè)備要求

? 帶USB端口的PC

? EVAL-CN0564-ARDZ評估板

? EVAL-ADXL357評估板

? EVAL-XLMOUNT1

? Arduino UNO Rev 3

? USB A型轉(zhuǎn)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(遠程側(cè))連接到EVAL-ADXL357

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

5. 跳線連接如下:

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

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

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

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

e. 默認情況下,遠程LTC4332選擇速度索引8,。本地側(cè)的速度索引應(yīng)與遠程側(cè)相同,。

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

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

12.jpg

系統(tǒng)測試

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

MEMS加速度計(遠程側(cè)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)視旋轉(zhuǎn)部件的健康狀況,。預(yù)測性維護(PdM)是智能行業(yè)的關(guān)鍵組成部分,,其涉及在運行期間監(jiān)控設(shè)備以檢測潛在故障的預(yù)警跡象。有關(guān)如何分析狀態(tài)監(jiān)控(CbM)系統(tǒng)中的振動數(shù)據(jù)的更多信息,,請參閱此文章,。

15jpg.jpg

ESD警告

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

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

0.jpg

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