BSW之——CAN

CAN总线协议

一、简介

CAN:

控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。 CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。 该协议的健壮性使其用途延伸到其他自动化和工业应用。 CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。

CAN FD:

CAN FD 是CAN with Flexible Data rate的缩写,翻译为【可变速率的 CAN】。 也可以简单的认为是传统CAN的升级版,其中要说明的是,只升级了协议,物理层没有改变。

(注:可变速不是所有字段,而是部分字段,从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率)

 

二、帧介绍

CAN:

SOF: 起始帧。

ID:  11位或者29位的CAN ID。

RTR: 远程帧请求,远程帧为 0,表示是数据帧,否则是远程帧。远程帧表明接受该帧的节点即不主动发送数据,当他收到远程帧时,才开始发送数据,减少占用 CAN 的通信。

IDE:  扩展帧标识位。

FDF:   是否是CAN FD。

DLC:   数据长度。

Data:   数据段。

CRC:   CRC校验。

DEL: 分隔符,无意义,为 1。

ACK:   当接收端接收到有效数据后,就会给发送端发送个低电平表示接收的数据是准确的。

DEL: 分隔符。

EOF: 结束字段。

ITM:  帧间隔。

CAN FD:

BRS:   之后数据段传输是否变换速度,BRS 之前属于仲裁段,会以低速传输;BRS 开始到 CRC 分隔符为止,属于数据段,可以高速传输。CRC 分割符之后,由于需要 ACK 应答,因此又变为低速传输。

ESI:  用来告知其余节点,发送方的错误状态。ESI=1,Tx Node处于被动错误状态;ESI=0,Tx Node处于主动错误状态

  • 错误主动状态(Error Active):节点能够正常发送和接收数据,并参与总线仲裁。在错误主动状态下,节点会发送错误帧来报告错误。
  • 错误被动状态(Error Passive):节点仍然能够发送和接收数据,但在检测到错误时不会发送错误帧,而是会在ACK槽中发送隐性位(1)来指示错误。

三、计算极限

计算一下1ms理论上能够发多少帧数据。

CAN

CAN按照500k/b的波特率算,那么发送1bit所用的时间为:(1/500k)s = 0.002ms。

CAN一帧数据共有11+1+1+1+4+64+15+1+1+1+7+3=110bit。

所以发送一帧数据需要110*0.002=0.22ms。

那么1ms可以发送 1/0.22 = 4.54帧 ≈ 4帧。

CAN FD

CAN按照500k/b,2M/b的波特率算,低速1bit时间为:0.002ms,高速1bit时间为:0.0005ms。

由于可变速不是所有字段,而是部分字段,从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率。

所以需要时间为:92*0.0005+28*0.002=0.102ms。

那么1ms可以发送 1/0.102 = 9.8帧 ≈ 9帧。

但是这样计算的都是极限值,理想状态,由于受到硬件影响,调度影响,芯片负载等等,具体的带宽能有多大要看具体情况。

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YUV(NV12)与NHWC(BGRA)图像格式之间的区别联系

NV12是一种视频编码格式,属于YUV颜色空间的一种采样方式。 以下是关于NV12格式的具体介绍:YUV色彩空间:在数字图像处理中,YUV色彩空间将彩色图像分为亮度信息(Y)和色度信息(U、V)。这种分离使得图像处理更为灵活,尤其是在视频压缩和传输中非常有用。4:2:0采样:YUV 4:…

基于MATLAB的SEIR传染病模型建模与仿真

1.课题概述SEIR传染病模型是一种用于描述传染病传播过程的数学模型。这个模型将人群分为四类:易感者(Susceptible)、暴露者(Exposed)、感染者(Infectious)和康复者(Recovered),通过这四类人群之间的转化关系,来描述传染病的传播过程。通过matlab将这个过程进行建模与…

编译安装nginx并部署代码

1.编译安装nginx 编译安装:三部曲配置(configure),编译(make),安装(make install) 配置(configure) 指定安装目录 编译(make) 源代码---编译工具-->可执行文件(命令) 安装(make install) 根据第1步骤的配置,创建目录,复制文件,复制目录.1.1 Kylin_v10_sp3安装 [root@Kylin-V…

编译安装ngx并部署代码

1.编译安装nginx 编译安装:三部曲配置(configure),编译(make),安装(make install) 配置(configure) 指定安装目录 编译(make) 源代码---编译工具-->可执行文件(命令) 安装(make install) 根据第1步骤的配置,创建目录,复制文件,复制目录.1.1 Kylin_v10_sp3安装 [root@Kylin-V…

美团一面:Spring Cloud 远程调用为啥要采用 HTTP,而不是 RPC?

作者:简简单单神经蛙 来源:blog.csdn.net/m0_61878423/article/details/124607067 关于SpringCloud远程调用采用HTTP而非RPC。 1、首先SpringCloud开启Web服务依赖于内部封装的Tomcat容器,而今信息飞速发展,适应大流量的微服务,采用Tomcat处理HTTP请求,开发者编写Json作…

zabbix“专家坐诊”第254期问答

问题一 Q:老师,我重启zabbix-server服务,恢复正常了,然后过了一两分钟再刷新,有报这个错了。我看zabbix-server日志里没什么有用的信息。A:selinux 关闭一下 Q:是关闭状态 A:看看server 自监控有没有 报错提示,看看有没有什么指标是超过触发器的 Q:没有报错,看起来内…

解决 Exchange 发到邮件组报错 550 5.1.1 User unknown (in reply to RCPT TO command)

版本 2010 只需要关闭:要求所有发件人通过身份验证 位置: Exchange 管理控制台收件人配置通讯组XXX组属性邮件流设置邮件传递设置[√]要求所有发件人通过身份验证取消勾选,再点确定即可参考资料: https://portal.thobson.com/knowledgebase/427/550-511-User-unknown--How-…

Exchange 2016部署实施案例篇-03.Exchange部署篇(中)

上一章《Exchange 2016部署实施案例篇-03.Exchange部署篇(上)》我们对部署Exchange Server 2016的先决条件做了简单的讲解,接下来我们进入先决条件准备工作。 先简单说下环境:服务器名称IP地址系统作用ADSrv01 192.168.1.10 Win2016 GC(已部署完成)ADSrv02 192.168.1.20 Wi…

SpringBoot——关于banner

springboot启动后,控制台会打印一个图案出来,这个图案就叫banner,如果不配置的话打印的是springboot默认的banner 几个可以的生成banner的网址: https://bootschool.net/ascii https://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type Something

省钱的开源项目「GitHub 热点速览」W3

本期,我从上周的热门开源项目中挑选了 5 个既省钱又省事,还好玩的开源项目。 首先,推荐的是省钱的电动汽车智能充电管理平台 evcc,它可以根据分时电价智能安排电动车充电时间,从而降低电费,如果你家还有太阳能充电和储能设备,evcc 更能最大限度地利用电能,让你的充电成…

Go语言中的交互式CLI开发:survey库简介

在构建命令行工具时,良好的用户交互体验至关重要。尤其是在需要与用户进行复杂输入的场景下,传统的命令行参数和标志可能显得笨拙。github.com/AlecAivazis/survey/v2 是一个为 Go 语言设计的库,专门用于构建交互式的命令行界面。它提供了多种用户输入方式,让你的 CLI 工具…

专业级语义搜索优化:利用 Cohere AI、BGE Re-Ranker 及 Jina Reranker 实现精准结果重排

专业级语义搜索优化:利用 Cohere AI、BGE Re-Ranker 及 Jina Reranker 实现精准结果重排专业级语义搜索优化:利用 Cohere AI、BGE Re-Ranker 及 Jina Reranker 实现精准结果重排 1. 简介 1.1 RAG 在说重排工具之前,我们要先了解一下 RAG。 检索增强生成(RAG)是一种新兴的 …