亚洲综合图片区自拍_思思91精品国产综合在线观看_一区二区三区欧美_欧美黑人又粗又大_亚洲人成精品久久久久桥本

CAN基礎(chǔ)內(nèi)容詳解

2023-06-16 16:24:41 來(lái)源:華芯微特32位MCU

鑒于用戶開(kāi)發(fā)過(guò)程中,經(jīng)常碰到CAN使用的問(wèn)題,故作此筆記。


【資料圖】

1CAN簡(jiǎn)介

控制器局域網(wǎng)總線(CAN,Controller Area Network)是一種用于實(shí)時(shí)應(yīng)用的串行通訊協(xié)議總線,它可以使用雙絞線來(lái)傳輸信號(hào),是世界上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。

CAN協(xié)議用于汽車中各種不同元件之間的通信,以此取代昂貴而笨重的配電線束。該協(xié)議的健壯性使其用途延伸到其他自動(dòng)化和工業(yè)應(yīng)用。

2CAN硬件接口

CAN總線為差分傳輸,可以很好的抵制共模干擾,如圖,CAN-H和CAN-L的波形中間穿插了一個(gè)共模干擾,但是經(jīng)過(guò)差分后的信號(hào),很好的過(guò)濾掉了這個(gè)共模干擾。

需要注意的是,CAN總線有5V和3.3V之分,兩種電壓類型的CAN總線并不兼容,實(shí)際使用的時(shí)候注意區(qū)分。

3CAN數(shù)據(jù)包解析

如圖,一個(gè)CAN總線數(shù)據(jù)包,由仲裁段(ID)、控制段、數(shù)據(jù)段、CRC等部分組成 。

標(biāo)準(zhǔn)幀、擴(kuò)展幀主要是ID不一樣,其它都一樣,每個(gè)數(shù)據(jù)包最大可包含64bit(8byte)的數(shù)據(jù)。

4CAN發(fā)送邏輯

CAN RX接收CAN總線上的波形數(shù)據(jù),故:CAN TX發(fā)送的數(shù)據(jù),也會(huì)被自己RX接收,因此CAN可以監(jiān)控自己數(shù)據(jù)是否發(fā)送成功。

CAN發(fā)送數(shù)據(jù)的時(shí)候,其他CAN設(shè)備接收了數(shù)據(jù)之后,如果CRC校驗(yàn)通過(guò),會(huì)在ACK SLOT時(shí)間發(fā)送“顯性”位填充,因此總線上不能只有一個(gè)節(jié)點(diǎn),因?yàn)闊o(wú)接收節(jié)點(diǎn)在ACK SLOT時(shí)間內(nèi) 發(fā)送“顯性”位填充,而始終保持隱性,發(fā)送方會(huì)認(rèn)為數(shù)據(jù)發(fā)送失敗。

5CAN軟件應(yīng)用

i.采樣點(diǎn)設(shè)置

受總線上容性器件影響,CAN總線波形上升沿下降沿會(huì)變得平滑,采樣點(diǎn)設(shè)置尤其重要,過(guò)前或者過(guò)后采集到的波形可能壓差不符合壓差標(biāo)準(zhǔn)而出現(xiàn)誤采樣數(shù)據(jù)出錯(cuò)的現(xiàn)象,一般推薦采樣點(diǎn)82%左右

程序初始化的時(shí)候,根據(jù)實(shí)際需要的波特率以及采樣點(diǎn)來(lái)確定參數(shù)的大小,計(jì)算的時(shí)候注意CAN模塊寄存器BRP位寬可以滿足設(shè)置的數(shù)據(jù)大小,防止寄存器溢出。

ii.使用邏輯

用戶可以設(shè)置CAN總線的自動(dòng)重發(fā)機(jī)制,如果長(zhǎng)時(shí)間數(shù)據(jù)都沒(méi)有發(fā)送成功,建議取消發(fā)送。

推薦開(kāi)啟Error中斷,當(dāng)總線發(fā)生錯(cuò)誤的時(shí)候,可以提前處理,也可以定期查詢SR,出現(xiàn)Busoff之后做相應(yīng)處理。當(dāng)出現(xiàn)了Error之后,需要排查出現(xiàn)Error的原因,解決了問(wèn)題,才會(huì)使通信變得更穩(wěn)定。

審核編輯:湯梓紅

標(biāo)簽:

上一篇:開(kāi)關(guān)電源/開(kāi)關(guān)MOS管/開(kāi)關(guān)變壓器損耗講解_世界新資訊
下一篇:最后一頁(yè)