Players Atlantic ECU Debugging
I am trying to decode what EFI USA did with the serial bus (RS232) on my "Players Atlantic ECU" so I can start logging from it, I did pose the question to them but information wasn't forthcoming unless I wanted to talk about their new ECU's.
The ECU is a “Players Atlantic ECU” originally made by EFI USA back in the early 90’s for the Players Atlantic Championship and If you still aren’t sure what ECU I am talking about I did a write up at http://www.formulapacific.nz/?p=44, I plan to do another write up once I have the whole thing figured out. Even if you can't help this information may be helpful to someone who wants to keep the original ECU going.
With the following port settings:
Baud = 38400
Parity = None
Data Bits = 8
Stop Bits = 2
Hardware Flow Control = RTS/CTS OR DTR/CSR (either worked in the program I was using for debugging)
I only need to send it the hex “3F” or in my case I was sending “0x3F” via my debugger and the ECU will reply via clear text:
?010.0 +014 29.7 +00% 03.47 03.00 10.0 00000 +013 12.7 -030 045 +00% +00.0 41.1 41.1 +016 006 0.00 0.30 0.30 0.60 000 000 00654
The numbers meaning:
? = Every time the ECU replies it leads with a hex of 3F that is translated to a ? In the terminal
010.0 = TPS %
+014 = Air Temp (C)
29.7 = Barameter (Hg)
+00% = ?????????
03.47 = Final Injection
03.00 = Current Milliseconds Fuel as per Map
10.0 = Current Degrees Timing as per Map
00000 = Engine RPM
+013 = Water Temp (C)
12.7 = Battery (Volts)
-030 = ?????????
045 = ?????????
+00% = ?????????
41.1 = ?????????
41.1 = ?????????
+016 = ECU Temp (C)
0.00 = ?????????
0.30 = ?????????
0.60 = ?????????
000 = ?????????
000 = ?????????
00654 = ?????????
It looks like it will do up to 20hz just by me sending constant “3F” so its a good source for engine data once I integrate it with my logger.
I also found I can also send it "0x23 0x41 0x3f" to start it pushing out the error mode stats:
000 000 000 000 000 000 000 000 000 00140 003:41 9.96 0.00 10.4 13.9 +008 +026 09868 255 000 000 115 033
The tripple zeros are number of errors received:
000 Pick-up sequence
000 Throttle Sensor
000 Baro Sensor
000 Water Sensor
000 Air temp Sensor
000 ECU box Temp
000 Engine Over Rev
000 Battery Voltage
000 ????????????
00140 = Engine Serial
003:41 = Engine Clock (Hrs:Min)
9.96 ???????????
0.00 ???????????
10.4 = Min Battery Volts
13.9 = Max Battery Volts
+008 ??????????? <-- Gut feeling is min air temp
+026 ??????????? <-- Gut feeling is max air temp
09868 = Max Engine RPM
255 ??????????? <-- Gut feeling is max error count
000 ???????????
000 ???????????
115 = Max Water Temp (Deg C)
033 = Max Air Temp (Deg C)
The end goal is to get my Aim MXm dash logging the RS232 output from the ECU and Aim have said they will look at supporting it if I do all the figuring out.
Bonus content:
23 41 3f = Put into error data mode (#A)
23 39 3f = Put into engine data mode (#9)
23 42 = Exit Cleanly
31 30 30 46 46 37 30 23 = Clear First Error Value (#100FF70) <---There are a heap of values it clears but this is just the first.
23 31 38 31 46 46 39 34 3f = Raise Fuelling 1 click from baseline
23 31 38 32 46 46 39 34 3f = Raise Fuelling 2 click and so on
23 31 38 31 46 46 39 35 3f = Raise Timing 1 click from baseline
23 31 38 32 46 46 39 35 3f = Raise Timing 2 click and so on
Last bonus content, I could never figure out why changing the fuel trim or timing in the DOS application wouldn't stick until now, It turns out every time the DOS app connects it sends the command to set back to 0% adjustment so while it appears like its not sticking, it's just resetting it every time you connect.
So while it's really early EFI tech it's still pretty powerful. It's would be great if anyone here knows what the ???????? might represent otherwise that's my storey!