一、简要概述
-
SENT协议,全称“single edge nibble transmission”协议,常用于汽车电子的传感器信号的一种数字信号接口,是单向通信的,数据只能从传感器到ECU。
-
SENT协议的数据是使用Nibble(半字节)来进行编码定义的,4个字节为一组构成一个实际的数据,即每个数据的取值范围为[0, 15]。一个半字节又是通过2个下降沿的时间差来定义的(即一个周期的时间长短)。时间精度是以节拍(tick)来定义。具体SENT信号解析见图:
-
各个数据对应的ticks数目如下:
0x0 | 12个ticks | 0x1 | 13个ticks | 0x2 | 14个ticks | 0x3 | 15个ticks | |||
0x4 | 16个ticks | 0x5 | 17个ticks | 0x6 | 18个ticks | 0x7 | 19个ticks | |||
0x8 | 20个ticks | 0x9 | 21个ticks | 0xA | 22个ticks | 0xB | 23个ticks | |||
0xC | 24个ticks | 0xD | 25个ticks | 0xE | 26个ticks | 0xF | 27个ticks |
二、帧结构描述
-
一个完整的SENT数据帧结构如下所示:
-
基本组成:
-
Sync 同步脉冲,固定的56Ticks。(这个不是按照标准的SENT数据格式发送),该脉冲与后续的下降沿之间的时间间隔等效于56个时钟节拍。
-
Status/Com 状态及通讯字段,按照SENT格式传送,12~27Ticks,即1个Nibble(4bit)。
这个nibble可以传输零件号,错误代码等杂项信息
-
Data 数据段,12~162Ticks,即1~6个Nibble。
-
CRC 校验字段,12~27Ticks,即1个Nibble。
-
Pause 暂停脉冲(可选), 12~768Ticks,早期的SENT协议无此字段或者一个固定长度Ticks,SENT2010之后,部分通过此功能可以动态条件TICKS的个数,实现整个SENT协议是同一个固定长度TICKS。
-
三、快速消息
SENT发送一帧数据,就是一帧快速消息。
三、串行消息
1、Short Serial Message 格式。
-
短串行消息是依靠“通信和状态位的bit3来传输的。”即每帧SENT数据只能传输串行消息中的一位;一个short serial message有16位,所以要传输一个完整的short serial message 需要16帧sent信号。
-
串行消息的识别:
串行消息是的识别是依靠SENT信号的“status&comm ”Nibble 的bit3来识别的;
第一个SENT信号的“status&comm ”Nibble 的bit3是1,接下来的15帧SENT信号的“status&comm ”Nibble 的bit3都是0。那么这16帧SENT信号中的status&comm Nibble中的bit2就可以构成一个串行消息。
-
一个串行消息包括1个nibble的Message ID,2个nibble的data,还有1个nibble的CRC校验。
-
一个Short Serial Message 的帧格式如下:
前4帧SENT信号的“status&comm ”Nibble 的bit2 构成了串行消息的MessageID;中间8帧SENT信号的“status&comm Nibble 的bit2 构成了串行消息的DATA byte;后4帧SENT信号的“status&comm Nibble 的bit2 构成了串行消息的CRC校验位。
2、Enhance Serial Message 格式。
-
增强型串行消息的传输是依靠SENT信号“status&comm”Nibble中的bit2和bit3共同传输的。增强型串行消息可以配置成12bit data和8bit messageID。也可以配置成16bit data和 4bit message ID。每传输一个增强型串行消息需要18帧SENT信号。
-
增强型串行消息的识别:
如果连续6帧SENT信号“status&comm”Nibble中的bit3都是1,第7帧SENT信号“status&comm”Nibble中的bit3是0。那么从这个第1帧SENT信号 到 第18帧SENT信号中“status&comm”Nibble的bit2和bit3就可以提取出来一个增强型串行消息。
-
增强型串行消息(12bit data & 8bit message ID)帧格式。(第8帧SENT信号的“status&comm”Nibble 的bit3 为0)
如下图:前6帧SENT信号 S&C nibble中的bit2 构成了增强型串行消息的CRC。第7~18帧SENT信号的 S&C nibble中的bit2 构成了增强型串行消息的DATA。第14~17帧和9~12帧SENT信号的 S&C nibble中的bit3构成了增强型串行消息的ID。
-
增强型串行消息(16bit data & 4bit message ID)帧格式。(第8帧SENT信号的“status&comm”Nibble 的bit3 为1)
如下图:前6帧SENT信号 S&C nibble中的bit2 构成了增强型串行消息的CRC;第7~18帧SENT信号的 S&C nibble中的bit2 和 14~17帧SENT信号的S&C nibble中的bit3构成了增强型串行消息的DATA。第9~12帧SENT信号的 S&C nibble中的bit3构成了增强型串行消息的ID。