• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

获取汽车发动机转速

John0718 2019-03-04 浏览量:1464
我需要从OBD接口获取汽车发动机转速,通过一些了解知道有两种方式 1. 仅接收方式,也就是从OBD读取CAN总线上各ECU定时发送的数据,进而得到想要的信息; 2. 问答方式,发送信号请求,例如发动机转速PID是014C,然后接收答复的数据。 方式1的优点是仅接收,对汽车电子系统无影响,安全系数高,我想问的是,这个数据是所有的车都可以从OBD读到吗?会不会存在数据被加密无法解析报文的情况? 方式2由于是问答方式,会占用数据通道,信息量如果过大可能会堵塞CAN通道,我想问的是如果只需要发动机转速这一项参数,信息量会不会很大,如果每20~30ms读取一次会不会太快,占用过多资源?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • OBD的CAN速率一般都在500Kbps,这个速度已经算是很高了,20毫秒获取一次不会影响系统。

    OBD获取信息建议只采用侦听模式,OBD一般采用ISO15765协议,可以获取车速、转速、水温等数据。

    • 发布于 2019-03-04
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:10

  • 建议采用方式1,减少对整个系统的干扰。
    • 发布于2019-03-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 问答方式的协议与机制是比较复杂的,会占用更多的CPU时间,效率不高
    • 发布于2019-03-04
    • 举报
    • 评论 0
    • 0
    • 0

  • OBD协议是国际标准协议,如果走OBD协议,那通用性会好一点,在所有车上面都能用,如果要根据车辆CAN总线协议解析,那每款车的协议都可能不同,兼容性就不好了
    • 发布于2019-03-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 不影响。总线上挂在的设备那么多,而且大多以500kbps的速度发来发去。照样正常运行。

    最好采用接收方式,

    • 发布于2019-03-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 20-30ms读一次,没啥影响吧。而且没必要问答,你需要的数据会主动上送,你只要监听报文就可以,将有效数据筛选出来就行。
    • 发布于2019-03-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 方式一更安全,可以用CAN转USB模块在PC端看一下汽车固有的数据量大小,来决定访问频率
    • 发布于2019-03-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般这个是通过CAN通讯得到的,有专门的传感器来输出的
    • 发布于2019-03-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 仅接收这方式就行啊,而且30ms对于处理器影响不大吧。


    • 发布于2019-03-17
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

获取汽车发动机转速