<abbr id="kc8ii"><menu id="kc8ii"></menu></abbr>
  • <input id="kc8ii"><tbody id="kc8ii"></tbody></input><table id="kc8ii"><source id="kc8ii"></source></table><kbd id="kc8ii"></kbd>
    <center id="kc8ii"><table id="kc8ii"></table></center>
  • <input id="kc8ii"></input>
    <abbr id="kc8ii"></abbr>
  • <abbr id="kc8ii"></abbr>
  • <center id="kc8ii"><table id="kc8ii"></table></center>
    <abbr id="kc8ii"></abbr>
    你的位置:首頁 > 互連技術 > 正文

    適合工業應用的魯棒SPI/I2C通信

    發布時間:2022-06-14 來源:ADI 責任編輯:wenwei

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


    評估和設計支持


    電路評估板


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


    設計和集成文件


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


    電路功能與優勢


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


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


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


    1654504059670993.gif

    圖1.EVAL-CN0564-ARDZ簡化功能框圖


    ADI公司的Circuits from the Lab?電路由ADI工程師設計構建。每個電路的設計和構建都嚴格遵循標準工程規范,電路的功能和性能都在實驗室環境中以室溫條件進行了測試和檢驗。然而,您需負責自行測試電路,并確定對您是否適用。因而,ADI公司將不對由任何原因、連接到任何所用參考電路上的任何物品所導致的直接、間接、特殊、偶然、必然或者懲罰性的損害負責。


    電路描述


    I2C信號標準綜述


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


    SCL - 串行時鐘信號線


    SDA - 用于在控制器和外設之間發送和接收數據的串行數據線


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


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


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


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


    SPI信號標準綜述


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


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


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


    MISO - 控制器數據輸入、外設數據輸出


    MOSI - 控制器數據輸出、外設數據輸入


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


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


    1654504040695458.gif

    圖2.SPI配置模式


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


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


    系統拓撲


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


    電路描述


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


    可選波特率


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


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


    表1.LTC4331鏈路速度與電纜長度的關系

    1654504021772834.png


    表2.LTC4332鏈路速度與電纜長度的關系

    1654504008220855.png


    增加電纜傳輸長度


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


    共模電壓和ESD魯棒性


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


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


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


    一字延遲 - SPI讀取命令


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


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


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


    1654503973505174.gif

    圖3.將移位寄存器引入MISO信號路徑以適應傳輸延遲


    電路描述


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


    故障監控


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


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


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


    1654503952307062.gif

    圖4.讀/寫故障監控寄存器的控制接口時序圖


    LTC4331/LTC4332控制接口


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


    1654503925425903.gif

    圖5.LTC4332(左側)和LTC4331(右側)的內部框圖


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


    PCB尺寸


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


    35.jpg

    圖6.LTC4331(I2C擴展器)和LTC4332(SPI擴展器)的本地EVAL-CN0564-ARDZ節點和遠程節點


    擴展傳感器接口功能


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


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


    常見變化


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


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


    1654503891763012.gif

    圖7.包含對數據和電源信號進行電氣隔離的框圖


    電路評估與測試


    以下部分介紹CN0564如何設置和測試。EVAL-CN0564-ARDZ可以與Arduino或Arduino兼容設備配合使用,以利用EVAL-ADXL357Z讀取加速度數據,從而輕松評估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上的引腳連接到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。這將使能輸入。


    37_副本.jpg

    圖8.本地和遠程LTC4332上的跳線配置


    系統測試


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


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


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


    電路評估與測試


    1654503847800197.gif

    圖9.采用ADXL357和Arduino UNO Rev 3的EVAL-CN0564-ARDZ系統測試設置


    電路評估與測試


    1654503831671122.gif

    圖10.加速度數據的實時圖


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


    1654503813413990.gif

    圖11.Z軸加速度數據的FFT分析


    ESD警告


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


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



    推薦閱讀:


    手機無線充電器壞了

    電解電容

    新推出的同步SAR模數轉換器的片內校準優勢

    功率半導體冷知識:功率器件的功率密度

    25kW SiC直流快充設計指南(第五部分):控制算法、調制方案和反饋

    特別推薦
    技術文章更多>>
    技術白皮書下載更多>>
    熱門搜索
    ?

    關閉

    ?

    關閉

    精品久久久久久无码中文字幕一区 | 无套内射在线无码播放| 佐藤遥希在线播放一二区| 亚洲gv猛男gv无码男同短文 | 狠狠精品干练久久久无码中文字幕| 欧美日韩国产中文高清视频| 少妇人妻偷人精品无码视频新浪| AV无码精品一区二区三区| 中文无码vs无码人妻| 色婷婷综合久久久久中文| 亚洲一区无码精品色| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 中文字幕亚洲综合小综合在线| 日韩精品久久无码中文字幕| 嫩草影院无码av| 91嫩草国产在线无码观看| 日韩人妻精品无码一区二区三区| 亚洲国产精品无码久久青草| AV无码人妻中文字幕| 精品人妻无码一区二区色欲产成人| 日韩va中文字幕无码电影| AAA级久久久精品无码片| 无码国产精品一区二区免费3p| 久久人妻无码中文字幕| 天堂AV无码AV一区二区三区| 精品无码久久久久国产| 久久久久无码精品国产| 免费无码又爽又刺激高潮视频| 日本中文字幕电影| 欧美日韩中文字幕久久伊人| 久久综合中文字幕| 伊人久久无码精品中文字幕| 亚洲不卡无码av中文字幕| 国产成人无码精品久久久性色| 无码不卡亚洲成?人片| 蜜桃视频无码区在线观看| 精品久久久久久无码免费| 亚洲成A人片在线观看无码3D | 中文无码制服丝袜人妻av| 久久久久久精品无码人妻| 亚洲Av永久无码精品三区在线|