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

Model3C是啟明智顯推出的一款基于RISC-V的高性能、國產自主、工業(yè)級高清顯示與智能控制MCU,集成了先進的工業(yè)HMI技術和雙CAN通信技術。其2路CAN的應用主要體現(xiàn)在以下幾個方面:
- 雙通道冗余設計
Model3C采用雙通道冗余設計,當其中一個CAN通道出現(xiàn)故障時,另一個通道可以立即接管數(shù)據(jù)傳輸任務,確保系統(tǒng)的持續(xù)運行。這種設計大大提高了系統(tǒng)的可靠性和容錯能力。
- 快速數(shù)據(jù)傳輸和穩(wěn)定通信
Model3C配備的2路CAN接口支持多種通信速率和操作模式,能夠滿足不同應用場景下的數(shù)據(jù)傳輸需求。同時,CAN總線的高實時性和可靠性保證了數(shù)據(jù)傳輸?shù)目焖傩院头€(wěn)定性。
- 靈活配置和擴展
Model3C的2路CAN接口支持多個節(jié)點同時接入總線,方便用戶根據(jù)實際需求進行靈活配置和擴展。這種擴展性使得系統(tǒng)能夠適應不斷變化的應用場景,提高了系統(tǒng)的靈活性和適應性。
- 廣泛應用場景
Model3C的2路CAN接口可以應用于多種工業(yè)控制場景,如船舶、交通軌道、汽車儀表、醫(yī)療器械等領域的區(qū)域網(wǎng)絡控制。通過CAN通信,設備可以將各種數(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ù):
通過調試工具向CAN總線發(fā)送測試數(shù)據(jù)。測試數(shù)據(jù)可以包括各種類型的數(shù)據(jù)幀,如標準幀、擴展幀等。確保發(fā)送的數(shù)據(jù)內容正確,并且發(fā)送頻率和時序符合要求。
觀察接收:
觀察CAN總線上的接收設備是否能夠正確接收發(fā)送的測試數(shù)據(jù)。
驗證接收設備的數(shù)據(jù)內容是否與發(fā)送的數(shù)據(jù)相匹配,并且沒有數(shù)據(jù)丟失或錯誤。
-
芯片
+關注
關注
463文章
53949瀏覽量
465273 -
CAN總線
+關注
關注
145文章
2042瀏覽量
135158 -
CAN
+關注
關注
59文章
3058瀏覽量
472576 -
HMI
+關注
關注
9文章
711瀏覽量
51928
發(fā)布評論請先 登錄
CAN總線入門知識
應用探討:二路CAN接口的定制
STM32G473CBT6同時使用三路CAN總線,怎么處理BOOT引腳?
求大神指點,MC9S12XET256MAL兩路CAN總線怎么接收數(shù)據(jù)?
GY8608 CAN總線接口的雙路步進電機控制器
CAN總線協(xié)議是什么?CAN總線協(xié)議有哪些?CAN總線協(xié)議知識分析
光纖兩路CAN設備搭配用的類型
工業(yè)級HMI芯片Model3C詳解(三)通信接口
【技術分享】CAN總線相關知識探討以及Model3C兩路CAN的應用
評論