can总线协议

车载CAN总线网络数据访问及研究意义

耗尽温柔 提交于 2020-03-10 23:46:44
汽车是我们生活中不可缺少的代步工具,搭载先进的ECU控制单元、高精传感器、高性能的执行器,并融合现代4G/5G通讯与定位网络技术的智能网联汽车已经走向了我们的生活之中。通过TBOX终端实现了车与车、车与互联网、车与智能交通、车与智慧小区、景区之间的信息传输,实现了车载网络的多融合生态。 我国汽车保有量还在持续不断的增长,中国也会快速进入到汽车社会与发达国家拉近千人保有量的距离,智能汽车更是得到飞速的发展,虽然整车销售略有下滑,但是汽车出行需求一直欠饱和,无法覆盖全面。2020年国内智能汽车硬件市场预计规模为2000亿,其中安全系统和自主驾驶相应空间为1128亿、415亿。2020年全球智能硬件市场规模可达7000亿,以安全系统和自主驾驶为代表的智能驾驶系统占半壁江山。 计算机电子通信技术极大提高了人们的驾乘体验,信息技术在汽车上的运用越来越广,汽车将越来越变得智能。所有与智能相关的,随之而来的安全问题也愈发突出。如果随着汽车外部访问的接口增多,有OBD,有CAN,有网关等。车载总线的开放程度也越来越高,博世、维克多、中汽中心、速锐得可以通过这些接口轻易访问车载CAN网络,对CAN网络的数据进行采集和适配,生成新的DBC文件用于测试及仿真。 目前针对车载CAN总线了解的多,实战的少,基于大数据的智能网联汽车更是少之又少,平台和企业对于信息的缺乏和监管,显得掣肘。以前的汽车

CAN_基本概念

谁说胖子不能爱 提交于 2020-02-25 15:35:19
概念 CAN物理层 异步通讯,具有 CAN_High 和 CAN_Low 两条信号线。 闭环总线网络 CAN 通讯网络是一种遵循 ISO11898 标准的高速、短距离“闭环网络”; 总线最大长度为 40m; 通信速度最高为 1Mbps; 总线的两端各要求有一个“120 欧”的电阻。 开环总线网络 遵循 ISO11519-2 标准的低速、远距离“开环网络”; 最大传输距离为 1km; 最高通讯速率为 125kbps; 两根总线是独立的、不形成闭环,要求每根总线上各串联有一个“2.2 千欧”的电阻。 通讯节点 从 CAN 通讯网络图可了解到,CAN 总线上可以挂载多个通讯节点,节点之间的信号经过总线传输,实现节点间通讯。 CAN通讯不对地址进行编码,只对数据进行编码,理论上可以负载无限设备,只要负载足够; 可以通过中继器增强负载。 CAN 通讯节点由一个 CAN 控制器及 CAN 收发器组成, 控制器与收发器之间通过CAN_Tx 及 CAN_Rx 信号线相连,收发器与 CAN 总线之间使用 CAN_High 及 CAN_Low信号线相连。 CAN_Tx 及 CAN_Rx 使用普通的类似 TTL 逻辑信号 CAN_High 及CAN_Low 是一对差分信号线,比较特别的差分信号 差分信号 这两个信号线: 振幅相等 相位相反 通过两根信号线的电压差值来表示逻辑 0 和逻辑 1。 特性

ZYNQ学习之路7.CAN总线学习

点点圈 提交于 2020-01-31 03:40:48
CAN总线是控制器局域网(Controller Area Network)的简称,是国际上应用最广泛的现场总线之一,CAN总线协议已成为汽车控制系统和嵌入式工业局域网的标准总线。CAN总线有很多优秀的特点,比如:传输速度最高达1Mbps,通信距离最远到10Km,无损位仲裁机制,多主结构,理论上挂载到总线上的设备没有数量限制。 因此掌握CAN总线协议是很重要的,本文简要介绍CAN总线协议,以Linux驱动CAN网络为重点介绍。 一. CAN总线的物理特性 1.1 CAN总线的网络结构 CAN总线有CAN_H和CAN_L两根线组成,线上传输差分信号,为了避免信号的反射和不连续,需要在总线的两个端点接120欧姆电阻,不可不接或单接,因为双绞线的特性阻抗为120欧姆,在终端模拟无限远的传输线。CAN网络一般采用"T"型连接,如下图1-1所示,在波特率为1Mbps的情况下,分支长度最好不要超过0.3m。 图1-1: CAN总线T型网络结构 当然也可采用星型拓扑结构,如图1-2所示: 图1-2: CAN总线星型网络结构 如果图中节点采用等长接线连接,可以不使用CAN集线器设备,调节每个节点的终端电阻即可实现组网。终端电阻R=N*60Ω,N是分支节点的个数。注意网络中心不能加任何电阻。 在实际的应用中,我们几乎无法做到等长,在T型网络中也很难做到支线较短的情况

CAN FD协议分析

≡放荡痞女 提交于 2020-01-19 03:57:20
在汽车领域,随着人们对数据传输带宽要求的增加,传统的CAN总线由于带宽的限制难以满足这种增加的需求。此外为了缩小CAN网络(max. 1MBit/s)与FlexRay(max.10MBit/s)网络的带宽差距,BOSCH公司推出了CAN FD 。 CAN FD(CAN with Flexible Data rate)继承了CAN总线的主要特性。CAN总线采用双线串行通讯协议,基于非破坏性仲裁技术,分布式实时控制,可靠的错误处理和检测机制使CAN总线有很高的安全性,但CAN总线带宽和数据场长度却受到制约。CAN FD总线弥补了CAN总线带宽和数据场长度的制约,CAN FD总线与CAN总线的区别主要在以下两个方面: ? 可变速率 CAN FD采用了两种位速率:从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,其余部分为原CAN总线用的速率。两种速率各有一套位时间定义寄存器,它们除了采用不同的位时间单位TQ外,位时间各段的分配比例也可不同。 ? 新的数据场长度 CAN FD对数据场的长度作了很大的扩充,DLC最大支持64个字节,在DLC小于等于8时与原CAN总线是一样的,大于8时有一个非线性的增长,所以最大的数据场长度可达64字节。 CAN FD介绍 1.CAN FD 数据帧帧格式 CAN FD 数据帧在控制场新添加EDL位、BRS位、ESI位,采用了新的DLC编码方式

汽车UDS诊断教程 ISO15765(九)

自作多情 提交于 2020-01-06 21:30:12
网络层接口 网络层接口概述 主要介绍了ISO 15765 协议使用 ISO 15765-2 定义的网络层服务进行诊断信息的收发。定义了应用层协议数据单元(A_PDU)到网络层协议数据单元(N_PDU)的映射。 其中需要注意:网络层的服务用语应用层及诊断会话管理的定时。 流控 N_PCI 参数定义 客户机 Stmin 参数不应该使用 0xF1-0xF9 的值。这些 Stmin 参数值应汽车厂商要求服务器应当支持。 信息发送的 A_PDU 到 N_PDU 的映射 应用层协议数据单元的参数按照下表所示映射到网络层协议数据单元。它用于定义客户机/服务器诊断服务信息的请求/应答。网络层向应用层的(N_USData.con)成功发送确认服务。应用层是需要这项服务,因为它需要在请求/应答完成时立即进行另外的动作(例如 ECU 重启,波特率调整等)。 信息接收的 N_PDU 到 A_PDU 的映射 网络层协议数据单元的参数按照下表所示映射到应用层协议数据单元。用于定义接收到 的诊断请求/应答的确认/指示。 网络层对接收到首帧N_PDU (N_USDataFirstFrame.ind)时指示不直接到应用层,因为它仅仅用于应用层定时。因此没有N_USDataFirstFrame.in N_PDU 到 A_PDU 的映射的定义。 标准的诊断 CAN 标识 OBD的11位CAN标识 OBD 的 11 位

一文读懂cannet设备调试过程

拈花ヽ惹草 提交于 2020-01-01 12:34:39
一文读懂cannet设备调试过程 1.材料准备 2.线路连接图 3.具体操作过程 1.材料准备: cannet一个、can卡一个、网线一条、U转串线一条,两台电脑 2.线路连接图: 一台电脑通过网线连接CANNET,一台电脑通过u转串连接到can卡上,cannet和can卡 通过can总线连接在一起。 3.具体操作流程 1)CANNET的操作: (1)线路连接完成后,将CANNET和电脑组成局域网,可以使用can_com查阅CANNET的ip地址,并在其中设置好网口、波特率等。(具体过程详见: https://blog.csdn.net/ljx0365/article/details/103728192 ) (2)最后在电脑上输入 “ping+cannet的地址”一下,查看是否组网完成。 (3)可以使用CAN_TEST、ROS、网络调试助手进行数据帧的发送。但是要注意,发送的格式必须严格按照CAN总线的协议来进行。 2)can卡的操作: (1)CAN卡使用前下载相应的驱动,可去对应品牌的官网现在。 (2)连线后,通过CAN_TEST进行发送和接收。 3)若发送和接收良好,则CANNNET设备正常。 注意事项: 1)若在发送、接收过程中出现数据不完整现象,可能是波特率不同造成的; 2)注意发送和接收的数据帧的格式; 3)查看在发送和接收过程中是否存在缓冲区覆盖的问题。 来源:

CAN FD协议简介

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-30 09:47:38
在汽车领域,随着人们对数据传输带宽要求的增加,传统的CAN总线由于带宽的限制难以满足这种增加的需求。此外为了缩小CAN网络(max. 1MBit/s)与FlexRay(max.10MBit/s)网络的带宽差距,BOSCH公司2011年推出了CAN FD方案 。 CAN FD(CAN with Flexible Data rate)继承了CAN总线的主要特性。CAN总线采用双线串行通讯协议,基于非破坏性仲裁技术,分布式实时控制,可靠的错误处理和检测机制使CAN总线有很高的安全性,但CAN总线带宽和数据场长度却受到制约。CAN FD总线弥补了CAN总线带宽和数据场长度的制约,CAN FD总线与CAN总线的区别主要在以下两个方面: 可变速率 CAN FD采用了两种位速率:从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,其余部分为原CAN总线用的速率,即仲裁段和数据控制段使用标准的通信波特率,而数据传输段时就会切换到更高的通信波特率,数据传输速率可大于。两种速率各有一套位时间定义寄存器,它们除了采用不同的位时间单位TQ外,位时间各段的分配比例也可不同。 新的数据场长度 CAN FD对数据场的长度作了很大的扩充,DLC最大支持64个字节,在DLC小于等于8时与原CAN总线是一样的,大于8时有一个非线性的增长,所以最大的数据场长度可达64字节。 CAN FD 介绍 1. CAN

CAN总线(一)

邮差的信 提交于 2019-12-26 19:14:02
原文出处: http://www.cnblogs.com/jacklu/p/4729638.html 嵌入式的工程师一般都知道CAN总线广泛应用到汽车中,其实船舰电子设备通信也广泛使用CAN,随着国家对海防的越来越重视,对CAN的需求也会越来越大。这个暑假,通过参加苏州社会实践,去某船舶电气公司实习几周,也借此机会,学习了一下CAN总线。 概述 CAN(Controller Area Network)即控制器局域网,是一种能够实现 分布式实时控制的 串行 通信网络 。 想到CAN就要想到德国的Bosch公司,因为CAN就是这个公司开发的(和Intel) CAN有很多优秀的特点,使得它能够被广泛的应用。比如:传输速度最高到 1Mbps ,通信距离最远到 10km ,无损位仲裁机制, 多主结构 。 近些年来,CAN控制器价格越来越低,很多MCU也集成了CAN控制器。现在每一辆汽车上都装有CAN总线。 一个典型的CAN应用场景: CAN总线标准 CAN总线标准只规定了 物理层 和 数据链路层 ,需要 用户自定义应用层 。不同的CAN标准仅物理层不同。 CAN收发器负责逻辑电平和物理信号之间的转换。 将逻辑信号转换成物理信号(差分电平),或者将物理信号转换成逻辑电平。 CAN标准有两个,即 IOS11898 和 IOS11519 ,两者 差分电平特性不同 。 高低电平幅度低

CAN通信帧ID如何设定? (转载)

假如想象 提交于 2019-12-05 18:57:41
https://www.cnblogs.com/isAndyWu/p/10298695.html这个文章解答了我的一个id使用的疑惑,因此谢谢作者,转载。 CAN总线ID是包含在报文帧中的。 1、主要用作CAN总线的仲裁使用,所以一般来说网络上的每个节点(向总线上发送)的ID应该有所不同。ID值越低,报文优先级越高,在两组不同ID报文同时上线时候,仲裁机制使得ID值低的占用总线,ID值高的退出。 2、ID域可以是11位和29位,其值和含义可以由用户自定义,可以用作高层协议的管理,比如CANopen等协议中把ID的部分做为“源地址”,部分作为“目的地址”,这样CAN报文从哪来到哪去都清晰了。 3、ID的另一个作用是配合接收方滤波使用,就是说一般接收的滤波器可以设定接收ID的范围等,用于过滤掉不需要接收的信息,减轻CPU的处理负担。 ID是赋给帧的,不是直接给节点的,只是某节点知道自己要接收某个ID的帧。总线上的节点来说它只管取总线上他应该取的ID的帧,并不管是谁发的。 即使是远程帧,发出请求的节点在获得相应时也仅仅是根据帧ID判定,并不影响其他节点的接收。 我们要从总线的角度去看待CAN,不要从节点的角度出发 1、主要用作CAN总线的仲裁使用,所以一般来说网络上的每个节点(向总线上发送)的ID应该有所不同。ID值越低,报文优先级越高,在两组不同ID报文同时上线时候

can总线学习网上资料汇总

北战南征 提交于 2019-12-05 10:55:22
https://zhuanlan.zhihu.com/p/30247549?utm_source=wechat_session&utm_medium=social&utm_oi=28054357278720(如何学习CAN总线?) 致远电子 知乎文章https://www.zhihu.com/people/gong-ye-hu-lian-wang/posts 最近用到了msp2515和CTM8251KT进行can总线的数据收发,前者是can控制器,负责can数据解析滤波等功能,后者是an收发器,负责电平转换,网上有泥人can模块及学习资料,stm32也有例程(是韩国的,github上面挺多的)。 can总线比rs485总线更加强大,数据帧的格式也比rs485多,485仅仅是电平协议,而can协议不仅有电平协议,还有上册的应用协议,因此更加复杂,学习成本更加高。 can总线和modbus总线一样,都需要好好学习的,好好深入的,通信知识在工业领域是不可或缺的。 来源: https://www.cnblogs.com/CodeWorkerLiMing/p/11921489.html