RM新时代网站-首页

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總線

硬件攻城獅 ? 來(lái)源:硬件攻城獅 ? 2024-11-19 13:35 ? 次閱讀

前言

前面已經(jīng)介紹了幾種總線協(xié)議,那現(xiàn)在如果在汽車上實(shí)際應(yīng)用一種總線協(xié)議來(lái)通訊的話,你會(huì)選擇哪一種呢?

答案是 都不行

因?yàn)樵谄囍性S多系統(tǒng)都需要實(shí)時(shí)控制,而且數(shù)據(jù)必須可靠,即使面對(duì)面對(duì)惡劣環(huán)境也要正常運(yùn)行

如何解決這個(gè)問(wèn)題呢?就要看CAN總線了

ECU

如何傳輸數(shù)據(jù)?

現(xiàn)在將車上的每個(gè)設(shè)備用一條總線連接起來(lái)

37f6d1e4-a01b-11ef-93f3-92fbcf53809c.jpg

要想CAN通訊,就必須要專門(mén)的CAN收發(fā)器,經(jīng)過(guò)CAN收發(fā)器,普通信號(hào)就會(huì)轉(zhuǎn)化成差分信號(hào)(差分信號(hào)由兩根線表示)

37fd1e64-a01b-11ef-93f3-92fbcf53809c.jpg

如果輸入0,CAN收發(fā)器的兩根線分別輸出3.5V和1.5V(壓差為2V)

如果輸入1,CAN收發(fā)器的兩根線都輸出2.5V(壓差為0V)

381db534-a01b-11ef-93f3-92fbcf53809c.jpg

為什么要這樣表示數(shù)據(jù)?

想象一下,如果這條線是0V,受到了干擾,電壓就會(huì)波動(dòng)

38387996-a01b-11ef-93f3-92fbcf53809c.jpg

384f1534-a01b-11ef-93f3-92fbcf53809c.jpg

如果是兩條線纏繞在一起,用差分信號(hào)來(lái)表示數(shù)據(jù)的話,即使受到了干擾,也是兩條線一起受到干擾,依舊存在壓差

CAN數(shù)據(jù)格式

這是一幀完整的數(shù)據(jù)

最開(kāi)始是起始位(始終為0)

然后是11位的識(shí)別碼

388dcf9a-a01b-11ef-93f3-92fbcf53809c.jpg

每一個(gè)設(shè)備都有唯一的11位識(shí)別碼

38b3be9e-a01b-11ef-93f3-92fbcf53809c.jpg

緊接著是RTR位用來(lái)區(qū)分?jǐn)?shù)據(jù)幀(0)或遠(yuǎn)程請(qǐng)求幀(1)

38c84666-a01b-11ef-93f3-92fbcf53809c.jpg

接下來(lái)是6位控制碼

38cf7c88-a01b-11ef-93f3-92fbcf53809c.jpg

其中第一位的IDE位是用來(lái)區(qū)分是標(biāo)準(zhǔn)幀還是拓展幀(標(biāo)準(zhǔn)幀有11位的識(shí)別碼,IDE位為0;而拓展碼有29位的識(shí)別碼,IDE位為1)

38e6e530-a01b-11ef-93f3-92fbcf53809c.jpg

下面是預(yù)留位,它是邏輯0

390367be-a01b-11ef-93f3-92fbcf53809c.jpg

剩下的4位為DLC位,表示數(shù)據(jù)長(zhǎng)度

3917cb14-a01b-11ef-93f3-92fbcf53809c.jpg

每一個(gè)數(shù)值對(duì)應(yīng)每一個(gè)字節(jié)(比如如圖數(shù)值為8,對(duì)應(yīng)數(shù)據(jù)長(zhǎng)度為8個(gè)字節(jié))

3922503e-a01b-11ef-93f3-92fbcf53809c.jpg

接下來(lái)是16位的CRC循環(huán)冗余校驗(yàn)位,它是為了確保收到的數(shù)據(jù)的準(zhǔn)確性

首先是15位CRC校驗(yàn)位,如果和接收到的CRC校驗(yàn)位不一致,就會(huì)重新再重發(fā)一次

39385db6-a01b-11ef-93f3-92fbcf53809c.jpg

最后是CRC界定位,目的是為了與后面的數(shù)據(jù)區(qū)分開(kāi)來(lái)

3947f01e-a01b-11ef-93f3-92fbcf53809c.jpg

然后是2位ACK碼

第一位是ACK確認(rèn)槽(發(fā)送端是1,接收端就是0)用來(lái)表示應(yīng)答

第2位是ACK界定位(始終為1),目的也是為了和后面的數(shù)據(jù)區(qū)分開(kāi)來(lái),

39599058-a01b-11ef-93f3-92fbcf53809c.jpg

最后是7位結(jié)束位(時(shí)鐘為1)

如果用用差分信號(hào)表示,電平是這樣的,如圖所示

396098e4-a01b-11ef-93f3-92fbcf53809c.jpg

如果此時(shí)總線上同時(shí)有2個(gè)設(shè)備發(fā)出控制信號(hào),究竟優(yōu)先執(zhí)行哪一個(gè)設(shè)備的信號(hào)呢?

39863842-a01b-11ef-93f3-92fbcf53809c.jpg

這就得看11位的識(shí)別碼了,它不僅指定了哪個(gè)設(shè)備,還表示了優(yōu)先級(jí)

399bc536-a01b-11ef-93f3-92fbcf53809c.jpg

當(dāng)總線同時(shí)為1或0,總線會(huì)被置為0(即優(yōu)先執(zhí)行電平0)

總結(jié)

了解完了CAN總線,或許會(huì)有一個(gè)疑惑點(diǎn)?

CAN總線和RS485是不是有點(diǎn)相似,對(duì)吧?

雖然的確有些相似之處,但CAN總線是專門(mén)用于汽車領(lǐng)域的,就比如數(shù)據(jù)可靠性,CAN總線檢測(cè)到數(shù)據(jù)不一致,就會(huì)重新發(fā)送,而485就發(fā)一次,不管是不是正確的數(shù)據(jù)

聲明:本文內(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)投訴
  • 收發(fā)器
    +關(guān)注

    關(guān)注

    10

    文章

    3424

    瀏覽量

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

    關(guān)注

    145

    文章

    1946

    瀏覽量

    130726

原文標(biāo)題:秒懂CAN總線

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    全面解析CAN 總線協(xié)議技術(shù)

    CAN 是控制器局域網(wǎng)絡(luò) (Controller Area Network) 的簡(jiǎn)稱,它是由研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國(guó) BOSCH 公司開(kāi)發(fā)的,并最終成為國(guó)際標(biāo)準(zhǔn)(ISO11519以及ISO11898),是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。
    發(fā)表于 09-26 12:26 ?900次閱讀

    CAN 總線錯(cuò)誤檢測(cè)機(jī)制#can總線

    CAN 總線
    北匯信息POLELINK
    發(fā)布于 :2023年05月26日 13:54:03

    什么是CAN時(shí)鐘?#CAN #汽車CAN總線? #CANoe

    CAN總線
    北匯信息POLELINK
    發(fā)布于 :2024年10月29日 12:23:36

    CAN總線基礎(chǔ)知識(shí)匯總#CAN #CANoe #汽車總線

    CAN總線
    北匯信息POLELINK
    發(fā)布于 :2024年11月04日 13:35:54

    汽車CAN總線報(bào)文類型與幀格式解析#CAN #常學(xué)常新

    CAN總線
    北匯信息POLELINK
    發(fā)布于 :2024年11月08日 18:25:47

    can卡是什么

    上傳時(shí)可自主、即時(shí)發(fā)送,先進(jìn)的仲裁機(jī)制保證數(shù)據(jù)不會(huì)沖突。 二、CAN 總線協(xié)議分析對(duì)比標(biāo)準(zhǔn)的通信七層模型,CAN 總線大體可分為物理層、鏈路層、應(yīng)用層。對(duì)鏈路層的
    發(fā)表于 08-10 11:33

    汽車CAN/LIN總線測(cè)試流程和測(cè)試工具解析

    汽車CAN/LIN總線測(cè)試流程和測(cè)試工具解析 汽車CAN/LIN總線系統(tǒng)測(cè)試的關(guān)鍵是測(cè)試流程、測(cè)試標(biāo)準(zhǔn)和測(cè)試工具,掌握專業(yè)的
    發(fā)表于 03-19 10:44 ?8424次閱讀

    一文解析CAN總線遠(yuǎn)程幀和錯(cuò)誤幀

    本文主要介紹了CAN總線遠(yuǎn)程幀和錯(cuò)誤幀,首先我們先來(lái)了解了解一下通訊時(shí)使用的幀類型有哪些,他們的作用又是什么,具體的跟隨小編一起來(lái)了解一下吧。
    的頭像 發(fā)表于 05-07 11:30 ?2.7w次閱讀
    一文<b class='flag-5'>解析</b><b class='flag-5'>CAN</b><b class='flag-5'>總線</b>遠(yuǎn)程幀和錯(cuò)誤幀

    解析汽車can總線無(wú)法讀取數(shù)據(jù)情況

    現(xiàn)在的汽車一般都采用CAN總線作為標(biāo)準(zhǔn)的通訊總線,我們?nèi)绻軌?b class='flag-5'>解析出一臺(tái)車子的CAN總線數(shù)據(jù),就
    發(fā)表于 08-06 16:23 ?3193次閱讀

    解析CAN總線終端電阻的作用

    CAN總線終端電阻,一般來(lái)說(shuō)都是120歐姆,實(shí)際上在設(shè)計(jì)的時(shí)候,也是兩個(gè)60歐姆的電阻串起來(lái),而總線上一般有兩個(gè)120Ω的節(jié)點(diǎn),基本上稍微知道點(diǎn)CAN
    的頭像 發(fā)表于 03-22 08:38 ?8514次閱讀

    一文解析CAN總線地址和總線訪問(wèn),數(shù)據(jù)保護(hù)

      什么是CAN總線?   CAN (Controller Area Network)是二十世紀(jì)八十年代初德國(guó)Bosch公司為解決現(xiàn)代汽車中眾多電控單元( ECU )之間的數(shù)據(jù)交換而開(kāi)發(fā)的一種單工串行通信協(xié)議。
    發(fā)表于 05-16 14:31 ?2116次閱讀
    一文<b class='flag-5'>解析</b><b class='flag-5'>CAN</b><b class='flag-5'>總線</b>地址和<b class='flag-5'>總線</b>訪問(wèn),數(shù)據(jù)保護(hù)

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

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

    labview讀取解析CAN DBC文件

    labview讀取解析can總線dbc文件
    發(fā)表于 07-03 09:18 ?104次下載

    汽車CAN總線的特點(diǎn)和應(yīng)用

    汽車CAN總線是一種連接汽車各種控制單元的通信協(xié)議和數(shù)據(jù)傳輸標(biāo)準(zhǔn),它對(duì)于現(xiàn)代汽車的發(fā)展具有重要意義。以下是對(duì)汽車CAN總線的詳細(xì)解析,旨在全
    的頭像 發(fā)表于 09-30 11:31 ?557次閱讀

    CAN總線應(yīng)用領(lǐng)域 CAN總線協(xié)議解析

    CAN(Controller Area Network)總線是一種用于車輛內(nèi)部網(wǎng)絡(luò)的串行通信協(xié)議,由Bosch公司在1986年開(kāi)發(fā)。它以其高可靠性、實(shí)時(shí)性和靈活性而聞名,廣泛應(yīng)用于汽車電子、工業(yè)控制
    的頭像 發(fā)表于 11-21 10:15 ?366次閱讀
    RM新时代网站-首页