can总线上传输的信息称为报文,当总线空闲时任何连接的单元都可以开始发送新的报文。
	can通信是通过以下5种类型的帧进行的:
	数据帧
	遥控帧
	错误帧
	过载帧
	帧间隔
	另外,数据帧和遥控帧有标准格式和扩展格式两种格式。标准格式有 11 个位的标识符(identifier: 以下简称 id), 扩展格式有 29 个位的 id。
	各种帧的用途如下表所示:
	近期打算写5篇文章,分别详细介绍这5种类型的can总线报文格式,本篇博文将详细讲解can数据帧格式,创作不易,请各位朋友多多点赞、收藏、关注支持~
	数据帧由7个段构成,图解说明如下所示:
	帧起始:表示数据帧开始的段;
	仲裁段:表示该帧优先级的段,根据仲裁段id码长度的不同,分为标准帧(can 2.0a)和扩展帧(can 2.0b);
	控制段:表示数据的字节数及保留位的段;
	数据段:数据的内容,可发送0~8个字节的数据;
	crc段:检查帧的传输错误的段;
	ack段:表示确认正常接收的段;
	帧结束:表示数据帧结束的段。
	1帧起始
	帧起始由1个显性位组成。总线空闲时,发送节点发送帧起始,其他接收节点同步于该帧起始位。
	总线上的电平有显性电平和隐性电平两种。
	总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。
	“显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平。并且,“隐性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强。)
	2仲裁段
	仲裁段用于写明需要发送到目的can节点的地址、确定发送的帧类型(当前发送的是数据帧还是遥控帧),并确定发送的帧格式是标准帧还是扩展帧。
	仲裁段在标准格式帧和扩展格式帧中有所不同。标准格式帧的仲裁段由11位标识符和远程发送请求位rtr组成,扩展格式帧的仲裁段由29位标识符和远程发送请求位rtr组成。
2.1、标准数据帧
	标准数据帧基于早期的can规格(1.0和2.0a版),使用了11位的识别域。
	can标准帧帧信息是11字节,包括帧描述符和帧数据两部分。如下表所列:
	前3字节为帧描述部分。字节1为帧信息,第7位(ff)表示帧格式,在标准帧中ff=0,第6位(rtr)表示帧的类型,rtr=0表示为数据帧,rtr=1表示为远程帧。dlc表示在数据帧时实际的数据长度。
	标准数据帧的 id 有 11 个位。从 id10 到 id0 依次发送。禁止高 7 位都为隐性(禁止设定:id=1111111xxxx)。
	字节2~3为报文识别码,其高11位有效。
	字节4~11为数据帧的实际数据,远程帧时无效。
	2.2、扩展数据帧
	can扩展帧帧信息是13字节,包括帧描述符和帧数据两部分,如下表所示:
	前5字节为帧描述部分。字节1为帧信息,第7位(ff)表示帧格式,在扩展帧中ff=1,第6位(rtr)表示帧的类型,rtr=0表示为数据帧,rtr=1表示为远程帧。dlc表示在数据帧时实际的数据长度。
	扩展格式的 id 有 29 个位。基本 id 从 id28 到 id18,扩展 id 由 id17 到 id0 表示。基本 id 和 标准格式的 id 相同。禁止高 7 位都为隐性(禁止设定:基本 id=1111111xxxx)。
	字节2~5为报文识别码,其高28位有效。
	字节6~13为数据帧的实际数据,远程帧时无效。
	3控制段
	控制段由6个位组成,包括数据长度代码和两个将来作为扩展用的保留位,标准格式和扩展格式的构成有所不同。
	数据长度代码指示了数据段中的字节数量。数据长度代码为4个位,在控制段里被发送,数据帧长度允许的字节数为0、1、2、3、4、5、6、7、8,其他数值为非法的。
	保留位(r0、r1)必须全部以显性电平发送。但接收方可以接收显性、隐性及其任意组合的电平。
	数据长度码(dlc)与数据的字节数的对应关系如下表所示:
	数据的字节数必须为 0~8 字节,但接收方对 dlc = 9~15 的情况并不视为错误。
	4数据段
	数据段由数据帧中的发送数据组成,它可以为0~8字节,每字节包含了8位,首先发送最高有效位msb,依次发送至最低有效位lsb。
	5crc段
	crc段是检查帧传输错误的帧,包括:15 个位的 crc序列(crc sequence)和1 个位的crc界定符(crc delimiter)构成。
	crc序列是根据多项式生成的 crc 值,crc 的计算范围包括:帧起始、仲裁段、控制段、数据 段。接收方以同样的算法计算 crc 值并进行比较,不一致时会通报错误。
	6ack段
	ack段用来确认是否正常接收。由 ack 槽(ack slot)和 ack 界定符(ack delimiter)2 个位构成。
	发送单元在 ack 段发送 2 个位的隐性位。当接收器正确地接收到有效的报文时,接收器就会在应答间隙(ack slot)期间(发送ack 信号)向发送器发送一个“显性”的位以示应答,通知发送单元正常接收结束,这称作“发送 ack”或者“返回 ack”。
	发送 ack/返回 ack是在既不处于总线关闭态也不处于休眠态的所有接收单元中,接收到正常消息的单元 (发送单元不发送 ack)。所谓正常消息是指不含填充错误、格式错误、crc 错误的消息。
	7帧结束
	帧结束是由每一个数据帧和远程帧的标志序列界定的,这个标志序列由7个“隐性”位组成。
			
			
       	 	
    	跑步蓝牙耳机牌子的好,最适合跑步用的蓝牙耳机
         	 	
    	差压传感器MS5534C的应用优势
         	 	
    	魅蓝S6参数配置详解,3+32GB只需999元
         	 	
    	微软win10开始菜单大变样
         	 	
    	求推荐一款打游戏的无线耳机?2020游戏无线耳机推荐
         	 	
    	一文详解CAN数据帧格式
         	 	
    	双极步进电机和单极步进电机之间差异
         	 	
    	QD0325-C导尿管强度测试仪
         	 	
    	代码覆盖率工具的重要性
         	 	
    	高耐久低成本的NRAM是如何铸就的?
         
       	 	
    	直流继电器及交流接触器主要参数测试电路
         	 	
    	NTDETECT失败怎么办
         	 	
    	光伏逆变器并网问题详解
         	 	
    	SRS有源防磁音箱的制作
         	 	
    	海康威视智能闸机助力泰山打造智慧景区
         	 	
    	努比亚游戏手机将内置四风扇散热
         	 	
    	S7-1200 CPU时钟与CP时钟的同步
         	 	
    	学习proteus的仿真原理图解析和经典案例分享
         	 	
    	TouchGFX Designer 4.17帮助构建更好的用户界面
         	 	
    	面向IGBT与MOSFET的栅极驱动器