首页 > 其他分享 >CAN协议

CAN协议

时间:2024-08-09 19:07:14浏览次数:6  
标签:协议 逻辑 总线 电平 隐性 RTR 显性

野火教程-CAN协议

  1. 协议定位:异步 差分 半双工(收发数据分时进行) 
  2. 协议分类
    1. 闭环总线网络 最大40m 最高1Mbps     并联120欧电阻
    2. 开环总线网络 最长1km 最高125kbps   串联2,2k欧电阻
  3. 电气标准
    1. 显性电平(高电平)代表逻辑0(强制规定)
    2. 隐性电平(高电平)代表逻辑1
    3. 如果总线上同时出现显性电平和隐性电平, 总线的状态会被置为显性电平,显性电平指的是高电平
当CAN收发器从CAN_Tx线接收到来自CAN控制器的低电平信号时(逻辑0), 
它会使CAN_High输出3.5V,同时CAN_Low输出1.5V,
CAN的电路设计使得当总线中有一个从机处于CAN_H > CAN_L这种状态的时候,整体都将处于处于这种状态,
这就是为什么要将这种状态下表示为显性电平(dominant)
将显性电平定义为逻辑0的时候,这样发送的数据就会呈现线与的功能,1&0=0
这也就是为什么can的帧ID越小,帧的优先级越大,直接原因是逻辑0代表显性(dominant)功能,根本原因是电路实现的线与功能
因此在CAN中提到显性位则代表逻辑1,隐形位代表逻辑0
在分析can的报文的时候,我们更关心总线冲突的问题,因此多提显隐性的概念,由于逻辑1代表使能,这就能理解为什么RTR在使能的时候,给的是隐性电平

4.can中的每个数据位都由SS+PTS+PBS1+PBS2组成,主要目的是调节各段的长度以对采样点进行偏移调整

SS: sync segment 固定1tq         同步段    如果信号在首tq值中未能同步完成 会标记为错误帧

PTS: propogation time 1-8tq      传播时间段  补偿网络的物理延时时间

PBS1: phase buffer segment 1 1-8tq  相位缓冲段1  补偿边沿阶段误差

PBS2: phase buffer segment 2 2-8tq  相位缓冲段2  补偿边沿阶段误差

RSJW:ReSyncJumpWidth:3tq左右   重新同步跳转宽度  stm32中限制重新同步的单次调整值,可以多次小步调整当控制器设置的SJW极限值较大时,可以吸收的误差加大,但通讯的速度会下降。

5.CAN中的报文种类

数据帧

遥控帧

错误帧

过载帧

帧间隔

 

数据帧详解:(用于发送数据)

1.SOF start of frame:显性电平,通知即将传输

2.仲裁段:数据帧的ID(标准11位,扩展29位)

3.RTR(Remote Transmission Request Bit):远程传输请求位,数据帧内为显性电平,逻辑0,代表禁止

4.IDE位(Identifier Extension Bit):标识符扩展位,数据帧内为显性电平,逻辑0,代表禁止

5.SRR位(Substitute Remote Request Bit):替代标准格式中的RTR位,标准数据帧中SRR为逻辑0,代表禁止

标准帧结构:

1位sof + 11位ID + 1位RTR(逻辑0) + 1位IDE(逻辑0) + 1位R0+4位DLC + 0-8ByteDATA + 15位CRC+1位CRC界定符(隐性位) + ACK槽位+ACkK界定符+帧结束(7个隐性位)

扩展帧结构:

sof+11位ID+SRR(逻辑0)+IDE(逻辑1)。。。

 

标签:协议,逻辑,总线,电平,隐性,RTR,显性
From: https://www.cnblogs.com/aker-whale/p/18350502

相关文章

  • [米联客-安路飞龙DR1-FPSOC] UDP通信篇连载-01 以太网协议介绍
    软件版本:Anlogic-TD5.9.1-DR1_ES1.1操作系统:WIN1064bit硬件平台:适用安路(Anlogic)FPGA实验平台:米联客-MLK-L1-CZ06-DR1M90G开发板板卡获取平台:https://milianke.tmall.com/登录"米联客"FPGA社区http://www.uisrc.com视频课程、答疑解惑! ​1概述本文介绍了基于XILIN......
  • HTTP协议基础知识【后端 4】
    HTTP协议基础知识HTTP(HyperTextTransferProtocol,超文本传输协议)是互联网上应用最为广泛的一种网络协议,它定义了客户端(如浏览器)与服务器之间数据传输的格式和规则。无论是浏览网页、在线购物还是使用各种Web应用,HTTP都扮演着至关重要的角色。本文将深入解析HTTP协议的基......
  • 在Modbus协议中,传输一个float类型的数值
    假设你想传输的浮点数是123.456,其在内存中的二进制表示为CDABEF12(这是假设为大端序的情况,即最高有效字节先出现)。为了将其发送给Modbus设备,你需要将这32位拆分为两个16位的寄存器值CDAB和EF12。#include<stdint.h>voidfloat_to_modbus_regs(floatf,uint16_t*reg_high......
  • 支持S3协议的S3cmd工具简单使用
    本文分享自天翼云开发者社区《支持S3协议的S3cmd工具简单使用》,作者:付****健一:安装方法#wgethttp://nchc.dl.sourceforge.net/project/s3tools/s3cmd/1.0.0/s3cmd-1.0.0.tar.gz#tar-zxfs3cmd-1.0.0.tar.gz-C/usr/local/#mv/usr/local/s3cmd-1.0.0//usr/local......
  • NFS v3及v4协议区别
    本文分享自天翼云开发者社区《NFSv3及v4协议区别》,作者:章****凯NFSv4相比v3,有部分功能的增强,如果应用需要实现如下功能,则必须使用NFSv4(建议和应用侧确实是否有NFSv4需求,一般情况下,应用侧会对是否采用NFSv4有明确需求):IDDomainMappingNFSv4引入Domain概念,加强了权限管控......
  • 医疗业务DICOM协议的基础内容
    dicomDICOM协议是医疗领域对如何处理、存储、打印和传输医疗图片的一系列标准。DICOM是DigitalImagingandCommunicationsinMedicine的缩写,它包括一个文件存储定义和一个通讯协议。AE(ApplicationEntity)代表DICOM通信中的一个终端,可以代表一个系统或者一个程序。......
  • 【前端】NodeJS:HTTP协议
    文章目录HTTP协议1概念2请求报文的组成3HTTP的请求行4请求头5HTTP的请求体6响应报文的组成7创建HTTP服务7.1操作步骤7.2测试7.3注意事项8浏览器查看HTTP报文8.1查看请求行和请求头8.2查看请求体8.3查看URL查询字符串8.4查看响应行与响应头8.5查看响应体......
  • 0213-数据链路层协议
    环境Time2022-11-20WSL-Ubuntu22.04Rust1.65.0pnet0.31.0前言说明参考:https://docs.rs/pnet_datalink/0.31.0/pnet_datalink/linuxRFC894:https://www.rfc-editor.org/rfc/pdfrfc/rfc894.txt.pdf《TCP/IP详解卷1:协议》:http://www.52im.net/topic-tcpipvol1.html目......
  • 构建即时通讯应用:Spring boot高效集成WebSocket、Stomp协议完成前后端持续通信
    1.引入依赖在你的SpringBoot项目的pom.xml中添加以下依赖:<dependencies><!--SpringBootStarterThymeleaf--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-st......
  • STM32之IIC协议
    物理层 1.从机数量选择地址限制:IIC协议本身没有严格规定总线上device最大数目,从理论上看,IIC能挂的device数目取决于能表示的最大地址空间,在7位地址模式下,减去0x00地址不可用,理论上可以挂2^7-1=127个设备。总线电容限制:由于器件的管脚都是有输入电容的,PCB上......