CAN總線(Controller Area Network)是一種用于車輛、工業(yè)自動(dòng)化和其他領(lǐng)域的高可靠性、實(shí)時(shí)性強(qiáng)的串行通信協(xié)議。它允許多個(gè)微控制器和設(shè)備在沒有主機(jī)計(jì)算機(jī)的情況下相互通信。
CAN總線最初由德國BOSCH公司在1980年代初期為汽車內(nèi)部通信而開發(fā)。1993年,ISO發(fā)布了CAN總線標(biāo)準(zhǔn)(ISO 11898),包括數(shù)據(jù)鏈路層協(xié)議和物理層協(xié)議。
ISO 11898-1:定義數(shù)據(jù)鏈路層協(xié)議。
ISO 11898-2:定義高速CAN總線物理層協(xié)議,最高數(shù)據(jù)傳輸速率為1Mbps。推薦使用線形拓?fù)洌m用于實(shí)時(shí)性要求高的場合。
ISO 11898-3:定義低速CAN總線物理層協(xié)議,數(shù)據(jù)傳輸速率在40Kbps到125Kbps之間。也稱為容錯(cuò)CAN,能夠在一根信號(hào)線失效時(shí)繼續(xù)通信,適用于實(shí)時(shí)性要求較低的場合。
CAN總線特點(diǎn):
多主控制:CAN總線支持多個(gè)主設(shè)備同時(shí)存在于網(wǎng)絡(luò)上,沒有主從之分,設(shè)備根據(jù)消息的優(yōu)先級(jí)進(jìn)行通信。
差分信號(hào):使用兩根線(CAN_H和CAN_L)傳輸差分信號(hào),提高了抗電磁干擾的能力。
非破壞性仲裁:在消息傳輸過程中,如果發(fā)生沖突,優(yōu)先級(jí)高的消息將被傳輸,低優(yōu)先級(jí)的消息將等待重傳。
錯(cuò)誤檢測與處理:具有強(qiáng)大的錯(cuò)誤檢測和處理能力,包括CRC校驗(yàn)、位錯(cuò)誤檢查等。
靈活的拓?fù)浣Y(jié)構(gòu):支持多種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),如線形、星形、樹形和環(huán)形。
在CAN總線上,邏輯“0”和“1”之間顯著的電壓差是總線可靠通信的保證。參照上面的描述,CAN總線上兩種電平狀態(tài)分別為:
顯性(Dominant ): 0
隱性(Recessive ): 1
CAN總線的信號(hào)電平具有線與特性,線與特性是CAN總線仲裁的電路基礎(chǔ),即顯性電平(0)總是會(huì)掩蓋隱性電平(1),如果不同節(jié)點(diǎn)同時(shí)發(fā)送顯性和隱性電平,總線上表現(xiàn)出顯性電平(0),只有在總線上所有節(jié)點(diǎn)發(fā)送的都是隱性電平(1)時(shí),總線才表現(xiàn)為隱性。
顯性電平:邏輯0,高速CAN中CAN_H端向5V,CAN_L端向0V。
隱性電平:邏輯1,不驅(qū)動(dòng)任何一端。
高速CAN和低速CAN總線在物理層信號(hào)電平上定義有所不同:
高速CAN,定義 CANH 和 CANL 電壓相同(CANH = CANL = 2.5V)時(shí)為邏輯“1”,CANH和CANL 電壓相差 2V(CANH = 3.5V, CANL = 1.5V)時(shí)為邏輯“0”。
高速CAN收發(fā)器在共模電壓范圍內(nèi)(-12V ~ 12V),將CANH和CANL電壓相差大于0.9V 解釋為顯性狀態(tài)(Dominant),而將CANH和CANL電壓相差小于0.5V 解釋為為隱性狀態(tài)(Recessive)。收發(fā)器內(nèi)部有遲滯電路可以降低干擾。
低速CAN,定義CANH和CANL電壓相差 5V (CANH =0V, CANL = 5V)時(shí)為邏輯“1”,相差 2.2V (CANH = 3.6V, CANL = 1.4V)時(shí)為邏輯“0”。
高速CAN信號(hào)電平( ISO 11898-2)
低速CAN信號(hào)電平( ISO 11898-3)
CAN的錯(cuò)誤處理機(jī)制:
CRC錯(cuò)誤:通過計(jì)算和校驗(yàn)數(shù)據(jù)的CRC值來檢測錯(cuò)誤。
位錯(cuò)誤:在傳輸過程中實(shí)時(shí)檢測比特錯(cuò)誤。
錯(cuò)誤幀:當(dāng)檢測到錯(cuò)誤時(shí),發(fā)送錯(cuò)誤幀以請(qǐng)求重傳。
總結(jié)
CAN總線以其高可靠性、實(shí)時(shí)性和靈活性,在多個(gè)領(lǐng)域得到了廣泛應(yīng)用。隨著技術(shù)的發(fā)展,CAN總線也在不斷演進(jìn),例如BOSCH發(fā)布的CAN FD(Flexible Data-Rate)標(biāo)準(zhǔn),進(jìn)一步提高了數(shù)據(jù)傳輸速率,滿足了更高帶寬需求的應(yīng)用場景。
審核編輯:劉清
-
微控制器
+關(guān)注
關(guān)注
48文章
7541瀏覽量
151302 -
CAN總線
+關(guān)注
關(guān)注
145文章
1942瀏覽量
130718 -
SoC芯片
+關(guān)注
關(guān)注
1文章
610瀏覽量
34903 -
串行通信
+關(guān)注
關(guān)注
4文章
571瀏覽量
35391 -
數(shù)字信號(hào)電平
+關(guān)注
關(guān)注
0文章
9瀏覽量
7173
原文標(biāo)題:SoC芯片的CAN總線詳解(一)
文章出處:【微信號(hào):全棧芯片工程師,微信公眾號(hào):全棧芯片工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論