灯光改装客户送来一台新款坦克300让速锐得安排对坦克的CAN总线数据采集,临时抱佛脚,我们准备了相关的工具,针对性接入坦克300车型进行了数据研究,拿到客户项目最核心关键数据。
坦克300具备网关(Gateway),不熟悉的朋友,我再简要解释下。网关(Gateway)是个工具,可以理解为当车辆存在多条高速或者低速CAN总线时,由于不同区域CAN总线的速率和识别代号不同,一个信号要从一个总线进入到另一个总线区域,必须对他识别信号和速率进行改变,能够让另一个系统接收,这个任务就由网关(Gateway)来完成。打个比方,如果把CAN总线舒适系统比作一列火车,CAN驱动系统总线看成一列快车,相互传输的CAN数据看成旅客,则旅客要想换乘动车或者快车,需经过站台,那么站台就是网关(Gateway)。
坦克300的网关示意图如下:
坦克300网关(Gateway)也具备改变信息优先级的功能。如果车辆发生相撞事故,气囊控制单元会发出负加速度传感器的信号,这个信号由AD芯片提供,这个碰撞信号的优先级在CAN驱动系统非常高,但转到CAN舒适系统后,网关就调整了他的优先级,因为他在CAN舒适系统功能中,只是给仪表盘显示安全气囊状态,CAN舒适系统也只管理一些低级功能,比如车门状态、车灯状态,反而像转向角度这样的数据,在车身BCM控制系统的CAN驱动系统上,虽然不是优先级最高但是数据反馈是很快的。
网关(Gateway)的作用就是将不同的总线连在一起,同时使相互传输信息成为可能。如果不接入网关采集数据的情况下,通过故障诊断仪连接到坦克300的OBD自动诊断系统,通过OBD这个节点,接入到坦克300的网关,那么网关就会按照诊断请求查询到各个不同零部件和接入CAN网络的传感器数据流信息,例如车门控制单元、油门及刹车踏板、发动机冷却液温度、转速、方形盘转向角度、ABS工作信号,ABS介入时间、车速及ESP、雨刮、引擎盖状态、档位、剩余油量、大灯总成各个灯的状态、钥匙状态及其他车身、发动机的信号等等。
我们采用鲨扣将CAN_H和CAN_L连接到坦克300,这次没有使用SPY3工具,直接采用的USB转CAN工具,客户项目上不涉及复杂DBC需要交付,所以,只是获得一个需要的CAN信号表格即可。在坦克CAN通信系统中,会有多个控制单元相互发送和接收信号,如果CAN通信线路发生任何故障,各控制单元无法发送接收和发送信号。我们在测试的时候,要保证鲨扣的连接状态,并用万用表测量好CAN_H和CAN_L的电压,CAN_H和CAN_L一定不要碰到一起,否则会出现仪表盘故障灯,这个状态是CAN短路,带诊断仪的好处是可以及时清除掉因为操作不谨慎导致的汽车DTC故障码,一般为“CAN网络通信故障”。
这里有几个魔鬼细节:
1、将诊断仪或者CAN连接线连接到OBD或者网关以前,车必须是熄火状态,如果是点火开关在ON位置时连接插头,可能会造成一定风险,因为有部分老旧东西会导致瞬间过流太大。
2、我们采集CAN数据的时候,先不用打到点火状态,可以先在ACC下采集一些信息,比如油门踏板深度,如果点火后,你踩到100%,声音将会很难听,如果豪华跑车装了高端的排气声浪,那可能就会喷火。还有一些静态的信号是可以采集,就不赘述了。
3、打开点火状态,让发动机启动起来,这时候可以打开诊断仪和连接网关的USB转CAN工具,两边一定不要同时发数据,CAN总线ID冲突,也会导致数据无法识别或者采集到的数据错乱,CAN这边只用于监听,OBD诊断电脑用于对照。
4、选择坦克300获得数据流以后,我们对车辆进行实际操作,比如查询远光灯、近光灯、双闪、防雾灯,这些传输速率低级的信号,老经验的工程师可以直接不用对比,在CAN报文就直接分析得出,一般这些状态数据都是开关量数据,比如0变1或者2变4。
5、根据项目调用将OBD诊断仪连接到车辆上的所有ECU控制单元用于数据查询和调用,诊断仪读取的时候,不执行任何操作。
6、如果利用上述步骤不能启动CAN网络诊断,则需要检查车辆技术参数,从而选择正确的CAN类型或者数据调用群组的ECU控制单元信息。
7、读取CAN网络数据上,找到对应的ECU控制单元下,查询需要的数据项就可以了,加载太多,自己眼花会看不过来,采集到以后做过滤验证特别好用。CAN总线的ID有自动排序,这个是CAN数据优先级决定的。
8、如果还不会,请你告诉我车型年份,数据项,我们来帮你弄吧。300块的工具自己买,远程适配数据采集CAN信号数据,下载向日葵远程桌面,分分钟帮你搞定。
我们分别从过去、现在以及将来的技术中汲取经验,我们应用的这个工具在汽车领域不同的例子上一试身手,每个例子都是我们现在能给到客户和行业相关有用的东西,都是属于案例型。大家可以对比历史上、当前趋势中以及后续自己想象的大数据社会形态,这篇文章的目的,只是我们帮助行业朋友解决数据问题的常态。