一、 CAN總線相關(guān)知識
CAN總線概述
- CAN(Controller Area Network)總線是一種高實時性、高可靠性和靈活性的串行通信協(xié)議,廣泛應(yīng)用于汽車和工業(yè)控制系統(tǒng)中。它由德國BOSCH公司開發(fā),最高速率可達(dá)到1Mbps,具有強大的檢錯和處理機(jī)制,以及高抗干擾性和自診斷能力。
1.CAN總線特點
- 高實時性:CAN總線采用非破壞性仲裁技術(shù),確保高優(yōu)先級數(shù)據(jù)能夠優(yōu)先傳輸。
- 高可靠性:CAN總線具有強大的錯誤檢測和處理機(jī)制,包括CRC校驗、應(yīng)答機(jī)制等,能夠有效提高數(shù)據(jù)傳輸?shù)目煽啃浴?/li>
- 靈活性:CAN總線支持多種操作模式,如正常模式、只聽模式、自測模式等,滿足不同應(yīng)用場景的需求。
- 擴(kuò)展性:CAN總線支持多個節(jié)點同時接入,方便用戶根據(jù)實際需求進(jìn)行靈活配置和擴(kuò)展。
2.為什么CAN節(jié)點ID不能相同
CAN(Controller Area Network)總線是一種廣泛應(yīng)用于汽車和工業(yè)自動化領(lǐng)域的串行通信協(xié)議。在CAN總線網(wǎng)絡(luò)中,節(jié)點ID(標(biāo)識符)用于區(qū)分不同的報文和數(shù)據(jù)源,確保數(shù)據(jù)能夠準(zhǔn)確無誤地傳輸?shù)侥繕?biāo)節(jié)點。節(jié)點ID不能相同的原因主要有以下幾點:
- 仲裁機(jī)制:CAN總線的仲裁機(jī)制是基于報文的ID進(jìn)行的。當(dāng)多個節(jié)點同時向總線發(fā)送報文時,CAN控制器會監(jiān)聽總線上的電平信號,并根據(jù)報文的ID進(jìn)行仲裁。ID數(shù)值越小的報文具有越高的優(yōu)先級,會優(yōu)先被發(fā)送。如果兩個或更多節(jié)點具有相同的ID,那么仲裁機(jī)制將失效,因為所有具有相同ID的節(jié)點都會認(rèn)為自己具有發(fā)送報文的優(yōu)先權(quán),從而導(dǎo)致總線沖突和數(shù)據(jù)傳輸錯誤。
- 避免數(shù)據(jù)沖突:為了確保CAN總線上的數(shù)據(jù)傳輸高效且有序,每個節(jié)點都需要一個唯一的ID來標(biāo)識其發(fā)送的報文。這樣可以有效避免不同節(jié)點之間的數(shù)據(jù)沖突,確保每個報文都能被正確接收和處理。
- 提高系統(tǒng)穩(wěn)定性:如果允許節(jié)點ID相同,那么CAN總線網(wǎng)絡(luò)將變得不穩(wěn)定且難以管理。因為當(dāng)多個節(jié)點同時發(fā)送數(shù)據(jù)時,由于ID相同而無法進(jìn)行有效的仲裁,這可能導(dǎo)致總線擁塞、數(shù)據(jù)傳輸失敗甚至整個系統(tǒng)崩潰。
3、CAN總線常遇到的問題
- 通信錯誤:由于CAN總線上的節(jié)點之間存在不同的優(yōu)先級,可能導(dǎo)致數(shù)據(jù)沖突。此外,錯誤的軟件實現(xiàn)或硬件設(shè)計也可能導(dǎo)致通信錯誤。
- 總線短路:CAN總線上連接的電氣設(shè)備可能因為短路而損壞總線系統(tǒng)。這通常是由于設(shè)備的接地問題、電源問題或其他電氣問題導(dǎo)致的。
- 錯誤幀:CAN總線上可能會出現(xiàn)錯誤幀,這些幀包含了錯誤的ID或者CRC校驗錯誤等信息。錯誤幀的出現(xiàn)可能會導(dǎo)致總線上的其他節(jié)點誤判情況,從而影響整個系統(tǒng)的正常運行。
- 總線過載:當(dāng)CAN總線上的節(jié)點數(shù)量過多或者通信數(shù)據(jù)量過大時,可能導(dǎo)致總線過載,從而影響通信性能和穩(wěn)定性。
- 總線阻塞:在某些情況下,CAN總線上的節(jié)點可能會長時間保持發(fā)送狀態(tài),從而導(dǎo)致其他節(jié)點無法發(fā)送數(shù)據(jù),這種現(xiàn)象被稱為總線阻塞。
- 總線錯誤:CAN總線上的節(jié)點可能會發(fā)生硬件故障,例如控制器損壞、接口損壞等,這些情況都可能導(dǎo)致總線錯誤。
- 總線干擾:CAN總線可能會受到外部電磁干擾,如電源干擾、射頻干擾等,這些干擾可能導(dǎo)致總線上的數(shù)據(jù)傳輸出錯。
4、以個位數(shù)價格的工業(yè)級HMI芯片–Model3C為例, 2路CAN的應(yīng)用

Model3C是啟明智顯推出的一款基于RISC-V的高性能、國產(chǎn)自主、工業(yè)級高清顯示與智能控制MCU,集成了先進(jìn)的工業(yè)HMI技術(shù)和雙CAN通信技術(shù)。其2路CAN的應(yīng)用主要體現(xiàn)在以下幾個方面:
- 雙通道冗余設(shè)計
Model3C采用雙通道冗余設(shè)計,當(dāng)其中一個CAN通道出現(xiàn)故障時,另一個通道可以立即接管數(shù)據(jù)傳輸任務(wù),確保系統(tǒng)的持續(xù)運行。這種設(shè)計大大提高了系統(tǒng)的可靠性和容錯能力。
- 快速數(shù)據(jù)傳輸和穩(wěn)定通信
Model3C配備的2路CAN接口支持多種通信速率和操作模式,能夠滿足不同應(yīng)用場景下的數(shù)據(jù)傳輸需求。同時,CAN總線的高實時性和可靠性保證了數(shù)據(jù)傳輸?shù)目焖傩院头€(wěn)定性。
- 靈活配置和擴(kuò)展
Model3C的2路CAN接口支持多個節(jié)點同時接入總線,方便用戶根據(jù)實際需求進(jìn)行靈活配置和擴(kuò)展。這種擴(kuò)展性使得系統(tǒng)能夠適應(yīng)不斷變化的應(yīng)用場景,提高了系統(tǒng)的靈活性和適應(yīng)性。
- 廣泛應(yīng)用場景
Model3C的2路CAN接口可以應(yīng)用于多種工業(yè)控制場景,如船舶、交通軌道、汽車儀表、醫(yī)療器械等領(lǐng)域的區(qū)域網(wǎng)絡(luò)控制。通過CAN通信,設(shè)備可以將各種數(shù)據(jù)發(fā)送到彩屏儀表上,為用戶提供實時、直觀、簡潔的信息。
5、以MODEL3C芯片為例,如何做CAN的收發(fā)測試
將測試板上的兩個CAN接口對接。執(zhí)行can_sample命令,CAN0會向CAN1發(fā)送數(shù)據(jù),CAN1會打印接收到的數(shù)據(jù)。
aic /> can_sample
發(fā)送測試數(shù)據(jù):
通過調(diào)試工具向CAN總線發(fā)送測試數(shù)據(jù)。測試數(shù)據(jù)可以包括各種類型的數(shù)據(jù)幀,如標(biāo)準(zhǔn)幀、擴(kuò)展幀等。確保發(fā)送的數(shù)據(jù)內(nèi)容正確,并且發(fā)送頻率和時序符合要求。
觀察接收:
觀察CAN總線上的接收設(shè)備是否能夠正確接收發(fā)送的測試數(shù)據(jù)。
驗證接收設(shè)備的數(shù)據(jù)內(nèi)容是否與發(fā)送的數(shù)據(jù)相匹配,并且沒有數(shù)據(jù)丟失或錯誤。
-
芯片
+關(guān)注
關(guān)注
459文章
52145瀏覽量
435868 -
CAN總線
+關(guān)注
關(guān)注
145文章
1973瀏覽量
132215 -
CAN
+關(guān)注
關(guān)注
57文章
2884瀏覽量
466683 -
HMI
+關(guān)注
關(guān)注
9文章
630瀏覽量
49655
發(fā)布評論請先 登錄
CAN總線入門知識
應(yīng)用探討:二路CAN接口的定制
STM32G473CBT6同時使用三路CAN總線,怎么處理BOOT引腳?
求大神指點,MC9S12XET256MAL兩路CAN總線怎么接收數(shù)據(jù)?
介紹CAN總線的相關(guān)概念
簡單介紹CAN總線的相關(guān)概念
GY8608 CAN總線接口的雙路步進(jìn)電機(jī)控制器
CAN總線協(xié)議是什么?CAN總線協(xié)議有哪些?CAN總線協(xié)議知識分析

關(guān)于CAN總線錯誤的相關(guān)知識
CAN總線錯誤的類型介紹
光纖兩路CAN設(shè)備搭配用的類型
工業(yè)級HMI芯片Model3C詳解(三)通信接口

評論