幀編碼
幀中的位采用 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í)行,先快后慢,具體策略由廠家決定。)
-
編碼器
+關(guān)注
關(guān)注
45文章
3667瀏覽量
135229 -
CAN總線
+關(guān)注
關(guān)注
145文章
1955瀏覽量
131083 -
時(shí)鐘發(fā)生器
+關(guān)注
關(guān)注
1文章
201瀏覽量
67402 -
CRC校驗(yàn)
+關(guān)注
關(guān)注
0文章
84瀏覽量
15273 -
發(fā)送器
+關(guān)注
關(guān)注
1文章
259瀏覽量
26893
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
淺談CAN FD總線協(xié)議幀格式
![淺談<b class='flag-5'>CAN</b> FD<b class='flag-5'>總線</b>協(xié)議<b class='flag-5'>幀</b>格式](https://file.elecfans.com/web2/M00/6F/F8/poYBAGNI66OAP6M_AAFVBqGIZJE331.png)
汽車CAN總線滲透測(cè)試
高速CAN總線和低速CAN總線的特性
![高速<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>和低速<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的特性](https://file1.elecfans.com/web2/M00/81/FE/wKgaomQvckmANesGAAHo3DxHQnw225.jpg)
can總線stm32交通燈
ISO11898物理層特性
CAN總線筆記 精選資料分享
CAN總線協(xié)議簡(jiǎn)介
CAN總線過載幀及數(shù)據(jù)幀詳解
![<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>過載<b class='flag-5'>幀</b>及數(shù)據(jù)<b class='flag-5'>幀</b>詳解](https://file.elecfans.com/web1/M00/50/26/o4YBAFrvwRaAdUiBAAB8w4yLE9o962.jpg)
CAN總線擴(kuò)展幀的雙濾波方式
CAN總線的基礎(chǔ)知識(shí)
傳統(tǒng)CAN總線與CAN FD幀格式的區(qū)別
![傳統(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ū)別](https://file.elecfans.com/web2/M00/4C/64/pYYBAGKu2AGALJ1IAACHSBYx-4Y170.png)
ISO 11898里CAN總線的基本特點(diǎn)與結(jié)構(gòu)
![<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)](https://file1.elecfans.com/web2/M00/AB/8E/wKgaomVAnz6AK6ACAACGeWUnRc4102.jpg)
CAN總線的標(biāo)準(zhǔn)幀和擴(kuò)展幀有什么區(qū)別呢?分別適用于什么工況?
![<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ū)別呢?分別適用于什么工況?](https://file1.elecfans.com/web2/M00/BF/CC/wKgaomW4Uq6AQpJTAALA3s2n5cI021.jpg)
評(píng)論