新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 【CAN基礎(chǔ)】電平、邏輯、報文是怎么來的

【CAN基礎(chǔ)】電平、邏輯、報文是怎么來的

作者: 時間:2019-04-28 來源:電子產(chǎn)品世界 收藏

CAN總線通訊是我們每天都會使用的工業(yè)通訊總線,工程師更多的是關(guān)注報文是否能夠正常接收,解析結(jié)果是否正確。卻忽略了CAN總線的報文是怎么產(chǎn)生以及收發(fā)的,所以遇到通訊異常的問題時就會無從下手。那么這篇文章將會帶您快速了解報文的傳輸。

本文引用地址:http://www.butianyuan.cn/article/201904/399979.htm

一、節(jié)點通訊的

1556418429586836.jpg

圖1  CAN節(jié)點示意圖

如圖1所示是一個CAN節(jié)點的示意圖,整體包括了CAN收發(fā)器、CAN控制器和MCU。我們以節(jié)點發(fā)送報文為例,當(dāng)我們使用上位機(jī)軟件發(fā)送一段報文時,報文會通過MCU發(fā)送給CAN控制器。CAN控制器將這段報文解析成邏輯信號后,再發(fā)送給CAN收發(fā)器。CAN收發(fā)器根據(jù)CAN-bus標(biāo)準(zhǔn)將接收到的邏輯信號轉(zhuǎn)換成電信號,再通過CAN_H和CAN_L兩根總線將電信號傳到總線上的其他節(jié)點上。

簡單說就是MCU將報文發(fā)送給控制器,控制器將報文轉(zhuǎn)換成符合規(guī)范的CAN報文后,通過CAN收發(fā)器以電信號的形式在總線上進(jìn)行傳輸。

二、電平是如何轉(zhuǎn)換成邏輯?

1.png

圖2  CAN-bus信號電平

如圖2所示,CAN總線使用的是雙線差分信號,所以分為CAN_H和CAN_L兩根總線,根據(jù)兩根總線之間電壓的差值大小來判斷其顯隱性。而線纜上傳輸?shù)碾娖叫盘栔挥袃煞N可能,分別為顯性電平和隱性電平,其中顯性電平代表邏輯 0,隱性電平代表邏輯 1。

當(dāng)接受到報文時,首先就要通過CAN收發(fā)器將電信號轉(zhuǎn)換成邏輯信號。根據(jù)圖3所示的ISO11898高速CAN電平標(biāo)準(zhǔn)進(jìn)行判斷,但是線路上經(jīng)常會受到各種干擾,為了保證傳輸?shù)姆€(wěn)定性。所以差分電平小于0.5V就是隱性電平代表邏輯1,差分電平大于0.9V就是顯性電平代表邏輯0。

1556418465425160.png

圖3  ISO11898高速CAN電平

三、邏輯信號如何轉(zhuǎn)換成報文?

CAN控制器是CAN-bus設(shè)備的核心元件,集成了CAN規(guī)范中數(shù)據(jù)鏈路層的全部功能,能夠自動完成CAN-bus協(xié)議的解析。

當(dāng)CAN收發(fā)器將邏輯信號傳送給CAN控制器后,CAN控制器會將邏輯信號轉(zhuǎn)換成符合CAN規(guī)范的CAN幀。而CAN幀的類型包括了數(shù)據(jù)幀、遠(yuǎn)程幀、幀間空間、錯誤幀和超載幀。

1556418494363934.png

圖 4  標(biāo)準(zhǔn)幀格式

以最常見的數(shù)據(jù)幀為例,圖4就是標(biāo)準(zhǔn)幀的格式,包括了幀起始、仲裁場、控制場、數(shù)據(jù)場等。

1556418512485450.png

圖5  報文解析實例

圖5就是報文解析的實例,當(dāng)接受到對應(yīng)的邏輯信號后,CAN控制器就會根據(jù)規(guī)定的CAN幀格式進(jìn)行解析,并將報文發(fā)給MCU。

四、上位機(jī)報文顯示

1556418529485329.png

圖 6  上位機(jī)報文顯示

如圖6所示,當(dāng)CAN控制器完成了CAN-bus協(xié)議的解析后,就會將報文傳輸?shù)組CU中在上位機(jī)軟件中進(jìn)行顯示。像幀起始、CRC場、ACK場這樣的數(shù)據(jù)不讀取,所以我們上位機(jī)軟件只顯示數(shù)據(jù)幀類型、幀ID和幀數(shù)據(jù)等信息。

總結(jié):

對于CAN總線報文錯誤來說,百分之九十的錯誤都來自于物理層,而CANScope總線分析儀可以對CAN 波形與報文同步發(fā)送和接收,快速對CAN總線進(jìn)行各項測試,幫助工程師們快速完成故障定位和問題排查。



關(guān)鍵詞: CAN基礎(chǔ) 原理

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉