幀編碼
幀中的位采用 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)生跳變沿,用來(lái)同步,以減少檢測(cè)錯(cuò)誤。
填充位會(huì)被當(dāng)成總線數(shù)據(jù)位處理,但接收器接收時(shí)會(huì)自動(dòng)剔除填充位,這樣要傳輸?shù)男畔⒉粫?huì)出現(xiàn)錯(cuò)誤。
位的傳輸順序
數(shù)據(jù)幀和遠(yuǎn)程幀里,從SOF開(kāi)始,一個(gè)域接一個(gè)域地傳輸。在一個(gè)域內(nèi),字節(jié)傳輸順序是從MSB到LSB。在一個(gè)字節(jié)內(nèi),位傳輸順序是從bit 7到bit 0.
位時(shí)間
位時(shí)間是一個(gè)位的持續(xù)時(shí)間。我們是看表來(lái)確定時(shí)間,CAN總線的節(jié)點(diǎn)是通過(guò)時(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)寫(xiě)為T(mén)Q)。前面說(shuō)到CAN的時(shí)間是通過(guò)石英晶振的頻率確定,那晶振也是有很多一小段一小段的時(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è)跳變沿,用來(lái)使總線上各個(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)或縮短。通過(guò)再同步,可以延長(zhǎng)相位緩沖段1,或縮短相位緩沖段2。
一個(gè)位的采樣點(diǎn)在相位緩沖段1的終點(diǎn),通常是位時(shí)間的75%左右。
標(biāo)準(zhǔn)原文還詳細(xì)說(shuō)明了延時(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文章
3652瀏覽量
134854 -
CAN總線
+關(guān)注
關(guān)注
145文章
1953瀏覽量
130915 -
時(shí)鐘發(fā)生器
+關(guān)注
關(guān)注
1文章
200瀏覽量
67314 -
CRC校驗(yàn)
+關(guān)注
關(guān)注
0文章
84瀏覽量
15243 -
發(fā)送器
+關(guān)注
關(guān)注
1文章
259瀏覽量
26858
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論