P38 Autobox comms with the M57 engine
I am putting some info on the web for all to use and add to, I did this work over ten years ago and never got around to sharing it.
But this covid-19 has to have some upsides and this is one of them.
Three other blog posts on P38/BMW techy stuff….
When we did the first M57 into a P38 back in 2006 the autobox was the difficult bit and the datastream between the original M51 ECU and the gearbox controller was a pain, it took a few hundred hours of reverse engineering and then I was never 100% happy with the conversion, while the data stream worked perfect there was still a conflict with the torque produced by the M57 and the torque converter settings in the gearbox and it’s controller MAPS, we tried using the 4.6 gearbox ECU and also modifying the torque converters.
The issue is getting the gearbox to coast, ie when you lift off ,the gearbox goes into neutral. This data stream does remove all the errors and stops limp mode, the sport switch flashes when the gearbox ECU has an error and is Limp mode.We made a companion PC program for the converter so we could change the throttle and torque settings on the fly over Rs232, thereby gearing the data to the gearbox ECU but nothing really got it perfect, it is a usable simple engine conversion but the autobox still bugged me, we sold only a few of them. The time to fix this issue was not justified by the price we sold them for, if it had been for the Desert Warriors it would have sold for 10 times the price and the customer would have a spare just in case .
Lets start with the wires. they are different on the <99 car and >99 cars.
pre 99 Model year cars ( ones with the red hazard light switch)
Post 99 MY cars , one with a black hazard light switch.
luckily both the wires into the gearbox ECU stay the same colour and function. it is the OY and SR wires we are interested in.
The SR wire is the torque reduction request from the gearbox to the ECU, so it can change gear easily, The M57 wants this info over CAN-Bus and we did wire it to the CAN bus converter but we never implemented this and found it made little difference, if you aren’t going to try using it then this must be connected to +12v via a 1.5k resistor, to stop errors. The signal is a PWM from the gearbox and is around 100HZ 50% normally.
The OY wire has the data signal 12v PktoPk square wave
The signal is basically a clever PWM consisting of a timing pulse then 9 x (throttle position then engine torque).
the timing pulse is
5mS HI, 500 uS Low,5ms HI, 500Ms Low
the throttle and torque have the same total period of 5.4 mS (185 Hz)
zero throttle is 800uS Hi and 4.8mS Low
50% thottlle is 2700uS Hi and 2700Us Low
100 Throttle is 4.8mS Ho and 800uS Low
after the throttle, the torque pulse uses the same format but is 0-255 range instead of 0-100%. after nine pairs of throttle and torque, there needs to be a timing signal.
this data is easiy obtained from the M57 ECU via the CAN bus datastream.
here is the data for the CAN bus :
This Zip contains the firmware (.BIN files) for the gearbox controllers, I remember that the controllers are the same except for the firmware so they can be swapped onto the EPROM and tested, there are torque maps inside them for the gearchanges but we never had time to mess with them, the 4.6 uses an extra wire for the signals if you need that I have it.
The password is here ????