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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Ubuntu安装轻量级桌面

    Ubuntu安装轻量级桌面安装轻量级桌面LXDEUbuntu默认桌面太占用内存了,本人的小本本太烂了,所以退而求其次,安装轻量级桌面!使用以下命令安装$sudoapt-getinstalllxde重新启动进入登录界面,选择lxde即可开机进入命令行或桌面执行下面命令开机进行命令行$sudosystemctlset-defaultmulti-user.target执行下面命令启动到桌面$sudosystemctlstartlightdm恢复到默认桌面$systemctlset-defa

    2022年4月25日
    54
  • C++ list容器的splice方法

    C++ list容器的splice方法list容器底层实现是一个带头结点的双向链表,由于链表的每个节点是单独开辟的,所以链表在移动数据,或者两个链表之间移动数据的时候,直接把节点摘下来,接入到新的位置就可以了,效率比较高。splice方法就是将list的元素进行拼接,原理就是改变结点指针的指向,效率比较高。先看看这splice方法的三种声明:(1)voidsplice(iteratorposition,list&lt…

    2022年9月24日
    5
  • 浅析Anycast技术[通俗易懂]

    浅析Anycast技术[通俗易懂]什么是AS号码AS号码即自治系统号码,是用来标识独立的自治系统的,在同一个自治系统内,使用相同内部路由协议,自治系统间使用外部路由协议(通常是BGP协议)。申请AS号码的单位需要与两家以上(包括两家)、有不同AS号码的网络接入商进行网络互联,并计划三个月内与他们同时运行BGP协议进行外部路由。什么是BGPAnyCast?BGPanycast就是利用一个(多个)as号码在不同的地区广播相同的一个ip段。利用bgp的寻路原则,短的aspath会选成最优路径(bgp寻路原则之n),从.

    2022年5月10日
    61
  • 坐标系旋转变换公式图解[通俗易懂]

    坐标系旋转变换公式图解[通俗易懂]而您一旦用以下这图解方法,随时眼见显然,再也不会搞错。平时开发程序,免不了要对图像做各种变换处理。有的时候变换可能比较复杂,比如平移之后又旋转,旋转之后又平移,又缩放。直接用公式计算,不但复杂,而

    2022年8月2日
    7
  • 【安装库】matlab2020b安装及百度网盘提速

    【安装库】matlab2020b安装及百度网盘提速【安装库】matlab2020b安装及百度网盘提速matlab2020b安装一,下载百度网盘链接:https://pan.baidu.com/s/18iLFaAbWt8IntUefX3eWfA提取码:p6in如果下载很慢的话应该是没开p2p加速(最近度盘良心发现加了个p2p下载)开启方法:打开设置开启提速模式开启后会提供一部分资源给别人下载,不下载的时候也会占用一定资源,当然这是相互的,你加速的时候别人也在和你共享资源,所以p2p才快,所以加速也只对热门资源比较有效

    2022年6月1日
    49
  • 桌面软件图标变成白纸的解决方法是什么_笔记本桌面图标变成白纸

    桌面软件图标变成白纸的解决方法是什么_笔记本桌面图标变成白纸在桌面上新建一个txt文件:在文件里输入以下内容并保存:rem关闭Windows外壳程序explorertaskkill/f/imexplorer.exerem清理系统图标缓存数据库attrib-h-s-r“%userprofile%\AppData\Local\IconCache.db”del/f“%userprofile%\AppData\Loca…

    2022年10月18日
    4

发表回复

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

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