工作中用到了SENT协议的传感器,就专门研究的一下,以下内容主要来自于CANoe的帮助文档中的SENT协议的部分内容。
概述
SENT (Single Edge Nibble Transmission) 协议是汽车电子中常用于传感器信号的一种数字信号接口,其有特定的协议,是单向通信,是汽车电子中一种低成本通信的实现方式
硬件
SENT协议常用于传感器信号,其基本引脚连接如下:
其高低信号的电平要求:0~0.5V为逻辑电平0,4.1~5V为逻辑电平1
协议
SENT协议的数据使用半个字节Nibble,即4bit来进行编码定义的,一个半字节Nibble是通过2个下降沿之间的时间差来定义的。如下是一个Nibble的电压逻辑信号:
时间精度以1个节拍Tick来定义(一般1个Tick的时间是3~10us),每一个Nibble从一个下降沿开始,并且之后再逻辑0状态至少维持4Ticks,之后下一个下降沿距离第一个下降沿的时间差作为Nibble值的编码依据。需要注意的是,后一个下降沿距离第一个下降沿至少相隔12Ticks,至多27Ticks,且相隔Tick数减去12即为最终的Nibble值,如此Nibble值最小为0,最大为15(27Tick-12Tick),二进制表示时即为4bit
帧结构:
SENT协议以Nibble为基础单元进行编码,一个完整的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
当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
与上一种情况不同的是,此情况下使用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的数据
(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的数据
有人认为JavaScript是最好的语言,有人认为它一团糟。可按照C++之父的话来讲:世界上只有两种编程语言:一种是天天被人喷的,另一种是没人用的。不论你喜欢承认与否,JavaScript已经一天比一天火了,甚至火得有点过头,生态圈太过繁荣,每个月都可能有新的相关构建工具、开发框架或者别的什么库发布。如果你想了解更多,请查阅:你的第一门编程语言应该学什么?ʇdıɹɔsɐʌɐɾ ...
我因为工作原因想要学习SSM的搭建,我找了一些教程,然后自己开始整合。搭建完了之后,遇到一个问题就是什么都成功了,单元测试也通过了,就是访问不到controller,直接改为访问jsp也不行。去网上找了很多解决办法都不行,有说改tomcat配置,有说spring-servlet.xml里面没有扫描到controller的,各种都有,都试了还是不行。页面一直显示404,自己琢磨了好几天偶然的情况下终
Linux 中用户若对一个文件拥有 r (读)权限,便可查看该文件中的内容。常用的文件内容查看命令主要有一下几个:cat、tac、nl、more、less、head、tail,下面一一介绍。1. catcat 这个命令的作用是将文件内容全部显示在屏幕上,并且是从第一行开始显示。命令格式:cat [选项] 文件名选项:-n: 显示内容的同时打印出行号,并且空白行也会打印出行号
2014年10月12日 中关村科技大厦 主讲:姜志辉 总体说来,时间太短,名词堆砌比较多,显然老师有很多话题想说。 上半场采用workshop的形式,很活跃,通过动手、参与,让大家理解什么是persona,同理心,故事板,等等。 下半场主要围绕唐沐的32字诀阐述敏捷产品的构建...
ffmpeg实现将视频文件转化成rtsp流1命令ffmpeg -re -stream_loop -1 -i 20211102104550/front1.mp4 -c copy -f rtsp rtsp://localhost:8554/mystream
对于一个访问海康NVR接口的请求返回 403 错误码通常表示当前用户的权限不足,无法访问该接口。要使该请求返回 200 状态码,可以尝试以下几个步骤:确认当前用户具有访问该接口的权限。可以在海康 NVR 管理页面上查看当前用户的权限设置。确认请求中的身份验证信息是否正确。可以尝试在请求头中添加合适的身份验证信息,例如添加基本身份验证(Basic Authentication)信息。尝...
switch语句(1)格式:switch(表达式) {case 值1:语句体1;break;case 值2:语句体2;break;...default:语句体n+1;break;}格式解释说明:switch:说明这是switch语句。表达式:可以是byte,short,int,charJDK5以后可以是枚举JDK7以后可以
开心一刻 物质的背后是“事”,把事做到极致,物质自来丰盈; 事的背后是“人”,把人做好,事自然成功; 人的背后是“命”,把命的维度修好,自然生运; 运的背后是“道”,有一颗助人、爱人的善心,就是人間正道; 正
Oracle调优之看懂Oracle执行计划1、写作前言2、什么是执行计划?1、写作前言之前曾经拜读过《收获,不止sql调优》一书,此书是国内DBA写的一本很不错的调优类型的书,是一些很不错的调优经验的分享。虽然读了一遍,做了下读书笔记,觉得很有所收获,但是到实际的实践中觉得还是很缺实践。刚好最近又有一次sql调优培训活动,去参加后,重新复习Oracle执行计划,所以整理资料,做成笔记分享出来2、什么是执行计划?执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述declare b1
Flink 作业执行解析所有有关Flink作业执行的介绍都包含以下的这个流程,今天我们就是实战一些这些转换是如何完成的?CodeStreamGraphJobGraphExecutionGraph物理执行计划StreamGraph Class representing the streaming topology. It contains all the information necessary to build the jobgraph for the execution. 这个类表示流处理的拓扑
1、首先说一下KDD模型的概念 知识发现(KDD:Knowledge Discovery in Database)是从数据集中识别出有效的、新颖的、潜在有用的,以及最终可理解的模式的非平凡过程。知识发现将信息变为知识,从数据矿山中找到蕴藏的知识金块,将为知识创新和知识经济的发展作出贡献。 这里不得不提一下数据挖掘的概念,数据挖掘(英语:Data mining),又译为资料探勘、数据采...
<script type="text/javascript" src="/Scripts/jquery/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function () {//-----------------------...