众所周知,车系的车辆编码众多,因为“刷隐藏功能”和原厂增配升级的流行,使得大众车系给人一种“无控制单元不编码”的感觉。而且编码功能强大而灵活,例如许多功能通过修改编码即可实现,这也使编码有了些许神秘感。笔者管中窥豹,结合自己的使用经验,在此简谈大众车系编码,希望能为您揭开编码神秘面纱的一角。
需要说明是,目前很多诊断仪都可以读取和更改控制单元编码值,但笔者认为比较好用的当属大众原厂诊断系统ODIS和第三方诊断系统VCDS。VCDS是美国Ross-Tech公司开发的针对大众车系的诊断系统,笔者认为其编码帮助提示(告诉我们如何更改编码)等一些功能已经了原厂ODIS诊断系统。本文中对编码的举例皆是借助VCDS诊断系统完成。
编码的前生今世
编码是控制单元的“小程序”,每个程序都有自己的功能,不同的编码可以执行不同的功能。控制单元在生产装配时已经预制了许多程序,编码能够让我们实现想要的功能。
早期的控制单元是没有编码的,编码的出现一方面是为了满足生产厂商和消费者对汽车多样化、个性化的需求,另一个重要原因就是大众车系平台化战略的持续推进。同一控制单元可以在不同品牌的不同车型上使用,只需要更改相应的编码即可。对汽车维修而言也是降低了成本,但维修的技术门槛却提高了,对维修技师也有了更高的要求。
随着科技的进步和人们生活水平的提高,对车辆的安全性和舒适性有了更高的要求,车辆配置呈现出多样化,一款车就可能分为基本型、技术型、豪华型和旗舰型等。豪华型上有的功能如自动泊车等,基本型车辆上没有配备,因此编码也变得复杂起来,不同车辆同一控制单元的编码也会有所不同。
图1 车型编码
编码的类型
1.短编码
短编码又称普通编码,由最多7位阿拉伯数字组成,使用VCDS更改编码操作时,短编码不足7位的,需要在前面用“0”补足7位后,方可进行编码操作。在短编码的设计和使用中,可以通过叠加法和占位法,或者两种方法结合使用,来实现对应的功能。
(1)占位型编码
占位型编码如图2 所示,编码是“0000075”,最末位表示的是变速器类型和挡位,5表示“6挡自动变速器”;倒数第2位表示动力CAN数据总线有哪些控制单元,7表示车辆有“ABS防抱死制动系统控制单元”、“气囊控制单元”和“空调控制单元”。
图2 发动机控制单元短编码示例
(2)叠加型编码
图3是驾驶员车门控制单元的叠加型编码示例,编码“0001204”即是叠加而来,如果拆分开来,1204=4+16+32+128+1024,不同的数字代表不同的功能:0000004=后视镜转向信号已安装;0000016=自动运行激活(即升降器单触功能);0000032=后视镜加热器已安装;0000128=5车门底盘;0001024=安全-电机未安装。
图3 驾驶员车门控制单元短编码示例
如果我们想要为车辆增加“出门/告警灯”功能,就需要在原编码的基础上加“0000064”,警告灯功能就就可以激活。
2.长编码
随着车辆配置的多样化,短编码已经不能满足功能越来越复杂的控制单元了,于是就出现了长编码。长编码由若干个字节(Byte)组成,一个字节(Byte)为8位二进制数,也是2位十六进制数。在VCDS中,每一位二进制对应一个比特(Bit)位,每个Bit代表一种含义,或几个Bit组合使用,如图4所示。
图4 雨量与光强长编码示例
Bit位可以单独勾选,若勾选,对应的二进制数值为1,否则为0。多位比特Bit组合使用时会出现下拉菜单,如图5所示。
图5 变速器传动类型编码
了解8位二进制和Bit位的对应关系,有助于更好地理解编码变化规律(图6、表1)。
图6 二进制与Bit对应关系
表1 8位二进制和Bit位的关系
编码的应用
现在大众车系没有编码的控制单元几近没有了,可见编码应用之广泛。那么什么时候需要编写或更改编码呢?笔者认为主要有3个场景:维修中更换控制单元;刷隐藏功能;原厂增配升级。下文将针对这3个场景举例,乃抛砖引玉之意。
1.更换控制单元
在实际维修工作中,车辆控制单元内部损坏的常见原因有以下3种:控制单元自身原因,如内部焊接不良,集成芯片损坏等;碰撞事故、泡水以及火烧车造成的损毁;人为损坏,如拆解读写芯片数据时的操作失误等。
不管是何种原因损坏,更换新的或是拆车的二手控制单元都有可能需要进行编码工作。如何获取正确的编码呢?如果旧的控制单元在更换之前尚可正常通讯,只要将编码信息记录下来,即可得到正确的编码。而有时控制单元在更换前已经无法通讯(如泡水等情况),编码已经无法读取,则可以通过以下的方法获取编码。
(1)连接厂家服务器获取编码
使用ODIS连接大众在德国沃尔夫斯堡总部的服务器在线编码。但目前只有大众授权的经销商有在线连接服务器的合法权限和口令,对众多独立修理厂来说这无疑是难以跨越的鸿沟。此外,也并非所有车型的所有控制单元都支持在线编码。
(2)参考其他相同车型编码
VCDS的自动扫描功能会对车辆全部控制单元进行扫描,并记录软件号和硬件号以及编码信息等。近年来有些控制单元(如03-ABS制动系统)的编码与车身底盘号VIN相关联,出现一车一编码的情况,备份原车编码显得尤为重要(图7)。
图7 一车一编码的ABS控制单元
另外,大众车系部分安全气囊控制单元的编码是根据索引码确定的(图8)。在更换新的安全气囊控制单元时,VCDS软件系统会提示输入索引码(索引码在气囊控制单元的标签纸上),然后自动编写对应的编码。
图8 安全气囊编码由索引码确定
2.刷隐藏功能
刷隐藏功能是指在不更改或加装硬件的情况下,通过更改编码值、匹配值等开通一些功能,车主自己通过诊断软件即可操作。“刷隐藏”并非官方术语,它的流行折射出大众车系车主对DIY的热情,刷隐藏的教程也充斥在网络尤其是各大汽车论坛上。
VCDS的编码帮助等功能降低了刷隐藏功能操作的难度,对刷隐藏的流行有着推波助澜的功效。如开通15 km/h自动落锁功能(即车速达到15km/h后中控自动上锁),只需找到相应控制单元,在“字节0”下勾选“Bit4”即可(图9)。
图9 实现15km/h自动落锁功能
经常有车友发出这样的疑问:为什么这些功能要被厂家隐藏?这是因为车辆在出厂时的基本功能已经可以满足日常使用,而被“隐藏”的功能也并非“人见人爱”,所以才被“隐藏”。另外,如锁车提示声音等一些功能,在部分国家是不合法规的,这也是被隐藏起来的原因之一。
对于DIY爱好者来说,刷隐藏功能可玩性更高,可以说是其乐无穷,也体现了大众车系的开放性。但刷隐藏并非没有风险,切不可盲目操作,而是要提前做好充分的功课。刷隐藏之前一定要记得备份好原车编码等信息,防止因误操作导致无法挽回的局面。笔者就曾经在刷隐藏时更改了错误的编码而导致ABS故障灯点亮的问题,吃一堑长一智,从此不忘在操作前备份编码。随着对VCDS诊断系统的不断了解,知道了VCDS对更改编码和匹配通道值操作都有相应的记录日志,这一功能可以说是非常实用的了。
3.原车升级增配
同样得益于大众集团平台化战略,高配车型的某些功能可以移植到低配车型上。刷隐藏功能可以在不改动硬件的前提下实现某些功能,是因为现有硬件已经支持这些功能,而有些功能(如定速巡航、自动泊车、氙气大灯、倒车影像等),现有的硬件不能满足,则需要更换或加装相应的硬件(如巡航开关等),所以加装硬件后也需要更改相应编码(图10)。
图10 加装硬件后更改相应编码
备份全车编码与VCDS自动扫描
前文多次提到了编码备份的重要性,而VCDS诊断系统的自动扫描功能,可以快速、系统地备份全车编码以及控制单元的其他信息。这也是VCDS诊断系统最重要的功能之一。
1.车辆识别与底盘类型
在VCDS软件主界面点击“自动扫描”,出现全车自动扫描界面。执行自动扫描之前,需要选择正确的底盘类型,底盘类型相较于平台更加细化了车型,VCDS诊断系统通过底盘类型来识别车辆。如果车辆具备网关且支持CAN诊断,可以选择使用“自动检测”,VCDS软件会自动识别车辆底盘类型。如果车辆不具备网关或不支持CAN诊断,则需要手动选择相应的代码,车辆底盘号(VIN)第7、8位就是底盘类型代码,如一辆7的底盘号是LFV2B25G6E51*****,底盘类型代码就是5G,表示这是MQB平台下的第七代高尔夫。
图11 全车自动扫描
2.自动扫描及保存
确定好正确的底盘类型后,点击“开始”,执行自动扫描。自动扫描执行完成后,会看到全车各控制单元的信息,包含编码信息、硬件号(在控制单元的标签纸上,也就是俗称的零件号)、软件号、固件版本等,当然也包括控制单元内的故障码信息。
现在生产的大众车系CAN总线普及率已接近100%,控制单元之间通过CAN总线获取需要的信息。若某个控制单元出现故障码,有时会“告诉”总线内的其他控制单元,受故障控制单元的“传染”,其他多个控制单元也可能出现类似的故障码,而“元凶”自然就是最早发出故障信息的控制单元。使用自动扫描功能读取故障码环境参数的时间戳信息,可以准确地获得故障时间信息(图12),有助于我们更快找到“元凶”。
图12 编码及故障码等信息
此时可以复制或保存。点击“保存”按钮,会出现保存对话框,其中的底盘号和里程数一般是默认填写的。为了便于后期整理,建议补全牌照号码和维修单号,当然也可以自主添加一些相关信息(图13)。
图13 保存自动扫描
点击“确定”按钮,保存的同时出现“进程日志”,在对话框上可以查看保存的扫描文件,也可以打开扫描文件所在的文件夹(图14)。最重要的是,在不关闭该对话框或关闭进程的前提下,对车辆后续操作的跟踪记录都会保存在同一个文件内,比如保存更改的编码和匹配通道、保存高级标识信息以及保存读取的数据流等。
图14 进程日志
3.自动扫描的重要性
自动扫描非常重要,我们要养成工作前先进行自动扫描的习惯。前文提到的一车一编码已经不是个别车型的专利,现在的普及率很高,离全面普及也只是一步之遥,因此备份编码非常重要。笔者建议对每一台维修的车辆都要进行自动扫描,即使只是检查灯泡或更换机油机滤。刷隐藏功能和原车增配升级之前更要进行自动扫描,以降低风险,有备无患。而检修故障时的自动扫描,可以通过故障码发生环境时间戳来辅助诊断,帮助我们理清思路。更换控制单元时也可以直接调用以前保养时备份的编码。如果没有执行过自动扫描的车辆更换控制单元,也可以参考同配置车型自动扫描文件内的编码信息。总而言之,自动扫描好处多多。