以前没做过can的上层协议,最近有个这方面的项目关于iso14229和iso15765的,看了很多相关的质料,但还是有很多地方不清楚,不知道有没有做过这方面的朋友?
问题如下:
5.iso15765-3的22页
图中:先后顺序如下:
1.client先收到server1的N_USDataFF.ind,
2还没有把server1的这1个多帧收完,又收到server2的N_USDataFF.ind.
3.收完server1的多帧
4收完server2的多帧
这与15765-2上说的收到突发帧的处理不符合。(在接收状态受到首帧,放弃上次接收帧,开始本次接收)
是不是SERVER(ECU)同一时刻只能接收一个(节点)数据包,TESTER(诊断仪)可以同时接收多个(节点)数据包。7.iso15765-3的18页 56页
图中说在f处client发送的tester pressent请求在server的j处将会被忽略。
这是在应用层忽略图中f的N_USData.req?因为S3server 已经停止。
此时server正在向client发送数据。
根据15765-2发送时忽略突如其来的帧(发送状态忽略接收到的帧)。server应该在网络层就被忽略掉j处收到的帧吧,传不到应用层吧?
8.iso14229的3.9 diagnosticroutine
提到:它可以代替正常模式运行,也可以和正常模式一起运行。
不知道如下理解对不对?
代替正常模式运行:是不是指的像bootloader之类的程序?ecu其他功能停止运行,只运行bootloader。(有其他的例子吗?)
和正常模式一起运行:ECU正常工作,也同时能响应普通诊断请求。
9. iso5765 -3
The following communication scenarios shallbe distinguished from one another:
a) physical communication during
1) default session, and
2) non-default session — session handling required;
b) functional communicationduring
1) default session, and
2) non-default session — session handling required.
怎么理解:
physical communication :1-1 通讯?
functional communication:1-多通讯?
non-default session:怎么定义的?
defaultsession:怎么定义的?
Physical and functional communication,usingfunctionally addressed
这句话怎样理解?物理通讯可以用功能地址吗
Physical and functional communication
Physical and functionally addressed
是啥关系?
10. iso5765 -3
P2CAN_Server时间到,Server没处理完Client的请求,会发否定应答,
并扩展超时时间为P2*CAN_Server。
P2*CAN_Server时间到,但还是没处理完Client的请求,应该怎样处理?
P2*CAN_Client时间到,但还是没收到Server的回应,应该怎样处理?
11.一般诊断和标定时分开的吧?
是否有同时存在诊断仪- ECU,标定软件- ECU,ECU-其他ECU间的通讯,同时运行的情况?
这3个通讯,是否应该统一网络层。比如都用15765-2?
如果这3个可以同时运行,
诊断仪- ECU有一个多帧在通讯时,
标定软件- ECU,ECU-其他ECU是不是应该禁止通讯。直到诊断仪- ECU 多帧通讯完。?
12我发一个多帧,已经到发cf(连续帧)的阶段,这时某个事件发生,又有1个帧需要发送。这时候应该等先前的那个多帧发完,新的帧才能发送吗?
13.ECU的can通讯是否可以存在多个网络层协议?
比如:诊断仪- ECU,ECU-其他ECU,用15765-2的协议。
标定软件- ECU用自定义的协议。
如果存在,那ECU向其他ECU,发送或接收的一个多帧的同时,是否也能接收或发送 标定软件- ECU 的数据帧。
14. 接收或发送的错误计数超过阀值后,一般应该怎样处理
错误太多,总线关闭后,应该怎样处理?
15. 14229中有个0x3e的request,提示serve ,tester还在线,要保持链接
这个功能觉得应该要先通过0x10建立连结,其他request 要在serve -tester连结时才能得到响应才有意义吧?
但其他的request好像也不需要先建立连结,直接发送也能得到响应。
这样一来,不管是否建立连结request都能得到响应,那 0x10 建立连结,0x3e保持连结不是没有意义了吗?