在之前的文章中,小編介紹了幾種常見的短距離無線通信傳輸技術和低功耗廣域網絡(LPWAN),后面的幾期文章將分享常見的有線傳輸方式,如CAN總線、串口通信、USB通信等。
有線傳輸方式
第一期:CAN總線
什么是CAN?
CAN是Controller Area Network 的縮寫(以下稱為CAN),是ISO國際標準化的串行通信協(xié)議。在汽車車載產業(yè)中,出于對車載安全性、舒適性、方便性、低功耗、低成本等等的要求,各種各樣的電子控制系統(tǒng)被開發(fā)了出來。由于這些電子控制系統(tǒng)之間通信所用到的數(shù)據(jù)類型、對可靠性的要求都不盡相同,而且由多條總線構成的情況也非常多,線束的數(shù)量也隨著構成情況而增加。
為適應“適當減少線束的數(shù)量”、“通過多個LAN,進行對大量數(shù)據(jù)間的高速數(shù)據(jù)通信”的需求,1986年德國電氣商博世公司開發(fā)出了面向汽車行業(yè)的CAN通信協(xié)議。此協(xié)議推出之后,CAN通過ISO11898及ISO11519進行了標準化,成為了歐洲已在汽車行業(yè)網絡控制系統(tǒng)內的標準協(xié)議。
CAN總線的數(shù)據(jù)格式
CAN-bus通信幀共分為數(shù)據(jù)幀、遠程幀、錯誤幀、過載幀和幀間隔。
數(shù)據(jù)幀:結構上由7個段組成,其中根據(jù)仲裁段ID碼長度的不同,分為標準幀(CAN2.0A)和擴展幀(CAN2.0B)。標準幀為11位,擴展幀為29位。這也是我們在使用中接觸最多的格式。
遠程幀:與數(shù)據(jù)幀相比沒有數(shù)據(jù)段,結構上由7個段組成。當你需要總線上的一個節(jié)點向你發(fā)送數(shù)據(jù),使用次節(jié)點的ID,發(fā)送一幀遠程幀。遠程幀最大的好處就是只需要一幀的時間就能完成一次雙向交互。
錯誤幀:雖然CAN總線是可靠性很高的總線,但是依然會出錯:CAN總線上會出現(xiàn)5種錯誤。
過載幀:當某個節(jié)點沒有做好接收下幀數(shù)據(jù)將發(fā)送過載幀通知節(jié)點。
幀間隔:只存在于數(shù)據(jù)幀與遠程幀之間,用于幀之間的分離。
CAN總線的通信特點
CAN總線是德國BOSCH從80年代初為了解決現(xiàn)代汽車中眾多控制、測試系統(tǒng)之間的數(shù)據(jù)交換,從而開發(fā)出來的一種串行數(shù)據(jù)通信協(xié)議,它是可以用雙絞線、同軸電纜或光導纖維來作為通信介質的一種多主總線。通信速率最高可達1Mbps。
(1)可在各節(jié)點之間實現(xiàn)自由通信:CAN協(xié)議的一個最大特點是廢除了傳統(tǒng)的站地址編碼,取而代之的是對通信數(shù)據(jù)塊進行編碼。采用這種方法的優(yōu)點是,在理論上,CAN構成的網絡節(jié)點個數(shù)是不受限制的。數(shù)據(jù)塊的標識符可由11位或29位二進制數(shù)組成,因此可以定義2或2個以上不同的數(shù)據(jù)塊,這種按數(shù)據(jù)塊編碼的方式,還可使不同的節(jié)點同時接收到相同的數(shù)據(jù),這一點在分布式控制系統(tǒng)中非常有用。
(2)結構簡單:只有2根線與外部相連,并且內部集成了錯誤探測和管理模塊。
(3)數(shù)據(jù)糾錯:采用雙線串行通信方式,檢錯能力強,可在高噪聲干擾環(huán)境中工作,每幀數(shù)據(jù)都有CRC校驗及其他檢錯措施,保證了數(shù)據(jù)傳輸?shù)母呖煽啃?,適于在高干擾環(huán)境下使用。
(4)完成對通信數(shù)據(jù)的成幀處理:CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可以完成對通信數(shù)據(jù)的成幀處理,包括數(shù)據(jù)位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗、優(yōu)先級判別等等。
CAN 的高性能和可靠性的特點現(xiàn)已被了解認同,并且被廣泛地應用在工業(yè)自動化、船舶、醫(yī)療設備、工業(yè)設備自動化等行業(yè)。CAN總線儼然是當今自動化領域技術發(fā)展的大熱之一,被譽為自動化領域的計算機局域網。它的出現(xiàn)為分布式控制系統(tǒng)實現(xiàn)各節(jié)點之間的實時、可靠的數(shù)據(jù)通信提供了強大有力的技術支持。
-
CAN
+關注
關注
57文章
2920瀏覽量
467841 -
通信
+關注
關注
18文章
6206瀏覽量
137829 -
總線
+關注
關注
10文章
2960瀏覽量
89776
發(fā)布評論請先 登錄

CAN總線十萬個為什么 | 為什么CAN總線分支不能過長?

CAN總線通信原理介紹 CAN總線模塊選擇指南
使用CAN總線的注意事項 CAN總線與其他通信協(xié)議對比
CAN總線應用領域 CAN總線協(xié)議解析
如何使用Arduino實現(xiàn)CAN總線通信




評論