CAN总线和依据CAN总线的确诊彻底不是一个概念,CAN总线的硬件也纷歧定是OBD的硬件。至于“多去4S店问问技师,车厂的人大部分的人都纷歧定比这些人懂的多”,你让这些技师给我写个能用的ECU CAN接口出来?
以下开端正式答题。
首要,请看这份恒润工程师写的论文《CAN总线体系测验技能》。
里边根本描绘了CAN总线开发的流程,但首要侧重于CAN总线的测验,不过也能让你有所了解。
依据你的描绘,假定你的要求是:能够依据某嵌入式渠道(最好该渠道在轿车ECU开发中被广泛运用),依据给定的通讯协议(一般由通讯矩阵描绘),编写CAN接口代码,并能经过相关设备进行简略测验。
引荐的学习过程为:
1. 了解CAN根本常识
能够经过这个ppt,恒润的东西仍是不错的。
CAN根底_百度文库
2. 直观的了解CAN
这需求你购买或借用CAN总线检测设备,层次差许多。如果是你自己想玩,能够买个周建功的USB转CAN,淘宝也就几百块钱。如果是课题组收购,能够买个Kvaser的USBCAN,几千块吧。大致这个姿态。
要是土豪的话,能够买Vector的VN1600,这个就好几万了。以上三种我都用过。必定要买双通道,然后一个口发,一个口接,能够自己接延长线经过示波器看信号了。测验修正报文ID,数据,波特率等等,看示波器的改变,对了解榜首部分的内容很有协助。
这个图中有三个message。
一位是2us,总线的波特率是多少?1/2e-6=500Kbps
3.挑选嵌入式渠道,学习CAN接口的编程
飞思卡尔MC9S08DZ60MLH 8位轿车级CAN总线 开发板 学习板超
能够挑选这个小板子操练一下,程序的写法都是差不多的。然后和第二部分的总线检测设备连在一起进行测验。
这一步需求具体了解信号转化的常识,特别是Big Endian和Little Endian的差异,factor和offset的效果,怎么置1或置0,能够参阅DBC_File_Format_Documentation_百度文库,很具体,看完就懂了。
4.如果有爱好,能够看看J1939协议(用于商用车)或许CANOpen协议(用于现场操控,许多电机操控器运用)或许ISO 15031-5(用于OBD确诊)。
最终,期望你在了解CAN今后,不要花过多的精力在底层上,根本都是体力劳动。表现价值的还得是上层。