如图截取的一段逻辑分析数据,图片波形中包含数据内容,谁帮忙分析一下这种编码方式及解码方法,数据采用的LSB排列
,波特率为6Mbps,发送11个字节大概需要14us,15个字节需要17us,通讯线在空闲时会不停发送6MHZ方波信号,不确定采用的那种编码方式,8b /1 0b?,4b / 5b? 5b / 4b;4b3T?曼彻斯特?PPM?不知道是哪一种
检测起始位和停止位,确定数据包的开始和结束。
检测同步位,以确定数据包的起始位置。
从数据位中提取数据,并将其解释为二进制数。
使用校验位来验证数据包的完整性。
你怎么天天都在解码啊?这个数据很眼熟啊,不就是前天那个吗,转成MSB,就是一种CRC5的校验啊
串行数据一般在通讯中由数据头、帧长度、数据段、校验段等组成,要完全的理解这个数据内容和帧格式,估计得多抓点数据进行分析。
可以借鉴下
- 一、串口数据接收:
定义一个1024字节的buf,将串口接收到的数据依次追加到此buf中;
- 二、解析串口数据流程:
1、从buf中检索起始字符0x68的位置,->2
2、去匹配是否符合协议A,会有三种解析结果
a.解析到完整的一帧数据,->5
b.数据未接收完 ->3
c.解析不满足规则 ->3
3、去匹配是否符合协议B,会有三种解析结果
a.解析到完整的一帧数据, ->5
b.数据未接收完 ->6
c.解析不满足规则
协议A也不满足规则 ->7
协议A未接收完 ->6
5、解析到完整的一帧数据,->10
6、协议匹配未接收完 ->9
7、两个协议解析都不满足,->8
8、从1中的位置继续寻找下一个0x68的位置
a.找到0x68 ->1
b.未找到0x68 ->6
9、继续循环,等待串口数据过来
10、解析完成,将buf中剩余数据前移到位置0,
用8b /1 0b试试,感觉有点像
根据数据分析,这种编码方式可能是NRZ(非归零码)
串行通讯截取数据后,需要进行解码分析才能得到有用的信息。下面是一些常见的串行通讯协议的解码方式:
4B3T编码是一种用于数字通信中的线路编码方式,它可以将4个二进制位映射成3个三进制符号。4B3T编码的主要作用是在数字通信中,将数字信号转换成模拟信号,从而在传输过程中减少信号失真和噪声的影响。
4B3T编码的具体过程如下:
Manchester编码是一种常用的数字通信编码方式,它将数字信号转换成模拟信号,从而在传输过程中减少信号失真和噪声的影响。Manchester编码的解码过程比较简单,具体步骤如下: