當(dāng)前位置:機(jī)電之家首頁 >> PLC技術(shù)>> PLC基礎(chǔ) >> PLC通信 >> CAN通信程序錯(cuò)誤處理
CAN通信程序錯(cuò)誤處理

     在CAN初始化中,打開了錯(cuò)誤報(bào)警中斷使能和總線錯(cuò)誤中斷使能,當(dāng)錯(cuò)誤計(jì)數(shù)器(發(fā)送錯(cuò)誤計(jì)數(shù)器和接收錯(cuò)誤計(jì)數(shù)器中的任何一個(gè))計(jì)數(shù)值超過96時(shí),說明總線被嚴(yán)重干擾,產(chǎn)生錯(cuò)誤報(bào)警中斷;當(dāng)發(fā)送錯(cuò)誤計(jì)數(shù)器值超過255時(shí),節(jié)點(diǎn)進(jìn)入總線關(guān)閉狀態(tài),CAN控制器將設(shè)置復(fù)位模式位為1(當(dāng)前)并產(chǎn)生一個(gè)錯(cuò)誤報(bào)警和總線錯(cuò)誤中斷。錯(cuò)誤報(bào)警中斷處理是清零所有錯(cuò)誤計(jì)數(shù)器的值,維持CAN的運(yùn)轉(zhuǎn),但這樣做存在局限性:清零錯(cuò)誤計(jì)數(shù)器只是將錯(cuò)誤計(jì)數(shù)器簡單的清零,不能從根本上消除錯(cuò)誤來源;由于錯(cuò)誤報(bào)警中斷產(chǎn)生的條件為錯(cuò)誤計(jì)數(shù)器的值超過96,而總線關(guān)閉中斷產(chǎn)生的條件為發(fā)送錯(cuò)誤計(jì)數(shù)器的值超過255,因此,發(fā)送錯(cuò)誤計(jì)數(shù)器引起的錯(cuò)誤報(bào)警中斷可以屏蔽掉總線錯(cuò)誤中斷。系統(tǒng)可能由于總響應(yīng)錯(cuò)誤報(bào)警中斷導(dǎo)致系統(tǒng)不能產(chǎn)生總線關(guān)閉,使CAN總線一直處于不穩(wěn)定狀態(tài)。

    為了避免這種情況,只打開總線錯(cuò)誤中斷使能,這樣,在總線發(fā)生嚴(yán)重錯(cuò)誤的情況下,可馬上產(chǎn)生總線錯(cuò)誤中斷,使錯(cuò)誤得到及時(shí)處理。總線錯(cuò)誤中斷的處理是復(fù)位該節(jié)點(diǎn),重新初始化CAN控制器,這樣可以消除錯(cuò)誤,給節(jié)點(diǎn)一個(gè)很好的初態(tài)。由于CAN總線兩條傳輸線之間的誤接觸,也易造成CAN總線關(guān)閉,使節(jié)點(diǎn)無法工作,在主程序中查詢狀態(tài)寄存器中當(dāng)前CAN總線狀態(tài),及時(shí)復(fù)位該節(jié)點(diǎn),使節(jié)點(diǎn)正常工作。

    同時(shí),為了更方便直觀地查看CAN總線的工作狀態(tài),設(shè)計(jì)了一個(gè)指示燈,當(dāng)總線正常地收發(fā)信息時(shí),指示燈閃爍,一旦CAN總線關(guān)閉,節(jié)點(diǎn)不參與總線活動(dòng),指示燈不再閃爍(此時(shí)指示燈長亮或長滅),當(dāng)總線錯(cuò)誤不能通過復(fù)位該節(jié)點(diǎn)解決時(shí),可以通過查看指示燈的狀態(tài)(長亮或長滅),及時(shí)地對(duì)不工作的節(jié)點(diǎn)進(jìn)行修理維護(hù)。
作者:未知 點(diǎn)擊:962次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:CAN通信程序錯(cuò)誤處理
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《CAN通信程序錯(cuò)誤處理》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個(gè)人求購

楊異乾 【求購】  電涌保護(hù)器  2025-11-28
趙焱 【求購】  電氣溫控閥  2025-11-28
張揚(yáng)瓊 【求購】  ABB火檢...  2025-11-27
張雪根 【求購】  固體除垢劑  2025-11-26
趙經(jīng)理 【求購】  變壓器  2025-11-26
羅經(jīng)理 【求購】  巡邏車跟蹤...  2025-11-26
趙經(jīng)理 【求購】  柴油發(fā)電機(jī)  2025-11-26
沈雙 【求購】  柴油過濾紙  2025-11-26
VIP公司推薦