因为想要研究车载诊断协议,但是手头有没有东西可以学习,淘宝上面的模拟OBD设备都要大几百的买不起,后来在谷歌上面看到了老外开源的使用arduino模拟OBD的项目,里面使用了基于ELM327的诊断设备,于是立马淘宝看了下还好不贵,才30大洋不到,立马下单。先来看看我在淘宝上面偷图片:
有通信指示灯,同时还有电源灯在不用的时候可以关闭电源。
到手之后我立马就要拆开了,果真是便宜货,十分好拆:
大概说一下方案
蓝牙部分使用的芯片是上海博通的BK3231芯片
can总线收发器使用的是MCP2551
主要的诊断协议转换芯片用的是ELM327,其实这是一个普通PIC的单片机,但是另外一家公司给他开发了基于汽车诊断的固件
将复杂的诊断指令变成了串口信息,然后就叫ELM327,但是这家公司的最早的版本的芯片在卖出的时候没有给里面的程序添加读取保护,所以国内的厂家读出了里面的bin,然后才有了我们几十块钱就可以买到的玩具。
下面是维基百科对这个芯片的具体介绍:
https://en.wikipedia.org/wiki/ELM327
关于OBD诊断的具体的内容可以参考维基百科的这两个链接:
https://en.wikipedia.org/wiki/On-board_diagnostics
https://en.wikipedia.org/wiki/OBD-II_PIDs
我在文章开头说的开源的OBD仿真设别的github源码在
https://github.com/AppSaloon/ecu-can-bus-simulator
相关的介绍的文章在这里
http://www.instructables.com/id/Arduino-OBD2-Simulator/
同时福特公司还有一个开源的软硬件的关于OBD的项目名为openxc
http://openxcplatform.com/
这里面有制作一个OBD采集器使用的软件硬件的所有的资料
接下来我将基于汽车电子所使用的各种基础的技术和大家分享更多的知识,带领大家做更多的开源的软硬件,将很多老外开源的项目介绍给大家。