大众CAN-BUS__高层应用协议简介
CAN协议规范标准
Remote Request BIT)”。SRR 是一隐性位。它在扩展格式的标准帧 RTR 位位置,因此代替标准帧的RTR 位。因此,标准帧与扩展帧的冲 突是通过标准帧优先于扩展帧这一途径得以解决的; IDE 位(扩展格式):IDE 的全称是“识别符扩展位(Identifier Extension Bit)”IDE 位属于:
物理层协议
三一智能
OSI Reference Layers
应用层 表示层 会话层 传输层 网络层 数据链路层 物理层
ISO/OSI 7层模型
逻辑链路控制 (LLC)
- 验收滤波 - 过载通知 - 恢复管理
介质访问控制 (MAC)
- 数据封包、解包 - 帧编码(填充、消除填充) - 错误检测、标定
物理层 (PLS)
- 位编/解码 - 位定时/同步
三一智能
CAN-bus 相关概念
三一智能
❖CAN总线电平标称值
CANH
2.5 V
CANL
Vdiff = 0V 隐性(逻辑1)
CAN-bus 相关概念
3.5 V
Vdiff = 2V
Vdiff = 0V
1.5 V 显性(逻辑0) 隐性(逻辑1)
8us
隐隐显隐显显
“110100”
三一智能
❖帧格式
CAN-bus 相关概念
➢ 标准帧:具有11位标识符的CAN帧;
标准帧
仲裁域
控制域
数据域
11位标识符
DLC
r0 IDE RTR
SOF
三一智能
CAN-bus 相关概念
➢ 扩展帧:具有29位标识符的CAN帧;11位标识符
(完整word版)CANOPEN协议详解
一、CAN-BUS介绍1.CAN的基本概念、特点CAN 是 Controller Area Network的缩写(以下称为 CAN),是 ISO*1国际标准化的串行通信协议。
CAN 协议如表 3 所示涵盖了 ISO 规定的 OSI 基本参照模型中的传输层、数据链路层及物理层。
CAN 协议中关于 ISO/OSI 基本参照模型中的传输层、数据链路层及物理层,具体有哪些定义如图所示。
ISO/OSI 基本参照模型【注】*1 OSI:Open Systems Interconnection (开放式系统间互联)CAN的特点CAN 协议具有以下特点。
(1) 多主控制在总线空闲时,所有的单元都可开始发送消息(多主控制)。
最先访问总线的单元可获得发送权。
(2) 消息的发送在 CAN 协议中,所有的消息都以固定的格式发送.总线空闲时,所有与总线相连的单元都可以开始发送新消息。
两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为 ID)决定优先级。
ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。
两个以上的单元同时开始发送消息时,对各消息 ID 的每个位进行逐个仲裁比较.仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。
(3)系统的柔软性与总线相连的单元没有类似于“地址”的信息。
因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。
(4)通信速度根据整个网络的规模,可设定适合的通信速度。
在同一网络中,所有单元必须设定成统一的通信速度。
即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信.不同网络间则可以有不同的通信速度。
(5)远程数据请求可通过发送“遥控帧”请求其他单元发送数据。
(6) 错误检测功能·错误通知功能·错误恢复功能所有的单元都可以检测错误(错误检测功能)。
canbus协议
canbus协议CAN(Controller Area Network)总线是一种串行通信协议,广泛应用于汽车和工业控制系统中。
它是一种多主、多从、广播、冲突检测和冲突处理的通信系统。
CAN总线协议的设计目标是实现高可靠性和实时性的数据传输。
CAN总线采用双线双向通信方式,允许多个控制器同时传输数据。
它的低成本、高可靠性和强大的抗干扰能力,使得CAN总线得以广泛应用于汽车领域。
CAN总线的通信是基于帧(Frame)的。
每一帧由起始位(Start Bit)、标识符(Identifier)、控制位(Control)、数据域(Data)和校验位(CRC)组成。
其中标识符是帧的唯一标识,用于区分不同的帧。
数据域用于承载实际的数据。
CAN总线使用广播模式进行通信,即发送一条消息的控制器将消息发送到总线上,其他控制器都可以收到这条消息,但只有匹配标识符的控制器才会处理这条消息。
这种广播模式的通信方式使得CAN总线可以实现高效的数据交互,提高系统的实时性。
CAN总线还具有强大的冲突检测和冲突处理能力。
当两个控制器同时发送消息时,CAN总线可以检测到冲突,并采用非破坏性的冲突处理算法将两个消息进行合并。
这种冲突处理机制使得CAN总线可以在高负载的环境下保持良好的通信性能。
另外,CAN总线还具有较高的容错性和抗干扰能力。
CAN总线采用了差分信号传输方式,能够抵抗较强的电磁干扰。
此外,CAN总线还通过CRC校验位来验证数据的正确性,提高了通信的可靠性。
CAN总线的数据传输速率可以根据实际需求进行调整。
标准CAN总线的速率通常为1Mbps,而高速CAN总线的速率可以达到10Mbps。
通过调整总线速率,可以满足不同场景下的数据传输需求。
总之,CAN总线协议是一种高可靠性、实时性和抗干扰能力强的串行通信协议。
它的广泛应用使得汽车和工业控制系统得以实现高效的数据交互和实时的数据传输。
CAN总线在现代汽车中广泛应用,可以实现车内各个控制模块之间的信息交流,提高整车的性能和安全性。
CAN-bus现场总线基础教程【第6章】CAN总线应用层协议(CANopen)-CANopen主站设备及其应用(23)
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.第6章 CAN 总线应用层协议——CANopen1.1 CANopen 主站设备及其应用由于可靠性、实时性、低成本、抗干扰性、兼容能力等多个方面的优势,CAN-bus 与其高层协议CANopen 已成为了车辆数据通信系统的事实标准,并普遍应用于所有的可移动设施,例如船舶舰艇、客车火车、升降电梯、重载车辆、工程机械、运动系统、分布式控制网络等。
几乎所有的通用 I/O 模块、驱动器、智能传感器、PLC 、MMI 设备的生产厂商都提供有支持CAN-bus 与CANopen 标准的产品。
只要符合 CANopen 协议标准及其设备协议子集标准的系统,就可以在功能和接口上保证各厂商设备的互用性和可交换性。
1.1.1 CANopen 网络特点作为标准化应用,CANopen 建立在设备对象描述的基础上,设备对象描述规定了基本的通信机制及相关参数。
CANopen 可通过总线对设备进行在线配置,与生产厂商无关联,支持网络设备的即插即用("Plug and Play")。
CANopen 支持2类基本数据传输机制:PDO 实现高实时性的过程数据交换,SDO 实现低实时性的对象字典条目的访问。
SDO 也用于传输配置参数,或长数据域的传输。
CANopen 既规定了各种设备之间的通信标准,也定义了与其他通信网络的互连规范。
1.1.2 CANopen 网络中的设备分类在说明CANopen 网络设备分类之前,我们有必要先了解其网络通信模型。
CAN-bus 支持 “生产者-消费者”通信模型,支持一个生产者和一个或多个消费者之间的通信关系。
生产者提供服务,消费者接收则可以(消费)或忽略服务。
需要注意,CANopen 标准作为CAN-bus 的应用层协议之一,除了支持上述服务类型外,还支持“客户端-服务器”通信模型。
大众车系CAN数据传输系统原理应用和故障诊断(修改)
大众车系CAN—BUS的原理与检修窦在学(初审修改稿,编号:.2005-68 )摘要:简要阐述了大众车系CAN数据总线系统的原理、组成,结合实例分析了CAN数据总线系统的故障原因与检修方法。
关键词:CAN数据总线故障分析故障检修前言:目前,汽车电子技术已发展到控制系统综合化、信息共享化、机能智能化的新阶段,随着汽车电子设备的不断增加,势必会引起导线数量的不断增多,元器件、导线布置困难,故障率增加等诸多问题。
在汽车各电控单元之间采用类似于计算机内部总线的方式进行数据传递,可以达到信息共享,减少布线,降低成本以及提高整体可靠性的目的。
大众车系的奥迪A6、宝来、帕萨特B5、POLO轿车都不同程度地引入了CAN数据总线系统,也称为CAN-BUS。
因此,了解其原理、组成、使用与检修是汽车维修业面临的新课题。
1.车载控制器局域网的分类为了解决汽车各电控单元之间的信息交换与共享,世界各主要车系均不同程度地引入了车载控制器局域网,CAN数据总线系统就是其中之一。
其分类主要以其适用的网络协议即标准划分的。
目前存在多种汽车控制器局域网网络标准,为方便研究和设计应用,SAE车辆网络委员会将汽车控制器局域网划分为A、B、C三类。
1.1.A类:面向传感器/执行器控制的低速网络,数据传输位速率通常只有1-10kbit /s。
主要应用于电动门窗、中控锁、座椅调节、灯光照明等控制。
1.2.B类:面向独立模块间数据共享的中速网络,位速率一般为10-100kbit/s。
主要应用于电子车辆信息中心、故障诊断、仪表显示、安全气囊等系统,以减少冗余的传感器和其它电子部件。
1.3.C类:面向高速、实时闭环控制的多路传输网,最高位速率可达1Mbit/s,主要用于发动机和自动变速的动力控制、防滑控制、悬架控制等系统,以简化分布式控制和进一步减少车身线束。
到目前为止,满足C类网要求的汽车控制器局域网只有CAN协议。
三类网络均向上涵盖,即C类网能同时实现B类和A类网功能,B类支持C类网的功能,但是不同位速率或不同协议的网联网则必须设置网间网关。
关于大众CAN-BUS总线诊断系统(速腾、斯柯达一键升窗、舒适功能设定等
关于大众CAN-BUS总线诊断系统(速腾、斯柯达一键升窗、舒适功能设定等关于CAN-BUS总线诊断系统CAN是最新款大众、奥迪、SEAT和斯柯达汽车诊断通信的一种新方式。
不同于以前使用K线诊断通信的ISO9141系统,新CAN总线系统比以前的ISO9141系统要快得多(500 kbps与10.4 kbps的区别)。
运用CAN诊断必须要有新的硬件和软件。
诊断过程1.连接5053线至电脑2.发现新硬件,搜索驱动位置指向5053安装目录3.打开方向盘下面的储物盒,打开到最大角度,直到下不去了,用钥匙顶一下里面有个档片,这样盖子又能下来一定角度,注意用力要轻,免得档片断掉,断了我估计盖不上了吧。
大可不必把整个盖子拆下来。
4.一头连接至CAN-BUS接口,一头连接电脑启动软件5.启动vag-5053软件,注意一定要将车和电脑连接才能启动软件,否则软件将无法启动。
6.进入“系统配置”,确认COM端口为USB,点击测试,确认状态正常,最后点击“保存”。
7.进入“选择控制模块”8.进入相应的模块,比如需要修改“中央便利系统”,选择“46”,再选择“07重新编码”,点击“长编码帮助”。
提醒:操作前:请把原编码记下来,以后有问题可以改回来。
9.选择要打开的功能吧。
建议一次改一个,一个个功能试。
10.选择完毕,点击Transfer Coding,最后点击“确定”保存新的编码。
编辑本段新的功能速腾可以通过5053线调出的一些功能。
一键升窗先来解释一下“一键升窗”,原车在锁车后要一直按住摇控器锁键不能松手,没关的玻璃才会升到顶,按到中途松开遥控器玻璃窗就会停下来.现在更改编码后只要按一下键摇控的关门键玻璃窗就可以直接关上了。
注:可一键关闭所有的车窗,包括天窗。
1、舒适系统零件号为1K0 959 433 AM准备一条数据线,连上电脑,用5053软件进入到46,点击07单元,只要将原来的编码:19D8 02(08) 7F2D 8405 484F 01E0 11A0 改成 19D8 02(48) 7F2D 8405 484F 01E0 11A0,拔掉钥匙,打开车窗,然后锁车,按住锁车键不放,直到玻璃启动,放开锁车键,车窗玻璃仍然上升。
(汽车诊断协议KWP2000,CANBUS)sid,pid应用详细分析
详细介绍-Upload/Download Functiona点l U击n添it加标题
35- RequestUpload(请求上传)
详细介绍-Upload/Download Functiona点l U击n添it加标题
36- TransferData(数据传输)
详细介绍-Upload/Download Functiona点l U击n添it加标题
详细介绍-Input/Output Control Functio点n击al添加标题
2F- inputOutputControlByCommonIdentifier Request SId (动作测试)
详细介绍-Remote Activation Of Routin点e 击Fu添nc加ti标on题al Unit
1A- readEcuIdentification Request Service Id(读ECU版本信息) 常用在KWP2000协议中 如: Req:82 10 F1 1A 94 31 Ans:8C F1 10 5A 94 50 5F 38 32 38 20 56 34 36 20 CC
详细介绍-Data Transmission Functiona点l U击n添it加标题
37- RequestTransferExit(传输结束)
第四部分
实例分析
实例分析
14蒙迪欧大灯协议文档
点击添加标题
实例分析
14蒙迪欧大灯协议文档
点击添加标题
实例分析
14蒙迪欧大灯协议文档点击来自加标题第五部分常见SID,PID组合
常见SID,PID组合
读VIN码(车架号) 0902 22F190
17- ReadStatusOfDiagnosticTroubleCodes service (读取诊断故障代码及状态)
CAN协议规范解析
介质访问控制 (MAC)
- 数据封包、解包 - 帧编码(填充、消除填充) - 错误检测、标定
物理层 (PLS)
- 位编/解码 - 位定时/同步
三一智能
CAN-bus 相关概念
三一智能
CAN-bus 相关概念
CAN总线电平标称值
3.5 V
CANH
2.5 V Vdiff = 0V 1.5 V 显性(逻辑0) Vdiff = 2V Vdiff = 0V
三一智能
CAN-bus 相关概念
波特率和距离的关系
基本公式: Max Bit Rate [Mbps]×Max Bus Length[m]≤60 在使用过程中建议使用下表所列出来的波特率,它们都是CIA 协会公布的标准波特率。
位速率/kbps 1000 500 250 125 100 50 20 10 5 最大距离/m 40 130 270 530 620 1300 3300 6700 10000
数据长度代码中数据字节数的编码(DATA LENGTH CODE): 缩写: d—“显性”,r—“隐性”
数据帧:允许的数据字节数:{0,1,....,7,8}。其他的数值 不允许使用。 三一智能
CAN-bus 相关概念
数据场:数据场由数据帧中的发送数据组成。它可以为0~8 个 字节,每字节包含了8 个位,首先发送MSB; CRC 场:CRC 场包括CRC 序列(CRC SEQUENCE),其后是CRC 界定符(CRC DELIMITER); 帧结尾:每一个数据帧和远程帧均由一标志序列界定。这个标 志序列由7 个“隐性”位组成。
三一智能
CAN-bus 相关概念
过载帧:过载帧用以在先行的和后续的数据帧(或远 程帧)之间提供一附加的延时;
CAN协议简介
图1.3 CAN总线物理连接
CAN总线的物理连接和电平特性
图1.4 CAN总线的基本结构
CAN总线的物理连接和电平特性
图1.5 CAN总线的电平特性
CAN总线的数据格式
CAN协议有以下5中不同类型的帧格式:
CAN总线的数据格式
CAN2.0B总线规范定义了2种不同的数据格式(标准帧和扩展帧),其主要区别在于标识符的长度不同:
CAN特点
(4) CAN总线所挂接的节点数量主要取决于CAN总线收发器或驱动器,目前的驱动器一般都可以使 同一网络容量达到110个节点。CAN报文分为两个标准即CAN2.0A标准帧和CAN2.0B扩展帧,两个标准 最大的区别在于CAN2.0A只有11位标识符,CAN2.0B具有29位标识符; (5) CAN总线定义使用了硬件报文滤波,可实现点对点及点对多点的通信方式,不需要软件来控制。 数据采用短帧发送方式,每帧数据不超过8字节,抗干扰能力强,每帧接收的数据都进行CRC校验,
使得数据出错机率极大限度的降低。CAN节点在错误严重的情况下具有自动关闭的功能,避免了对总
线上其它节点的干扰; (6) CAN总线通信介质可采用双绞线、同轴电缆或光纤,选择极为灵活。可大大节约组网成本。
CAN总线的物理连接和电平特性
CAN总线采用差分信号传输,通常情况下只需要两根信号线(CAN-H和CAN-L)就可以进行正常的通信。 在干扰比较强的场合,还需要用到屏蔽地即CAN-G(主要功能是屏蔽干扰信号),CAN协议推荐用户 使用屏蔽双绞线作为CAN总线的传输线。在隐性状态下,CAN-H与CAN-L的输入差分电压为0V(最大不 超过0.5V),共模输入电压为2.5V。在显性状态下,CAN-H与CAN-L的输入差分电压为2V(最小不小于 0.9V),其物理连接和电平特性如下图所示:
CANopen协议介绍(中文)
CMS 提供了一个开放的、面向对象的环境,用于实现用户的应用。CMS 提供基于变量、事件、 域类型的对象,以设计和规定一个设备(节点)的功能如何被访问(例如,如何上载下载超过 8 字节 的一组数据(域),并且有终止传输的功能)。
提供动态分配 CAN ID(正式名称为 COB-ID,Communication Object Identifier)服务。这种服务 是采用主从通讯模式(所以只有一个 DBT 主节点)来实现的。 LMT (Layer ManagemenT)
LMT 提供修改层参数的服务:一个节点(LMT Master)可以设置另外一个节点(LMT Slave)的 某层参数(如改变一个节点的 NMT 地址,或改变 CAN 接口的位定时和波特率)。
1541 - 1760
CMS 对象 优先级 7
1761 - 2015
NMT 节点保护
2016 - 2031
NMT,LMT,DBT 服务
注意这是 CAN2.0A 标准,11 位 ID 范围[0,2047],由于历史原因限制在[0,2031]。如果使用 CAN2.0B 标准,29 位 ID 并不改变这个描述;表中的 11 位映射到 29 位 COB-ID 中的最高 11 位,以至于表中的 COB-ID 范围变得增大许多。
CMS 从 MMS (Manufacturing Message Specification)继承而来。MMS 是 OSI 为工业设备的远程控 制和监控而制定的应用层规范。 NMT (Network ManagemenT)
提供网络管理(如初始化、启动和停止节点,侦测失效节点)服务。这种服务是采用主从通讯模 式(所以只有一个 NMT 主节点)来实现的。 DBT (DistriBuTor)
大众CAN TP2.0协议
TL718使用大众CAN TP2.0协议说明对于大众CAN TP2.0协议,由于用CAN自定义参数据的方法与ECU通讯对编程有一定的难度,TL718 V1.7版本新增了G号协议,以使通过PC串口可方便从大众CAN诊断口通讯,并且由TL718自动建立及保持通讯链路。
大众很多CAN诊断的车可能通过ISO15765进入诊断,这个是OBD2(ISO15031-5)的诊断规范,不在这个讨论范围,可用标准的OBD2诊断程序诊断,可参考SCANTOOL源代码。
CAN TP2.0是使用11位ID 500KBPS波特率进行数据通讯的TP2.0的应用层的数据是根据大众KWP2000定义的,命令定义及数据流格式相同,编程时用统一的数据转换函数。
A.TP2.0的链路分析首先我们从一个仪表系统的CAN诊断过程来了解CAN链路。
这个过程是VAS5053在与AUDI A6L仪表通讯过程中用TL718 ATMA**的数据。
应答计数,是设备的请求值+1。
2、ECU发送数据的计数→设备接收完成后的应答计数是ECU 的发送最后一桢数据的记数值加一。
A.TL718如何工作与编程为了方便PC串编程,TL718已以为你建立了TP2.0数据链路部分数据的通讯,只要使用方便的OBD命令可直接读取,发送数据。
TL718的诊断过程如下:***************************************************************>atspg →选择协议GOK>atiia07→设定触发地址0x07为仪表OK>atsw19→设定链路保持时间1SOK***************************************************************>10 00 02 10 89→发送诊断开始命令(11位ID由TL718自动设置)300 B1→ECU应答300 10 00 02 50 89 →ECU返回的数据,代表进入诊断成功******* 在这过程中TL718做了什么?************1、TL718发送了触发命令2、接收后根据ECU的系统自动设置了发送的11位ID ,及接收ID3、接着发送了建立连接命令。
几种CAN应用层协议介绍
几种CAN应用层协议介绍CAN(Controller Area Network)是一种专门用于高速通信的实时总线系统,在汽车领域被广泛应用。
为了实现CAN总线上的数据传输与通信,需要使用CAN应用层协议。
本文将介绍几种常见的CAN应用层协议,包括CANopen、DeviceNet和J1939。
一、CANopenCANopen是一种开放式的CAN应用层协议,在广泛应用于工业自动化领域。
它定义了一套标准的通信和设备配置方法,使得不同厂商的CAN设备可以进行互操作。
CANopen协议分为两个层次:通信层和对象字典层。
1. 通信层CANopen的通信层定义了一组规范的消息对象类型,包括消息ID、数据长度和数据内容等信息。
这些消息对象类型可以被设备和应用程序使用,用于进行数据的读取、写入和事件的触发等操作。
2. 对象字典层CANopen的对象字典层定义了一套用于描述设备的数据结构和功能的规范。
设备上的每个对象都有一个唯一的索引号,并包含了对象的属性、数据类型和访问权限等信息。
通过对象字典层,应用程序可以获取设备的状态信息、配置参数和执行控制命令等。
二、DeviceNetDeviceNet是一种用于工业自动化领域的CAN应用层协议,主要用于连接工业设备和控制器。
它的特点是简单易用、稳定可靠,并具有较强的扩展性。
DeviceNet定义了一套标准的通信和设备配置方法,可以支持不同类型的设备之间的互联互通。
DeviceNet协议基于主从结构,其中主节点负责进行总线控制和数据交换,从节点则负责执行具体的控制操作。
DeviceNet协议支持多种网络拓扑结构,包括线性拓扑、星型拓扑和树状拓扑等。
三、J1939J1939是一种广泛应用于商用车辆领域的CAN应用层协议,主要用于车辆电子系统之间的通信。
它是由卡车和汽车制造商共同制定的一套通信标准,包括消息格式、通信速率和设备标识等方面。
J1939协议定义了一套复杂的消息格式,包括消息ID、数据长度和数据内容等信息。
CAN-bus现场总线基础教程【第7章】CAN总线应用层协议(DeviceNet)-DeviceNet规范及简介(28)
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.第7章 CAN 总线应用层协议——DeviceNet1.1 DeviceNet 规范DeviceNet 是全球使用最广泛的现场总线之一。
DeviceNet 是基于CAN 总线技术并符合全球工业标准的开放型通信网络。
虽然定位于工业控制的设备级网络,但是它采用了先进的通信概念和技术,仅通过一根电缆将工业设备接成网络。
网络中不仅有底端的工业设备,还有像变频器、HMI 这样复杂的设备,这样不仅降低了系统的复杂性,还减少了设备通信的电缆硬件接线,提高系统可靠性,降低安装、维护成本,是分布式控制系统的理想解决方案,因而在世界范围内获得了大力推广和广泛应用,并已成为国际标准、欧洲标准和我国的国家标准。
1.1.1 DeviceNet 规范简介DeviceNet 规范定义了一个网络通信标准,以便组成工业控制系统的各个设备之间可以进行数据通信。
DeviceNet 规范除了提供ISO 模型的应用层定义之外,还定义了部分物理层和数据链路层。
规范中不仅对DeviceNet 节点的物理连接也作了规定,连接器、电缆类型、长度以及与通信相关的指示器、开关、相关的室内铭牌都作了详细规定。
DeviceNet 是建立在CAN 协议基础之上,沿用了CAN 协议所规定的物理层和数据链路层,并补充了不同的报文格式、总线访问仲裁规则及故障检测和隔离方法。
DeviceNet 的功能和特点如表7.1所示。
表7.1 DeviceNet 特点DeviceNet 的应用层协议则采用的是通用工业协议(CIP )。
CIP 是一个在高层面上严格面向对象的协议。
每个CIP 对象具有属性(数据),服务(命令),连接和行为(属性值与服务间的关系),其主要功能有两个:一是面向连接的通信;二是定义了标准的工业应用对象。
下文详细介绍通信部分。
CIP 通信最重要的特点是它用不同的方式传输不同类型的报文,根据报文质量要求将需要发送的报文分为:显式报文和隐式报文。
canbus协议
canbus协议CAN总线协议(Controller Area Network)是一种串行通信协议,最初由Bosch 公司在1986年提出,用于汽车中的内部通信。
CAN总线协议被广泛应用于汽车电子系统、工业控制系统和其他领域,因其高可靠性和实时性而备受青睐。
首先,CAN总线协议采用了一种非常灵活的通信方式,可以支持多个设备在同一总线上进行通信。
这种特性使得CAN总线协议非常适合用于汽车中的各种传感器和执行器之间的通信,比如发动机控制单元(ECU)、防抱死制动系统(ABS)、空调控制系统等。
通过CAN总线,这些设备可以方便地相互通信,实现车辆各个部件之间的信息交换和协调工作。
其次,CAN总线协议具有很高的抗干扰能力。
在汽车这样一个复杂的电磁环境中,很容易受到各种干扰,比如电磁干扰、温度变化、电压波动等。
CAN总线协议采用了差分信号传输和消息优先级机制,能够有效地抵御这些干扰,保证通信的稳定性和可靠性。
此外,CAN总线协议还具有较高的实时性。
在汽车中,很多控制任务都需要在极短的时间内完成,比如发动机点火、制动系统响应等。
CAN总线协议采用了基于事件驱动的通信方式,能够快速地传输数据并实时响应,满足了汽车电子系统对实时性的要求。
另外,CAN总线协议还具有很好的可扩展性。
随着汽车电子系统的不断发展和升级,对通信带宽和数据传输速率的需求也在不断增加。
CAN总线协议支持多种数据传输速率,从最初的125kbps到目前的1Mbps,甚至更高,能够满足不同应用场景的需求。
总的来说,CAN总线协议作为一种成熟、可靠的串行通信协议,已经在汽车电子系统和工业控制系统中得到了广泛的应用。
它的灵活性、抗干扰能力、实时性和可扩展性,使得它成为了当前最受欢迎的通信协议之一。
随着汽车电子系统的不断发展和智能化水平的提升,相信CAN总线协议还将继续发挥重要作用,并不断得到完善和拓展。
CAN-bus现场总线基础教程【第7章】CAN总线应用层协议(DeviceNet)-DeviceNet传感器从站设备的开发(29)
文库资料 ©2017 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.第7章 CAN 总线应用层协议——DeviceNet1.1 DeviceNet 传感器从站设备的开发传感器设备是工业自动化、仪器仪表及其它的生产活动中使用最广泛的设备之一。
使用传感器也是获取自然和生产领域中信息的主要途径与手段。
早期传感器设备都是直接与控制器进行连接,并且各个传感器设备之间无法进行通信。
在一个庞大的控制系统中,可能拥有各种各样的传感器设备,采用传统的点对点通信方式,会导致整个系统布线复杂、运行效率低、维护成本高等缺点。
CAN 总线的推出使得系统布线得到最大程度的改善,基于CAN 总线应用层的DeviceNet协议不仅改变了设备与控制系统之间的通信方式,更增加了设备级的诊断功能。
1.1.1 XGate-DVN10简介广州致远电子股份有限公司长期致力于DeviceNet 产品的研发,推出了一款非常易于使用、稳定可靠的DeviceNet 从站协议转换模块——XGate-DVN10。
作为通用DeviceNet 从站设备,其内部已经集成了从站协议栈代码,且所有功能通过ODVA 的一致性测试软件(A21)的测试,保证了与其它DeviceNet 设备的良好兼容性。
XGate-DVN10为DIP24封装,拥有较小的占位面积(6cm 2),使其更容易集成到用户设备中。
其硬件设计比较简单,图7.1所示为XGate-DVN10应用简图,用户只需要将模块嵌入到传感器设备中,与CPU 的串口连接便可完成设计。
图7.1 XGate 设计框图本小节将介绍如何利用XGate-DVN10模块设计一款基于DeviceNet 从站协议的多功能传感器模块。
1.1.2 传感器模块硬件设计本节所设计的传感器系统包含了4路温度和8路霍尔传感器信号。
温度传感器使用线性度较好的模拟温度传感器,并采用12位的模拟数字转换芯片(A/D )对信号进行采集。
大众CANTP2.0协议
⼤众CANTP2.0协议TL718使⽤⼤众CAN TP2.0协议说明对于⼤众CAN TP2.0协议,由于⽤CAN⾃定义参数据的⽅法与ECU通讯对编程有⼀定的难度,TL718 V1.7版本新增了G号协议,以使通过PC串⼝可⽅便从⼤众CAN诊断⼝通讯,并且由TL718⾃动建⽴及保持通讯链路。
⼤众很多CAN诊断的车可能通过ISO15765进⼊诊断,这个是OBD2(ISO15031-5)的诊断规范,不在这个讨论范围,可⽤标准的OBD2诊断程序诊断,可参考SCANTOOL源代码。
CAN TP2.0是使⽤11位ID 500KBPS波特率进⾏数据通讯的TP2.0的应⽤层的数据是根据⼤众KWP2000定义的,命令定义及数据流格式相同,编程时⽤统⼀的数据转换函数。
A.TP2.0的链路分析⾸先我们从⼀个仪表系统的CAN诊断过程来了解CAN链路。
这个过程是VAS5053在与AUDI A6L仪表通讯过程中⽤TL718 ATMA**的数据。
应答计数,是设备的请求值+1。
2、ECU发送数据的计数→设备接收完成后的应答计数是ECU 的发送最后⼀桢数据的记数值加⼀。
A.TL718如何⼯作与编程为了⽅便PC串编程,TL718已以为你建⽴了TP2.0数据链路部分数据的通讯,只要使⽤⽅便的OBD命令可直接读取,发送数据。
TL718的诊断过程如下:***************************************************************>atspg →选择协议GOK>atiia07→设定触发地址0x07为仪表OK>atsw19→设定链路保持时间1SOK***************************************************************>10 00 02 10 89→发送诊断开始命令(11位ID由TL718⾃动设置)300 B1→ECU应答300 10 00 02 50 89 →ECU返回的数据,代表进⼊诊断成功******* 在这过程中TL718做了什么?************1、TL718发送了触发命令2、接收后根据ECU的系统⾃动设置了发送的11位ID ,及接收ID3、接着发送了建⽴连接命令。
大众通信协议简单介绍
22/3315/33特点 采用29Bit扩展帧 多应用于美国的汽车企业,如:GM。 支持实时闭环网络
16/33
T1,T3说明
17/33
功能
(1)数据的拆分打包和重组。一个 J1939 的报文单元只有 8 个字节 的数据场。因此如果所要发送的数据超过了 8 字节,就应该分成几 个小的数据包分批发送。数据场的第一个字节从 1 开始作为报文的 序号,后 7 个字节用来存放数据。所以可以发送255×7=1785 个字 节的数据。报文被接收以后按序号重新组合成原来的数据。 (2)连接管理。主要对节点之间连接的建立和关闭,数据的传送进 行管理。其中定义了 5 种帧结构:发送请求帧、发送清除帧、结束应 答帧、连接失败帧以及用来全局接收的广播帧。节点之间的连接通过 一个节点向目的地址发送一个发送请求帧而建立。在接收发送请求帧 以后,节点如果有足够的空间来接收数据并且数据有效,则发送一个 发送清除帧,开始数据的传送。如果存储空间不够或者数据无效等原 因,节点需要拒绝连接,则发送连接失败帧,连接关闭。如果数据接 收全部完成。则节点发送一个结束应答帧,连接关闭。
10/33
实例
0x00000680 01 0xA3, 从机发送链接测试,确认链路通畅 0x00000681 06 0xA1,0x04,0x8A,0xFF,0x32,0xFF 主机响应,并返回时间和最大发送帧设置
11/33
数据传输命令
type 长度 DATA
数据
0
1
2
3
4
5
6
7
传输(不需要节点 确认)
8/33
链接命令-T1,T3设置
Time Base 00 = 100 µ sec 01 = 1 msec 10 = 10 msec 11 = 100 msec Time: 0..63 如:T1=0x8A. Time Base =10; Time=A=10; 10ms*10=100ms