UDS-CAN网络层传输协议
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UDS-CAN网络层传输协议相关的知识,希望对你有一定的参考价值。
参考技术A CAN传输数据长度最大8个字节;SF(Single Frame) 例1:02 27 29 00 00 00 00 00;
SF第一字节的高4位为0,低4位为数据长度,其余字节为服务数据内容,没用到的数据可以按00或AA填充。
02:
0:第一字节高4位默认为0,表示单帧数据.
2:数据长度,表示在02后面有两个数据长度;为27 29;
多帧发送方式:
FF(First Frame)多帧传输的第一帧;
FC(Flow Control)多帧传输的流控制帧;
CF(Consecutive Frame)多帧传输的连续帧;
例2: FF 10 1E 59 04 00 01 00 27;
FC 30 00 00 00 00 00 00 00;
CF 21 00 0B FF FF FF FF FF;
22 FF FF FF FF FF FF FF;
23 FF FF FF FF FF FF FF;
24 FF FF FF AA AA AA AA;
FF(First Frame)多帧传输的第一帧,其第一字节的高4位为1,低四位+第二字节为数据长度,其余字节为服务数据内容;
10 1E:
1:第一字节高四位默认为1;
01E:数据长度位30; 最大为FFF=4095可知传输数据最大长度为4095;
FC(Flow Control)多帧传输的流控制帧,其第一字节高四位为3,低四位为FS流控制状态;第二字节为BS数据块大小,第三字节为STmin间隔最短时长;
30:
3:第一字节高四位为3;
0;为FS流控制状态;
FS:
FS=0:表示允许发送方继续发送连续帧;
FS=1: 表示发送方需等待下一条流控制帧[1],该流控制帧称为等待流控制帧;
FS=2: 表示报文长度超出接收方的网络层缓存大小,此流控制帧将迫使发送方中断多帧报文的发送,并且发送方网络层使用N_USData.con向应用层报告N_Result = N_Buffer_Overflow。FS = Overflow的流控制帧接收方只能在接收到第一帧后发送。
第二字节BS=00;
BS=00: 表示允许发送方连续发送连续帧,而不需要等待接收方发出的流控制帧;
BS>=01||BS<=FF: 表示允许发送方连续发送连续帧的数目,发送完成相应数目的连续帧后,发送方必须等待接收方发出的流控制帧;
BS为当前接收数据的数据长度,通过控制数据长度来防止通道堵塞;
第三字节STmin=00;
STmin>=00||STmin<=7F: 两个连续帧之间的最小间隔时间,0~127ms;
STmin>=80||STmin<=F0:Reserved保留;
STmin>=F1||STmin<=F9: 两个连续帧之间的最小间隔时间,100~900us;
STmin>=FA||STmin<=FF: Reserved保留;
如果发送方收到一个FC,其STmin的值是Reserved,则发送方应默认STmin为7F(127ms);
STmin为两个CF之间的时间间隔,通过时间间隔控制接收数据的速率;
多帧发送三种情况:
1. 不停止接收:开始→FF→(接收方)FC→CF→结束;
2. 指定数据长度接收:开始→FF→(接收方)FC→CF(部分数据) →(接收方)FC→CF(部分数据) →(接收方)FC→CF(部分数据) →….. (接收方)FC→CF(部分数据)→结束;
3. 数据异常,不接收:开始→FF→(接收方)FC→结束;
3.协议与端口
协议有网络层协议,传输层协议,应用层协议。
网络层协议用于三层网络互联,传输层协议用于数据传输,应用层协议用于数据的应用。
IP协议属于网络层协议,IP的主要作用是寻址和分段。IP端口号范围0~65535。
端口属于四层传输层,如果说IP是一座房子,那么端口就是这个房子的门。
TCP叫传输控制协议,是一种安全可靠的传输层协议。
UDP叫用户数据包协议,是一种简单但不可靠的传输层协议。
TCP/IP我们就可以理解为是一种安全可靠的数据传输的一对组合。IP用于寻址,而TCP则决定数据安全的传输控制。
网络层协议 | 描述 | ||
IP | 网络协议,用于寻址和分段。 | ||
ARP | 地址解析协议,将IP解析出MAC地址,工作在网络层的协议。 | ||
RARP | 无敌ARP协议,一种反馈机制,当发生IP冲突时,它会反馈信息给管理员。 | ||
ICMP | 网络控制消息协议,一种反馈机制,使用PING命令测试网络连通性。 | ||
应用层协议 | 端口号 | 使用什么协议进行传输 | 描述 |
SMTP | 25 | TCP | 用于邮件的发送。 |
POP3 | 110 | TCP | 用于邮件的接收,缓存在本地。 |
IMAP4 | 143 | TCP | 用于在线查看邮件,缓存在网络。 |
FTP | 21 | TCP | 文件传输协议,用于文件传输。 |
TFTP | 69 | UDP | 轻型文件传输协议,用于小文件传输。 |
DHCP | 67,68 | UDP | 动态主机配置协议,用于主机动态获取IP。 |
DNS | 53 | UDP | 域名系统,用于将一个IP转换成一个便于人们记忆的域名。 |
NTP | 123 | UDP | 时间服务器。 |
SNMP | 161 | UDP | 简单网络管理协议,用于管理网络系统。 |
HTTP | 80 | TCP | 超文本传输协议,用于浏览WEB网站。 |
HTTPS | 443 | TCP | 加密性超文本传输协议,更安全的浏览WEB网站。 |
TELNET | 23 | TCP | 用于远程连接设备。 |
SSH | 22 | TCP | 更安全的通过远程连接设备。 |
共享服务 | 445 | TCP | 用于文件共享。 |
远程桌面 | 3389 | TCP | 用于桌面远程。 |
注:每个应用层协议都对应一个端口号。
以上是关于UDS-CAN网络层传输协议的主要内容,如果未能解决你的问题,请参考以下文章