如何保證MCU與隔離收發(fā)器的可靠通信?
現(xiàn)大部分?jǐn)?shù)字集成電路采用的是CMOS工藝,其接口的電平大致符合如下定義:
VIL<0.3vcc;vih>0.7Vcc;
VOL<0.1vcc;voh>0.9Vcc。
以常見的5V、3.3V系統(tǒng)為例,相應(yīng)的接口參數(shù)如表1。
參數(shù) | 3.3V | 5V | 單位 | |
---|---|---|---|---|
輸入高電平 | VIH (MIN) | 2.31 | 3.5 | V |
輸入低電平 | VIL (MAX) | 0.99 | 1.5 | |
輸出高電平 | VOH (MIN) | 2.97 | 4.5 | |
輸出低電平 | VOL (MAX) | 0.33 | 0.5 |
為了確保兩個器件的信號可靠傳輸,必須保證:
- 驅(qū)動器輸出的VOH(MIN) 必須高于接收器輸入的VIH(MIN)。
- 驅(qū)動器輸出的VOL(MAX) 必須低于接收器輸入的VIL(MAX)。
- 驅(qū)動器輸出的輸出電壓不得超過接收器輸入的I/O電壓容差。
當(dāng)兩個CMOS器件連接在一起時,若供電電壓一致,信號傳輸不存在問題。若兩個器件供電電壓不一致,則會存在電平不匹配問題。
以3.3V器件與5V器件連接為例,會出現(xiàn)以下兩個問題:
- 5V器件輸入引腳可能無法識別3.3V器件輸出的高電平
如圖 1,3.3V器件輸出VOH最大值3.3V也無法達到5V器件VIH的最小值3.5V,無法保證3.3V器件輸出的高電平被正確識別。由于器件設(shè)計有一定余量,在測試時可能仍可正常工作,但存在風(fēng)險,如出現(xiàn)器件電壓波動時,就會出現(xiàn)問題。
- 5V器件輸出高電平可能損壞3.3V器件輸入接口。
如圖 2,5V器件輸出高電平信號遠高于3.3V,若3.3V器件輸入引腳不支持5V電平輸入,則工作時會有電流灌入3.3V器件,嚴(yán)重會造成器件損壞。
隔離收發(fā)器選型
以CTM1051(A)M系列產(chǎn)品為例,其內(nèi)部采用的CMOS技術(shù)的芯片,引腳電平如圖3,符合CMOS電平標(biāo)準(zhǔn)。在選型時,應(yīng)該針對不同的MCU選擇相應(yīng)型號,才能杜絕因電平不匹配產(chǎn)生問題,若MCU為5V供電,應(yīng)選擇CTM1051M;若MCU為3.3V供電,則選擇CTM1051AM。
實際案例
客戶使用于我司一款隔離CAN收發(fā)器模塊,已經(jīng)大批量出貨,但應(yīng)用中出現(xiàn)個別異常現(xiàn)象。異常產(chǎn)品表現(xiàn)為CAN總線間歇性通訊故障。當(dāng)產(chǎn)品處于高溫環(huán)境時(如65℃),對其進行重復(fù)上電,可復(fù)現(xiàn)通訊故障現(xiàn)象。
復(fù)現(xiàn)異常
將異常品置于65℃的烤箱中,并對以下信號進行測試: MCU供電、TXD、CAN差分、CAN模塊供電。未出現(xiàn)異常時,各點波形如圖4??梢钥吹?,MCU是3.3V供電,電壓穩(wěn)定在3.2V左右,CAN模塊供電穩(wěn)定在5.07V左右,CAN差分波形與TXD信號對應(yīng)無異常。
對異常板卡進行重復(fù)上電,CAN總線出現(xiàn)大量錯誤幀,問題復(fù)現(xiàn)。異常時,各點波形如圖5,MCU供電電壓、CAN模塊供電電壓同時出現(xiàn)波動,并出現(xiàn)異常位。異常位出現(xiàn)時,MCU供電下降到3.08V,CAN模塊供電上升至5.19V。
仔細觀察異常位波形,如圖6,發(fā)現(xiàn)TXD變?yōu)楦唠娖綍r,CAN差分電平并未跟隨變化,而當(dāng)TXD再次出現(xiàn)一個小的噪聲尖峰時,CAN差分電平才變?yōu)殡[性電平。結(jié)合此時MCU供電電壓下降,CAN模塊供電反而上升的情況,初步確定問題是因供電電壓波動,造成TXD高電平無法識別導(dǎo)致。
問題定位
因懷疑TXD電平無法識別,對CAN模塊的TXD高電平閥值電壓值進行測試。不同輸入電壓下,測試數(shù)據(jù)如表3。
表3 異常品TXD高電平閥值電壓
工作電壓 | TXD高電平閥值電壓(V) | ||
---|---|---|---|
25℃ | 65℃ | 85℃ | |
4.75V | 2.92 | 2.88 | 2.92 |
5V | 3.06 | 3.02 | 3.10 |
5.25V | 3.22 | 3.16 | 3.22 |
從測試數(shù)據(jù)看出,在不同的環(huán)境溫度下,TXD高電平閥值電壓變化均不大。4.75V供電時,閥值約2.91V;5V供電時,閥值約3.06V;5.25V供電時,閥值約3.2V。
如圖5,異常位出現(xiàn)時,CAN模塊的供電為5.19V,此時TXD高電平閥值應(yīng)該約為3.17V,而MCU的供電僅為3.08V,IO輸出電壓無法達到3.17V,故無法識別高電平。當(dāng)TXD出現(xiàn)噪聲尖峰時,使TXD短時間高于3.17V,觸發(fā)CAN模塊內(nèi)部切換,總線差分信號發(fā)生變化。
此處驗證了上文的猜測,確定故障發(fā)生原因為:高溫上電時,MCU、CAN模塊供電電壓出現(xiàn)波動,CAN模塊的TXD引腳無法識別MCU發(fā)生的高電平信號,導(dǎo)致錯誤幀持續(xù)出現(xiàn),造成CAN通信中斷。
3.解決方案
更換為電平匹配的隔離模塊后(由5V隔離模塊更換成3.3V隔離模塊),TXD高電平閥值電壓及CAN總線通訊電平幅值如下圖7所示,均已恢復(fù)正常幅值,通訊無異常。