TunerProRT Plugin is up and running! Bin upload/download and emulation mode works.
Time to start building maps and tables and fueling code
Reverse Engineering ME7.4.4 as a stand alone ECU
Re: Reverse Engineering ME7.4.4 as a stand alone ECU
Unreal!!! great work
According to chemistry, alcohol is a solution...
-
- Posts: 487
- 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
cheers Gareth
- Tre-Cool
- Posts: 302
- 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
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?
I may have skipped it, but does it also have a cam position sync aswell?
-
- Posts: 487
- 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
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.
#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.