完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我需要从OBD接口获取汽车发动机转速,通过一些了解知道有两种方式 1. 仅接收方式,也就是从OBD读取CAN总线上各ECU定时发送的数据,进而得到想要的信息; 2. 问答方式,发送信号请求,例如发动机转速PID是014C,然后接收答复的数据。 方式1的优点是仅接收,对汽车电子系统无影响,安全系数高,我想问的是,这个数据是所有的车都可以从OBD读到吗?会不会存在数据被加密无法解析报文的情况? 方式2由于是问答方式,会占用数据通道,信息量如果过大可能会堵塞CAN通道,我想问的是如果只需要发动机转速这一项参数,信息量会不会很大,如果每20~30ms读取一次会不会太快,占用过多资源?
|
|
相关推荐
11个回答
|
|
can的速度还是比较快的,20ms没有问题
|
|
|
|
云汉达人
OBD的CAN速率一般都在500Kbps,这个速度已经算是很高了,20毫秒获取一次不会影响系统。 OBD获取信息建议只采用侦听模式,OBD一般采用ISO15765协议,可以获取车速、转速、水温等数据。 |
|
|
|
建议采用方式1,减少对整个系统的干扰。
|
|
|
|
按照标准的1939协议读取就可以了
|
|
|
|
问答方式的协议与机制是比较复杂的,会占用更多的CPU时间,效率不高
|
|
|
|
OBD协议是国际标准协议,如果走OBD协议,那通用性会好一点,在所有车上面都能用,如果要根据车辆CAN总线协议解析,那每款车的协议都可能不同,兼容性就不好了
|
|
|
|
|
|
|
|
20-30ms读一次,没啥影响吧。而且没必要问答,你需要的数据会主动上送,你只要监听报文就可以,将有效数据筛选出来就行。
|
|
|
|
方式一更安全,可以用CAN转USB模块在PC端看一下汽车固有的数据量大小,来决定访问频率
|
|
|
|
一般这个是通过CAN通讯得到的,有专门的传感器来输出的
|
|
|
|
仅接收这方式就行啊,而且30ms对于处理器影响不大吧。
|
|
|
|
只有小组成员才能发言,加入小组>>
887 浏览 1 评论
2282 浏览 5 评论
2593 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2400 浏览 6 评论
2305 浏览 7 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
448浏览 9评论
460浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
563浏览 6评论
442浏览 5评论
473浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-18 11:27 , Processed in 3.854961 second(s), Total 70, Slave 61 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号