车载网络测试 - CANCANFD - 基础篇_02

news2024/11/25 7:05:38

目录

七、与CAN总线相关的标准

1、ISO 11898,ISO16845

2、SAE J1939,ISO 11783,NMEA 2000,CANopen

3、ISO15765/ISO14229

4、ISO 17356/OSEK

5、CCP(CAN Calibration Protocol)

6、GMLAN,VWTP,FNOS,DCNet,MCNet

八、CAN总线的特点

九、CAN总线基本概念


七、与CAN总线相关的标准

1、ISO 11898,ISO16845

        一种标准化的**控制器局域网(CAN)**协议,用于实时数据通信和控制。 它提供了一种可靠的、实时的、多主机的、广播型的数据传输机制,并定义了CAN总线的物理层和数据链路层,支持在总线上发送多个优先级的消息,并提供了诊断和测试功能,以实现高效的数据通信和控制。
        

ISO 16845-1:2004提供了用于检查CAN是否符合ISO 11898-1规定所必需的方法和简要测试包。

ISO 16845-2:2014设立测试案例和测试要求,验证具有选择性唤醒功能的CAN收发器是否符合指定的功能。ISO 16845-2:2014中定义的测试类型称为一致性测试。

2、SAE J1939,ISO 11783,NMEA 2000,CANopen

        SAE J1939(以下简称J1939)是美国汽车工程协会(SAE)的推荐标准,用于为中重型道路车辆上电子部件间的通讯提供标准的体系结构。J1939基于德国Bosch公司(Robert Bosch GmbH)开发的控制器局域网络(CAN:Controller Area Network),可达到250Kbps的通讯速率。它描述了重型车辆现场总线的一种网络应用,包括CAN网络物理层定义、数据链路层定义、应用层定义、网络层定义、故障诊断和网络管理。在SAE J1939协议中,不仅仅指定了传输类型、报文结构及其分段、流量检查等,而且报文内容本身也做了精确的定义。J1939是在商用车辆、舰船、轨道机车、农业机械和大型发动机中应用最广泛的应用层协议。

        ISO 11783-1 是指农业和林业机械控制系统的数据总线(CAN)标准。该标准定义了用于在农业和林业机械之间传输信息的协议和数据格式。标准的完整文本和相关技术信息,包括 CAN 总线协议的细节、数据格式和命令,以及可以实现该标准的硬件和软件要求等。

        NMEA2000协议是基于CAN总线的应用协议,波特率为250kbps,可以实现船舶设备之间的数据传输。速率是NMEA0183的26倍,在未来船舶设备中应用范围越来越广泛。NMEA2000基于CAN2.0B协议,多个设备可以连接在一条总线上,具有容量高,铺设线路成本低等诸多优点。

        CANopen是一种架构在控制局域网路(Controller Area Network, CAN)上的高层通讯协定,包括通讯子协定及设备子协定常在嵌入式系统中使用,也是工业控制常用到的一种现场总线。CANopen 实现了OSI模型中的网络层以上(包括网络层)的协定。CANopen 标准包括寻址方案、数个小的通讯子协定及由设备子协定所定义的应用层。 CANopen 支持网络管理、设备监控及节点间的通讯,其中包括一个简易的传输层,可处理资料的分段传送及其组合。

3、ISO15765/ISO14229

        ISO 15765协议是一种CAN总线上的诊断协议,即我们常说的CANTP层测试那块。其中ISO 15765-1包括物理层和数据链路层,ISO 15765-2对网络层进行说明,ISO 15765-3则是规定到应用层的具体服务。根据ISO 15765-2中的定义,网络层的功能是接收到应用层发送过来的消息流后,根据定义中的分包、位填充和时间控制等步骤,对消息流进行控制传输。流控制输有单帧传输、多帧传输两种类型,根据传输数据的长度进行帧传输方式的选择。

        ISO 14229就是我们常说的UDS服务,诊断开发中常说的诊断服务都在该协议中有详细的介绍,从报文格式、应答方式等信息,你能想到的诊断服务相关的内容全都有。不过ISO 14229不仅应用于CAN和CANFD,同样会应用在LIN、DoIP、J1939等常见的车载协议上面,它主要是一个应用层的协议,因此只要存在诊断,几乎都可以用它

4、ISO 17356/OSEK

        ISO 17356 即介绍OSEK网络管理,(OSEK Operating System,OSEK OS)、通信规范(OSEK Communication , OSEK COM )、网络管理规范( OSEK Net Management, OSEK NM)和OSEK实现语言(OSEK Implementation Language,OIL)。OSEK具有实时性、可移植性、可扩展性等优点;以及优秀的管理、调度、同步等机制,使车辆上的ECU能够完美的配合起来。

5、CCP(CAN Calibration Protocol)

        CCP(CAN校正协议)是一种用于从电子控制单元(ECU)进行数据采集和进行数据校正的协议。CCP协议最常见的应用领域是汽车行业,在汽车行业中CAN被经常用到,而在其它行业中也可以使用CAN。已知的应用领域包括:ECU开发、ECU功能和环境测试系统、内燃机、齿轮箱或气候控制的试验工作台、车辆投产前的测量和校正、汽车行业之外的一般CAN应用。用CAN 2.0B协议的物理层、数据链路层和网络层。支持的功能:读写ECU内存、从ECU进行同步循环数据采集、同时校准和数据采集、处理CAN总线上的多个节点、闪存编程、即插即用、资源保护(数据采集和校准)。

6、GMLAN,VWTP,FNOS,DCNet,MCNet

        GMLAN主要是大众使用的一款接近CAN诊断的协议,迄今为止我也仅仅在泛亚的项目上有过使用一次,就再也没用过了,而且也是作为备用通道协议使用,因此对这块的了解不是特别多,希望有精通的大神给点指导,我把这块补充上来。

八、CAN总线的特点

        1、多主系统

        2、最高速率1Mbit/sec

        3、短帧结构(每条报文最多8字节数据)

        4、错误检测与处理机制

        5、数据校验,帧内应答

        6、总线型拓扑结构

        7、广播发送

        8、基于优先级的总线仲裁机制

九、CAN总线基本概念

        1、在CAN总线上传输的数据报文不包含发送节点和接收节点的信息

        2、每个报文的内容通过标识符 (ID)识别,标识符在网络中是唯一的

        将1、2条放在一起比较好说明一点,CAN总线上的单条报文发送与接收,报文不包含发送方信息和接收方信息,发送方和接收方均通过标识符(ID)来进行识别;即无论是发送方还是接收方,都是以报文ID和内部信号进行信息的交换,因此就要求CAN报文ID在同一个网络中必须是唯一的,否则将会出现不可预知的错误。

        3、标识符描述了数据的含义,同时也是决定优先级的主要因素

        标识符描述了数据的含义的意思是每一个CAN报文ID都有约定好功能,及数据含义;另外它也决定优先级的主要因素,我们知道CAN总线存在仲裁机制,这也就决定了CAN报文ID越小,它的优先级越高,因此一般重要的报文的ID都是设置的较小,这是为了保证它的数据传输的通畅性。

        4、报文可以被所有节点同时接收 (广播)节点可以进行报文过滤

        CAN通信是多主基于优先级的总线访问,就是说CAN总线是多主结构,总线上挂在的节点既可以作为发送方也可以作为接收方,当两个节点同时向总线发送报文,就会进行非破坏性的仲裁,谁的优先级高,谁就会获得发送权,优先级低的节点就会进入监听模式;由于CAN总线的报文都是广播发送,所有非发送节点都会接收总线的报文,那么是否使用某条报文该节点就会进行过滤,仅接收自身需要的报文。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/586661.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习-4 决策树算法

决策树算法 算法概述分类算法与分类器决策树算法树模型决策树的原理决策树算法的关键决策树构造的基本思路 算法基本思想决策树的训练与测试三种经典的决策树生成算法基于信息增益的ID3算法基于信息增益率的C4.5算法C4.5算法C5.0算法 基于基尼系数的CART算法 算法流程算法关键问…

chatgpt赋能python:Python中的包

Python中的包 对于使用Python进行编程的开发者来说,包是一个非常重要的概念。包可以看作是一个包含了多个模块的文件夹,这些模块可以在代码中使用。通过使用Python中的包,开发者可以使代码更加模块化,提高代码的可维护性和可读性…

Emacs之git操作(一百零五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

Apache Impala(1):Impala简介

1 Impala 基本介绍 impala 是 cloudera 提供的一款高效率的 sql 查询工具,提供实时的查询效果,官方测试性能比 hive 快 10 到 100 倍,其 sql 查询比 sparkSQL 还要更加快速,号称是当前大数据领域最快的查询 sql 工具&#xff0c…

小主机折腾记13

这个月折腾的事比较多,记个流水账 1.600g2mt加装wifi模块; 买了ngff转pcie的转接卡,发现竟然不能原生支持蓝牙,需要额外接一个4pin转9针usb的线,600g2mt是没有那种通用的usb9针口的…… 而内建蓝牙的转接卡网上也有卖&…

【项目】ROS下使用N100模块

本文主要记录如何使用WHEELTEC N100 模块。 之前的版本是CP2102串口芯片,而2022年5月之后的N100采用的是CH9102串口芯片。 一、修改串口号: 工具:链接:https://pan.baidu.com/s/13Pdq45_Z0ZRwuaNN0I84Cg 提取码:i6j…

《深入理解计算机系统(CSAPP)》第6章 存储器层次结构 - 学习笔记

写在前面的话:此系列文章为笔者学习CSAPP时的个人笔记,分享出来与大家学习交流,目录大体与《深入理解计算机系统》书本一致。因是初次预习时写的笔记,在复习回看时发现部分内容存在一些小问题,因时间紧张来不及再次整理…

【计算机网络详解】——应用层(学习笔记)

📖 前言:应用层是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。在本文中,我们以一些经典的网络应用为例来学习有关网络应用的原理、协议和实现方面的知识。 目录 &a…

华为OD机试真题B卷 Java 实现【快速寻找某字符】,附详细解题思路

一、题目描述 给定一个一个目标值 target和一个 元素升序的无重复数字字符串 ,写一个函数搜索 字符串 中的 target,如果目标值存在返回下标(下标从 0 开始),否则返回 -1。 二、输入描述 第一行输入一个目标值target…

在Centos Stream 9上Docker的实操教程(三) - Docker容器数据卷

在Centos Stream 9上Docker的实操教程 - Docker容器数据卷 问题场景Docker容器数据卷简单介绍数据卷使用操作实例安装redis验证配置文件生效验证数据是否丢失 结语 问题场景 Docker容器我们可以理解就是微型的linux系统,在使用容器的时候自然会产生一系列数据文件&…

基于SpringBoot+Vue的儿童书法机构管理系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 儿童书法机构的管理是…

代码随想录算法训练营第四十二天 | 二维dp数组01背包, 力扣 416. 分割等和子集

背包 解析 1.确定dp数组以及下标的含义 对于背包问题,有一种写法, 是使用二维数组,即dp[i][j] 表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。 2.确定递推公式 有两个方向推出来dp[i][…

跨境电商app开发搭建多语言商城后的运营技巧,一件了解电子商城及运营

跨境电商APP包含:买家端手机H5版本, 电脑Pc网页版本, 安卓苹果App。 一、模式介绍 如需要探讨,请kan 名片。 无货源模式:电商平台上的卖家不需要自己拥有实体的库存,而是通过与供应链服务提供商合作,将订单和支付…

ai写作软件怎么写文章?这篇文章介绍三个好方法

在人工智能技术的迅速发展下,ai写作成为创作领域的一项炙手可热的新技术。随着越来越多的创作者开始借助ai写作工具,ai写作逐渐引起了广泛的关注。ai写作是指利用人工智能技术和自然语言处理算法,为创作者提供文章的初版。不过有很多小伙伴对…

Linux用户权限管理

目录 一 权限定义 二 权限表示法 2.1 数字表示法 2.2 文字表示法 三 更改权限 四 权限ACL配置 五 特殊权限 5.1特殊权限SUID 5.2 特殊权限SGID 5.3 特殊权限Sticky 5.4 linux改变拥有者 一 权限定义 通过ll命令查看,然后摘出来一条分析: d …

PHPMySQL基础(二):通过PHP对MySQL进行增、删、改、查

PHP&MySQL基础(一):创建数据库并通过PHP进行连接_长风沛雨的博客-CSDN博客 前面创建了一个数据库和表,并且用 mysqli()实例化了一个连接对象$link 这篇记一下怎么用实例化对象去对表进行一个增删改查操作 目录 一、连接数据库&#xf…

AcWing第 105 场周赛

AcWing 5029. 极值数量 给定一个长度为 n� 的整数数组 a1,a2,…,an�1,�2,…,��。 如果一个元素左右两边均有相邻元素(也就是不位于数组的两端),且满足以下两个条件之一&#xff1a…

RK3588平台开发系列讲解(基础篇)Linux 内核有多少 API 接口

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、Linux 内核有多少 API 接口二、Linux 系统调用表三、Linux 系统调用实现3.1、申明系统调用3.2、定义系统调用沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 Linux 作为比较成熟的操作系统,功能完善,它…

apache的配置和应用

文章目录 一、httpd服务支持的虚拟主机类型包括以下三种:二、构建Web虚拟目录与用户授权限制三、日志分割四、 虚拟Web主机指的是在同一台服务器中运行多个Web站点,其中每一个站点实际上并不独立占用整个服务器,因此被称为“虚拟”Web 主机。通过虚拟 We…

Flume实现Kafka数据持久化存储到HDFS

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成…