CAN 总线通信 报文的格式

2024-05-14

1. CAN 总线通信 报文的格式

滤波

CAN 总线通信 报文的格式

2. CAN 总线接收报文的格式。

首先,要明确你要的应答是什么,是正确接收某个报文,还是某个节点向另一节点请求报文
一、正确接收报文:
CAN报文包含一个ID场的部分,每个报文在总线上广播,节点收到报文后比较ID,如果是该节点应该接受的报文ID,该节点则完成接受;
二、请求报文:
CAN报文内在ID场前有一个1bit长度远程帧场,0表示为普通帧,1表示为远程帧,当A节点希望B节点向它发送某个报文时,A节点向总线广播远程帧,远程帧无数据场,总线上节点同样也是比较报文的ID场,当B节点比对ID场发现该远程帧是向它请求时,B节点发送该远程帧请求的帧,A通过第一点中的方法接受收

PS:CAN总线报文的CRC校验场后面会有一个ACK应答场,发送报文的节点发出的ACK(1Bit)为“1”,正确应答的节点(报文数据校验通过正确)会将总线上的这个ACK位电平拉成“0”,表示正确应答。
若A节点广播报文后,发现该报文的ACK始终为“1”,则其收发器将从缓存中自动重发该帧,直到有节点正确接受ACK为“0”或者A节点离线

希望对你有帮助,还有不完整或不理解的可以追加提问或者M我

3. 怎么看这个报文是请求报文还是应答报文?

是通过看源端口与目标端口来实现的。从报文的目标端口是35H可以知道,其目标端口是53,这个是DNS服务端口号。由于是目标端口,因此肯定是发送至DNS服务器的报文,因此是请求报文。另外,其协议号是11H即17,这是UDP协议,说明DNS是使用UDP协议传输的。

怎么看这个报文是请求报文还是应答报文?

4. 通信中的报文

你这是什么报文呀

5. 在具体的发送和接收中如何界定帧?

首先通讯之间的报文是有一个报文格式的,比如:FF 06 XX XX XX XX XX EE 有开始标记FF ,结束标记EE ,然后在之后有长度标记06,这样就可以和对了。如果内容少了。那么,可以根据06判断出少了一位,也就可以知道之前的错了,让对方重新发。或者是06 少了,那么后面上来的那个 除非是 05否则也是无法满足条件的。大致的可以这么理解。具体内部的规则可以各有不同,大体思路如此。

在具体的发送和接收中如何界定帧?

6. 电脑网络连接显示接收报文和发送报文,这是什么意思啊?接收发送数大了好还是小了好啊?

报文是计算机网络传输数据最高的单位,可以说我们电脑与电脑传输的数据就是报文,接收报文为0就是你的网卡没有收到任何数据流量

7. 接收报文和发送报文是什么意思啊,为什么我的电脑接收报文总是为0?

报文是计算机网络传输数据最高的单位,可以说我们电脑与电脑传输的数据就是报文,接收报文为0就是你的网卡没有收到任何数据流量

接收报文和发送报文是什么意思啊,为什么我的电脑接收报文总是为0?

8. 用串口模拟CAN总线报文的接收,如何判断一条完整报文已经接收完?

不清楚你的接收端是什么,如果是单片机,查看一下CAN接收寄存器标志位,如果是PC,直接看接收到的是不是8字节就可以了
最新文章
热门文章
推荐阅读