【车载开发系列】CAN总线通信---总线报文格式

news2024/11/18 1:47:13

【车载开发系列】CAN总线通信—总线报文格式

CAN总线通信---总线报文格式

  • 【车载开发系列】CAN总线通信---总线报文格式
    • 一.什么是ISO15765
    • 二.ISO15765的目的
    • 三.单帧传输的概念
    • 四.多帧传输的概念
    • 五.诊断报文格式
      • 1)首帧FF
      • 2)连续帧CF
      • 3)流控帧FC
      • 4)单帧SF
    • 六.网络层时间控制机制
    • 七.网络层时间控制术语
    • 八.诊断工具和ECU间定时

一.什么是ISO15765

ISO15765协议是一种CAN总线上的诊断协议。其中ISO15765-1包括物理层和数据链路层,ISO15765-2对网络层进行说明,ISO15765-3则是规定到应用层的具体服务。
ISO15765-2定义了诊断模型中TP网络传输层对于不同CAN报文格式单帧和多帧的处理方式。

二.ISO15765的目的

ISO15765目的是为了解决ISO11898协议中定义的经典CAN数据链路层与ISO14229协议中定义的应用层,彼此之间数据长度不统一的问题
经典CAN数据链路层最大能够支持8个字节,但ISO14229并不仅仅是为了CAN总线设计的,最大容量达到4095个字节。

三.单帧传输的概念

当应用层的诊断服务数据可以利用单帧CAN数据传送时,可采用单帧传送方式,一般第一个字节一般用来表示报文的长度,所以单帧的数据长度是6/7字节。

四.多帧传输的概念

多帧传送方式中,网络层根据需要,将诊断数据进行拆分成一个首帧和多个连续帧。首帧包括了分段数据的总长度信息以及一些数据帧;每个连续帧的第一个字节包含拆分的顺序编号,后面的七个字节用于存放诊断数据。接收端在接收到连续帧后根据接收数据帧的编号重组服务数据。
其中多帧的场合数据长度>6/7字节,最多允许0xFFF=4095字节。

五.诊断报文格式

报文的类型包括了首帧FF,流控帧FC,连续帧CF和单帧SF四种。N_PCL中字节1的4-7位用来区分类型。
N_PCLType=0 单帧
N_PCLType=1 首帧
N_PCLType=2 连续帧
N_PCLType=3 流控帧
在这里插入图片描述

1)首帧FF

首帧用来描述数据的起始;
首帧只支持一条信息无法在单个CAN帧中发送时使用。例如,拆分的信息。拆分信息的第一帧编码为FF,在接收到FF时,接受网络层实体应重组这些信息。

2)连续帧CF

连续帧用来传输大的数据。
当发送拆分数据时,所有的连续帧跟着编码为连续帧( CF )。在接收到一个连续帧,接受网络层实体应当重组接收到的数据字节直到整个信息被接收到。接收实体在接收最后一帧信息并无接收错误之后,应传递这些信息到相邻的上。

3)流控帧FC

流控帧用来表示传输过程中对报文流控制。
流控制的目的是调整连续帧N _ PDUs发送的速率。流控协议数据单元的3种类型用
于支持这些功能。这些类型由协议控制信息的流状态( FS )域指示。

4)单帧SF

对于未拆分的信息,网络层提供了一个优化的网络协议,即将信息长度值仅放置在 PCI 字节里。单帧( SF )应当能支持在单个 CAN帧中的信息传输。

六.网络层时间控制机制

网络层时间管理是为了保证发送端和接收端不会因为等待而永久挂起,从而失去通信能力,因此每次通话的过程中设置了超时的时间参数,以便在网络层更好的控制总线的传输。
多帧报文发送方与接收方间的网络层定时
在这里插入图片描述

七.网络层时间控制术语

术语描述
N_As发送端将数据传送到接收端的最大时间
N_Ar接收端将流控制传送到发送端的最大时间
N_Bs发送端在成功发送首帧后到接收到流控帧的最大时间
N_Br接收到首帧后到开始发送下一个流控帧的时间
N_Cs发送端在收到流控帧之后到开始发送连续帧的时间
N_Cr接收端在发送成功流控制后到收到连续帧的最大时间
STmin连续帧之间的最小发送时间间隔。STmin是协议栈需要实现的一个定时器,不同于前面几个定时参数限制最大时间,这个定时器是限制最小时间间隔的,当发送完一个CF后,发送者需要延时STmin才能发送下一帧CF

八.诊断工具和ECU间定时

在这里插入图片描述

术语描述设定值
S3Server会话超时,超时后返回默认会话模式一般设定为5s
S3Client发送下个TestPresent,以保持在非默认会话模式的时间一般设定在2s
P2Server诊断工具请求和ECU响应间的时间间隔。ECU端一般最大50ms
P2Server诊断工具接收到否定响应码78h后等待的超强超时时间间隔最大5000ms
P2Client诊断工具请求和ECU响应间的时间间隔,诊断工具端一般最大不超过150ms
P2Client诊断工具接收到否定响应码78h后等待的超强超时时间间隔最大5100ms则超时
P4ServerECU接受一个请求到最终响应开始传输的时间间隔一般最大值设定在120s

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

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

相关文章

【JavaScript】for循环

文章目录for循环案例1:两数相加案例2:绘制九九乘法表案例3:水仙花数案例4:绘制菱形案例5:计算表达式结果break和continue图片切换效果案例(轮播图结构)一、JavaScript代码二、HTML结构和CSS样式…

基于java+springmvc+mybatis+vue+mysql的演出道具租赁管理系统

项目介绍 前端页面: 功能:首页、道具出租、公告资讯、个人中心、后台管理 管理员后台页面: 功能:首页、个人中心、用户管理、商家管理、道具类型管理、道具出租管理、租赁订单管理、道具归还管理、我的收藏管理、系统管理 用户…

密西根大学张阳实验室郑伟博士在CASP15蛋白质结构预测大赛中斩获多项冠军

简报:在有着蛋白质结构预测领域奥林匹克竞赛之称的最新一届CASP比赛中(CASP15),密西根大学张阳教授和Peter Freddolino教授实验室的郑伟博士在多个比赛项目中获得冠军。其中D-I-TASSER算法(参赛名:“UM-TBM…

nodejs银行取号系统vue

目 录 1绪论 1 1.1项目研究的背景 1 1.2开发意义 1 1.3项目研究现状及内容 5 1.4论文结构 5 2开发技术介绍 7 2.1 B/S架构 7 2.2 MySQL 介绍 7 2.3 MySQL环境配置 7 3系统分析 9 3.1可行性分析 9 3.1.1技术可行性 9 3.1.2经济可行性 …

学会4种方法,掌握端到端测试处理数据..

推荐阅读: [内部资源] 想拿年薪30W的软件测试人员,这份资料必须领取~ Python自动化测试全栈性能测试全栈,挑战年薪40W 对Web应用程序运行自动化的端到端测试时,最常见的问题之一是如何处理测试数据。端到端测试通常会在通过应用…

授权服务器搭建以及授权码模式

前面的 GitHub 授权登录主要向大家展示了 OAuth2 中客户端的工作模式。对于大部分的开发者而言,日常接触到的 OAuth2 都是开发客户端,例如接入 QQ 登录、接入微信登录等。不过也有少量场景,可能需要开发者提供授权服务器与资源服务器&#xf…

Spring MVC【创建与使用】

Spring MVC【创建与使用】🍎一.Spring MVC介绍🍒1.1 什么是SpringMVC?🍒1.2 MVC 定义🍒1.3 Spring MVC 与 MVC 的区别🍒1.4 Spring MVC的基本功能🍎二. Spring MVC项目的创建🍒2.1 Spring MVC …

代码随想录DAY51 | 309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费

文章目录309.最佳买卖股票时机含冷冻期714.买卖股票的最佳时机含手续费309.最佳买卖股票时机含冷冻期 文章讲解:代码随想录 (programmercarl.com) 题目链接:309. 最佳买卖股票时机含冷冻期 - 力扣(LeetCode) 题目: …

Efficientdet源码详解

1.参数配置 最重要的参数配置如下 -p:配置文件,需要在project文件夹下新建配置文件-c:efficientdet的版本,efficientdet B0-B7-n:windows为0,linix根据自己的需求修改--batch_size:batch大小--data_path:数据集路径-p data --batch_size 16 其中&…

【Flask框架】——20 请求钩子

在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接; 在请求开始时,根据需求进行权限校验; 在请求结束时,指定数据的交互格式。 …

Dubbo 1 分布式系统中的相关概念 1.1 大型互联网项目结构目标

Dubbo 【黑马程序员Dubbo快速入门,Java分布式框架dubbo教程】 【非常重要就完事儿 了】 1 分布式系统中的相关概念 文章目录Dubbo1 分布式系统中的相关概念1.1 大型互联网项目结构目标1.1.1 传统项目 和 互联网项目1.1.2 互联网项目特点1.1.3 大型互联网项目架构…

【2022.12.17】备战春招Day12——每日一题 + 76. 最小覆盖子串 + 24. 两两交换链表中的节点

【每日一题】1764. 通过连接另一个数组的子数组得到一个数组 题目描述 给你一个长度为 n 的二维整数数组 groups ,同时给你一个整数数组 nums 。 你是否可以从 nums 中选出 n 个 不相交 的子数组,使得第 i 个子数组与 groups[i] (下标从 0…

C++绘制菱形(曼哈顿距离求解:贼快!!!)

思路: 1.双重for循环遍历输出是最基本的 2.了解曼哈顿距离 (1)菱形的输入一定是奇数 (2)我们是思想是填充 * 怎么填呢?我们来画图看看 以 3*3 的矩阵为例子! 我们来看看 距离是怎么定义的…

LInux进程优先级和nice值

文章目录一 定义描述二 查看nice值2.1 使用top命令交互式查看nice值2.2 使用ps命令查看nice值2.3 查看程序调度策略三 修改nice值3.1 启动特定nice值的进程3.2 更改现有进程的nice级别一 定义描述 大部分情况下,计算机需要运行的进程数超过了计算机拥有CPU的核心数…

[附源码]Python计算机毕业设计后疫情时期社区居民管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

uni-app卖座电影多端开发纪实(二):搭建导航

@创建4个Tab页 创建一个测试页hello 在pages目录上右键,新建页面执行如图操作,即可全自动生成页面组件+页面注册(pages.json)pages.json 中会生成这么一个玩意,就是页面声明了 pages:[{"path" : "pages/hello/hello","style" :

#ubuntu# 自动挂载硬盘 文件无权限Permission denied

操作前,切记做好备份工作。。。。 有时候我们服务器或电脑使用自动挂载硬盘后,发现没有权限。即使使用chmod 666 xxx也无济于事。无法让非root用户对该硬盘具有完全权限。 可以看到挂载的硬盘容量为1T 如果没有数据的话,可以尝试重新格式化硬…

老字号品牌营销杂志老字号品牌营销杂志社老字号品牌营销编辑部2022年第23期目录

中华老字号故事 全素斋 王红; 1 老字号研究《老字号品牌营销》投稿:cnqikantg126.com 刍议数字赋能天津老字号创新发展的路径 刘宝亮; 2-4 湖南老字号招牌广告的特征、价值与影响研究 毛凌云; 5-7 品牌与营销 西秦刺绣的传播路径研究——以“秦绣工…

爬虫?不是,mitmproxy帮你采集微信公众号留言

前言 有位朋友需要收集公司微信公众号的文章的留言,但苦于微信公众平台没有提供留言的API,所以朋友需要在每一篇文章下面去手动复制粘贴,朋友觉得很麻烦,于是来找到我!遂有此文。 下一篇,将结合uiautomatio…

Linux——进程管理

动态监控进程 介绍 top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的进程。 基本语法 top [选项] 选项说明 查看的时候(大写锁定要开启)P就按CPU的使用率来排序&#…