CAN总线数据格式
发布时间:2009/1/9 0:00:00 访问次数:738
所有can总线通信在应用上都是一致的,但有两种硬件和两个版本的数据格式,分为基本型和完全型,如图1所示。几乎所有新的处理器内部嵌入的can总线模块都支持这两种操作模式,其中基本型主要用于对成本要求比较敏感的系统中。
基本型(basic—can)主要有以下特点:
●mcu内核和can总线模块采用闭环连接方式;
●有1个发送缓冲;
●有2个接收缓冲;
●需要使用软件选择输入的消息。
完全型(full—can)主要有以下特点:
●提供消息服务;
●对输人消息进行更大范围的接收滤波;
●邮箱允许用户配置;
●邮箱的存储区以及邮箱的大小与具体的芯片有关;
●先进的错误识别功能。
此外,can2.ob总线规范定义了 2种不同的数据格式(标准帧和扩展帧),其主要区别在于标识符域的长度不同:标准帧有ii位的标识符,扩展帧有29位的标识符,如图1所示。can总线的标准数据帧的长度是44~108位,而扩展数据帧的长度是64~128位。根据数据流代码的不同,标准数据帧可以插入28位填充位,扩展数据帧可以插人28位填充位。因此,标准数据帧最长为131位,扩展数据帧最长为156位。
图1 can总线应用类型
图2 数据格式类型
图1给出了构成标准/扩展数据帧各位在整个数据帧中的位置,主要包括:
●帧起始位;
●包含标识符和发送消息类型的仲裁域;
●包含数据位数的控制域;
eltms320x281x∶dsp jffile& c柳;ffilbtt,荃∶
●最多8字节的数据域;
●循环冗余检查位(crc);
●应答位;
●帧结束位。
图3 数据帧格式
can总线消息主要由仲裁区、数据区、crc校验区以及帧结束区荃部分构成。各区主要情 况如下。
●仲裁区:
◇定义消息的优先级;
◇消息的逻辑地址(标识符);
◇标准帧11位标识符;
◇扩展帧29位标识符。
●数据区:
◇每个消息最多可以包含8字节的数据;
◇允许不包含数据帧的帧存在(数据区长度为0字节)。
●crc校验区:包含循环冗余校验位。
●帧结束区:帧结束区消息响应标识、错误消息、消息结束。
图3给出的数据帧包含起始位、标识符、远程传输请求、标识扩展等,所有相关的仲裁、数据、crc校验以及帧结束构成了完整的can总线消息帧,各部分的具体含义如下。
起始位(1 bit) 标识一个消息帧的开始,在空闲时间的下降沿同步所有的总线模块;
标识符(11 bits):定义消息的逻辑地址和优先级,优先级的数字越小优先级越高;
rtr(1 bit):远程传输请求,如果rtr=1表示在数据帧中没有有效数据,请求远程节点向发出请求帧的节点发送数据;
ide(1 bit):标识符扩展,如果ide=1,则采用扩展的数据帧传送数据;
r0 保留;
dlc(4 bits):数据长度代码,数据帧长度允许的数据字节数为{0~8),其他长度数值不允许使用;
数据(0~8字节):消息数据;
crc(15 bits):循环冗余校验码”只用于检测错误而不能校正;
ack(2 bits)每一个接听者接收到消息后必须发送响应位(ack):
eof(7 bits=1,recesslve):帧的结束;
ifs(3 bits=1,recessive):内部帧空间,将接收到的消息从总线处理单元复制到缓冲,只有扩展模式有该位;
srr(1 bit=recesslve): 替代标准帧中的远程帧请求位(rtr);
r0:保留。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
所有can总线通信在应用上都是一致的,但有两种硬件和两个版本的数据格式,分为基本型和完全型,如图1所示。几乎所有新的处理器内部嵌入的can总线模块都支持这两种操作模式,其中基本型主要用于对成本要求比较敏感的系统中。
基本型(basic—can)主要有以下特点:
●mcu内核和can总线模块采用闭环连接方式;
●有1个发送缓冲;
●有2个接收缓冲;
●需要使用软件选择输入的消息。
完全型(full—can)主要有以下特点:
●提供消息服务;
●对输人消息进行更大范围的接收滤波;
●邮箱允许用户配置;
●邮箱的存储区以及邮箱的大小与具体的芯片有关;
●先进的错误识别功能。
此外,can2.ob总线规范定义了 2种不同的数据格式(标准帧和扩展帧),其主要区别在于标识符域的长度不同:标准帧有ii位的标识符,扩展帧有29位的标识符,如图1所示。can总线的标准数据帧的长度是44~108位,而扩展数据帧的长度是64~128位。根据数据流代码的不同,标准数据帧可以插入28位填充位,扩展数据帧可以插人28位填充位。因此,标准数据帧最长为131位,扩展数据帧最长为156位。
图1 can总线应用类型
图2 数据格式类型
图1给出了构成标准/扩展数据帧各位在整个数据帧中的位置,主要包括:
●帧起始位;
●包含标识符和发送消息类型的仲裁域;
●包含数据位数的控制域;
eltms320x281x∶dsp jffile& c柳;ffilbtt,荃∶
●最多8字节的数据域;
●循环冗余检查位(crc);
●应答位;
●帧结束位。
图3 数据帧格式
can总线消息主要由仲裁区、数据区、crc校验区以及帧结束区荃部分构成。各区主要情 况如下。
●仲裁区:
◇定义消息的优先级;
◇消息的逻辑地址(标识符);
◇标准帧11位标识符;
◇扩展帧29位标识符。
●数据区:
◇每个消息最多可以包含8字节的数据;
◇允许不包含数据帧的帧存在(数据区长度为0字节)。
●crc校验区:包含循环冗余校验位。
●帧结束区:帧结束区消息响应标识、错误消息、消息结束。
图3给出的数据帧包含起始位、标识符、远程传输请求、标识扩展等,所有相关的仲裁、数据、crc校验以及帧结束构成了完整的can总线消息帧,各部分的具体含义如下。
起始位(1 bit) 标识一个消息帧的开始,在空闲时间的下降沿同步所有的总线模块;
标识符(11 bits):定义消息的逻辑地址和优先级,优先级的数字越小优先级越高;
rtr(1 bit):远程传输请求,如果rtr=1表示在数据帧中没有有效数据,请求远程节点向发出请求帧的节点发送数据;
ide(1 bit):标识符扩展,如果ide=1,则采用扩展的数据帧传送数据;
r0 保留;
dlc(4 bits):数据长度代码,数据帧长度允许的数据字节数为{0~8),其他长度数值不允许使用;
数据(0~8字节):消息数据;
crc(15 bits):循环冗余校验码”只用于检测错误而不能校正;
ack(2 bits)每一个接听者接收到消息后必须发送响应位(ack):
eof(7 bits=1,recesslve):帧的结束;
ifs(3 bits=1,recessive):内部帧空间,将接收到的消息从总线处理单元复制到缓冲,只有扩展模式有该位;
srr(1 bit=recesslve): 替代标准帧中的远程帧请求位(rtr);
r0:保留。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
上一篇:CAN总线的协议层