CAN接收器(下)
ACK場(chǎng)的交互是接收節(jié)點(diǎn)對(duì)數(shù)據(jù)接收狀態(tài)的反饋。當(dāng)接收節(jié)點(diǎn)確認(rèn)CRC校驗(yàn)通過(guò)后,會(huì)在ACK位期間向總線發(fā)送一個(gè)顯性電平(與發(fā)送節(jié)點(diǎn)發(fā)送的隱性電平相反),告知發(fā)送節(jié)點(diǎn)“數(shù)據(jù)已正確接收”;若CRC校驗(yàn)失敗,接收節(jié)點(diǎn)則保持隱性電平,不發(fā)送應(yīng)答。發(fā)送節(jié)點(diǎn)通過(guò)監(jiān)測(cè)ACK位的電平,即可判斷數(shù)據(jù)是否被至少一個(gè)節(jié)點(diǎn)成功接收。需要注意的是,即使多個(gè)接收節(jié)點(diǎn)同時(shí)應(yīng)答,總線上的顯性電平也只會(huì)被強(qiáng)化,不會(huì)產(chǎn)生沖突,這一設(shè)計(jì)確保了應(yīng)答機(jī)制的可靠性。
幀結(jié)束(EOF)由7個(gè)隱性電平位組成,接收節(jié)點(diǎn)檢測(cè)到這一串連續(xù)的隱性電平后,確認(rèn)當(dāng)前數(shù)據(jù)幀傳輸結(jié)束,隨即釋放對(duì)總線狀態(tài)的跟蹤,準(zhǔn)備接收下一個(gè)幀。但在此之前,接收節(jié)點(diǎn)還需完成最后的錯(cuò)誤檢測(cè)與狀態(tài)管理:整個(gè)接收過(guò)程中,控制器會(huì)實(shí)時(shí)監(jiān)測(cè)位錯(cuò)誤(接收電平與總線電平不一致)、填充錯(cuò)誤(違反位填充規(guī)則,即連續(xù)5個(gè)相同電平后未插入相反電平)、形式錯(cuò)誤(幀結(jié)構(gòu)不符合規(guī)范,如EOF位不是隱性電平)等異常。若檢測(cè)到錯(cuò)誤,接收節(jié)點(diǎn)會(huì)立即發(fā)送錯(cuò)誤標(biāo)志(6個(gè)顯性電平),通知總線上的其他節(jié)點(diǎn),并根據(jù)錯(cuò)誤類型更新自身的錯(cuò)誤計(jì)數(shù)器——輕微錯(cuò)誤會(huì)使計(jì)數(shù)器少量增減,而嚴(yán)重或持續(xù)錯(cuò)誤會(huì)導(dǎo)致節(jié)點(diǎn)從主動(dòng)錯(cuò)誤狀態(tài)逐步切換到被動(dòng)錯(cuò)誤狀態(tài),直至進(jìn)入總線關(guān)閉狀態(tài),避免故障節(jié)點(diǎn)持續(xù)干擾網(wǎng)絡(luò)。
當(dāng)所有字段接收完成且無(wú)錯(cuò)誤(或錯(cuò)誤已處理),接收節(jié)點(diǎn)會(huì)將解析后的有效數(shù)據(jù)(包括標(biāo)識(shí)符、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)內(nèi)容等)存入接收緩沖區(qū),并通過(guò)中斷或查詢方式通知微控制器(MCU)讀取。MCU讀取數(shù)據(jù)后,會(huì)根據(jù)應(yīng)用層協(xié)議對(duì)信息進(jìn)行進(jìn)一步處理,如執(zhí)行控制指令、更新設(shè)備狀態(tài)等,至此,一次完整的CAN接收流程才算結(jié)束。
CAN接收流程的設(shè)計(jì)充分體現(xiàn)了“精準(zhǔn)監(jiān)聽(tīng)、智能過(guò)濾、嚴(yán)格校驗(yàn)”的特點(diǎn):通過(guò)實(shí)時(shí)同步機(jī)制確保時(shí)序一致,通過(guò)驗(yàn)收濾波實(shí)現(xiàn)數(shù)據(jù)篩選,通過(guò)多層校驗(yàn)保障傳輸可靠,通過(guò)錯(cuò)誤管理維持網(wǎng)絡(luò)穩(wěn)定。這一流程與發(fā)送流程的仲裁機(jī)制、錯(cuò)誤處理相互配合,共同構(gòu)建了CAN總線高效、可靠的通信能力,使其能在汽車、工業(yè)等對(duì)實(shí)時(shí)性和穩(wěn)定性要求極高的場(chǎng)景中發(fā)揮核心作用。無(wú)論是簡(jiǎn)單的傳感器數(shù)據(jù)采集,還是復(fù)雜的多節(jié)點(diǎn)協(xié)同控制,接收流程的順暢運(yùn)行都是信息交互的基礎(chǔ),其細(xì)節(jié)設(shè)計(jì)的嚴(yán)謹(jǐn)性,正是CAN協(xié)議歷經(jīng)數(shù)十年仍被廣泛應(yīng)用的重要原因。





