陶敬榮,蔣夢影
(浙江八達電子儀表有限公司,金華 321018)
SPI是一種高速的,全雙工、同步的通信總線,且在芯片的管腳上最多只占用四根線,節約了芯片的管腳,且主從設備通信時都是使用主設備提供的時鐘信號,通訊可靠,如今越來越多的芯片集成了這種通信協議。在一些需要隔離的電路中進行SPI通信時,使用光耦對信號進行隔離,是目前可靠且經濟有效的一種方式。但是在實際應用中,由于光耦的傳輸延時大、電流傳輸比CTR值較離散及光耦內的發光二級管發光強度會減弱等原因,會造成難以預料的故障及隱患,也易造成難以挽回的經濟損失。對此,探討光耦隔離方式對SPI通信的影響有著重要意義。
下面以SPI的時鐘波形為例,簡要分析光耦的延時特性對SPI通信的影響,見圖1:R35=1KΩ,R24=1KΩ,室溫條件測試,圖樣中使用的光電耦合器型號為臺灣地區某品牌的EL816D,電流傳輸比(簡稱CTR值)為300%-600%檔。圖1中DVDD和VDD均為5V,光耦的Vf約為1.2V,可以算出,IF=(5V-1.2V)/1K=3.8mA,Ic≈5V/1k=5mA,實際Ic/If=5mA/3.8mA=132%。從圖2中可以看出:在常溫條件下,光耦輸出端MCLK信號比輸入端METERICCLK信號延時了約40us,即光耦的關斷延時時間Toff約為40us(示波器中上升延時),而光耦的導通延時Ton(示波器中下降延時)則小得多,相較于Toff的延時幾乎可以忽略不計。在高溫環境下,光耦的Toff值更大。當采用光耦隔離進行SPI通信時,SCLK和MISO信號的光耦延時進行了疊加,導致SPI通信速率難以提高的主要因素是光耦的關斷延時時間Toff。在無隔離條件下,SPI通信速率最高可以達到10Mb/s;而采用了光耦進行隔離后,由于受光耦的關斷延時時間Toff的影響,SPI的通信速率只能降到幾Kb/s;只能達到最高速率的千分之一左右。

圖1 (CLK信號的隔離原理圖)

圖2 通道1(黃色)METERICCLK 的波形;通道3(紫色) MCLK信號波形
由于光耦是通過光進行信號傳遞,光耦內部的LED發光強度會隨著長時間工作而逐步降低,光耦的工作電流越大,環境溫度越高,使用壽命就越短,在25攝氏度條件下,If=5mA時,CTR值下降20%需要350000小時,而If=10mA時,CTR值下降20%只需要100000小時;光耦工作在10mA時的壽命只有在5mA壽命的三分之一。在55攝氏度環境下,光耦工作在10mA時,CTR值下降20%只需要40000小時;使用壽命只是常溫環境的40%。因此,采用光耦對SPI信號進行隔離傳輸時,要充分考慮光耦CTR衰減對產品使用壽命的影響,這種影響是極其隱蔽和有害的,也往往被產品設計人員所忽視。
(1)選擇合適的電流傳輸比CTR值,可有效降低光耦的延時時間,當圖1中的R24取值2K時,If=(5V-1.2V)/1K=3.8mA,Ic≈5V/2k=2.5mA,Ic/If=76%。光耦的關斷延時時間Toff約為20us,降低了一半。因此,給電路匹配一個合適的參數,可以有效降低Toff值,從而提高SPI的通信速率。
(2)根據光耦的延時特性,通過調整SCLK信號的占空比,可以有效提高SPI的通信速率和產品可靠性。由于慣性思維,設計人員往往將信號的占空比設置為50%,即信號的高電平和低電平持續時間一致。由于光耦對信號的延時主要是由于Toff值的影響,而導通延時Ton相對于Toff延時幾乎可以忽略。如下圖所示,通過提高信號的占空比,在SPI傳輸波特率保持不變的情況下,通過減少低電平的持續時間來延長高電平持續時間,用以抵消光耦Toff延時時間,在不降低SPI通信速率的情況下,可以有效減少光耦Toff值對SPI通信的影響,從而有效的提高了SPI通信的可靠性。

本文討論了光電耦合器隔離對SPI通訊方式的影響。通過深入分析光耦的特性,在設計產品時通過配置合適的電流傳輸比CTR值或調整信號占空比,可以有效提高SPI通訊的可靠性,也可避免光耦在長期運行或者高溫環境下由于CTR值的衰減而導致產品出現批量故障,避免給企業及社會造成不必要的經濟損失。