TXD顯性超時保護(hù)解決CAN總線節(jié)點(diǎn)硬件錯誤問題
CAN總線上的數(shù)據(jù)采用不歸零編碼方式,可具有兩種互補(bǔ)的邏輯值之一:“顯性”或“隱性”?!帮@性”位和“隱性”位同時傳送時,總線的結(jié)果值為“顯性”。比如,在執(zhí)行總線的“線與”時,邏輯 0 代表“顯性”,邏輯1 代表“隱性”。
CAN總線節(jié)點(diǎn)的基本組成如圖1所示,當(dāng)MCU的TXD引腳輸出0時,總線電平為顯性,若輸出1,總線電平則為隱性。
由于CAN總線顯性電平的“支配地位”,在CAN總線組網(wǎng)時,若有其中一個CAN節(jié)點(diǎn)出現(xiàn)硬件或者軟件上的錯誤,使控制器TXD引腳持續(xù)處于低電平,則會使總線電平持續(xù)保持在顯性狀態(tài),總線上所有節(jié)點(diǎn)均不能正常通信,導(dǎo)致總線癱瘓。若總線節(jié)點(diǎn)數(shù)量眾多,確定問題節(jié)點(diǎn)將是一項(xiàng)艱巨的任務(wù)。
帶TXD顯性超時保護(hù)功能的CAN收發(fā)器可以有效防止出錯的CAN控制器通過發(fā)送持續(xù)的顯性TXD信號將總線箝位在顯性電平。
如圖2所示,帶TXD顯性超時保護(hù)的CAN收發(fā)器,在TXD引腳顯性時間超過允許最大的時間tDOM后,發(fā)送器將被禁能,收發(fā)器輸出表現(xiàn)為隱性狀態(tài),總線將不受該節(jié)點(diǎn)影響,從而保證總線的正常通信。收發(fā)器下一個顯性輸出只有在釋放了TXD后才可以產(chǎn)生。
表1列出了常用的隔離CAN收發(fā)器。從列表可以看出,CTM1051K(A)T具有TXD顯性超時保護(hù)功能,可以避免總線持續(xù)進(jìn)入顯性狀態(tài),保護(hù)總線正常通信。但由于tDOM的存在,收發(fā)器的最低工作位速率被限制。
根據(jù) CAN 協(xié)議(ISO 11898),除了錯誤幀和過載幀(允許6個相等顯性位),CAN幀報(bào)文中在5個連續(xù)相等位后,發(fā)送器自動插入一個與之互補(bǔ)的補(bǔ)碼位;接收時,這個填充位被自動丟掉。例如,5個連續(xù)的高電平位后,CAN自動插入一個低電平位。因此,TXD只允許最多11個連續(xù)的顯性位,最壞的情況是一個錯誤幀緊接在5個連續(xù)的顯性位后,即tDOM的最小值要求收發(fā)器的最小位速率必須大于36.7kbit/s: