滿足各類不同系統(tǒng)需求的多種SPI總線隔離方案
簡介
串行外設(shè)接口(SPI)是一種同步串行總線接口,常用于微處理器和外圍設(shè)備之間的短距離通信。SPI總線不是一種管理嚴格的協(xié)議,可以用各種方式來實現(xiàn)。常常需要使用電氣隔離,或者電氣隔離能帶來好處。本應(yīng)用筆記討論各種SPI隔離技術(shù),以幫助設(shè)計人員應(yīng)對不同的系統(tǒng)級挑戰(zhàn),例如高通信速度、有限的印刷電路板(PCB)面積和低功耗。本應(yīng)用筆記還可作為各種SPI隔離解決方案的選擇指南。
SPI協(xié)議通常由四個單向單端通道組成。SPI主機輸出三個信號:時鐘、串行數(shù)據(jù)和從器件選擇。一條串行數(shù)據(jù)線自從器件返回主器件。在kbps和低mbps數(shù)據(jù)速率下,此物理層使SPI成為比較容易在主器件和從器件之間實現(xiàn)電氣隔離的協(xié)議。對于全雙工通信,標準四通道數(shù)字隔離器常常就足以實現(xiàn)透明的“直接使用”式解決方案。如果數(shù)據(jù)速率更高,則需要其他技術(shù)。
時鐘速度最大化
更普遍且更傳統(tǒng)的形式是單一主器件與一個或多個從器件進行全雙工通信。主器件通過將片選線設(shè)置為低電平并發(fā)送時鐘信號來啟動與從器件的通信。主器件和選定的從器件均在時鐘上升沿寫入總線,并在時鐘下降沿讀取數(shù)據(jù)。圖1和圖3中的示例系統(tǒng)便使用這種形式的SPI通信。
圖1.標準SPI實現(xiàn)
三個正向通道、一個反向通道(3/1)的標準數(shù)字隔離器
為定向通道添加隔離是相當(dāng)直接的過程。數(shù)字隔離器是SPI隔離的自然選擇,因為這些隔離器提供低傳播延遲、良好的通道間匹配、緊湊的單芯片解決方案、魯棒的通信且易于實施。這些特性使數(shù)字隔離器優(yōu)于光耦合器解決方案。
在數(shù)據(jù)采集系統(tǒng)中,吞吐速率不斷攀升。盡管傳播延遲很短,但這些延遲確實會限制全雙工通信的最大數(shù)據(jù)速率。圖2和圖4的差異說明了這一影響。
圖2.標準SPI時序圖
時鐘速率限制
為了計算最大SPI時鐘速度,全雙工“直接使用”式實施方案必須考慮數(shù)字隔離器的若干特性。最小脈沖寬度、最大數(shù)據(jù)速率和傳播延遲都可能是限制因素。
圖3顯示了利用通用3/1四通道標準數(shù)字隔離器作為“直接使用”式電氣隔離解決方案的SPI總線隔離。SPI時鐘信號每個周期改變狀態(tài)兩次,但通過數(shù)字隔離器的數(shù)字數(shù)據(jù)并非如此。標準數(shù)字隔離器必須具有支持時鐘信號的最大數(shù)據(jù)速率特性。在此示例器件中,最大數(shù)據(jù)速率特性不是限制因素。
圖3.標準數(shù)字隔離器SPI隔離
注意圖4中傳播延遲的影響。在這個例子中,數(shù)據(jù)在時鐘上升沿發(fā)送,在下降沿接收。
圖4.帶隔離的標準SPI時序圖
主器件同時開始時鐘和主器件輸出、從器件輸入(MOSI)信號的傳輸。從器件的主器件輸入、從器件輸出(MISO)信號傳輸由時鐘上升沿觸發(fā);由于時鐘沿延遲,MISO信號也被延遲。MISO信號隨后必須經(jīng)過標準數(shù)據(jù)隔離器,再到達主器件。在這個例子中,從器件和主器件均在時鐘下降沿讀取數(shù)據(jù)。
SPI通信取決于與MISO信號同步的時鐘信號。圖5顯示了傳播延遲的影響,數(shù)據(jù)速率一直增加到通信失敗。由于傳播延遲,時鐘下降沿導(dǎo)致讀取發(fā)生在MISO信號轉(zhuǎn)換時,而非MISO信號建立時。此系統(tǒng)的數(shù)據(jù)速率過高,通信不可靠。
圖5.主器件視角下的時序圖
如圖5所示,到從器件和返回到主器件的傳播延遲必須發(fā)生在小于SPI時鐘周期一半的時間內(nèi)。在應(yīng)用中,PCB走線延遲、建立時間和從器件響應(yīng)時間可能會進一步降低最大時鐘速率。為簡單起見,本應(yīng)用筆記忽略這些因素,因此“直接使用”式全雙工實施方案具有如下關(guān)系:
SPI時鐘半周期 ≥ 2 × tPROP_DELAY
用數(shù)據(jù)手冊中的最大傳播延遲值計算最大數(shù)據(jù)速率。盡管系統(tǒng)在實驗室中可以實現(xiàn)更高速度,但為了確保通信魯棒,必須考慮溫度、電源電壓和器件的變化。表1提供了關(guān)于ADI公司各種數(shù)字隔離器的最大SPI數(shù)據(jù)速率的指南。
表1.“直接使用”式全雙工數(shù)字隔離器最大SPI時鐘速率
獨立延遲時鐘(回繞時鐘)
將標準數(shù)據(jù)數(shù)字隔離器插入SPI信號鏈可以實現(xiàn)的數(shù)據(jù)速率較低,一些全雙工應(yīng)用要求更快的SPI數(shù)據(jù)速率。圖5所示的同步困境可以通過將時鐘信號與MISO信號一道送回主器件來解決。更高數(shù)據(jù)速率是可以實現(xiàn)的,但采用這種方法時要考慮給SPI主器件設(shè)計帶來的額外復(fù)雜性。通常,讀取延遲的MISO和時鐘信號需要額外的移位寄存器。
采用標準數(shù)據(jù)隔離器實現(xiàn)的獨立延遲時鐘技術(shù)需要額外的隔離通道來返回(或回繞)主時鐘信號?;乩@時鐘信號通過額外的隔離通道返回主器件。該延遲時鐘信號被隔離器的正向和反向傳播延遲所延遲,就像MOSI信號傳輸?shù)綇钠骷蚆ISO信號返回被延遲一樣(見圖6)。對于這種方法,必須使用具有低通道匹配時序特性的數(shù)字隔離器。最小SPI時鐘周期(不考慮從器件和走線延遲)由最大脈沖寬度失真和同向通道匹配特性決定。確保計算出的最小SPI半時鐘大于器件最小脈沖寬度特性。
SPI時鐘半周期 ≥ 2 × tPWD+ tPSKCD
例如,ADuM152N的最大脈沖寬度失真為4.5 ns,最大同向通道匹配為4.0 ns,理論上可以獲得最大38.4 MHz的時鐘速度。
實踐中,必須考慮走線長度和從器件響應(yīng)的延遲。
圖6.使用隔離通道延遲的高速SPI
SPI數(shù)字隔離器ADuM3150和ADuM4150提供一個經(jīng)調(diào)整的延遲時鐘信號作為標準特性。如圖7所示,ADuM3150在主器件側(cè)實現(xiàn)了一個延遲電路。ADuM4150也在主器件側(cè)實現(xiàn)了一個延遲電路。延遲時鐘(DCLK)信號在ADuM3150出廠測試期間進行調(diào)整,以匹配各隔離器的往返傳播延遲。與圖6不同,ADuM3150不需要額外的隔離通道。這些SPI數(shù)字隔離器能夠處理的最高時鐘速率為40 MHz。
圖7.使用精密時鐘延遲的高速SPI
表2.回繞時鐘SPI數(shù)據(jù)速率
延遲回讀隔離器
可以不增加延遲時鐘信號來同步延遲MISO數(shù)據(jù)信號,而是用延遲回讀隔離器緩沖主器件側(cè)的MISO數(shù)據(jù),直到下一個字傳輸?shù)娇偩€上為止。緩沖MISO數(shù)據(jù)后,便不需要主器件支持延遲時鐘。此過程要求應(yīng)用容忍MISO數(shù)據(jù)中的一個字延遲。對于數(shù)據(jù)主要從主器件寫入從器件的應(yīng)用來說,這不是一個重大限制。延遲回讀技術(shù)由LTM2895實現(xiàn),其還包含三個雙向選擇信號和一個低抖動信號,使該器件成為隔離數(shù)模轉(zhuǎn)換器(DAC)的理想選擇。
LTM2895跨越隔離柵僅傳輸關(guān)鍵信號的顯著邊沿(見圖8),從而支持100 MHz時鐘的SPI總線操作。使用集成狀態(tài)機和緩沖器的組合,LTM2895可以完全再生SPI信號。所需的配置信息(例如SPI時鐘頻率和字長)通過SPI接口和次級端從器件選擇()進行配置。在LTM2895完成配置后,該次級端從器件選擇信號可改變用途以支持寫入另一個隔離側(cè)SPI器件。
圖8.超高速DAC流傳輸隔離器
LTM2895的初級端和次級端通過使用高速異步串行鏈路(一個正向和一個反向)跨越隔離柵進行內(nèi)部通信。先占式優(yōu)先級劃分方案確保時序關(guān)鍵信號以低延遲和低抖動進行更新。
圖9顯示了LTM2895的正常操作序列,其從初級端()的下降沿開始,在次級端()產(chǎn)生相應(yīng)的下降沿,并使MISO輸出先前采樣的MISO2字的MSB。初級端SCLK的第一個上升沿觸發(fā)LTM2895對MOSI采樣并跨越隔離柵發(fā)送信息。當(dāng)次級端狀態(tài)機接收到此數(shù)據(jù)時,狀態(tài)機更新MOSI2并在一定時間(由SPI時鐘頻率配置決定)內(nèi)讓SCLK2保持低電平。經(jīng)過指定的SCLK2低電平時間后,次級端狀態(tài)機讓SCLK2變?yōu)楦唠娖剑瑢ISO進行采樣,然后將數(shù)據(jù)發(fā)送到初級端緩沖器。當(dāng)初級端SCK下降時,緩沖的MISO數(shù)據(jù)發(fā)生更新。隨后的SCLK上升沿迫使SCKL2在規(guī)定時間內(nèi)保持低電平,而其他信號保持不變。當(dāng)上升時,SPI事務(wù)結(jié)束,驅(qū)動MISO到高阻態(tài),并讓次級端SCLK2和MOSI2處于低電平,讓處于高電平。由于未選擇LTM2895時MISO為高阻態(tài),所以MISO可與其他從器件共享初級端SPI總線。
MISO數(shù)據(jù)緩沖器是循環(huán)式,使用由配置的字大小分隔的讀寫指針。
當(dāng)選擇66 MHz或100 MHz的SPI時鐘頻率時,LTM2895在SCK上升沿更新初級端MISO數(shù)據(jù),以提供額外的傳播和建立時間。
當(dāng)保持低電平時支持SPI頁模式,可以傳輸所需倍數(shù)的字長。
當(dāng)用DAC輸入端隔離DAC時,LTM2895信號會在下降沿之間產(chǎn)生一個典型抖動為30 ps rms的窄脈沖。的上升沿由LTM2895產(chǎn)生,脈沖寬度為40 ns或60 ns(取決于SCLK2頻率設(shè)置)。
圖9.LTM2895 SPI時序
集成隔離電源
獨立電源在某些應(yīng)用中可能不經(jīng)濟或不可行。在這些設(shè)計中,初級端需要隔離電源來為次級端器件供電。傳統(tǒng)隔離電源解決方案體積龐大,難以滿足隔離魯棒性和認證要求。這些挑戰(zhàn)只需幾個isoPower®或μModule®器件就能解決。ADuM5411就是這樣一種解決方案(見圖10)。該器件提供四個隔離信號通道和高達150 mW的集成隔離電源,但僅占用90 mm2的PCB區(qū)域,包括支持性旁路電容。150 mW的集成隔離電源通常足以支持精密ADC或低功耗微控制器單元(MCU)。
圖10.帶isoPower的SPI隔離
對于隔離功率要求更高的隔離式SPI應(yīng)用,表3列出了其他解決方案。ADuM5401可以自行提供高達500 mW的隔離功率。ADuM5401還有控制其他兼容isoPower器件的能力。ADuM5401可以用作主器件并將其脈寬調(diào)制(PWM)信號發(fā)送到一個或多個ADuM5000器件,從而調(diào)節(jié)自身和每個ADuM5000從器件。
LTM2883-S、LTM2886-S和LTM2887-S是6通道數(shù)字μModule隔離器,能夠提供高達1 W的輸出功率,并有多種輸出電壓范圍可供選擇。
ADuM3471集成四個用于SPI的隔離數(shù)據(jù)通道以及一個開關(guān)穩(wěn)壓器。利用一個外部變壓器,該器件提供最高2 W、3.3 V至24 V的調(diào)節(jié)隔離電源。ADuM3471的輸出功能使其適合在需要更高功率和更寬電壓范圍的系統(tǒng)(如模擬輸出模塊)中提供隔離電源。
表3.集成隔離電源的SPI信號隔離
輔助數(shù)據(jù)通道
除了選擇多個從器件之外,低速通道還可以跨越隔離柵傳輸額外的控制信號,如圖11所示。在這種情況下,ADuM3152低速通道支持混合通道方向,將復(fù)位信號從主器件發(fā)送到從器件,同時沿相反方向發(fā)送電源正常和中斷信號。SPIsolator®器件系列中的不同器件可創(chuàng)造不同的輔助數(shù)據(jù)通道方向組合。
圖11.帶補充功能的SPI隔離
多從器件控制
將多個從器件連接到SPI總線有兩種方法:菊花鏈或獨立從器件配置。菊花鏈只需要一條從器件選擇(SS)線,通過單個隔離端口將鏈上的全部內(nèi)容串行移出。如果數(shù)據(jù)采集序列不固定,則每個SPI從器件必須單獨尋址。
一種簡單的解決方案是添加更多數(shù)字隔離通道,例如ADuM161N。對于需要為SS信號精確定時的系統(tǒng),建議使用此解決方案。例如,當(dāng)從器件是ADC時,SS信號也會啟動數(shù)據(jù)轉(zhuǎn)換。
在時序約束較寬松的應(yīng)用中,集成4個高速通道和1個低速通道的ADuM3154隔離器可提供一種替代解決方案,如圖12所示。ADuM3154支持最高17 MHz的SPI時鐘速度,并可控制多達四個獨立的從器件。多路復(fù)用選擇線的傳播延遲為100 ns至2.6 μs,具體取決于輸入數(shù)據(jù)邊沿隨內(nèi)部采樣時鐘而變化的位置。通過消除三個隔離通道,此解決方案比標準數(shù)字隔離器解決方案更緊湊,性價比更高。
圖12.帶多從器件控制的SPI隔離
當(dāng)一個主器件與多個從器件在獨立的隔離平面上通信時,例如圖13所示,數(shù)字隔離器必須能夠讓初級端MISO線處于三態(tài)。如果MISO不處于三態(tài),由于數(shù)字隔離器的輸出引腳處于爭用狀態(tài),通信將不可能進行。
對于具有一個主器件和多個非隔離/隔離從器件的應(yīng)用,還需要對來自隔離器的MISO信號進行三態(tài)緩沖。
圖13.針對相互隔離的從器件的MISO三態(tài)
超低功耗應(yīng)用
隔離對電子系統(tǒng)安全是必需的,但隔離也被認為是一種負擔(dān),因為它會限制通信速度,占用電路板空間,并且消耗相當(dāng)多的功率。前兩者通過創(chuàng)新來解決,即實現(xiàn)時鐘速度最大化和電路板空間最小化。有些應(yīng)用要求超低功耗,如電池供電設(shè)備和4 mA至20 mA環(huán)路供電工業(yè)變送器。目前,數(shù)字隔離器的功耗(遠遠低于光耦合器)必須降低兩至三個數(shù)量級才能進入這些新的應(yīng)用領(lǐng)域。
數(shù)據(jù)速率固定之后,數(shù)字隔離器的功耗水平主要由數(shù)據(jù)編碼方案決定,這些方案大致可分為脈沖編碼架構(gòu)和開關(guān)鍵控(OOK)架構(gòu)。脈沖編碼方案的優(yōu)勢是在較低數(shù)據(jù)速率時消耗的電源電流較低,而OOK在較高數(shù)據(jù)速率(10 Mbps以上)時消耗的電流比脈沖編碼方法要低。在大多數(shù)低功耗應(yīng)用中,SPI時鐘速度低于1 MHz,因而脈沖編碼方案是更好的選擇。
不過,脈沖編碼方案有一個缺點:如果輸入端無邏輯變化,則不會將數(shù)據(jù)發(fā)送到輸出端。系統(tǒng)上電后輸入和輸出之間可能出現(xiàn)不匹配,或者外部噪聲可能會擾亂輸出數(shù)據(jù)。定期重新發(fā)送直流狀態(tài)可以解決此問題。大多數(shù)脈沖編碼數(shù)字隔離器每隔1 µs刷新一次直流狀態(tài),但刷新速率也會設(shè)置一個點:在該點,當(dāng)數(shù)據(jù)速率下降時,功耗停止下降。
ADuM1441將刷新速率降至17 kHz,因此功耗非常低。為了盡可能降低功耗,刷新電路可以完全禁用。如圖14所示,在禁用刷新電路的情況下,ADuM1441的功耗降至μW范圍。系統(tǒng)設(shè)計人員可以低得多的頻率發(fā)送直流正確性脈沖來平衡功耗與數(shù)據(jù)完整性。
圖14.ADuM1441每個通道的總電源電流(VDDX = 3.3 V)
大部分現(xiàn)場儀表是環(huán)路供電型設(shè)備。從環(huán)路獲得的電源必須為儀表內(nèi)的一切供電,包括傳感器和所有支持電子電路。最小環(huán)路電流為4 mA,因此這種設(shè)計只能使用3.5 mA,這是允許的最大系統(tǒng)功耗。為現(xiàn)場變送器設(shè)計選擇器件時,功耗是首要考慮因素。大多數(shù)標準數(shù)據(jù)數(shù)字隔離器的兩側(cè)都會消耗幾毫安的電流,而ADuM1441及其超低功耗特性能為隔離式現(xiàn)場儀表提供此功能,如圖15所示。
圖15.4 mA至20 mA環(huán)路供電儀表中的超低功耗SPI隔離
結(jié)論
相比于僅在主器件和從器件之間插入四通道數(shù)字隔離器,SPI總線隔離可能更為復(fù)雜。數(shù)據(jù)采集系統(tǒng)需要電氣隔離以實現(xiàn)抗噪性和安全性,同時不能犧牲吞吐速率。最近的創(chuàng)新使隔離時鐘速度達到100 MHz。破天荒第一次,看不見的隔離器(即不會降低時鐘速度的隔離器)在如此高的速度下變得可行。與分立解決方案相比,采用小型封裝的集成信號與電源隔離方案可大幅簡化帶次級端電源的SPI隔離的設(shè)計,顯著縮小電路板空間并降低成本。集成額外低速隔離通道可為多從器件控制或輔助通道應(yīng)用提供緊湊且高性價比的選擇。先進的脈沖編碼技術(shù)針對超低功耗進行了優(yōu)化,實現(xiàn)了以前由于電源受限而無法實現(xiàn)的SPI隔離