SENT协议

SENT协议工作中用到了SENT协议的传感器,就专门研究的一下,以下内容主要来自于CANoe的帮助文档中的SENT协议的部分内容。概述SENT(SingleEdgeNibbleTransmission)协议是汽车电子中常用于传感器信号的一种数字信号接口,其有特定的协议,是单向通信,是汽车电子中一种低成本通信的实现方式硬件SENT协议常用于传感器信号,其基本引脚连接如下:…

大家好,又见面了,我是你们的朋友全栈君。

工作中用到了SENT协议的传感器,就专门研究的一下,以下内容主要来自于CANoe的帮助文档中的SENT协议的部分内容。

概述

SENT (Single Edge Nibble Transmission) 协议是汽车电子中常用于传感器信号的一种数字信号接口,其有特定的协议,是单向通信,是汽车电子中一种低成本通信的实现方式

 

硬件

SENT协议常用于传感器信号,其基本引脚连接如下:

SENT协议                                             SENT协议 

 

 

其高低信号的电平要求:0~0.5V为逻辑电平0,4.1~5V为逻辑电平1

 

 

协议

SENT协议的数据使用半个字节Nibble,即4bit来进行编码定义的,一个半字节Nibble是通过2个下降沿之间的时间差来定义的。如下是一个Nibble的电压逻辑信号:

SENT协议

 

时间精度以1个节拍Tick来定义(一般1个Tick的时间是3~10us),每一个Nibble从一个下降沿开始,并且之后再逻辑0状态至少维持4Ticks,之后下一个下降沿距离第一个下降沿的时间差作为Nibble值的编码依据。需要注意的是,后一个下降沿距离第一个下降沿至少相隔12Ticks,至多27Ticks,且相隔Tick数减去12即为最终的Nibble值,如此Nibble值最小为0,最大为15(27Tick-12Tick),二进制表示时即为4bit

 

帧结构

SENT协议以Nibble为基础单元进行编码,一个完整的SENT数据帧结构如下所示:

SENT协议

 

其基本组成:

1.Sync 同步脉冲,固定的56Ticks

2.Status/Com 状态及通讯字段,12~27Ticks,即1个Nibble(4bit)

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

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

5.Pause 暂停脉冲 12~768Ticks,早期的SENT协议无此字段或者一个固定长度Ticks,SENT2010之后,部分通过此功能可以动态条件TICKS的个数,实现整个SENT协议是同一个固定长度TICKS

 

高级功能

以上是SENT协议中一帧报文的基本定义即功能,SENT协议的高级功能是将多帧报文组合以实现更高复杂的通信功能,一般用于传输传感器的附加信号,比如温度,故障码和传感器类型信息等。SENT协议提供如下2种多帧组合报文功能。

1.Short Serial Message

SENT协议

 

当Status/Com字段的bit3值为1,其之后的15帧SENT报文的Status/Com字段的bit3值都为0时,即为此种情况,此情况下是16帧SENT报文组合来传输附加信息。

Status/Com字段的bit3值用来辨别以何种形式组合,而这16帧SENT报文的Status/Com字段的bit2值组合起来的16bit的值即为组合传输的信息,其由4-bit的Message ID,8-bit的Data和4-bit的CRC组成。

 

2.Enhanced Serial Message

SENT协议

 

与上一种情况不同的是,此情况下使用18帧SENT报文组合来传输附加信息,起始标志是Status/Com字段bit3连续为1111110,并且要求Status/Com字段bit3组合的第13和第18位都为0

而数据域依然由18帧SENT报文的Status/Com字段的bit2值组合而成,但其数据组成又根据Status/Com字段bit3组合的第8位的不同分为2种情况:

(1)Status/Com字段bit3组合的第8位为0:

Status/Com字段bit3组合的9~12bit和14~17bit分别作为8bit ID的高4位和低4位数据,而Status/Com字段bit2组合的1~6bit是6bit的CRC数据,之后的7~18bit则为要传输的12bit的数据

SENT协议

 

 

(2)Status/Com字段bit3组合的第8位为1:

Status/Com字段bit3组合的9~12bit为4bit ID,而Status/Com字段bit2组合的1~6bit是6bit的CRC数据,之后的7~18bit和bit3组合的14~17bit则组合为要传输的16bit的数据

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147786.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 继电器模块典型电路图

    继电器模块典型电路图当控制端电压为0时,Q1基极电压为(12-0.7=11.3V),改变R1的大小便可改变基极电流,当基极电流足够大时,三极管饱合。为了验证以上的分析,我们搭了一个电路,R1取4.7K,此时基极电流为2.4ma,测得Q1ec电压为0.2V,继电器两端电压为11.8V。注意:R1的取值不能太小,要保证基极电流在安全范围,也不能太大,要保证三极管能完全饱合,这个可以通过电压和电阻算出

    2022年6月24日
    37
  • 栈溢出

    栈溢出Author:Liedrahttps://www.cnblogs.com/LieDra/入门介绍学习自https://zhuanlan.zhihu.com/p/25816426对部分内容进行

    2022年7月4日
    24
  • 方法的参数传递

    方法的参数传递

    2021年9月28日
    44
  • Java任务调度框架Quartz教程

    Java任务调度框架Quartz教程一、什么是quartz作业调度? Quartz框架是一个全功能、开源的任务调度服务,可以集成几乎任何的java应用程序—从小的单片机系统到大型的电子商务系统。Quartz可以执行上千上万的任

    2022年7月2日
    32
  • spidermonkey学习

    spidermonkey学习JavaScript在浏览器中的应用几乎是尽人皆知的。实际上,JavaScript技术也可以使用在非浏览器应用程序当中,从而让应用程序具有自动的脚本功能。本文介绍了一种功能非常强大的JavaScript引擎SpiderMonkey。这个引擎是Mozilla浏览器的JavaScript引擎。该引擎接口定义清晰,模块化好。本文简要介绍了SpiderMonkey的基本结构,并讲解了如何在自己的应用

    2022年10月16日
    0
  • 如何解决vscode感叹号无法建立html文件的问题

    如何解决vscode感叹号无法建立html文件的问题今天是我使用vscode的第二天,没想到昨天还能用感叹号(!)建立文件模板的vscode今天却不行了,而且中途也重装过一次。虽然重装后能用感叹号(!)弄一个模板出来,但是在此新建文件的时候就没用了。所以我一直在思索为什么会这样,最终功夫不负有心人还是给我找到了。在此,谢谢那位给我指名方向的大佬。正确方法是输入html:5,然后回车就能出现模板了。因为vscode升级了,所以关于模板的设定可能出现了一些变化吧。在这里恳求大家了,如果各位读者觉得好用的话就动动小手点赞吧。拜托了。…

    2022年8月22日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号