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