- CAN協(xié)議概述
1.1 CAN協(xié)議的起源和發(fā)展
CAN協(xié)議最早由德國Bosch公司于1983年提出,旨在解決汽車電子系統(tǒng)中的通信問題。隨著技術(shù)的發(fā)展,CAN協(xié)議逐漸被廣泛應(yīng)用于工業(yè)控制、醫(yī)療設(shè)備、智能家居等領(lǐng)域。
1.2 CAN協(xié)議的特點(diǎn)
CAN協(xié)議具有以下特點(diǎn):
- 多主控制:CAN協(xié)議支持多個(gè)節(jié)點(diǎn)同時(shí)進(jìn)行通信,提高了系統(tǒng)的實(shí)時(shí)性和可靠性。
- 廣播通信:CAN協(xié)議采用廣播方式進(jìn)行通信,所有節(jié)點(diǎn)都可以接收到發(fā)送的數(shù)據(jù)。
- 非破壞性仲裁:當(dāng)兩個(gè)或多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送數(shù)據(jù)時(shí),CAN協(xié)議通過仲裁機(jī)制確保數(shù)據(jù)的正確傳輸。
- 錯(cuò)誤檢測和處理:CAN協(xié)議具有錯(cuò)誤檢測和處理功能,可以及時(shí)發(fā)現(xiàn)并處理通信過程中的錯(cuò)誤。
- CAN信息幀的組成部分
CAN信息幀是CAN協(xié)議中最基本的數(shù)據(jù)傳輸單元,其組成部分如下:
2.1 幀起始位
幀起始位是信息幀的第一個(gè)位,用于標(biāo)識信息幀的開始。
2.2 仲裁場
仲裁場用于確定發(fā)送數(shù)據(jù)的優(yōu)先級。在CAN協(xié)議中,仲裁場的長度為11位或29位,分別對應(yīng)標(biāo)準(zhǔn)幀和擴(kuò)展幀。仲裁場的值越小,優(yōu)先級越高。
2.3 控制場
控制場包括遠(yuǎn)程傳輸請求位(RTR)和標(biāo)識符擴(kuò)展位(IDE)。RTR位用于標(biāo)識數(shù)據(jù)幀是遠(yuǎn)程幀還是數(shù)據(jù)幀,IDE位用于標(biāo)識幀是標(biāo)準(zhǔn)幀還是擴(kuò)展幀。
2.4 數(shù)據(jù)場
數(shù)據(jù)場用于存儲實(shí)際傳輸?shù)臄?shù)據(jù)。標(biāo)準(zhǔn)幀的數(shù)據(jù)場長度為0-8字節(jié),擴(kuò)展幀的數(shù)據(jù)場長度為0-64字節(jié)。
2.5 校驗(yàn)場
校驗(yàn)場包括循環(huán)冗余校驗(yàn)(CRC)和CRC界定符。CRC用于檢測數(shù)據(jù)在傳輸過程中是否出現(xiàn)錯(cuò)誤,CRC界定符用于標(biāo)識CRC校驗(yàn)的結(jié)束。
2.6 應(yīng)答場
應(yīng)答場包括應(yīng)答插槽和應(yīng)答界定符。應(yīng)答插槽用于接收節(jié)點(diǎn)發(fā)送應(yīng)答,應(yīng)答界定符用于標(biāo)識應(yīng)答場的結(jié)束。
2.7 幀結(jié)束位
幀結(jié)束位是信息幀的最后一個(gè)位,用于標(biāo)識信息幀的結(jié)束。
- 數(shù)據(jù)鏈路層的功能
數(shù)據(jù)鏈路層是OSI參考模型中的第二層,主要負(fù)責(zé)在物理層之上實(shí)現(xiàn)數(shù)據(jù)的可靠傳輸。數(shù)據(jù)鏈路層的功能包括:
3.1 幀同步
幀同步是數(shù)據(jù)鏈路層的基本功能之一,用于確保發(fā)送和接收節(jié)點(diǎn)能夠正確識別信息幀的開始和結(jié)束。
3.2 差錯(cuò)控制
差錯(cuò)控制是數(shù)據(jù)鏈路層的另一個(gè)重要功能,包括錯(cuò)誤檢測和錯(cuò)誤糾正。CAN協(xié)議采用循環(huán)冗余校驗(yàn)(CRC)進(jìn)行錯(cuò)誤檢測,以確保數(shù)據(jù)的完整性。
3.3 流量控制
流量控制用于防止發(fā)送節(jié)點(diǎn)過快地發(fā)送數(shù)據(jù),導(dǎo)致接收節(jié)點(diǎn)無法處理。數(shù)據(jù)鏈路層通過控制數(shù)據(jù)的發(fā)送速率,確保數(shù)據(jù)的可靠傳輸。
3.4 訪問控制
訪問控制是數(shù)據(jù)鏈路層的另一個(gè)關(guān)鍵功能,用于協(xié)調(diào)多個(gè)節(jié)點(diǎn)之間的通信。在CAN協(xié)議中,通過非破壞性仲裁機(jī)制實(shí)現(xiàn)訪問控制,確保數(shù)據(jù)的正確傳輸。
- CAN信息幀在數(shù)據(jù)鏈路層的應(yīng)用
4.1 幀同步
在CAN信息幀中,幀起始位和幀結(jié)束位用于實(shí)現(xiàn)幀同步。發(fā)送節(jié)點(diǎn)通過發(fā)送幀起始位標(biāo)識信息幀的開始,接收節(jié)點(diǎn)通過檢測幀起始位實(shí)現(xiàn)幀同步。
4.2 差錯(cuò)控制
在CAN信息幀中,校驗(yàn)場的CRC用于實(shí)現(xiàn)差錯(cuò)控制。發(fā)送節(jié)點(diǎn)在發(fā)送數(shù)據(jù)前,會根據(jù)數(shù)據(jù)生成CRC校驗(yàn)碼,并將其附加到數(shù)據(jù)場之后。接收節(jié)點(diǎn)在接收到數(shù)據(jù)后,會重新計(jì)算CRC校驗(yàn)碼,并與接收到的CRC校驗(yàn)碼進(jìn)行比較,以檢測數(shù)據(jù)是否出現(xiàn)錯(cuò)誤。
4.3 流量控制
在CAN協(xié)議中,流量控制主要通過仲裁機(jī)制實(shí)現(xiàn)。當(dāng)兩個(gè)或多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送數(shù)據(jù)時(shí),CAN協(xié)議通過仲裁機(jī)制確定優(yōu)先級,確保數(shù)據(jù)的可靠傳輸。
4.4 訪問控制
在CAN協(xié)議中,訪問控制主要通過非破壞性仲裁機(jī)制實(shí)現(xiàn)。當(dāng)兩個(gè)或多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送數(shù)據(jù)時(shí),CAN協(xié)議通過比較仲裁場的值,確定發(fā)送數(shù)據(jù)的優(yōu)先級。具有較高優(yōu)先級的節(jié)點(diǎn)可以繼續(xù)發(fā)送數(shù)據(jù),而具有較低優(yōu)先級的節(jié)點(diǎn)則需要等待,直到高優(yōu)先級節(jié)點(diǎn)完成數(shù)據(jù)發(fā)送。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7256瀏覽量
91831 -
CAN
+關(guān)注
關(guān)注
57文章
2919瀏覽量
467749 -
工業(yè)控制
+關(guān)注
關(guān)注
38文章
1543瀏覽量
87019 -
數(shù)據(jù)鏈
+關(guān)注
關(guān)注
2文章
39瀏覽量
15975
發(fā)布評論請先 登錄
TLP的數(shù)據(jù)鏈路層組成與操作
介紹車用CAN通訊的基礎(chǔ)知識,數(shù)據(jù)鏈路層部分
數(shù)據(jù)鏈路層的協(xié)議數(shù)據(jù)單元包括哪幾部分呢
數(shù)據(jù)鏈路層的作用
什么是OSI模型數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路層到底是什么_數(shù)據(jù)鏈路層工作原理是怎樣的

數(shù)據(jù)鏈路層常用成紙法有哪些_數(shù)據(jù)鏈路層的作用

數(shù)據(jù)鏈路層設(shè)備有哪些
數(shù)據(jù)鏈路層的功能
數(shù)據(jù)鏈路層的任務(wù)
數(shù)據(jù)鏈路層設(shè)備有哪些
CAN總線協(xié)議的數(shù)據(jù)鏈路層有哪些部分
如何使用ZPS-CANFD觀察CAN數(shù)據(jù)鏈路層的工作過程

評論