can總線的解決方案與錯(cuò)誤處理類型是什么?
當(dāng)前市場(chǎng)行業(yè)發(fā)展CAN總線雖然有強(qiáng)大的抗干擾和糾錯(cuò)重發(fā)機(jī)制,但目前CAN大量地運(yùn)用于電動(dòng)汽車、充電樁、電力電子、軌道交通等電磁環(huán)境比較惡劣的場(chǎng)合,因此對(duì)CAN總線的抗干擾能力也會(huì)存在挑戰(zhàn),所以對(duì)CAN總線的抗干擾能力需要加以重視。當(dāng)CAN總線出現(xiàn)故障或數(shù)據(jù)傳輸異常時(shí),往往會(huì)出現(xiàn)多種奇怪的故障現(xiàn)象,干擾也會(huì)導(dǎo)致幀錯(cuò)誤增加,重發(fā)頻繁,正確數(shù)據(jù)不能及時(shí)到達(dá),將會(huì)大大影響工作的效率和質(zhì)量。想要確定CAN總線故障在哪里,然后更有目標(biāo)性的去解決它。
主動(dòng)錯(cuò)誤標(biāo)志:
主動(dòng)錯(cuò)誤標(biāo)志由6個(gè)連續(xù)的顯性位組成。處于主動(dòng)錯(cuò)誤狀態(tài)的節(jié)點(diǎn)檢測(cè)到錯(cuò)誤時(shí)會(huì)發(fā)送主動(dòng)錯(cuò)誤標(biāo)志。主動(dòng)錯(cuò)誤標(biāo)志會(huì)違反位填充規(guī)則和位場(chǎng)的固定形式,這會(huì)造成其它節(jié)點(diǎn)也檢測(cè)到錯(cuò)誤并發(fā)送錯(cuò)誤標(biāo)志(錯(cuò)誤標(biāo)志重疊部分形成的原因)。所有節(jié)點(diǎn)所發(fā)送的顯性序列疊加組成錯(cuò)誤標(biāo)志重疊部分。錯(cuò)誤標(biāo)志重疊部分的長(zhǎng)度在6-12個(gè)顯性位之間。Q:會(huì)不會(huì)存在一個(gè)節(jié)點(diǎn)處于主動(dòng)錯(cuò)誤狀態(tài),其他節(jié)點(diǎn)處于被動(dòng)錯(cuò)誤狀態(tài)?(“4.1 位錯(cuò)誤通知_3)”)
被動(dòng)錯(cuò)誤標(biāo)志:
被動(dòng)錯(cuò)誤標(biāo)志由6個(gè)連續(xù)的隱性位組成,被動(dòng)錯(cuò)誤標(biāo)志可能會(huì)被其他節(jié)點(diǎn)的顯性位改寫。(必須為6個(gè)連續(xù)的隱性位才能代表被動(dòng)錯(cuò)誤標(biāo)志發(fā)送完成),(應(yīng)當(dāng)理解為節(jié)點(diǎn)發(fā)送了6個(gè)連續(xù)隱性位就行,而不需要關(guān)注總線上的狀態(tài)有沒有被其他節(jié)點(diǎn)改寫。)如果是一個(gè)發(fā)送節(jié)點(diǎn)發(fā)送被動(dòng)錯(cuò)誤標(biāo)志,將會(huì)導(dǎo)致接收節(jié)點(diǎn)的位填充錯(cuò)誤。以下兩種情況除外:1:如果處在仲裁期間,且其他節(jié)點(diǎn)取得總線控制權(quán);2:被動(dòng)錯(cuò)誤標(biāo)志發(fā)送開始于小于CRC序列結(jié)束前的第六位的位置。(因?yàn)槲惶畛錂z測(cè)結(jié)束于CRC序列)如果一個(gè)接受節(jié)點(diǎn)需要發(fā)送被動(dòng)錯(cuò)誤標(biāo)志,它不會(huì)誘發(fā)總線上的任何活動(dòng),當(dāng)檢測(cè)到6個(gè)連續(xù)的隱性位才認(rèn)為被動(dòng)錯(cuò)誤標(biāo)志被送出。
主動(dòng)錯(cuò)誤:
處于主動(dòng)錯(cuò)誤狀態(tài)的節(jié)點(diǎn)能正常參與總線通信的收發(fā),當(dāng)檢測(cè)到錯(cuò)誤時(shí)將發(fā)送主動(dòng)錯(cuò)誤標(biāo)志,錯(cuò)誤標(biāo)志由6個(gè)連續(xù)的顯性位組成(這種連續(xù)的6個(gè)顯性位與常規(guī)的填充位和其它幀固定格式不相同,正因?yàn)槿绱?,硬件才容易區(qū)別)。
如果是發(fā)送節(jié)點(diǎn)發(fā)送主動(dòng)錯(cuò)誤幀,這種情況相當(dāng)于剛剛發(fā)送的那幀報(bào)文我發(fā)錯(cuò)了,我現(xiàn)在主動(dòng)破壞它,其他節(jié)點(diǎn)不管接收到什么都不算數(shù);
如果是接收節(jié)點(diǎn)發(fā)送主動(dòng)錯(cuò)誤幀,這種情況相當(dāng)于剛剛接收的那幀報(bào)文出錯(cuò)了,我現(xiàn)在主動(dòng)站出來告訴大家這個(gè)錯(cuò)誤,并把這幀報(bào)文破壞掉,剛才你們不管接收到什么都不算數(shù)
被動(dòng)錯(cuò)誤:
處于被動(dòng)錯(cuò)誤狀態(tài)的節(jié)點(diǎn)不能發(fā)送主動(dòng)錯(cuò)誤標(biāo)志。它能參與正常通信,但當(dāng)檢測(cè)到錯(cuò)誤時(shí)發(fā)送的是被動(dòng)錯(cuò)誤標(biāo)志。被動(dòng)錯(cuò)誤標(biāo)志由6個(gè)連續(xù)的隱性位組成。當(dāng)發(fā)送結(jié)束后,處于被動(dòng)錯(cuò)誤狀態(tài)的節(jié)點(diǎn)在下一次再次發(fā)送時(shí)之前需要等待一些額外時(shí)間。
如果是發(fā)送節(jié)點(diǎn)發(fā)出被動(dòng)錯(cuò)誤幀,剛剛被發(fā)送的報(bào)文被破壞。錯(cuò)誤幀發(fā)送完成后,接著的是幀間隔(3個(gè)隱性位)和“傳輸延時(shí)段”(8個(gè)隱性位),這時(shí)總線上的其他節(jié)點(diǎn)就可以判斷總線處于空閑狀態(tài)并參與總線競(jìng)爭(zhēng)。這種機(jī)制可以讓其他處于主動(dòng)錯(cuò)誤狀態(tài)的節(jié)點(diǎn)優(yōu)先使用總線。
如果是接收節(jié)點(diǎn)發(fā)出被動(dòng)錯(cuò)誤幀,則不會(huì)對(duì)總線產(chǎn)生任何影響
CAN總線故障定位
節(jié)點(diǎn)測(cè)試法
CAN總線是網(wǎng)絡(luò)系統(tǒng)的控制器區(qū)域,是中央網(wǎng)絡(luò)系統(tǒng),各節(jié)點(diǎn)或者說是車內(nèi)的電子控制單元就是由CAN所聯(lián)系起來的。當(dāng)CAN總線出現(xiàn)干擾異常時(shí),針對(duì)短路問題,可以通過逐個(gè)斷開節(jié)點(diǎn)來進(jìn)行測(cè)試,若電壓恢復(fù)正常,則說明該節(jié)點(diǎn)有問題。若斷開所有節(jié)點(diǎn)后電壓還沒有變化,則說明線路短路。通過這個(gè)方法可以判斷是由節(jié)點(diǎn)引起的短路還是導(dǎo)線連接引起的短路。
電阻測(cè)量法
當(dāng)某個(gè)控制模塊CAN L導(dǎo)線或者是CAN H導(dǎo)線斷路時(shí),會(huì)導(dǎo)致該控制模塊無法實(shí)現(xiàn)通信,在其他控制模塊的通信是不受影響的。但在其他控制模塊有讀到該故障塊故障碼的可能。如果多個(gè)控制模塊的CAN L導(dǎo)線或者是CAN H導(dǎo)線出現(xiàn)斷路,那么這些控制模塊的通信功能都會(huì)受到影響。若出現(xiàn)故障的控制模塊帶有終端電阻,那么就可以采用電阻測(cè)量法。以下就是判斷有無終端電阻的測(cè)量方法。根據(jù)實(shí)際的線束特性進(jìn)行計(jì)算可以知道,CAN終端店電阻的阻值大約為120Ω,測(cè)量診斷接口的CAN H 與CAN L之間的電阻,若變?yōu)?20Ω,則說明有一個(gè)終端電阻斷路。這種情況下則可用電阻測(cè)量法進(jìn)行故障判斷。