The vanagon is running an
EJ22
engine from a 1990 Subaru Legacy.
The EJ22 is a boxer (opposed twin) engine, legendary for its
simplicity and
reliability.
The conversion was done using a Kennedy
Engineering (aka KEP) adapter kit.
EJ22 OBD1 Engine Diagnostics
The Subaru engineers wisely decided to put in a simple "Subaru Select
Monitor" (SSM) communication
system to their ECU, using serial communication running 1953 baud
talking
at 5V TTL level.
These are the engine parameters that can be read in realtime.
Continuous parameters:
- ROM ID
- System voltage
- Vehicle speed
- Engine speed
- Coolant temperature
- Ignition timing
- Airflow signal
- Load
- Throttle position signal
- Zeroed throttle position
- Injector pulse width
- IAC valve duty cycle
- Oxygen sensor signal
- Fuel trim
- Timing correction
- Boost control duty cycle
- Barometric pressure
- Boost/vacuum
|
Binary parameters:
- Ignition switch
- Automatic transmission mode
- Test mode
- Read memory mode
- Neutral switch
- Park switch
- California mode
- Idle switch
- Air conditioning switch
- Air conditioning relay active
- Radiator fan relay active
- Fuel pump relay active
- Canister purge valve active
- Pinging detected
- Pressure exchange
|
Click for explanations of these parameters.
Click for typical values during running
conditions.
Here's some plots of various parameters during:
- engine warmup
- 0 to 60 to 0
Software
I've been able to get 3 diagnostic tools working:
- B10 diagnostic tool
- EvoScan
- Select Monitor Utility
B10 diagnostic tool
The B10 diagnostic tool
written by Vikash Ravi Goel
is a great tool that talks TTL over a parallel (printer)
port (see "Hardware" below for details). Its limitations are that
it can only monitor one SSM parameter at a time, and
it has to run as a native DOS process on a laptop (not a DOS window within
windows!). It was the first groundbreaking independent software written to
monitor the SSM protocol, after much time by the authors on reverse
engineering the ROMs inside EJ22 ECUs.
Evoscan
The EvoScan
monitor and data logger by Hamish Ahern is a great piece of software
that can monitor any or all of the SSM parameters together and in realtime
as values or
as gauges,
(unlike the B10 which can only
monitor one at a time). It can also log the data, which can be
analyzed later. Here's a time plot of a
warmup cycle of my engine.
Hamish sells cables which connect to the OBD1 SSM port. Because i wanted
both USB- and the parallel-based cables to work, I used an
FTDI TTL-232R-WE USB to TTL Serial Cable from ftdichip.com
(see "Hardware" below for details).
Select Monitor Utility
I've had mixed results using the
Select Monitor Utility written by Kevin Frank.
I also used the USB/TTL cable to connect this utility.
However, on my laptop the sync to the Select Monitor program was
intermittent; I would only get a few seconds of good data followed by a few
of garbage, repeating. After hours of messing with it, I found that
running the
PortMon port monitor (from sysinternals.com) somehow changes the
buffering to allow the sync to stay on longer.
Hardware
|
Since the two tools use different hardware (one a parallel cable, the
other a USB/Serial one), and in order to be able to see the
diagnostics while sitting in the front of the van, I decided to
connect the ECU's connector to a shielded cable which runs underneath
the van to a simple 3-connector audio jack on the dash.
Both of my cables have audio jacks which plug into that port.
|
|
|
The connection to the Subaru ECU is made via a Scosche Su02B connector.
|
|
To make cables for either, here's the pin numbers and pin-outs for the
ECU's connector, Scosche connector, USB serial cable, and parallel
cable:
subaru connector on wiring harness
------ ------
| 1 2 |_| 3 4 |
| |
| 5 6 7 8 9 |
---------------
(looking into face of ECU connector, NOT the Scosche connector)
parallel cable
This cable is made with a
25-pin male D-Sub Centronics connector,
with only 3 of the wires connected to 3 of the Scosche wires:
parallel-pin Subaru Scosche
--------------------------------
13 (select) 2 (XMIT) wht
1 (strobe) 3 (REC) grn
- 5 (+12V) gry/blk
25 (ground) 9 (GND) prp/blk
-----------------
\ 1 13 /
\ 25 /
\-----------/
(looking into the pins of the Centronics connector, NOT the laptop port)
usb cable
FTDI TTL-232-WE 5v ftdichip.com
TTL-232-WE Subaru Scosche
--------------------------------
yel (RxD) 2 (XMIT) wht
org (TxD) 3 (REC) grn
- 5 (+12V) gry/blk
blk (GND) 9 (GND) prp/blk
|