SENT协议学习总结

一、简要概述

  • SENT协议,全称“single edge nibble transmission”协议,常用于汽车电子的传感器信号的一种数字信号接口,是单向通信的,数据只能从传感器到ECU。

  • SENT协议的数据是使用Nibble(半字节)来进行编码定义的,4个字节为一组构成一个实际的数据,即每个数据的取值范围为[0, 15]。一个半字节又是通过2个下降沿的时间差来定义的(即一个周期的时间长短)。时间精度是以节拍(tick)来定义。具体SENT信号解析见图:

    第一个下降沿之后,至少持续4个tick的低电平。然后电平翻转到高电平。在高电平至少持续(12 - 上个低电平持续的ticks)个ticks。即前12个ticks是协议规定的,不包含数据信息。如果此时下降沿到来(即这两个下降沿之间的时间是12个ticks),那么这个sent信号的数据值就代表的是0。数据每增加1,高电平持续时间就增加1个ticks

  • 各个数据对应的ticks数目如下:

0x012个ticks0x113个ticks0x214个ticks0x315个ticks
0x416个ticks0x517个ticks0x618个ticks0x719个ticks
0x820个ticks0x921个ticks0xA22个ticks0xB23个ticks
0xC24个ticks0xD25个ticks0xE26个ticks0xF27个ticks

二、帧结构描述

  • 一个完整的SENT数据帧结构如下所示:

    图:sent数据帧结构: SENT报文的长度会随着半字节的值而有不同

  • 基本组成:

    1. Sync 同步脉冲,固定的56Ticks。(这个不是按照标准的SENT数据格式发送),该脉冲与后续的下降沿之间的时间间隔等效于56个时钟节拍。

    2. Status/Com 状态及通讯字段,按照SENT格式传送,12~27Ticks,即1个Nibble(4bit)。

      这个nibble可以传输零件号,错误代码等杂项信息

    3. Data 数据段,12~162Ticks,即1~6个Nibble。

    4. CRC 校验字段,12~27Ticks,即1个Nibble。

    5. 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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值