前文已经大概介绍了多帧传输,本文我们详细展开讲讲。
【首先要注意的是:多帧传输只能使用物理寻址,不支持功能寻址,功能寻址发送的多帧传输的首帧应被接收方忽略。】
我们假设发送方要向接收方发送32字节的数据,用传统CAN,CAN帧的DLC为8。下图是整个多帧传输过程的示例:
我们来详细看一下每个步骤:
① 发送方先向接收方发送首帧,首帧前两字节是N_PCI,包含了整个多帧传输过程所要传输的有效数据总长度,示例中是32字节。
② 接收方发送流控帧,流控帧中有三个参数:
FS-FlowState:流控制状态,0是继续发送,代表发送方可以继续发送连续帧;1是等待,代表接收方当前不能接收连续帧,需要发送方进行等待,接收方在条件允许后会再次发送流控帧告诉发送方可以发送连续帧(如步骤⑤和⑥);2是溢出,代表发送方请求发送的数据长度超过了接收方能够接受的最大长度,此时发送方应停止发送连续帧,整个多帧传输流
如果觉得《汽车UDS诊断详解及Vector相关工具链使用说明——3.4 多帧传输》对你有帮助,请点赞、收藏,并留下你的观点哦!