如圖5,異常位出現(xiàn)時(shí),CAN模塊的供電為5.19V,此時(shí)TXD高電平閥值應(yīng)該約為3.17V,而MCU的供電僅為3.08V,IO輸出電壓無法達(dá)到3.17V,故無法識(shí)別高電平。當(dāng)TXD出現(xiàn)噪聲尖峰時(shí),使TXD短時(shí)間高于3.17V,觸發(fā)CAN模塊內(nèi)部切換,總線差分信號(hào)發(fā)生變化。
此處驗(yàn)證了上文的猜測,確定故障發(fā)生原因?yàn)椋焊邷厣想姇r(shí),MCU、CAN模塊供電電壓出現(xiàn)波動(dòng),CAN模塊的TXD引腳無法識(shí)別MCU發(fā)生的高電平信號(hào),導(dǎo)致錯(cuò)誤幀持續(xù)出現(xiàn),造成CAN通信中斷。
3、解決方案
更換為電平匹配的隔離模塊后(由5V隔離模塊更換成3.3V隔離模塊),TXD高電平閥值電壓及CAN總線通訊電平幅值如下圖7所示,均已恢復(fù)正常幅值,通訊無異常。
圖7 更換模塊后的TXD高電平閥值以及CAN總線電平