SENT协议学习总结
- 1.SENT协议简介
- 2.基本概念
- 3.消息定义
-
- 3.1 帧结构
- 3.2 基本规则
- 3.3 通信格式
- 3.4 慢通道(slow channel)介绍
- 4.CRC计算
-
- 4.1 快通道CRC Nibble
- 4.2 慢通道(slow channel)CRC
- 5.接收策略
-
- 5.1运算与校准
- 5.2接收检测
- 6. 时钟偏差容忍度
1.SENT协议简介
SENT 全称:Single Edge Nibble Transmission,中文名称为:单边半字节传输协议,是SAE推出的一种点对点的、单向传输的方案,被用于车载传感器和ECU(Engine Control Unit)之间的数据传输,其主要特点如下:
-
SENT 总线一种数字信号传输协议,相比CAN或Lin成本更低,且具有不错的传输精度和速度,数字数据传输速度可达30kb/s;
-
SENT 总线是单线传输数据,加上电源和地线,总共 3 线;
-
SENT 总线单向传输, 数据只能从传感器到 ECU,传输是连续的,不需要请求命令;
-
SENT 总线由帧来传输数据, 或者数据包的形式,每一帧由不同宽度的脉冲即半字节组成;
-
SENT 总线数据的传输可以分为快速通道和慢速通道,重要的信号用快速通道以实现高频率的更新,比如压力等,对于非关键的信号,如诊断等可以放在慢速通道传输;
-
SENT 总线快速通道是每一帧传输一个完整的信号,慢速通道需要多帧来传输一个完整的信号, 即更新频率不同。
(引自: SENT (Single Edge Nibble Transmission)协议接口_sent协议-CSDN博客)
2.基本概念
协议版本(本文):J2716 JAN2010
- 脉冲周期:Pulse Period,指SENT协议波形两个连续下降沿之间的时间
- Nibble:半字节,4bit位宽;
- 时钟节拍:Ttick,也称UT (unit time),是SENT通信的基本时间单位。
3.消息定义
3.1 帧结构
每一帧信号都是由同步域,状态&通讯域,数据域,校验域,加一个可选的暂停域构成。
(1) Calibration/Synchronization
同步域,协议规定持续56 ticks。接收端(ECU)的tick判定,根据同步域的波形进行运算与校正补偿,产生贴近发送端(Sensor)的实际tick,用以对帧剩下的Nibble进行译码。
(2) Status and Serial Communication
状态&通讯域,1 Nibble,可译码为4bit数据。通过多个帧中的状态通讯域的拼接可以传递传感器代号,生产厂家和诊断信息,根据状态消息的规则由两种形式:简短型串行信息(Short Serial Message)和增强型串行报文格式(Enhanced Serial Message)。该Nibble的译码信息如下对应:
注意:校验域的CRC运算不包含状态&通讯域Nibble,在多帧组成的慢通道应用中,有相应的另外的CRC运算操作。
(3)Data
数据域,最多6个Nibbbles(4bit),即最多 3Byte/帧。数据域的字节定义由不同的应用决定,对于一个特定的应用,数据域的长度是固定的。
(4)CRC/Checksum
校验域,CRC4。从图2可以看出,考虑CRC Nibble后,最短的帧时间为154ticks,最长为270ticks。具体见下表
Case | D1 | D2 | D3 | D4 | D5 | D6 | CRC |
---|---|---|---|---|---|---|---|
#1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
#2 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
#3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
Case | D1 | D2 | D3 | D4 | D5 | D6 | CRC |
---|---|---|---|---|---|---|---|
#1 | E | F | F | F | F | E | F |
#2 | F | F | E | F | F | F | E |
#3 | F | F | F | E | E | F | F |
(5) Pause pulse
暂停域,可选。
(引自: 简单的SENT 协议解析-(1)_sent协议-CSDN博客, SAE J2716_201001协议)
3.2 基本规则
- 脉冲顺序(即帧结构)是固定的,最小的Pulse Period为12 ticks ;
- Pulse Period低电平至少维持4ticks,无论是同步域,状态&通讯域,数据域,还是校验域都是;
- 每一个Nibbbl代表的数值范围仅为[0,15]ÿ