一汽宝来轿车采用了大众第三代防盗技术,防盗器与仪表共用一个存储器存储数据,仪表内存储器为:93C86 (具体位置如图所示),该芯片的数据读取有两种模式:即 8 位模式 和 16 位模式。具体采用哪种读取模式由芯片的第六脚控制(ORG),如果这个引脚接地,那么就是8 位模式,如果这个引脚接正极或者悬空(内部由上拉电阻接到正极),那么就是 16 位模式。在读取数据时如果模式选择错误会出现读取的数据顺序不同。但不用担心,只要记住一点:以哪一种方式读取,一定要按哪种方式写入就可以了。 举个例子: 首先确认一点,无论采用哪种模式读, EEPROM 每次输出数据总是从高位开始。如存储器内部存储的数据为:
如果按照 8 位模式读取:
也就是说,EEPROM 每次输出 8 位(8个高低电平),结果为: 1011 0101 0111 1101 1011 0101 0111 1101 十六进制:B5 7D B5 7D 第一次输出对应为 :1011 0101 ----〉B 5 第二次输出对应为 :0111 1101 ----〉7 D 第三次输出对应为 :1011 0101 ----〉B 5 第四次输出对应为 :0111 1101 ----〉7 D 如果按照 16 位模式读取:
也就是说,EEPROM 每次输出 16 位(16个高低电平),结果为: 0111 1101 1011 0101 0111 1101 1011 0101 十六进制为:7D B5 7D B5 第一次输出对应为 :0111 1101 1011 0101 ----〉7D B5 第二次输出对应为 :0111 1101 1011 0101 ----〉7D B5 所以差别在于,数据显示的顺序不同: B5 7D B5 7D -X 8模式 7D B5 7D B5 –X 16模式 以下是用X8模式读取的新的宝来仪表数据: 零件号码: 1J5 920 806 B 底盘号码: XXXXX XXXXX XXXXX XX IMMOBILIZER SN: VWZ7Z0D8916355 仪表密码:1971
(数据见附表1)
宝来的防盗系统最多可以记忆8把钥匙,每一把的IMMO3 和IMMO4钥匙的固定码部分为4个字长即: 00 00 00 00 - FF FF FF FF之间;每把钥匙固定码及校验码所存放的地址如下所示:(如数据表1所示位置) 第一把钥匙的固定码地址为:20、21、22、23,地址40、41、42、43为第一把钥匙的存储校验码; 第二把钥匙的固定码地址为:24、25、26、27,地址44、45、46、47为第二把钥匙的存储校验码; 第三把钥匙的固定码地址为:28、29、2A、2B,地址48、49、4A、4B为第三把钥匙的存储校验码; 第四把钥匙的固定码地址为:2C、2D、2E、2F,地址4C、4D、4E、4F为第四把钥匙的存储校验码; 第五把钥匙的固定码地址为:30、31、32、33,地址50、51、52、53为第五把钥匙的存储校验码; 第六把钥匙的固定码地址为:34、35、36、37,地址54、55、56、57为第六把钥匙的存储校验码; 第七把钥匙的固定码地址为:38、39、3A、3B,地址58、59、5A、5B为第七把钥匙的存储校验码; 第八把钥匙的固定码地址为:3C、3D、3E、3F,地址5C、5D、5E、5F为第八把钥匙的存储校验码;
例如:如果一把钥匙的固定码 是: 19 87 20 40 ,那么这把钥匙的校验码,也就是反码为 E6 78 DF BF 。 仪表数据地址: 88 89 8A 8B 8C 8D 8E 8F(如数据表2所示位置) 的数据分别为: FF B2 03 03 01 03 01 01;如果用X16模式读取数据应为:B2 FF 03 03 03 01 01 01 数据“03”中的第一个数据 “0” 表示已经匹配了0把钥匙,也就是说没有匹配钥匙 第二个数据“3”表示可以自动匹配 3 把钥匙 。 如果这个三个数据变为“33”,那么第一个数据“3”表示已经匹配了3 把钥匙。 第二个数据“3”表示可以自动匹配 3 把钥匙 。 如果三把钥匙匹配完成后,我们同时可以在地址:20~23、24~27、28~2B;40~43、44~47、48~4B分别看到三把钥匙的固定码及校验码。 利用以上的数据,我们可以省去复杂的仪器操作,实现钥匙的自动匹配,具体方法如下: 假如已经有3把钥匙想再增加1把至4把钥匙,我们可以利用编程器把地址8A;8B;8D(X8模式)数据由“33” 修改为“34 34 34 ”意思是已经有3把再自动配一把.。再把地址8C;8E;8F 数据由“06 ”修改为“01 01 01” 意思是仪表状态为全新关闭点火开关,插上一把全新的没有固化的 IMMO3 或 IMMO4 钥匙,打开点火开关,钥匙灯自动熄灭,匹配完成。 若要自动配 1 把钥匙,那么数据就修改为 01 01 01 01 01 01,匹配成功后变成 11 11 01 11 01 01 若要自动配 3 把钥匙,那么数据就修改为 03 03 01 03 01 01,匹配成功后变成 33 33 01 33 01 01 若要自动配 8 把钥匙,那么数据就修改为 08 08 01 08 01 01,匹配成功后变成 88 88 01 88 01 01 如果数据修改为 36 36 01 36 01 01 , 那么就是已经有3把钥匙的固定数据已经读入存储器,在仪表状态位01还没有变为06之前还可以自动增配 3 把钥匙。 以上钥匙的匹配情况的数据在仪表数据流22组的第 3项能观察到:
022 组:IMMO 状态数据 00 项:发动机启动许可 1=可以开车 0=不可以启动 钥匙匹配错误或ECU损坏;没有正确 CODING; 用错 ECU。 01 项:ECU 响应 1= 通讯OK 0=ECU与 W线故障或 IMMO解锁协议不兼容换IMMO或ECU 02 项:钥匙状态 1=可以识别到的钥匙 0=识别不了的钥匙 ,无芯片钥匙或不可匹配钥匙 03 项:钥匙数量 3=当前IMMO有3把钥匙固定码记忆.最多可以匹配 8 把钥匙
地址8C、8E、8F的数据是和仪表数据流第23组的第三项值相对应的,具体数据流如下所示: 023 组:IMMO BILIZER 3 状态数据 00 项:跳码状态 1=钥匙跳码数据已经同步 0=没有同步 (钥匙跳码算法与仪表IMMO的不相同) 01 项:钥匙芯片状态 0=新钥匙 1=旧钥匙;如果IMMO没有这把钥匙的固定码拒绝和这把钥匙同步 02 项:钥匙芯片状态 0=IMMO没有该钥匙的固定码 1=固定码数据已经成功写入IMMO 03 项:仪表IMMO 状态 具体说明如下: 1、如果数据为三个“06”数据流 23 组 第03项的值就是 “6”, 表示已经匹配成功的仪表,不能输入VIN 码 2、如果数据为三个“01”数据流 23 组 第03项的值就是 “1”,表示全新的仪表 可以配合前面的03自动配3把钥匙 3、如果数据为三个“02”数据流 23 组 第03项的值就是 “2” 表示还可以输入 VIN 码 4、如果数据为三个“04”数据流 23 组 第03项的值就是 “4” 表示最后一次可以输入 VIN 码 由上述讲解内容可知,如果想再次修改 VIN,那么只要把地址 8C、8E、8F 修改为 01 01 01 就可以,然后用设定底盘编码功能再次设定底盘号码,再用调整50 功能传给发动机电脑。
旧钥匙的匹配: 正常情况下,更换仪表进行钥匙匹配时,必须使用全新的带有芯片的车钥匙 ,因为IMMMO3 车钥匙只能在一个仪表上匹配。只要仪表 IMMO 数据发生变化或 IMMOBILZER3 14 位序列号发生改变钥匙就要报废。在这里我们可以通过修改仪表的数据增加一把其他车的钥匙到这个仪表。 首先必须要知道这把钥匙的固定码,我们可以通过读取与钥匙匹配过的仪表的数据获得该钥匙的固定码例如:已知这条钥匙的固定码是 5C EB DE B1,然后进行以下操作:
1、 把钥匙 固定码 5C EB DE B1 从地址“0x2C”开始顺序写入(设已经匹配了三把钥匙) 把钥匙的校验码(反码) A3 14 21 4E从地址“0x4C”开始顺序写入。 把代表钥匙总数量的数据 44 44 44 从地址“0x8A”开始顺序写入。 2、 用这把钥匙关闭点火开关 15秒再打开,用仪器进入仪表数据流第23组,第 02 项:应显示“ 1 ”, 表明仪表已经记忆了该钥匙的固定码。如果没有进行第一步的操作,第2项数据会显示“0”。 注意:购买车钥匙 ,一定要用数据流 022 和023 检查,如果第2项不显示“1”,则钥匙不能使用。也就是说不能识别钥匙状态为'旧'的不能用。 3、 这时候钥匙灯还不能熄灭 ,因为滚动码还没有进行同步 用仪器进17-仪表,先用密码登录成功 , 再选择10-调整 , 输入调整值“ 4 ”,把全部4把钥匙重新按配钥匙程序打开关闭点火开关 4 次后,全部完成同步。最后用这把增加的钥匙打开点火开关钥匙指示灯应熄灭。 进仪表数据流 23 组 第01项显示 : “1” 表明滚码数据已经同步 在进行防盗匹配时需要登录密码,如果无登录密码,可在仪表存储器存储的数据中找到。 宝来仪表防盗密码的地址在:0CC、0CD;0CE、0CF;0D0、0D1每两个字节为一组,重复3次(如数据表3所示位置),将十六进制数据直接转换为十进制即为登录密码。例如:本仪表的密码数据为“07 B3H”,转换为十进制为“1971D”,“1971”即为登录密码。 另外在地址0A2~0CB和0D2~0E3(如数据表4所示位置)的数据分别为该仪表的IMMO14位串号和17位底盘号。地址11C~125数据(如数据表6所示位置)为仪表的表号信息。 地址0FC~10B为公里数数据(如数据表5所示位置),共十六个字节,每两个字节为一个运算单位。在进行公里数运算时需将一组公里数数据位置互换,然后取反码,再将十六进制数据转换为十进制,乘以16,即为公里数。 如数据为:EF FE EF FE EF FE EF FE EF FE EF FE EF FE EF FE 1、将数据换位:EF FE=FE EF 2、取反码:FE EF=0110 3、将十六进制数据转十进制:0110H=272D
4、将十进制数乘以16:272*16=4352KM
|