关于对SENT信号传输协议的理解

汽车ECU开发 2021-11-14 10:34

0  手电筒传信

SENT协议,类似用手电筒传递信息。

首先约定:A每次点亮手电筒时,B按下秒表计时,A将信息藏于时间。B根据“密码本”对照看每次点灯时间长度来查找对应字母。于是,A不停的亮灯,灭灯,亮灯灭灯。B根据A亮灭灯来掐表,对照密码本看是什么字母。由于AB手里的秒表时基不同,彼此时间并不同步。为了解决这个问题,AB又约定:A每次发送信息,都会持续点亮56秒,然后A再发送数据。这56秒是给B对表用的。

于是,B接收到A的56秒数据时,都会同步自己的秒表,这样就能确保A的时间刻度和B时间刻度保持一致,查密码本时就不会出错。

但手电筒传递过程中,偶尔出现恶劣情况或有飞沙掠影,B可能看到A的灯光“虚闪”,这样的话,B掐表就会出现紊乱。

为了解决这个问题,AB约定:A每次发送完信息后,再发送一个验证码,验证码是由前面的信息反算得来。即A每次发送的信息都会有一套加密算法得到一组验证码,A再将验证码发送出去。B接收到信息后,也会接收到验证码,同时B根据相同算法将接收的数据转换得到一组验证码,将计算得到的验证码和接收到的验证码比较,一致说明信息正确,不同则丢弃数据。

简单总结就是:对表、计时和验证,这也就是SENT协议传输的全过程。

1  概览

SENT (Single Edge Nibble Transmission)协议,最初由通用公司在2005年提出,后来由SAE完善并成为SAE标准文件 — SAE J2716。SENT协议这种新的传感器接口具有传输效率高、成本低等优点,能满足发动机控制系统的复杂需求。

SENT协议有以下特点:

  • 是一种数字信号传输协议,具有更高的传输精度和速度;

  • 单线传输数据能力,减少信号线,降低成本。加上电源和地线,总共3线;

  • 点对点连接,一个传感器信号对应一个SENT接口;

  • 单向传输协议,数据只能从传感器到ECU,传输是连续的,不需要请求命令;

  • 具有更强大的诊断功能;

  • 可传输大数据;

  • 发送数据的时间由传感器的时钟决定;

  • 数据的传输可以分为快速通道和慢速通道,重要的信号用快速通道以实现高频率的更新,比如压力等,对于非关键的信号,如诊断等可以放在慢速通道传输;

  • 快速通道是每一帧传输一个完整的信号,慢速通道需要多帧来传输一个完整的信号,即更新频率不同;

2  协议特性

先了解两个概念:
  脉冲周期(Pulse Period): 发送信号的连续两个下降沿间隔时间;
  半字节(Nibbbles): 信号识别的基本单位,共4 bit;
Nibble的发送时间由传感器时钟决定,发送的时钟周期范围 3us 到 10us,以传感器的性能决定。
一个Nibble的最短时间为12 时钟周期(数值0的时候);在发送一个Nibble时,需要大于4个(通常用5个)时钟周期的拉低时间,剩余的clock需要拉高,为下降沿做准备。
Nibble所表示的数值由两个下降沿之间的时钟数决定。
每增加一个数值,时钟数在12的基础上加1,所以最小的数0的时钟数为12,最大数15的时钟数为27。
时钟周期数 = 5个LOW时钟周期 + 7个HIGH时钟周期 + n*Clock

当nibble值为0时,时钟周期数:5个LOW + 7个HIGH + 0 *Clock,即 12个时钟周期;

当nibble值为15时,时钟周期数:5个LOW + 7个HIGH + 15 *CLOCK,即27个时钟周期。

3  数据帧

一个SENT帧通常由四个域组成:分别是同步域、通讯状态域、数据域和校验域组成。在帧与帧之间还可插入可选的暂停域。

标定/同步域:56个时钟周期
通讯状态域:一个Nibble,4 bit,12-27个时钟
数据域:数据域的字节定义由不同的应用决定,但是对于一个特定的应用,数据域的长度是固定的,即数据的Nibble数量是固定的。长度为6个Nibble。
校验域:一个Nibble,4 bit,12-27个时钟


状态域

状态信息包括Sensor ID、生产厂家和诊断信息等。STATUS中有一个位可以用于传输传感器的状态信息,当然是通过多个SENT帧拼接而成。

状态消息分为短消息和增强型消息,由Status域定义给出:

短消息


一帧消息需要有16个连续的SENT帧组成:
Bit 3作用:第一个SENT帧中为1,表示一个消息的开始,其余15个帧均为0  
Bit 2作用:由每个SENT帧的数据域拼接成数据类型定义。这些类型包括Message ID、Data Byte和相应的CRC值等,此CRC和SENT帧内部的CRC算法一样。MessageID决定了Data Byte数值的意义。
12-bit data and 8-bit message ID (configuration bit = 0)


增强型消息


增强型消息可以表示更大的Message ID和Data Byte,这些定义需要连续18个SENT帧来完成,还是由bit3 和bit 2共同在18个帧中拼接完成。
增强型消息可以配置成两种形式:(由第8个SENT帧的bit3作为configuration bit)
16-bit data and 4-bit message ID (configuration bit = 1)

数据域


SENT帧的数据包含传感器输出值的fast channel和传感器的状态信息slow channel。比如,
Nibble #1 = 0d
Nibble #2 = 15d
Nibble #3 = 0d
Nibble #4 = 8d
Nibble #5 = 15d
Nibble #6 = 0d
Nibble #7 = 8d
Nibble #8 = 12d

按照3μs的时钟周期,那么该帧SENT报文的传递时间为456μs(152个时钟周期)到816μs(272个时钟周期)之间。

数据域可以表征一个物理信号,比如角度。

例如,12 bits来表征角度信息,8 bits来表征滚动计数0到255,最后一个数据nibble来讲角度的MSN信息反转。那么,SENT协议的数据帧应该是:
Nibble #2 = Angular Information
– MSN (Most Significant Nibble)
Nibble #3 = Angular Information
– MidN (Middle Nibble)
Nibble #4 = Angular Information
– LSN (Least Significant Nibble)
Nibble #5 = 8 bit rolling counter
– MSN (Most Significant Nibble)
Nibble #6 = 8 bit rolling counter
– LSN (Least Significant Nibble)
Nibble #7 = Inverted copy of Nibble #2
(15 – Nibble #2 value)

数据域也可以表征两个物理信号,比如压力和温度。

例如,12 bits来表征压力,12 bits来表示温度,那么,SENT协议的数据帧应该是:
Nibble #2 = Pressure Information
– MSN (Most Significant Nibble)
Nibble #3 = Pressure Information
– MidN (Middle Nibble)
Nibble #4 = Pressure Information
– LSN (Least Significant Nibble)
Nibble #5 = Temperture Information
– MSN (Most Significant Nibble)
Nibble #6 = Temperture Information
– MidN (Middle Nibble)
Nibble #7 = Temperture Information
– LSN (Least Significant Nibble)

数据接收策略 

ECU检查同步段的时间长度,如果算出来的时钟数和理论上的时钟数相差±20%以内,则认定为一个新数据的开始,并且此后的时钟数的计算将以此同步段换算出来的clock时间为基准,进行计算。
例如,对于一个3us时钟的计算如下:
同步段理论时间:3us*56=168us
时钟比例 K= 同步段测量的时间值/168 us
数据N的值:Data Value N = Round[(数据N的测量时间/K – 36 us)/3us]
此外,接收端还需要依据J2726编写相应的CRC计算方法,才能检验CRC是否正确。

接收检测

当出现如下任何一种情况时,接收端认为出现错误:

1. 同步段时间超出理论时间的±20%;

2. 两个同步段之间的下降沿数不等;

3. Checksum不对;

4. 计算出的Nibble值在0-15之外;
5. 连续两次的同步段时间比例大于±1/64;

传输速率
传输速率受时钟周期,数据值和时钟偏差容错值等因素影响。对于一个基于3us时钟周期的6个nibble数据的SENT传感器来说,忽略数据拼接的时间,传输速率在24.7 kBits/s—64.9 kBits/sec之间。
另外,SENT协议有SENT2008和SENT2010两种,SENT2008一帧数据的长度包含8个Nibble和1个校验位,SENT2010一帧数据的长度包含8个Nibble,1个校验位及1个可变暂停位。

推荐阅读

CANoe常用操作讲解

特斯拉最新的12V蓄电池有什么不同?

特斯拉最新中央计算模块(CCM)解析

关于对自动驾驶传感器的理解

2021款特斯拉Model Y ECU接口梳理

详解CANoe之CAPL编程

关于CAN时间同步的理解

dbc文件的格式以及创建详解

大众ID.4 X网络架构详解

学习笔记——NVM数据处理机制

学习笔记——AUTOSAR NVM基础知识

基于UDS的Bootloder详解

关于整车上下电流程的理解

一文详解CAN总线错误帧|附下载

DoIP协议介绍,资料分享!

详解车载网络 OTA系统的开发|文末附下载

一文了解汽车嵌入式AUTOSAR架构|附下载

特斯拉Autopilot系统安全研究|附dbc下载

分享不易,恳请点个【在看】
汽车ECU开发 专注于汽车电子ECU软件开发,技术分享。
评论
  • 首先在gitee上打个广告:ad5d2f3b647444a88b6f7f9555fd681f.mp4 · 丙丁先生/香河英茂工作室中国 - Gitee.com丙丁先生 (mr-bingding) - Gitee.com2024年对我来说是充满挑战和机遇的一年。在这一年里,我不仅进行了多个开发板的测评,还尝试了多种不同的项目和技术。今天,我想分享一下这一年的故事,希望能给大家带来一些启发和乐趣。 年初的时候,我开始对各种开发板进行测评。从STM32WBA55CG到瑞萨、平头哥和平海的开发板,我都
    丙丁先生 2024-12-11 20:14 73浏览
  • 在智能化技术快速发展当下,图像数据的采集与处理逐渐成为自动驾驶、工业等领域的一项关键技术。高质量的图像数据采集与算法集成测试都是确保系统性能和可靠性的关键。随着技术的不断进步,对于图像数据的采集、处理和分析的需求日益增长,这不仅要求我们拥有高性能的相机硬件,还要求我们能够高效地集成和测试各种算法。我们探索了一种多源相机数据采集与算法集成测试方案,能够满足不同应用场景下对图像采集和算法测试的多样化需求,确保数据的准确性和算法的有效性。一、相机组成相机一般由镜头(Lens),图像传感器(Image
    康谋 2024-12-12 09:45 75浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-11 17:58 86浏览
  • 铁氧体芯片是一种基于铁氧体磁性材料制成的芯片,在通信、传感器、储能等领域有着广泛的应用。铁氧体磁性材料能够通过外加磁场调控其导电性质和反射性质,因此在信号处理和传感器技术方面有着独特的优势。以下是对半导体划片机在铁氧体划切领域应用的详细阐述: 一、半导体划片机的工作原理与特点半导体划片机是一种使用刀片或通过激光等方式高精度切割被加工物的装置,是半导体后道封测中晶圆切割和WLP切割环节的关键设备。它结合了水气电、空气静压高速主轴、精密机械传动、传感器及自动化控制等先进技术,具有高精度、高
    博捷芯划片机 2024-12-12 09:16 85浏览
  • 本文介绍瑞芯微RK3588主板/开发板Android12系统下,APK签名文件生成方法。触觉智能EVB3588开发板演示,搭载了瑞芯微RK3588芯片,该开发板是核心板加底板设计,音视频接口、通信接口等各类接口一应俱全,可帮助企业提高产品开发效率,缩短上市时间,降低成本和设计风险。工具准备下载Keytool-ImportKeyPair工具在源码:build/target/product/security/系统初始签名文件目录中,将以下三个文件拷贝出来:platform.pem;platform.
    Industio_触觉智能 2024-12-12 10:27 62浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-12 10:13 40浏览
  • 全球智能电视时代来临这年头若是消费者想随意地从各个通路中选购电视时,不难发现目前市场上的产品都已是具有智能联网功能的智能电视了,可以宣告智能电视的普及时代已到临!Google从2021年开始大力推广Google TV(即原Android TV的升级版),其他各大品牌商也都跟进推出搭载Google TV操作系统的机种,除了Google TV外,LG、Samsung、Panasonic等大厂牌也开发出自家的智能电视平台,可以看出各家业者都一致地看好这块大饼。智能电视的Wi-Fi连线怎么消失了?智能电
    百佳泰测试实验室 2024-12-12 17:33 53浏览
  • 时源芯微——RE超标整机定位与解决详细流程一、 初步测量与问题确认使用专业的电磁辐射测量设备,对整机的辐射发射进行精确测量。确认是否存在RE超标问题,并记录超标频段和幅度。二、电缆检查与处理若存在信号电缆:步骤一:拔掉所有信号电缆,仅保留电源线,再次测量整机的辐射发射。若测量合格:判定问题出在信号电缆上,可能是电缆的共模电流导致。逐一连接信号电缆,每次连接后测量,定位具体哪根电缆或接口导致超标。对问题电缆进行处理,如加共模扼流圈、滤波器,或优化电缆布局和屏蔽。重新连接所有电缆,再次测量
    时源芯微 2024-12-11 17:11 109浏览
  • 天问Block和Mixly是两个不同的编程工具,分别在单片机开发和教育编程领域有各自的应用。以下是对它们的详细比较: 基本定义 天问Block:天问Block是一个基于区块链技术的数字身份验证和数据交换平台。它的目标是为用户提供一个安全、去中心化、可信任的数字身份验证和数据交换解决方案。 Mixly:Mixly是一款由北京师范大学教育学部创客教育实验室开发的图形化编程软件,旨在为初学者提供一个易于学习和使用的Arduino编程环境。 主要功能 天问Block:支持STC全系列8位单片机,32位
    丙丁先生 2024-12-11 13:15 63浏览
  • RK3506 是瑞芯微推出的MPU产品,芯片制程为22nm,定位于轻量级、低成本解决方案。该MPU具有低功耗、外设接口丰富、实时性高的特点,适合用多种工商业场景。本文将基于RK3506的设计特点,为大家分析其应用场景。RK3506核心板主要分为三个型号,各型号间的区别如下图:​图 1  RK3506核心板处理器型号场景1:显示HMIRK3506核心板显示接口支持RGB、MIPI、QSPI输出,且支持2D图形加速,轻松运行QT、LVGL等GUI,最快3S内开
    万象奥科 2024-12-11 15:42 88浏览
  • 应用环境与极具挑战性的测试需求在服务器制造领域里,系统整合测试(System Integration Test;SIT)是确保产品质量和性能的关键步骤。随着服务器系统的复杂性不断提升,包括:多种硬件组件、操作系统、虚拟化平台以及各种应用程序和服务的整合,服务器制造商面临着更有挑战性的测试需求。这些挑战主要体现在以下五个方面:1. 硬件和软件的高度整合:现代服务器通常包括多个处理器、内存模块、储存设备和网络接口。这些硬件组件必须与操作系统及应用软件无缝整合。SIT测试可以帮助制造商确保这些不同组件
    百佳泰测试实验室 2024-12-12 17:45 53浏览
  • 一、SAE J1939协议概述SAE J1939协议是由美国汽车工程师协会(SAE,Society of Automotive Engineers)定义的一种用于重型车辆和工业设备中的通信协议,主要应用于车辆和设备之间的实时数据交换。J1939基于CAN(Controller Area Network)总线技术,使用29bit的扩展标识符和扩展数据帧,CAN通信速率为250Kbps,用于车载电子控制单元(ECU)之间的通信和控制。小北同学在之前也对J1939协议做过扫盲科普【科普系列】SAE J
    北汇信息 2024-12-11 15:45 112浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦