Reverse Engineering ME7.4.4 as a stand alone ECU

Bosch Motronic etc ECUs and PCMs
BennVenn
Posts: 488
Joined: Fri Mar 04, 2016 10:35 am
cars: R33 GTST, '60 Vw Bug, Express (4G63T), GW X200
Location: Windellama, NSW
Contact:

Re: Reverse Engineering ME7.4.4 as a stand alone ECU

Post by BennVenn »

TunerProRT Plugin is up and running! Bin upload/download and emulation mode works.

Time to start building maps and tables and fueling code
Untitled.png
User avatar
Gareth
Posts: 2513
Joined: Fri Mar 14, 2014 8:37 pm
Location: Bacchus Marsh, Vic

Re: Reverse Engineering ME7.4.4 as a stand alone ECU

Post by Gareth »

Unreal!!! great work :thumbup:
According to chemistry, alcohol is a solution...
BennVenn
Posts: 488
Joined: Fri Mar 04, 2016 10:35 am
cars: R33 GTST, '60 Vw Bug, Express (4G63T), GW X200
Location: Windellama, NSW
Contact:

Re: Reverse Engineering ME7.4.4 as a stand alone ECU

Post by BennVenn »

cheers Gareth
User avatar
Tre-Cool
Posts: 309
Joined: Tue Oct 16, 2012 12:17 pm
cars: VY SS UTE, VX Drag Car
Location: Perth
Contact:

Re: Reverse Engineering ME7.4.4 as a stand alone ECU

Post by Tre-Cool »

very cool. love to know more about that crank decoding stuff you did.

I may have skipped it, but does it also have a cam position sync aswell?
BennVenn
Posts: 488
Joined: Fri Mar 04, 2016 10:35 am
cars: R33 GTST, '60 Vw Bug, Express (4G63T), GW X200
Location: Windellama, NSW
Contact:

Re: Reverse Engineering ME7.4.4 as a stand alone ECU

Post by BennVenn »

I've made the crank decoding very flexible:

#define ToothCount 36
#define MissingTeeth 1
#define ActualTeeth (ToothCount - MissingTeeth)
#define DegreesPerTooth (360 / ToothCount)
#define DegreePrecision 2 // 0.5 degree granularity

So all you really need to define is the tooth count, how many are missing and the precision you want for spark timing. This works fine for 60-2, 36-1, 12-1 tooth patterns etc. More complex patterns found on 'quick start' engines would need the decoding function modified and I'll look at adding a few different ones it once the ECU is running my engine. I can migrate these settings to EEPROM so you can define them in Tunerpro and not have to recompile the firmware.

This ECU has built in coil drivers with a very clever circuit to identify which 'end' of the wasted spark coil is under compression and which is on the exhaust stroke. From there the ECU knows the cam phasing so no sensor is needed. Before this is known (cranking etc) injection is batch or bank fired, then going to fully sequential once phasing is detected. I haven't implemented this in code yet but Bosch did so it's possible and I just need to read the IO port from the sensing circuit after the ignition fires.

If using 'smart' coils, this obviously won't be available but there are a few spare logic inputs so a cam hall sensor could be used for phasing.
BennVenn
Posts: 488
Joined: Fri Mar 04, 2016 10:35 am
cars: R33 GTST, '60 Vw Bug, Express (4G63T), GW X200
Location: Windellama, NSW
Contact:

Re: Reverse Engineering ME7.4.4 as a stand alone ECU

Post by BennVenn »

A little more progress.
tunerproRT.JPG
Still need to add more conversion scalars, IAT, CLT, MAP, TPS, Dwell, deadtime and test the speed density fueling code.

I've used up around 5kbytes of SRAM out of the stock 32kbytes for the tables currently implemented. 7kbytes of program code space used out of 512kbytes so there's plenty left. 64kbytes of that is used for preserving the calibration from SRAM. Ignition angles are re-calculated every trigger wheel tooth and the main code thread is running 1000 times per second though this might need to be reduced as the calculations get more complex.

Maximum logging speed of 200hz though this consumes CPU computing time so I've added a delay in the ADX monitor function in tunerpro to bring it down to around 50hz.

My CNC'd VR sensor mount arrived, just waiting on a pin extraction tool to finish up a quick loom and hopefully I can get the car running spark only from this ECU then fully migrate from 12P to BV744.
Post Reply