久久精品国产清自在天天线_日韩国产欧美系列_亚洲天堂影视在线观看_91在线艹亚洲无码午夜_日本写真高清视频免费网站网_亚州无码大尺度另类_高跟翘臀老师后进式视频午夜_久久精品国产亚洲AV热黑人_国产另ts另类人妖_丁香五月 开心五月 激情五月

當(dāng)前位置:IT培訓(xùn) > 華清遠(yuǎn)見教育科技集團(tuán) > 嵌入式學(xué)習(xí) > 講師博文 > CAN總線入門如此簡單
CAN總線入門如此簡單
時(shí)間:2018-03-15作者:華清遠(yuǎn)見

很難找到一篇能夠適合初學(xué)者CAN總線原理的文章,因此小編本著通俗易懂的原則編寫此文!

can總線

什么是CAN總線?

CAN總線應(yīng)用于汽車,實(shí)現(xiàn)電子控制器和傳感器之間的通信

Ø 高可靠性、低成本的通信協(xié)議。

Ø 最初由Robert Bosch于1986年開發(fā)。

Ø 主要應(yīng)用于汽車、卡車、拖拉機(jī)、工業(yè)機(jī)器人。

想象一下,一輛汽車就像一個(gè)人:

Ø CAN總線是神經(jīng)系統(tǒng),使身體各部分之間的通信得以實(shí)現(xiàn)。

Ø ECU通過CAN總線連接,該總線相當(dāng)于一個(gè)中央網(wǎng)絡(luò)系統(tǒng)。

什么是ECU?

Ø 在汽車CAN總線系統(tǒng)中,ECUs可以是發(fā)動(dòng)機(jī)控制單元、安全氣囊或音頻系統(tǒng)。

Ø 一輛現(xiàn)代汽車最多可以有70輛ECUs。

CAN總線5大特性

can總線原理

Ø 低成本:ECUs通過單個(gè)CAN接口進(jìn)行通信,布線成本低。

Ø 高集成:CAN總線系統(tǒng)允許在所有ECUs上進(jìn)行集中錯(cuò)誤診斷和配置。

Ø 可靠性:該系統(tǒng)對子系統(tǒng)的故障和電磁干擾具有很強(qiáng)的魯棒性,是汽車控制系統(tǒng)的理想選擇。

Ø 高效率:可以通過id對消息進(jìn)行優(yōu)先級排序,以便最高優(yōu)先級的id不被中斷。

Ø 靈活性:每個(gè)ECU包含一個(gè)用于CAN總線收發(fā)芯片,隨意添加CAN總線節(jié)點(diǎn)。

CAN總線發(fā)展史

can總線原理

Ø 未出現(xiàn)前:汽車ECUs依靠越來越復(fù)雜的點(diǎn)對點(diǎn)布線。

Ø 1986年:Bosch公司開發(fā)了CAN總線協(xié)議作為汽車電子解決方案,并在SAE大會(huì)上發(fā)布。

Ø 1991年:Bosch公司發(fā)布了CAN2.0,包涵CAN 2.0A (11 位) 和CAN 2.0B (29 位)。

Ø 1993年:CAN總線列入標(biāo)準(zhǔn)(ISO 11898)。

Ø 2012年:Bosch公司發(fā)布了CAN FD 1.0

Ø 今天:幾乎每一輛汽車都有CAN總線系統(tǒng),它廣泛應(yīng)用于卡車、公共汽車、工業(yè)車輛、船舶、飛機(jī)和工業(yè)自動(dòng)化。

CAN總線的未來

展望未來,CAN總線將繼續(xù)前行——而且更有可能是隨著云計(jì)算、物聯(lián)網(wǎng)和自動(dòng)駕駛汽車的興起。這些趨勢還將增加可以使用WiFi /蜂窩網(wǎng)絡(luò)連接的CAN總線的需求——允許無線傳輸?shù)腃AN總線數(shù)據(jù),例如云服務(wù)器。

can總線原理

為了實(shí)現(xiàn)這一目標(biāo),CAN FD將是一個(gè)關(guān)鍵的組成部分�;旧�,今天的CAN總線系統(tǒng)面臨一個(gè)主要的障礙:1 Mbit/s的速度限制隨著數(shù)據(jù)速度的復(fù)雜性和需求的增加(更多的ECUs,數(shù)據(jù)),這是一個(gè)越來越大的挑戰(zhàn)。

Ø CAN FD提供兩個(gè)關(guān)鍵的指標(biāo):

n 數(shù)據(jù)傳輸速率達(dá)到8Mbit/s——遠(yuǎn)遠(yuǎn)超出常規(guī)的1Mbit/s。

n 64字節(jié)的數(shù)據(jù)包——而不是8字節(jié)。

CAN總線物理結(jié)構(gòu)與特性

CAN總線網(wǎng)絡(luò)

can總線原理

CAN總線網(wǎng)絡(luò)主要掛在CAN_H和CAN_L,各個(gè)節(jié)點(diǎn)通過這兩條線實(shí)現(xiàn)信號(hào)的串行差分傳輸,為了避免信號(hào)的反射和干擾,還需要在CAN_H和CAN_L之間接上120歐姆的終端電阻,但是為什么是120歐姆呢?那是因?yàn)殡娎|的特性阻抗為120歐。

CAN收發(fā)器

CAN收發(fā)器的作用是負(fù)責(zé)邏輯電平和信號(hào)電平之間的轉(zhuǎn)換。

can總線原理

即從CAN控制芯片輸出邏輯電平到CAN收發(fā)器,然后經(jīng)過CAN收發(fā)器內(nèi)部轉(zhuǎn)換將邏輯電平轉(zhuǎn)換為差分信號(hào)輸出到CAN總線上,CAN總線上的節(jié)點(diǎn)都可以決定自己是否需要總線上的數(shù)據(jù)。具體的管教定義如下:

can總線原理

CAN信號(hào)表示

CAN總線采用不歸零碼位填充技術(shù),也就是說CAN總線上的信號(hào)有兩種不同的信號(hào)狀態(tài),分別是顯性的(Dominant)邏輯0和隱形的(recessive)邏輯1,信號(hào)每一次傳輸完后不需要返回到邏輯0(顯性)的電平。

can總線原理

CAN收發(fā)器有TXD,RXD是與CAN控制器連接的。發(fā)送器接到網(wǎng)絡(luò)的是CL和CH。CL與CH是差分電路。CAN網(wǎng)絡(luò)上是用CL于CH的電壓差來表示邏輯“0”和邏輯“1”。所以CAN網(wǎng)絡(luò)中只能單向傳輸。

CAN仲裁

只要總線空閑,總線上任何節(jié)點(diǎn)都可以發(fā)送報(bào)文,如果有兩個(gè)或兩個(gè)以上的節(jié)點(diǎn)開始傳送報(bào)文,那么就會(huì)存在總線訪問沖突的可能。但是CAN使用了標(biāo)識(shí)符的逐位仲裁方法可以解決這個(gè)問題。

can總線原理

在仲裁期間,每一個(gè)發(fā)送器都對發(fā)送的電平與被監(jiān)控的總線電平進(jìn)行比較。如果電平相同,則這個(gè)單元可以繼續(xù)發(fā)送。如果發(fā)送的是一"隱性"電平而監(jiān)視到的是一"顯性"電平,那么這個(gè)節(jié)點(diǎn)失去了仲裁,必須退出發(fā)送狀態(tài)。如果出現(xiàn)不匹配的位不是在仲裁期間則產(chǎn)生錯(cuò)誤事件。

幀ID越小,優(yōu)先級越高。由于數(shù)據(jù)幀的RTR位為顯性電平,遠(yuǎn)程幀為隱性電平,所以幀格式和幀ID相同的情況下,數(shù)據(jù)幀優(yōu)先于遠(yuǎn)程幀;由于標(biāo)準(zhǔn)幀的IDE位為顯性電平,擴(kuò)展幀的IDE位為隱形電平,對于前11位ID相同的標(biāo)準(zhǔn)幀和擴(kuò)展幀,標(biāo)準(zhǔn)幀優(yōu)先級比擴(kuò)展幀高。

CAN總線通信協(xié)議

協(xié)議格式

can總線原理

 

序號(hào) 名稱 描述
1 SOF 1 起始位,邏輯0使能,告訴其他ECU,消息即將到達(dá)。
2 CAN-ID 29 消息標(biāo)識(shí)符,值越低優(yōu)先級越高
3 RTR 1 遠(yuǎn)程傳輸請求標(biāo)志位,允許ECUs“請求”來自其他ECUs的消息。
4 Control 6 數(shù)據(jù)包長度
5 Data 0-64 數(shù)據(jù)內(nèi)容
6 CRC 16 16位循環(huán)冗余校驗(yàn)用于保證數(shù)據(jù)的完整性
7 ACK 2 應(yīng)答標(biāo)志,CRC是否校驗(yàn)正確
8 EOF 7 結(jié)束標(biāo)識(shí)符

如何解析

下面是使用CANLoggerX000的汽車的一個(gè)示例日志文件:

# Logger type: CANLogger2000

# HW rev: 6.xx

# FW rev: 5.51

# Logger ID: ID0001

# Session No.: 9

# Split No.: 3

# Time: 20170508T064128

# Value separator: ";"

# Time format: 4

# Time separator: ""

# Time separator ms: ""

# Date separator: ""

# Time and date separator: "T"

# Bit-rate: 500000

# Silent mode: false

# Cyclic mode: false

Timestamp;Type;ID;Data

08T064254150;0;34d;1003fafa000d00ff

如果我們查看上面的原始CAN總線數(shù)據(jù)樣本,可能會(huì)注意到:

原始的CAN總線數(shù)據(jù)沒有意義!

這是因?yàn)槲覀冃枰獙?shù)據(jù)轉(zhuǎn)換成按比例計(jì)算的工程值——也就是人類可讀的形式。

要做到這一點(diǎn),我們需要知道一些事情:

can總線原理

例如,在34d中的64位數(shù)據(jù)中,可能會(huì)有3個(gè)不同參數(shù)的數(shù)據(jù),每個(gè)參數(shù)都有一個(gè)特定的起始點(diǎn)和位長。

針對這3個(gè)不同參數(shù)的數(shù)據(jù),我們需要要知道如何解碼:

每個(gè)參數(shù)都需要偏移量和刻度值

[數(shù)據(jù)值]=[偏移]+[刻度]x[原始數(shù)據(jù)值]


發(fā)表評論

全國咨詢電話:400-611-6270,雙休日及節(jié)假日請致電值班手機(jī):15010390966

在線咨詢: 曹老師QQ(3337544669), 徐老師QQ(1462495461), 劉老師 QQ(3108687497)

企業(yè)培訓(xùn)洽談專線:010-82600901,院校合作洽談專線:010-82600350,在線咨詢:QQ(248856300)

Copyright 2004-2018 華清遠(yuǎn)見教育科技集團(tuán) 版權(quán)所有 ,京ICP備16055225號(hào),京公海網(wǎng)安備11010802025203號(hào)

有位老師想和您聊一聊