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

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

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

ISO 11898里的CAN總線:幀編碼

冬至子 ? 來源:知鋰 ? 作者:SW十五 ? 2023-10-31 14:15 ? 次閱讀

幀編碼

幀中的位采用 NRZ (Non-return-to-zero 非歸零)方法編碼。相同帶寬,NRZ編碼信息量更大。

CAN用雙絞線的方式傳輸,兩條線壓差2V(CAN_H是3.5V左右,CAN_L是1.5V左右)為顯性,表示邏輯0;兩條線壓差0V(都是2.5V左右)為隱性,表示邏輯1。

我很長(zhǎng)一段時(shí)間把顯性和隱性搞混,直到記住“顯靈”這個(gè)詞,顯性是0.

為了減少CAN信號(hào)錯(cuò)誤,專家設(shè)計(jì)了位填充技術(shù)。CAN消息幀中,幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)和CRC序列均用位填充的方法編碼。

圖片

圖片

當(dāng)CAN發(fā)送器檢測(cè)到5個(gè)相同的位后,插入一個(gè)相反位,產(chǎn)生跳變沿,用來同步,以減少檢測(cè)錯(cuò)誤。

填充位會(huì)被當(dāng)成總線數(shù)據(jù)位處理,但接收器接收時(shí)會(huì)自動(dòng)剔除填充位,這樣要傳輸?shù)男畔⒉粫?huì)出現(xiàn)錯(cuò)誤。

位的傳輸順序

數(shù)據(jù)幀和遠(yuǎn)程幀里,從SOF開始,一個(gè)域接一個(gè)域地傳輸。在一個(gè)域內(nèi),字節(jié)傳輸順序是從MSB到LSB。在一個(gè)字節(jié)內(nèi),位傳輸順序是從bit 7到bit 0.

圖片

位時(shí)間

位時(shí)間是一個(gè)位的持續(xù)時(shí)間。我們是看表來確定時(shí)間,CAN總線的節(jié)點(diǎn)是通過時(shí)鐘發(fā)生器確定,而常用的時(shí)鐘發(fā)生器是石英晶振。石英晶振的頻率通常是波特率的整數(shù)倍。

上一篇提到波特率的時(shí)候,其單位是bit/s,則一位的時(shí)間=1/波特率。比如常用的500kbit/s,位時(shí)間是2us(通常要求誤差在±0.004us內(nèi))。

一個(gè)位時(shí)間可以分成很多段的時(shí)間量(Time quantum,簡(jiǎn)寫為TQ)。前面說到CAN的時(shí)間是通過石英晶振的頻率確定,那晶振也是有很多一小段一小段的時(shí)間周期??梢岳斫鉃椋舾蓚€(gè)石英晶振的時(shí)間段組成了一個(gè)TQ,若干個(gè)TQ組成了一個(gè)位的時(shí)間。就像六十秒組成一分鐘,六十分鐘組成一小時(shí)。

和一分鐘固定等于六十秒不同,一個(gè)位可以分為1~32個(gè)TQ,具體是多少個(gè)可以由使用者規(guī)定。

一小時(shí)我們有時(shí)候分為前一刻鐘、前半個(gè)小時(shí)和后半個(gè)小時(shí),一個(gè)位也可以分為很幾段。這個(gè)幾是固定的,是4,如下圖。

圖片

一個(gè)位時(shí)間可以分為:

同步段(Sync_Seg):1個(gè)TQ。同步段內(nèi)有一個(gè)跳變沿,用來使總線上各個(gè)ECU同步,就跟港片里飛虎隊(duì)行動(dòng)前都要對(duì)表一樣。

傳播段(Prop_Seg):用于補(bǔ)償各總線上各ECU之間的物理傳輸延遲時(shí)間(信號(hào)在總線上的傳播延遲和ECU內(nèi)部延遲)。傳播段的長(zhǎng)度不同的ECU不完全一致,一般在1~8個(gè)TQ。

相位緩沖段1(Phase_Seg 1)、相位緩沖段2(Phase_Seg 2):用于補(bǔ)償跳變沿的相位誤差,就是ECU間的晶振誤差。這兩段可以被再同步處理延長(zhǎng)或縮短。通過再同步,可以延長(zhǎng)相位緩沖段1,或縮短相位緩沖段2。

一個(gè)位的采樣點(diǎn)在相位緩沖段1的終點(diǎn),通常是位時(shí)間的75%左右。

標(biāo)準(zhǔn)原文還詳細(xì)說明了延時(shí)后,如何處理才能使仲裁順利,感興趣可以自己看看。

bus off

一個(gè)ECU根據(jù)錯(cuò)誤計(jì)數(shù)不同,可以處于以下三種狀態(tài)之一:錯(cuò)誤激活(error-active)、錯(cuò)誤認(rèn)可(error-passive)或離線(bus-off)。

圖片

(當(dāng)ECU進(jìn)入bus off后,有快恢復(fù)和慢恢復(fù)兩種策略。兩種策略都會(huì)被ECU執(zhí)行,先快后慢,具體策略由廠家決定。)

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

    關(guān)注

    44

    文章

    3529

    瀏覽量

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

    關(guān)注

    145

    文章

    1898

    瀏覽量

    130337
  • 時(shí)鐘發(fā)生器

    關(guān)注

    1

    文章

    191

    瀏覽量

    67118
  • CRC校驗(yàn)
    +關(guān)注

    關(guān)注

    0

    文章

    84

    瀏覽量

    15149
  • 發(fā)送器
    +關(guān)注

    關(guān)注

    1

    文章

    258

    瀏覽量

    26740
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    淺談CAN FD總線協(xié)議格式

    假期更新了一文搞懂CAN總線協(xié)議格式,CAN FD總線協(xié)議怎能錯(cuò)過?本篇博文將講解CAN FD
    發(fā)表于 10-14 12:49 ?3179次閱讀
    淺談<b class='flag-5'>CAN</b> FD<b class='flag-5'>總線</b>協(xié)議<b class='flag-5'>幀</b>格式

    汽車CAN總線滲透測(cè)試

    CAN是控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)的簡(jiǎn)稱,是ISO國(guó)際標(biāo)準(zhǔn)化的串行通信協(xié)議,由以研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國(guó)BOSCH公司開發(fā),并最終成為國(guó)際標(biāo)準(zhǔn)(
    發(fā)表于 11-28 10:48 ?1156次閱讀

    高速CAN總線和低速CAN總線的特性

    ISO 11898-2和ISO 11898-3中分別規(guī)定了兩種CAN總線結(jié)構(gòu)(在BOSCH
    發(fā)表于 04-07 09:30 ?2559次閱讀
    高速<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>和低速<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的特性

    ISO11898 CAN標(biāo)準(zhǔn)

    ISO 11898 英文原版資料分享!!!
    發(fā)表于 01-14 18:24

    can總線stm32交通燈

    can總線stm32交通燈,1:CAN簡(jiǎn)介CAN是Controller Area Network,是一種串行的通信協(xié)議,有兩標(biāo)準(zhǔn):ISO11898
    發(fā)表于 08-05 06:41

    ISO11898物理層特性

    390圖 30.1.1 ISO11898 物理層特性從該特性可以看出,顯性電平對(duì)應(yīng)邏輯 0,CAN_H 和 CAN_L 之差為 2.5V 左右。而隱性平對(duì)應(yīng)邏輯 1,CAN_H 和
    發(fā)表于 08-06 07:30

    CAN總線筆記 精選資料分享

    Area Network 的縮寫(以下稱為CAN),是ISO國(guó)際標(biāo)準(zhǔn)化的串行通信協(xié)議。由德國(guó)電氣商博世公司在1986 年率先提出。此后,CAN 通過ISO11898
    發(fā)表于 08-20 07:17

    CAN總線協(xié)議簡(jiǎn)介

    采用載波監(jiān)聽多路訪問、逐位仲裁的非破壞性總線仲裁技術(shù)。直接通信距離最遠(yuǎn)10km,速率5Kb/s通信速率最高可達(dá)1Mb/s,距離40m末端要有120歐終端電阻11898協(xié)議iso的osi模型11
    發(fā)表于 03-01 06:29

    CAN_ISO11898CAN2.0

    CAN_ISO11898CAN2.0,感興趣的小伙伴們可以看看。
    發(fā)表于 07-26 10:43 ?436次下載

    CAN總線過載及數(shù)據(jù)詳解

    CAN:Controller Area Network,控制器局域網(wǎng)是一種能有效支持分布式控制和實(shí)時(shí)控制的串行通訊網(wǎng)絡(luò)。本文首先介紹了CAN總線系統(tǒng)結(jié)構(gòu)及數(shù)據(jù)傳輸,其次詳細(xì)的闡述了CAN
    的頭像 發(fā)表于 05-07 10:59 ?2w次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>過載<b class='flag-5'>幀</b>及數(shù)據(jù)<b class='flag-5'>幀</b>詳解

    CAN總線擴(kuò)展的雙濾波方式

    CAN總線在的幀數(shù)據(jù)在總線上傳送時(shí),其它的CAN控制器是通過驗(yàn)收濾波來決定總線上的數(shù)據(jù)的ID是
    發(fā)表于 07-10 11:30 ?2332次閱讀

    CAN總線的基礎(chǔ)知識(shí)

    CAN總線最初由德國(guó)Bosch公司為汽車檢測(cè)、控制系統(tǒng)而設(shè)計(jì)的。1993年CAN成為國(guó)際標(biāo)準(zhǔn)iso11898(高速應(yīng)用)和iso1119(低
    發(fā)表于 04-19 17:14 ?14次下載

    傳統(tǒng)CAN總線CAN FD格式的區(qū)別

    的爆炸式增長(zhǎng),僅通過增加更多的CAN總線也是行不通的。因此,作為一種新的解決方案,博世在2011-2012年開發(fā)并發(fā)布了對(duì)原始CAN總線協(xié)議的擴(kuò)展,稱為
    的頭像 發(fā)表于 06-20 17:40 ?5640次閱讀
    傳統(tǒng)<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>與<b class='flag-5'>CAN</b> FD<b class='flag-5'>幀</b>格式的區(qū)別

    ISO 11898CAN總線的基本特點(diǎn)與結(jié)構(gòu)

    ISO 11898-1主要描述了CAN總線的基本架構(gòu),定義了CAN在數(shù)據(jù)鏈路層的通信方式。重點(diǎn)內(nèi)容是數(shù)據(jù)鏈路層的兩個(gè)子層:邏輯鏈路控制(LL
    的頭像 發(fā)表于 10-31 14:31 ?3722次閱讀
    <b class='flag-5'>ISO</b> <b class='flag-5'>11898</b><b class='flag-5'>里</b><b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的基本特點(diǎn)與結(jié)構(gòu)

    CAN總線的標(biāo)準(zhǔn)和擴(kuò)展有什么區(qū)別呢?分別適用于什么工況?

    CAN總線的標(biāo)準(zhǔn)和擴(kuò)展CAN協(xié)議中的兩種類型。
    的頭像 發(fā)表于 01-30 09:41 ?4647次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的標(biāo)準(zhǔn)<b class='flag-5'>幀</b>和擴(kuò)展<b class='flag-5'>幀</b>有什么區(qū)別呢?分別適用于什么工況?