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