0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CAN總線控制器的工作原理

CHANBAEK ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2024-09-30 11:33 ? 次閱讀

CAN(Controller Area Network,控制器局域網(wǎng))總線控制器的工作原理涉及多個(gè)方面,包括消息傳輸、沖突檢測(cè)與解決、總線仲裁等關(guān)鍵機(jī)制。以下是對(duì)CAN總線控制器工作原理的詳細(xì)解析,旨在全面闡述其工作原理和機(jī)制。

一、CAN總線控制器的基本概述

CAN總線控制器是CAN總線系統(tǒng)的核心組件,它負(fù)責(zé)數(shù)據(jù)的發(fā)送、接收和處理。CAN總線控制器通過(guò)總線與系統(tǒng)中的其他節(jié)點(diǎn)(如傳感器、執(zhí)行器等)進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)共享和傳輸。CAN總線控制器通常集成在微控制器或?qū)S肅AN通信芯片中,具有高性能、低功耗和易于集成等優(yōu)點(diǎn)。

二、CAN總線控制器的消息傳輸機(jī)制

  1. 數(shù)據(jù)封裝
    CAN總線控制器在發(fā)送數(shù)據(jù)之前,需要先將數(shù)據(jù)封裝成CAN報(bào)文。CAN報(bào)文由多個(gè)字段組成,包括幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)、CRC校驗(yàn)場(chǎng)、應(yīng)答場(chǎng)和幀結(jié)束等。其中,仲裁場(chǎng)包含設(shè)備的識(shí)別符和優(yōu)先級(jí)信息,用于在總線仲裁過(guò)程中確定發(fā)送權(quán)的歸屬;數(shù)據(jù)場(chǎng)則包含要傳輸?shù)膶?shí)際數(shù)據(jù)。
  2. 報(bào)文發(fā)送
    當(dāng)CAN總線控制器需要發(fā)送數(shù)據(jù)時(shí),它會(huì)將封裝好的CAN報(bào)文發(fā)送到總線上。在發(fā)送過(guò)程中,CAN總線控制器會(huì)不斷檢測(cè)總線上的電壓狀態(tài),以確保數(shù)據(jù)能夠正確傳輸。如果檢測(cè)到總線上的電壓狀態(tài)與發(fā)送的數(shù)據(jù)不一致,CAN總線控制器會(huì)采取相應(yīng)的錯(cuò)誤處理措施。
  3. 報(bào)文接收
    CAN總線控制器在接收數(shù)據(jù)時(shí),會(huì)不斷監(jiān)聽(tīng)總線上的數(shù)據(jù)。當(dāng)接收到一個(gè)完整的CAN報(bào)文時(shí),CAN總線控制器會(huì)對(duì)其進(jìn)行校驗(yàn)和解析,以提取出其中的有用信息。如果校驗(yàn)結(jié)果正確,CAN總線控制器會(huì)將數(shù)據(jù)傳遞給上層應(yīng)用程序進(jìn)行處理;如果校驗(yàn)結(jié)果不正確,則會(huì)丟棄該報(bào)文并采取相應(yīng)的錯(cuò)誤處理措施。

三、CAN總線控制器的沖突檢測(cè)與解決機(jī)制

在CAN總線系統(tǒng)中,當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送數(shù)據(jù)時(shí),可能會(huì)發(fā)生沖突。為了解決這個(gè)問(wèn)題,CAN總線控制器采用了非破壞性的位間競(jìng)爭(zhēng)解決機(jī)制。

  1. 沖突檢測(cè)
    當(dāng)兩個(gè)或多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送數(shù)據(jù)時(shí),它們會(huì)爭(zhēng)奪總線的使用權(quán)。在這個(gè)過(guò)程中,CAN總線控制器會(huì)不斷檢測(cè)總線上的電壓狀態(tài)。如果檢測(cè)到總線上的電壓狀態(tài)與發(fā)送的數(shù)據(jù)不一致,說(shuō)明有其他節(jié)點(diǎn)在同時(shí)發(fā)送數(shù)據(jù),即發(fā)生了沖突。
  2. 沖突解決
    當(dāng)發(fā)生沖突時(shí),CAN總線控制器會(huì)停止發(fā)送數(shù)據(jù),并在下一個(gè)時(shí)間段重新嘗試發(fā)送。在重新發(fā)送之前,CAN總線控制器會(huì)等待一段時(shí)間(稱為仲裁間隙),以確保其他節(jié)點(diǎn)已經(jīng)停止發(fā)送數(shù)據(jù)。然后,它會(huì)再次嘗試發(fā)送數(shù)據(jù),并繼續(xù)檢測(cè)總線上的電壓狀態(tài)。如果仍然發(fā)生沖突,則重復(fù)上述過(guò)程,直到數(shù)據(jù)成功發(fā)送為止。

四、CAN總線控制器的總線仲裁機(jī)制

在CAN總線系統(tǒng)中,總線仲裁是一種用于確定哪個(gè)節(jié)點(diǎn)可以占用總線并發(fā)送數(shù)據(jù)的機(jī)制。CAN總線控制器通過(guò)比較發(fā)送的位來(lái)實(shí)現(xiàn)仲裁,具有更長(zhǎng)顯性位(即低電平)的數(shù)據(jù)幀優(yōu)先級(jí)更高。

  1. 仲裁過(guò)程
    當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送數(shù)據(jù)時(shí),它們會(huì)爭(zhēng)奪總線的使用權(quán)。在這個(gè)過(guò)程中,CAN總線控制器會(huì)逐位比較發(fā)送的位。如果兩個(gè)節(jié)點(diǎn)發(fā)送的位相同,則它們都可以繼續(xù)發(fā)送數(shù)據(jù);如果發(fā)送的位不同,則具有更高優(yōu)先級(jí)的節(jié)點(diǎn)(即發(fā)送顯性位的節(jié)點(diǎn))會(huì)贏得總線的使用權(quán),并繼續(xù)發(fā)送數(shù)據(jù);而具有較低優(yōu)先級(jí)的節(jié)點(diǎn)則會(huì)停止發(fā)送數(shù)據(jù),并在下一個(gè)時(shí)間段重新嘗試發(fā)送。
  2. 優(yōu)先級(jí)確定
    CAN總線控制器通過(guò)仲裁場(chǎng)中的設(shè)備識(shí)別符和優(yōu)先級(jí)信息來(lái)確定節(jié)點(diǎn)的優(yōu)先級(jí)。設(shè)備識(shí)別符是一個(gè)唯一的標(biāo)識(shí)符,用于區(qū)分不同的節(jié)點(diǎn);優(yōu)先級(jí)信息則是一個(gè)用于確定節(jié)點(diǎn)優(yōu)先級(jí)的數(shù)值。在仲裁過(guò)程中,具有更高優(yōu)先級(jí)的節(jié)點(diǎn)會(huì)贏得總線的使用權(quán),并優(yōu)先發(fā)送數(shù)據(jù)。

五、CAN總線控制器的其他關(guān)鍵機(jī)制

除了上述的消息傳輸、沖突檢測(cè)與解決和總線仲裁機(jī)制外,CAN總線控制器還具有其他一些關(guān)鍵機(jī)制,以確保數(shù)據(jù)的可靠傳輸和系統(tǒng)的穩(wěn)定運(yùn)行。

  1. 錯(cuò)誤檢測(cè)與處理
    CAN總線控制器具有完善的錯(cuò)誤檢測(cè)和處理機(jī)制。它能夠檢測(cè)出數(shù)據(jù)傳輸過(guò)程中的錯(cuò)誤(如位錯(cuò)誤、幀錯(cuò)誤等),并采取相應(yīng)的措施進(jìn)行處理(如重發(fā)數(shù)據(jù)、報(bào)警等)。此外,CAN總線控制器還能夠?qū)收瞎?jié)點(diǎn)進(jìn)行隔離和恢復(fù)操作,以確保系統(tǒng)的穩(wěn)定運(yùn)行。
  2. 位填充技術(shù)
    為了防止連續(xù)的相同電平導(dǎo)致誤判,CAN總線控制器采用了位填充技術(shù)。每當(dāng)出現(xiàn)五個(gè)連續(xù)的相同電平時(shí),CAN總線控制器會(huì)在其后插入一個(gè)相反電平的填充位。這樣可以確保數(shù)據(jù)在傳輸過(guò)程中能夠被正確識(shí)別和處理。
  3. 幀格式和長(zhǎng)度限制
    CAN總線控制器對(duì)數(shù)據(jù)幀的格式和長(zhǎng)度進(jìn)行了限制。數(shù)據(jù)幀由多個(gè)字段組成,且每個(gè)字段的長(zhǎng)度都是固定的。此外,數(shù)據(jù)幀的總長(zhǎng)度也受到限制(如標(biāo)準(zhǔn)幀為11位標(biāo)識(shí)符,最大長(zhǎng)度為8個(gè)字節(jié);擴(kuò)展幀為29位標(biāo)識(shí)符,最大長(zhǎng)度也為8個(gè)字節(jié))。這些限制可以確保數(shù)據(jù)在傳輸過(guò)程中不會(huì)被截?cái)嗷騺G失。
  4. 總線狀態(tài)監(jiān)測(cè)
    CAN總線控制器能夠?qū)崟r(shí)監(jiān)測(cè)總線的狀態(tài)(如總線空閑、總線忙等)。當(dāng)總線處于空閑狀態(tài)時(shí),任何節(jié)點(diǎn)都可以向總線發(fā)送數(shù)據(jù);當(dāng)總線處于忙狀態(tài)時(shí),則需要等待當(dāng)前數(shù)據(jù)傳輸完成后再發(fā)送數(shù)據(jù)。這樣可以確保總線上的數(shù)據(jù)傳輸有序進(jìn)行。

六、結(jié)論

綜上所述,CAN總線控制器的工作原理涉及多個(gè)方面,包括消息傳輸、沖突檢測(cè)與解決、總線仲裁等關(guān)鍵機(jī)制。這些機(jī)制共同協(xié)作,確保了CAN總線系統(tǒng)中數(shù)據(jù)的可靠傳輸和系統(tǒng)的穩(wěn)定運(yùn)行。隨著汽車、工業(yè)自動(dòng)化等領(lǐng)域的不斷發(fā)展,CAN總線控制器將繼續(xù)發(fā)揮著重要作用,為這些領(lǐng)域的智能化和自動(dòng)化發(fā)展提供有力支持。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16088

    瀏覽量

    177007
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    1911

    瀏覽量

    130557
  • 總線控制器
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    12568
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    怎樣去設(shè)計(jì)CAN總線控制器sJAl000驅(qū)動(dòng)程序?計(jì)

    CAN總線控制器工作原理是什么?流接口驅(qū)動(dòng)程序工作機(jī)制是怎樣的?怎樣去設(shè)計(jì)CAN
    發(fā)表于 04-27 06:41

    CAN總線的基本工作原理是什么??jī)?yōu)勢(shì)是什么?

    CAN總線的基本工作原理是什么?CAN總線工作流程是怎樣的?
    發(fā)表于 12-27 07:39

    CAN總線控制器Verilog代碼

    CAN總線控制器Verilog代碼
    發(fā)表于 05-20 10:32 ?168次下載

    基于CAN總線的客房通信控制器的設(shè)計(jì)

    本文針對(duì)賓館、酒店的客房控制和管理系統(tǒng),介紹了基于CAN 總線的客房通信控制器的硬件電路結(jié)構(gòu)、原理及軟件結(jié)構(gòu)和主程序流程。關(guān)鍵詞:CAN
    發(fā)表于 06-13 12:06 ?13次下載

    以8051微控制器和82527獨(dú)立CAN總線控制器為核心組成

    介紹一種以8051微控制器和82527獨(dú)立CAN總線控制器為核心組成的CAN總線智能傳感
    發(fā)表于 07-17 08:41 ?26次下載

    基于CAN總線的家庭控制器的設(shè)計(jì)與實(shí)現(xiàn)

    基于CAN總線的家庭控制器的設(shè)計(jì)與實(shí)現(xiàn)  引言   CAN(Controller Area Network)總線是德國(guó)Bosch公司為
    發(fā)表于 11-07 09:30 ?710次閱讀
    基于<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的家庭<b class='flag-5'>控制器</b>的設(shè)計(jì)與實(shí)現(xiàn)

    CAN總線PC適配卡設(shè)計(jì)

    本文首先介紹PCI總線控制器PCI9052與CAN總線通信控制器SJA1000的工作原理,并且介
    發(fā)表于 09-23 17:34 ?2063次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>PC適配卡設(shè)計(jì)

    基礎(chǔ)篇 18. STM32 CAN總線工作原理

    CAN總線工作原理
    發(fā)表于 02-28 21:03 ?55次下載

    基于DSP_FPGA與CAN總線的跟蹤控制器設(shè)計(jì)

    基于DSP_FPGA與CAN總線的跟蹤控制器設(shè)計(jì)
    發(fā)表于 10-21 08:52 ?5次下載
    基于DSP_FPGA與<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的跟蹤<b class='flag-5'>控制器</b>設(shè)計(jì)

    基于FPGA的CAN總線控制器的設(shè)計(jì)

    今天給大俠帶來(lái)基于FPGA的CAN總線控制器的設(shè)計(jì),由于篇幅較長(zhǎng),分三篇。今天帶來(lái)第一篇,上篇,CAN 總線協(xié)議解析以及
    的頭像 發(fā)表于 05-18 09:21 ?1250次閱讀
    基于FPGA的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>控制器</b>的設(shè)計(jì)

    CAN總線的基本概念、工作原理、特點(diǎn)以及應(yīng)用領(lǐng)域

    CAN總線技術(shù)是一種廣泛應(yīng)用于汽車、工業(yè)自動(dòng)化等領(lǐng)域的串行通信協(xié)議。它是由德國(guó)公司BOSCH開(kāi)發(fā)的,全稱為Controller Area Network(控制器局域網(wǎng))。本文將對(duì)CAN
    發(fā)表于 09-12 17:04 ?9326次閱讀

    CAN收發(fā)CAN控制器的區(qū)別

    CAN總線系統(tǒng)是現(xiàn)代工業(yè)自動(dòng)化和汽車控制系統(tǒng)中常用的通信協(xié)議。在CAN總線系統(tǒng)中,CAN收發(fā)
    的頭像 發(fā)表于 05-28 15:44 ?2346次閱讀

    CAN總線收發(fā)工作原理和應(yīng)用

    CAN(Controller Area Network)總線收發(fā)CAN總線通信中的關(guān)鍵組件,其工作原
    的頭像 發(fā)表于 08-26 15:23 ?1169次閱讀

    CAN總線的主要特點(diǎn)和工作原理

    CAN總線(Controller Area Network),即控制器局域網(wǎng),是一種能夠?qū)崿F(xiàn)分布式實(shí)時(shí)控制的串行通信網(wǎng)絡(luò)。它最初是為滿足汽車內(nèi)部ECU(電子
    的頭像 發(fā)表于 09-03 14:07 ?412次閱讀

    CAN總線控制器是什么意思

    CAN總線控制器(Controller Area Network Bus Controller)是CAN總線通信系統(tǒng)中的核心部件,它扮演著接
    的頭像 發(fā)表于 09-03 14:16 ?571次閱讀