广告招募

当前位置:全球资源网 > 技术中心 > 所有分类

干货分享 | SENT串口通讯数据读取与解析

2025年11月10日 11:13:04      来源:广州智维电子科技有限公司 >> 进入该公司展台      阅读量:1

分享:

SENT网关转发数据读取(串口)

通过串口助手获取到的SENT网关转发数据如图所示:

数据来源及类型分辨

数据中ID = D2(十六进制)==> 210,则该数据为SENT2数据发送回声

若为SENT1 接收到的快速帧数据,ID = 100 = 64(十六进制)

若为SENT2 接收到的快速帧数据,ID = 200 = C8(十六进制)

若为SENT1 接收到的慢速帧数据,ID = 101 = 65(十六进制)

若为SENT2 接收到的慢速帧数据,ID = 201 = C9(十六进制)

数据读取与读取顺序

SENT Configuration中有以下选项会影响到数据的读取顺序 (仅快速帧)

当不勾选,即Swap fast data nibbles = 0
60代表status=0DataNibbleCount=6
22CRC=2CRCCalculated=2
注意:Swap fast data nibbles = 0

21(十六进制)代表DATANibble0 = 1DATANibble1 = 2

43(十六进制)代表DATANibble2 = 3DATANibble3 = 4

65(十六进制)代表DATANibble4 = 5DATANibble5 = 6
21 43 65SENT的数据,正确读取顺序为0~5 ==> 1 2 3 4 5 6(从左到右数据字节升高)
当勾选,即Swap fast data nibbles = 1
60代表status=0DataNibbleCount=6
22CRC=2CRCCalculated=2
注意:Swap fast data nibbles = 1

21(十六进制)代表DATANibble0 = 2DATA1Nibble1 = 1

43(十六进制)代表DATANibble2 = 4DATANibble3 = 3

65(十六进制)代表DATANibble4 = 6DATANibble5 = 5

21 43 65SENT的数据,正确读取顺序为0~5 ==> 2 1 4 3 6 5(从左到右数据字节升高)

数据解析与计算

数据编码解析

以发送下列数据为例,(红色框内为SENT数据):

①当Swap fast data nibbles = 0时,SENT的数据0~5 ==> 1 2 3 4 5 6(从左到右数据字节升高)

②当Swap fast data nibbles = 1时,SENT的数据0~5 ==> 2 1 4 3 6 5(从左到右数据字节升高)
Ps:为避免重复输入上述内容,用序号①和②代表上述两种情况。
Ps:以SENT的数据0~5 ==> 1 2 3 4 5 6为例,得上图
解析过程中需要考虑传感器厂家对SENT数据的编码类型,一般有两种:
Intel(小端模式):数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。

Start bit = 0(起始位),Bit Length = 12(数据长度)时

0x321 ==> 0001

0x412 ==> 0010

Start bit = 0(起始位),Bit Length = 9(数据长度)时

0x121 ==> 1

0x012 ==> 0

Start bit = 12(起始位)Bit Length = 12(数据长度)时

0x654 ==> 0100

0x563 ==> 0011
motorola(大端模式):数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。

Start bit = 0(起始位),Bit Length = 12(数据长度)时

0x456 ==> 0110

0x365 ==> 0101

Start bit = 0(起始位),Bit Length = 9(数据长度)时

0x056 ==> 0

0x156 ==> 1

Start bit = 12(起始位)Bit Length = 12(数据长度)时

0x123 ==> 0011

0x214 ==> 0100

Ps:同一个十六进制数据中的高半字节(高四位)与低半字节(低四位)类似十进制数据中的十位和个位。

实际数据计算
计算公式:
Start bit = 0(起始位),Bit Length = 12(数据长度),Encoding=Intel
①实际数据=0x321*Multiplier+Offset=801*Multiplier+Offset

②实际数据=0x412*Multiplier+Offset=1042*Multiplier+Offset

SENT网关解析小技巧
如果无法理解本篇中的"读取顺序""编码模式"两个概念,如何解析数据?
假设传感器输出的SENT数据为1 2 3 4 5 6Swap fast data nibbles = 0时串口中读取得数据为21 43 65
Intel模式,将2165对调位置,数据变成65 43 21,此时6为半字节,1为半字节(读取时对调,自行用代码实现)。
motorola模式,让Swap fast data nibbles = 1,此时数据发送交换,串口中读取得数据为12 34 56,此时1为半字节,6为半字节。
PsIntel模式与motorola模式的分辨需参考对应传感器的SENT信号文档。
版权与免责声明:
1.凡本网注明"来源:全球资源网"的所有作品,版权均属于全球资源网,转载请必须注明全球资源网。违反者本网将追究相关法律责任。
2.企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
3.本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。 4.如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系。