CAN协议通信

admin 2024年12月22日21:33:01评论33 views字数 3024阅读10分4秒阅读模式

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯

CAN协议通信

01

简介

CAN(Controller Area NetWork)是局域网络控制器的简称;在汽车诊断行业,它充当了一系列汽车设备制造的标准,其中包括ECU(electronic Control Unit)的设计及制造;因此,在与汽车ECU通信的过程中,我们必须遵循这个标准,就是我们常说的CAN协议;

02

CAN协议通信

CAN通信根据协议结构而言分为标准CAN和拓展CAN;拓展CAN比标准CAN多了两个字节,然后请求应答需要交换ID外基本与标准CAN相同,故这里主要介绍标准CAN协议。

标准CAN协议

(1),标准帧:11个字节的标准帧,其协议格式如下图所示:

CAN协议通信

(2)在标准帧中,根据发送命令数据的长短,可分为单帧,多帧;使用着两种方式与车辆进行通信;

单帧

单帧指的是有效数据长度小于等于7的帧(请求数据只需要一帧就可以发送完成);适用于简单命令;

例1:

Req:07 E0 08 02 10 03 00 00 00 00 00

Ans:07 E8 08 02 50 03 00 00 00 00 00

命令解析:

1,上面的命令一般作为传统汽车的系统进入命令,让诊断工具(下面统称为tool)可以进去汽车ECU的命令;

Req(请求):07 E0 08 02 10 03 00 00 00 00 00

07 E0:作为toolID,相当于自己的身份证,用于与车辆验证身份;

---- 08: 表示后面的数据位长度,即8个数据位字节,一般固定为08;

---- 02: 表示实际有效数据位长度,即后面实际有两个字节的数据;

10 03:作为实际有效字节(SID+PID),它表示系统进入的命令;

00 00 00 00 00 :填充字节,无意义,为满足标准can的字节数而存在;

Ans(应答):07 E8 08 02 50 03 00 00 00 00 00

07 E8 : 汽车ECUID;每个ECU都有的唯一标识符;响应tool的请求;

----08 :表示后面的数据位长度,即8个数据位字节,一般固定为08;

----02 :表示实际有效数据位长度,即后面实际有两个字节的数据;

50 03:表示请求的肯定应答((SID+0x40)+ PID),及允许进入系统;

00 00 00 00 00 :填充字节,无意义,为满足标准can的字节数而存在;

上述解其中涉及了PID(Process ID)和SID(Service ID)的概念;关于某个PID具体意思在CAN2.0中都做了规定,可以查询ISO 11898文档进行查询

肯定应答:SID + 0X40

否定应答:7F + SID+否定类型

(注:否定类型在CAN2.0中也做了规定,可以查询)

多帧

多帧指的是大于7个有效字节的帧,需要发送多次才能将数据发送完成,如上所示 “02”表示有效字节数,但我们想想,一个字节所能表示的最大有效字节不过是0xFF个,如果一条命令需要大量数据时,一个字节所代表的字节数就不够用了;因此协议中将另一个字节的4个bit作为有效长度位;将最大有效字节数拓展到了0xFFF个有效字节;便于大量数据的发送和接收;

例1:

Req:07 E0 08 02 21 01 00 00 00 00 00

Ans: 07 E8 08 10 3E 61 4D 58 47 52 38

Req:07 E0 08 30 00 28 00 00 00 00 00

Ans: 07 E8 08 21 31 52 4A 4E 33 4A 49

Ans: 07 E8 08 22 44 58 4E 38 4C 4E 48

命令解析:

1,上面的命令一般作为读取车辆数据流(发动机转速,机油温度等)命令;

(注:–表示空格)

Req(请求):07 E0 08 02 21 01 00 00 00 00 00

07 E0:作为toolID,相当于自己的身份证,用于与车辆验证身份;

---- 08: 表示后面的数据位长度,即8个数据位字节,一般固定为08;

---- 02: 表示实际有效数据位长度,即后面实际有两个字节的数据;

21 01:作为实际有效字节(SID+PID),它表示读取车辆数据流命令;

00 00 00 00 00 :填充字节,无意义,为满足标准can的字节数而存在;

Ans:07 E8 08 10 12 61 4D 58 47 52 38

Req:07 E0 08 30 00 28 00 00 00 00 00

Ans: 07 E8 08 21 31 52 4A 4E 33 4A 49

Ans: 07 E8 08 22 44 58 4E 00 00 00 00

07 E8 : 汽车ECUID;每个ECU都有的唯一标识符;响应tool的请求;

----08 :表示后面的数据位长度,即8个数据位字节,一般固定为08;

------1 :表示多帧标志说明,且该帧数位多帧的第一帧;

–0 12 :表示实际有效数据位长度,即后面实际有0x012个字节的数据;

-----30:3 :表示流控制帧,对发送参数进行设置,0:表示可以连续发送;

-----21: 2 :表示连续帧,1:表示发送帧需要(1-F,在从0-F循环);

0x12 个有效字节:61 4D 58 47 52 38 31 52 4A 4E 33 4A 49 44 58 4E

(其中61表示SID+0x40,即0x21 + 0x40 = 0x61,表示肯定应答)

00 00 00 00 :填充字节,为满足标斜体样式准can的11个字节数而存在;

第一帧制帧详细解析:

第一帧:07 E8 08 10 12 61 4D 58 47 52 38

第一帧结构:0001+FF_DL

(注:第一帧共两个字节,高位4个bi为0001固定值,后12bit表示FF_DL)

(1) FF_DL:有效数据总长度 ,范围0x08-0xFFF Bytes

连续帧详细解析:

连续帧:连续帧是发送第一帧后面没有传完的数据。

Ans: 07 E8 08 21 31 52 4A 4E 33 4A 49

Ans: 07 E8 08 22 44 58 4E 00 00 00 00

连续帧结构:0002+SN

(2)SN:连续帧的序号,从0x21开始,满0x2F后从0x20开始循环计数。

流控制帧详细解析:

流控制帧:Req:07 E0 08 30 00 28 00 00 00 00 00

流控制帧结构:

CAN协议通信

(1)FS(Flow state): 流的状态.

CAN协议通信

(2)BS(Block Size): 可传输的数据块的大小(帧),表示最大能传输多少帧。

CAN协议通信

(3)STmin/ESTmin: 指定连续帧之间的发送时间间隔

CAN协议通信

来源:修道-0323

 end 

CAN协议通信

 精品活动推荐 

CAN协议通信

 专业社群 

CAN协议通信

部分入群专家来自:

新势力车企:

特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯......

外资传统主流车企代表:

大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚......

内资传统主流车企:

吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用......

全球领先一级供应商:

博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、......

二级供应商(500+以上):

Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学......

人员占比

CAN协议通信

公司类型占比

CAN协议通信

原文始发于微信公众号(谈思实验室):CAN协议通信

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月22日21:33:01
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CAN协议通信https://cn-sec.com/archives/3540274.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息