作者的一位朋友就买到了一部日本版的Ducadi ST2,作为一次尝试,笔者希望改写这部车的ECU程序,使它成为一部标准版的ST2。改写程序需要四个主要步骤。1、读取ECU程序。2、更改关键参数。3、回写ECU程序。4、试车验证。
查阅Ducadi ST2相关资料,可知ST2使用的电喷系统ECU是Magneti Marelli公司的IAW 16M产品,这款IAW 16M被广泛应用到Ducadi、Moto Guzzi、MV Agusta摩托车以及菲亚特汽车上。IAW 16M ECU的一大特点是使用外置的EPROM(可擦写编程存储器)程序存储器,以便厂家灵活地更换ECU程序,使ECU可以匹配多种车型。这就给读取程序带来了很大的便利;反观Honda系列的ECU,由于使用了内建OTP rom(单次编程存储器)的MCU,就使得读取程序几乎成为不可能。
改装的第一步是拆开ECU的防水盖。ECU在车座下面,揭开铝箔纸后就看到了存储ECU程序的EPROM芯片,如图1、图2所示。用IC起拔器取出EPROM芯片,放到编程器上读取内部程序,如图3所示。至此已经成功地读取了EPROM程序。
改装的第二步是修改程序的关键参数,由于IAW 16M ECU在摩托车和汽车上有着广泛的应用,因此可在互联网上找到多种MAP编辑软件,包括E.C.M;ECU MapEdit;TunerPro;然而遗憾的是这些软件均不能正常识别ST2的程序rom文件。
图4是ECU MAP EDIT的运行截图,可以看出解析得到的RPM Limits数据是错误的。MAP编辑软件不合用,只能做程序的反汇编了,IAW 16M使用的MCU是摩托罗拉的68HC11,使用68HC系列的反汇编程序对ROM程序反汇编,得到静态反汇编文件,查阅反汇编文件后,终于找到了日版ST2的转速限制子程序,以及限速参数的位置,如图5所示。将此参数修改为10300转,由于这个速度是曲轴的瞬时转速,因此与转速表上显示的平均转速是不同的。至此,完成了第二步,关键参数的修改。
第 三 步 是 将 改 好 的 程 序 写 回 到E P R O M 中,这 里使 用了一片全 新 的M27C512,并贴好遮光铝箔纸,在铝箔纸上写明程序校验和说明,以及笔者的大名。然后将改好程序的EPROM插回IAW16M ECU上,装回ECU的橡胶盖,贴好防水胶带,如图6所示。