如何判断CAN总线的波特率与通信协议?

2019-07-14 15:13发布

STM32f103开发板通过OBD2与汽车诊断系统通信,采用的协议是ISO15765-4,然后分为4种情况,波特率250K(数据帧为标准或者扩展帧)、500K(数据帧为标准或者扩展帧).

初步做法:当波特率为250K,数据帧为扩展帧时,发送数据,等待回复,如果有回复说明是这个协议,以此类推。找到对应的协议。

哪位大神有好的建议或者好的方法?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
小新1999
1楼-- · 2019-07-15 00:01
汽车通信协议都是定好的啊,只有双方规定好波特率和通信协议,才能交互信息。
emsthe
2楼-- · 2019-07-15 00:22
四种情况,试呗
dingyang598
3楼-- · 2019-07-15 00:39
首先需要明确的是,标准CAN通信中,波特率是一开始就应该确定的,总线上所有节点的波特率都必须设置为一致的。
如果你不知道总线波特率,可以在初始化的时候依次轮序各个波特率,看回复内容,能接收到就好。但同样会带来一个问题,你需要知道对端PID是多少,否则是有可能被过滤掉的。

其次具体是标准帧还是扩展帧,读包头即可。只要节点本身支持的是CAN2.0协议,两种格式都应该同时支持。
richips
4楼-- · 2019-07-15 06:08
去找该系统的说明
阿信509
5楼-- · 2019-07-15 09:02
 精彩回答 2  元偷偷看……
lee_st
6楼-- · 2019-07-15 09:45
进来看看了

一周热门 更多>