欧美福利片在线观看_国产下药迷倒白嫩美女96_尤物国产区精品视频_做受ⅩXXX高潮欧美_亚洲一卡二卡三卡区_黄色电影禁止18国产_奇米狠狠爱亚洲综合_黄片樱桃视频免费播放器

登錄 | 注冊 退出

車載網(wǎng)絡(luò)CAN(五):從使用和案例中學習CAN總線

專欄作者 2026-01-14

摘要

該專題連載共分為“五”篇,這是第五篇。到目前為止,我們已經(jīng)解釋了實現(xiàn) CAN(控制器局域網(wǎng))的基礎(chǔ)知識,例如 CAN 協(xié)議和物理層機制。然而,僅憑這些可能不足以全面理解 CAN 在實踐中的具體應(yīng)用和設(shè)計方式。

對于這類讀者,本文將通過實例解釋實際采用 CAN 時所需的知識和關(guān)鍵點,并提供 CAN 協(xié)議的總體概述,以及在實踐中考慮 CAN 的設(shè)計、開發(fā)和采用的基本知識。

點擊閱讀:車載網(wǎng)絡(luò)CAN(一):CAN協(xié)議基礎(chǔ)知識

點擊閱讀:車載網(wǎng)絡(luò)CAN(二):CAN通信的數(shù)據(jù)傳輸機制

點擊閱讀:車載網(wǎng)絡(luò)CAN(三):“幀”的結(jié)構(gòu)、用法和錯誤處理方法

點擊閱讀:車載網(wǎng)絡(luò)CAN(四):CAN控制器的分類和工作原理

CAN應(yīng)用范圍

CAN現(xiàn)在已應(yīng)用于眾多領(lǐng)域,而不僅僅局限于汽車行業(yè)。讓我們再次來看一下CAN的應(yīng)用范圍。

CAN總線的應(yīng)用范圍很廣,從主要用于乘用車的標準格式“CAN”總線,到主要用于大型車輛的擴展格式“J1939”總線。此外,還有一種基于CAN總線的協(xié)議,稱為“CANopen”,主要用于工業(yè)設(shè)備(圖1)。

圖1、CAN的應(yīng)用范圍

因此,CAN 是一種幾乎所有汽車(普通乘用車、大型車輛等)都使用的通信協(xié)議,也應(yīng)用于工業(yè)設(shè)備和工廠自動化 (FA) 領(lǐng)域。本系列文章主要關(guān)注 CAN 作為車載網(wǎng)絡(luò)(針對普通乘用車)的應(yīng)用,但如果您能正確理解 CAN 的工作原理,對于汽車以外其他應(yīng)用的 CAN 設(shè)計和開發(fā)工作也必將大有裨益。

現(xiàn)在我們對 CAN 的應(yīng)用范圍有了新的認識,讓我們來看看 CAN 在乘用車中的一些具體用途和知識,以及一些在實踐中有用的例子。

CAN數(shù)據(jù)分析

在開發(fā)過程中,一項需要頻繁執(zhí)行的任務(wù)是“分析通信內(nèi)容”。本文將通過具體示例,解釋分析 CAN 數(shù)據(jù)所需的步驟。

首先,讓我們使用常見的測量設(shè)備來分析通信內(nèi)容。

使用通用測量設(shè)備分析通信內(nèi)容首先記錄通信波形(圖 2)。然后,根據(jù)通信速度計算 1 比特的長度,將記錄的通信波形替換為“1”和“0”,并按照格式將其轉(zhuǎn)換為十六進制數(shù)據(jù)(圖 3),最后通過將其與通信規(guī)范進行比較來進行數(shù)據(jù)分析。

圖2、CAN通信波形

圖3、位轉(zhuǎn)換

當沒有車載網(wǎng)絡(luò)測量設(shè)備可用時,通常會使用像這樣的通用測量設(shè)備。然而,雖然這類通用測量設(shè)備可以確認信號特征,但要實時分析每10毫秒左右傳輸和更新的數(shù)據(jù)卻極其困難。

另一方面,目前大多數(shù)車載網(wǎng)絡(luò)測量設(shè)備要么是基于硬件的,要么是運行在PC上的軟件與硬件接口相結(jié)合的,這使得數(shù)據(jù)采集比通用測量設(shè)備更加便捷。然而,它們與通用測量設(shè)備并無本質(zhì)區(qū)別,都需要將通信波形與通信規(guī)范進行比較。

“ CAN數(shù)據(jù)庫”(圖4) 用作將這些通信波形與通信規(guī)范進行比較的機制。這不僅能夠?qū)σ褌鬏敽透碌臄?shù)據(jù)進行實時自動分析,而且還允許多個開發(fā)人員使用同一個CAN數(shù)據(jù)庫,從而最大限度地減少因開發(fā)人員對規(guī)范理解的差異而造成的影響。此外,只需更改CAN數(shù)據(jù)庫,即可使用相同的車載網(wǎng)絡(luò)測量設(shè)備更改規(guī)范,這還有一個額外的好處,即開發(fā)人員可以立即將熟悉的環(huán)境用于其他開發(fā)項目。

圖4、CAN數(shù)據(jù)庫

現(xiàn)在讓我們仔細看看 CAN 數(shù)據(jù)庫的內(nèi)容是什么樣的。

基本上,CAN 數(shù)據(jù)庫是將 CAN 通信規(guī)范翻譯成測量儀器可以讀取的形式,并且包含與通信規(guī)范相同的內(nèi)容。

在 CAN 數(shù)據(jù)庫中,CAN 數(shù)據(jù)幀通常表示為“消息”。設(shè)計人員可以自由設(shè)置數(shù)據(jù)幀內(nèi)數(shù)據(jù)字段(最多 8 個字節(jié))的使用方式,從而允許自由混合使用 1 字節(jié)數(shù)據(jù)、2 字節(jié)數(shù)據(jù)、1 位數(shù)據(jù)等等。這些單獨的數(shù)據(jù)片段通常被稱為“信號”(圖 5)。

圖5、信息與信號的關(guān)系

對于消息,可以定義“ID”、“消息名稱”、“DLC”、“格式”、“包含的信號”、“發(fā)送節(jié)點”、“每個信號在消息中的位置”等。

在CAN總線上傳輸信號時,數(shù)據(jù)與實際值(例如,物理值,如km/h或Nm)之間經(jīng)常存在差異。這受到多種因素的影響,例如信號值的分辨率(每比特的值),例如“如果信號值變化1,則實際速度應(yīng)變化0.25 km/h”,以及根據(jù)信號物理值范圍所需的偏移量。在CAN數(shù)據(jù)庫中,定義信號時,可以將分辨率定義為“因子”,將偏移量定義為“偏移量”。其他可用的定義包括信號名稱、信號長度、字節(jié)順序、最小值和最大值以及單位。

對于網(wǎng)絡(luò)節(jié)點,可以定義“節(jié)點名稱”、“要接收的信號”和“網(wǎng)絡(luò)管理關(guān)系”。

使用包含這些信息的 CAN 數(shù)據(jù)庫可以輕松分析各種類型的 CAN 數(shù)據(jù)。圖 6 顯示了使用車載網(wǎng)絡(luò)測量軟件時,使用 CAN 數(shù)據(jù)庫和不使用 CAN 數(shù)據(jù)庫之間的區(qū)別。當 ID、DLC、數(shù)據(jù)字段等的內(nèi)容以與通信規(guī)范相同的格式顯示時(使用 CAN 數(shù)據(jù)庫),分析會更加容易,而不是以十六進制格式顯示(圖 7)。

圖6、使用CAN數(shù)據(jù)庫與不使用CAN數(shù)據(jù)庫的區(qū)別

圖7、分析屏幕示例

然而,由于不同汽車制造商之間的通信規(guī)范各不相同,因此在大多數(shù)情況下,每個制造商的 CAN 數(shù)據(jù)庫內(nèi)容也不同,所以這一點需要注意。

CAN在汽車中的應(yīng)用

目前,CAN 已應(yīng)用于動力系統(tǒng)和車身系統(tǒng)等各個部件,但它在各個“ECU(電子控制單元)”中是如何應(yīng)用的呢?

如你所知,CAN 總線的主要用途是 ECU 之間交換數(shù)據(jù)(ECU 間通信)。為此,有多種通信方式,例如周期性發(fā)送數(shù)據(jù)或在特定事件發(fā)生時發(fā)送數(shù)據(jù)。但是,如果您將周期性傳輸視為由 ECU 內(nèi)部定時器觸發(fā)的事件,那么 CAN 總線基本上可以被視為“基于事件的通信”。

迄今為止,CAN 主要用于 ECU 之間的通信,但如今其應(yīng)用已十分廣泛,可被視為車載網(wǎng)絡(luò)的基礎(chǔ),并且越來越多地用于 ECU 間數(shù)據(jù)交換以外的其他用途。例如,在診斷每個 ECU 的故障時,現(xiàn)在不再使用傳統(tǒng)的專用通信線路,而是使用“ Diag On CAN(診斷通信) ”,它利用并集成了 CAN;此外,“ XCP ”也利用 CAN 通信來重寫 ECU 內(nèi)部數(shù)據(jù)(標定)并讀取內(nèi)部值。

圖8、CAN上的對角線

圖9、XCP

然而,CAN 用于如此多種用途以及 ECU 的增加給總線帶來了壓力,因此 CAN 現(xiàn)在不再使用一個通道進行通信,而是使用兩個或多個通道來創(chuàng)建一個多通道系統(tǒng),根據(jù)需要通過單獨的通道發(fā)送通信。

除了CAN的多通道特性外,越來越多的車載網(wǎng)絡(luò)協(xié)議也開始在同一輛車內(nèi)使用,例如LIN和FlexRay。具體來說,LIN用于傳感器/執(zhí)行器領(lǐng)域,因為在這些領(lǐng)域使用CAN控制器會顯著增加成本;而FlexRay則用于實時性能比基于事件的通信更為重要的領(lǐng)域。因此,不同的應(yīng)用場景會采用不同的通信協(xié)議。

在這種情況下,同一輛車內(nèi)會配置使用不同協(xié)議的車載網(wǎng)絡(luò),但各個網(wǎng)絡(luò)很少單獨通信;大多數(shù)情況下,會安裝一個網(wǎng)關(guān)來轉(zhuǎn)換協(xié)議并將必要的信息傳輸?shù)狡渌W(wǎng)絡(luò)。

CAN總線問題示例

接下來,我們將列出一些在使用 CAN 時可能出現(xiàn)的常見(潛在)問題,以及一些解決這些問題的技巧。

問題1:規(guī)范中定義的通信周期與實際通信周期不同

→ CAN 使用“CSMA/CA(載波偵聽多路訪問/沖突避免)”機制,如果 CAN 總線上其他節(jié)點有數(shù)據(jù)幀,則會等待發(fā)送。因此,通常無法以極其精確的周期發(fā)送數(shù)據(jù)(盡管通信規(guī)范通常會規(guī)定一個可接受的范圍)。

問題2:無法溝通

→這可能是由于在開發(fā)初期未將終端電阻器連接到物理層,或者由于斷線或錯誤導(dǎo)致總線處于關(guān)閉狀態(tài)。

問題 3:上電時出現(xiàn)錯誤幀

這可能發(fā)生在每個節(jié)點初始化期間。也可能發(fā)生在節(jié)點初始化期間無法發(fā)送確認信息時。

問題 4:無法使用測量設(shè)備進行測量

→這是一個很容易被忘記的基本設(shè)置,但您可能沒有進行基本設(shè)置以匹配通信速度和信號特性。

問題5:錯誤幀頻繁出現(xiàn)或通信異常

如果CAN總線使用率(總線負載)較高,則由于通信仲裁,可能會頻繁發(fā)生重傳。此外,也可能是由于物理層問題,接收節(jié)點未返回確認信息。

問題 6:容易發(fā)生掉線事故

→頻繁的傳輸錯誤會導(dǎo)致總線停止工作,因此首先要考慮的是物理原因,例如檢查線路。

CAN協(xié)議概述

最后,作為對目前為止所涵蓋內(nèi)容的總結(jié),我們將介紹與 CAN 相關(guān)的關(guān)鍵詞及其特點(詳情請參閱本系列的每一期)。

CAN總線特性

首先,我們來看一下CAN總線的特性。以下是一些您務(wù)必牢記的重要特性和關(guān)鍵詞。

·采用線型總線結(jié)構(gòu),可以方便地進行布線設(shè)計,即使以后需要添加節(jié)點,也可以相對容易地完成。

·多主系統(tǒng)允許每個節(jié)點按照統(tǒng)一的規(guī)格進行設(shè)計,可以說在通信方面是平等的。

·CSMA/CA允許來自多個節(jié)點的數(shù)據(jù)幀在發(fā)生沖突時不會被銷毀,從而實現(xiàn)數(shù)據(jù)傳輸。

·使用 ID 進行消息尋址可以明確優(yōu)先級,并允許接收節(jié)點決定是否接收,還允許多個節(jié)點同時接收。

·它是一種具有優(yōu)異抗噪聲性能且不易受外部噪聲干擾的物理層。這是通過使用兩線差分電壓實現(xiàn)的。

·實施了多種錯誤檢測機制,確保能夠可靠地檢測出各種異常情況。

·錯誤計數(shù)器根據(jù)每個節(jié)點的狀態(tài)進行控制,如果一個節(jié)點頻繁出現(xiàn)錯誤,它會關(guān)閉總線或?qū)㈠e誤標志設(shè)置為隱性,以最大限度地減少對通信的影響。

·當每個節(jié)點執(zhí)行協(xié)同控制時,它們可以使用相同的數(shù)據(jù),從而保持數(shù)據(jù)一致性。這是因為系統(tǒng)具有一種機制,在出現(xiàn)異常情況時,會重新傳輸數(shù)據(jù),直到所有節(jié)點都能正常接收數(shù)據(jù)為止。

·其最大通信速度為 1Mbps,可用于車載網(wǎng)絡(luò)的大部分領(lǐng)域。

CAN協(xié)議

接下來,我們回顧一下CAN協(xié)議。下面列出了一些您務(wù)必牢記的重要特性和關(guān)鍵詞。

·CAN 數(shù)據(jù)傳輸主要使用數(shù)據(jù)幀,根據(jù)格式的不同,數(shù)據(jù)幀分為標準格式(11 位 ID)和擴展格式(29 位 ID) 。

·有一種稱為遠程幀的機制可以請求數(shù)據(jù)幀,但現(xiàn)在很少使用。

·如果在通信過程中檢測到異常,可以發(fā)送錯誤幀來通知連接到網(wǎng)絡(luò)的節(jié)點該異常情況。

·如果節(jié)點在接收數(shù)據(jù)幀時處理能力不足,可以發(fā)送一個過載幀來延遲下一個數(shù)據(jù)幀的傳輸。然而,由于微型計算機處理能力的提升,這種做法如今已很少使用。

·采用CSMA/CA機制時,當多個節(jié)點同時發(fā)送數(shù)據(jù)幀和遠程幀時,會進行通信仲裁,優(yōu)先級由ID決定。ID值越小,優(yōu)先級越高。該ID可以在網(wǎng)絡(luò)設(shè)計時設(shè)置。

·當接收到數(shù)據(jù)幀時,連接到網(wǎng)絡(luò)的節(jié)點會將接收到的內(nèi)容與 CRC 進行比較,如果正常,則會發(fā)送確認信息,通知發(fā)送節(jié)點通信正在正常進行。

·發(fā)送錯誤幀的節(jié)點會根據(jù)具體情況遞增自身的錯誤計數(shù)器。該錯誤計數(shù)器的值決定了節(jié)點的狀態(tài),在某些情況下,節(jié)點可能會因此失去發(fā)送能力。這種機制可以防止網(wǎng)絡(luò)通信中斷。

物理層

最后,讓我們回顧一下上次解釋過的“物理層”。

·CAN 控制器是實現(xiàn) CAN 協(xié)議所需的電子元件,根據(jù)安裝類型、協(xié)議版本、消息管理等進行分類。

·根據(jù)協(xié)議版本是標準格式還是擴展格式,其在通信過程中處理方式有所不同。

·可以根據(jù)所使用的通信速度選擇消息管理方式。

·根據(jù)應(yīng)用場景的不同, CAN總線分為高速CAN和低速CAN 。每種類型都根據(jù)不同的應(yīng)用場景使用,并且具有不同的最大通信速度和物理層。

·高速 CAN 的最大通信速度為 1Mbps,主要用于需要高速通信的動力總成系統(tǒng)。

·低速CAN總線的最大通信速度為125 kbps,主要用于對通信速度要求不高的車載系統(tǒng)。此外,即使一條通信線路斷開,也能僅使用另一條線路繼續(xù)通信(容錯性)。

本文全面概述了CAN協(xié)議,包括采用CAN協(xié)議所需的知識,例如“數(shù)據(jù)分析”、“應(yīng)用示例”和“故障示例”。如果您想了解更多關(guān)于CAN的信息,建議參考ISO11898發(fā)布的CAN協(xié)議規(guī)范。

更多內(nèi)容,關(guān)注牛喀網(wǎng),學習更多汽車科技。有興趣的朋友,可以添加牛小喀微信:NewCarRen,加入專家社群參與討論。


網(wǎng)絡(luò)安全培訓.jpg

(添加微信號NewCarRen咨詢)

下一篇:暫無
上一篇: 車載網(wǎng)絡(luò)CAN(四):CAN控制器的分類和工作原理
相關(guān)文章
返回頂部小火箭