Pages: [1]
Print
Author Topic: SSMI in 97 Impreza  (Read 651 times)
bubba2533
Super Moderator
*
Offline Offline

Posts: 49


All Show No Go


View Profile WWW
« on: September 08, 2011, 06:36:40 AM »

Ok, so I haven't been here in awhile, but I think that I might be getting interested in this again.

Please see this thread for what I was doing before. http://www.subiesmart.com/forum/index.php/topic,42.0.html

I installed a Megasquirt 3 in my car and in turn had to stare at the ECU diagrams for many hours. I think I might have figured out a thing or two.

So I believe that my car is SSM capable. And the reason I was unable to communicate via SSM is because i was not thinking clearly about it.

I was trying to use a OBD-2 cable to communicate with SSM software. I think that the same cable will work because it is a serial to usb (FTDI) based chip. But I need to wire the pins to the correct pins on my car.

Attached is the ECU diagram of my car.

Edit: I had this post saved because my internet was down. In the mean time I got a chance to do a little bit of testing.

So, I rewired my OBD-2 USB to Serial adapter so that it would have the K and L lines of the adapter come out on pins 12 and 13 of the OBD-2 end.

I then tried to communicate with my ECU with a couple programs and this is what I got.

JECS scan - It seemed like it might have been working, but I can be sure. It was giving me some pretty random numbers with the read parameters box and I tried a few different car presets.

EVOscan - It said it was connecting but I never got a connection or real data.

FreeSSM - Did not connect.

I need to still try the HexCom tool, but It won't run on my new laptop because I have Windows 7. I am in the process of getting it to dual boot windows 7 and XP. Once I finish that I will give it another try.
« Last Edit: September 12, 2011, 02:28:10 PM by bubba2533 » Logged
bubba2533
Super Moderator
*
Offline Offline

Posts: 49


All Show No Go


View Profile WWW
« Reply #1 on: September 12, 2011, 07:34:17 AM »

Got my computer to dual boot 7 and XP and was able to try the HEX COM tool.

It didn't work, and I am now back at square one.

I suppose the next thing to try is a different cable. I will either build this one http://www.vwrx.com/index.php?pg=selectmonitor or buy the one from EvoScan.
Logged
bubba2533
Super Moderator
*
Offline Offline

Posts: 49


All Show No Go


View Profile WWW
« Reply #2 on: September 12, 2011, 01:29:10 PM »

Ok, I have been researching all types of computer communication protocols the past couple days and have found a couple things out.

The OBD-2 ISO1941-2 Protocol is what my car has.

I have colored my added comments in red and yellow

Info from Wiki:
Quote
Website:http://en.wikipedia.org/wiki/On-board_diagnostics#OBD-II_Signal_Protocols
This protocol has an asynchronous serial data rate of 10.4 kBaud. It is somewhat similar to RS-232, however the signal levels are different, and communications happens on a single, bidirectional line without additional handshake signals. ISO 9141-2 is primarily used in Chrysler, European, and Asian vehicles.

    pin 7: K-line
    pin 15: L-line (optional) Pin 15 not present on my car
    UART signaling
    K-line idles high, with a 510 ohm resistor to Vbatt
    The active/dominant state is driven low with an open-collector driver.
    Message length is restricted to 12 bytes, including CRC

Also I found from another website:
Quote
Website:http://www.onboarddiagnostics.com/page03.htm
ISO 9141-2   (Asynchronous serial communication at 10.4 Kbaud)

    Pin 7: K-line bidirectional for communication
    Pin 15: L-line (optional) unidirectional for waking up the ECU
    Idle signal levels are high
    Signals are active pull-down to 0V (0.00 to 2.40)
    High signal voltage level: +12V (min/max 9.60 to 13.5)
    Up to 12 message bytes, excluding frame delimiters
    Bit Timing;

        UART signaling at 10.4K baud, 8 data bits, no parity, 1 stop

And from ECU Explorer SSM Information PDF I found:
PDF Attached
Quote
The subaru select monitor protocol uses an ISO9141 interface and uses UART settings:
4800 bps n, 8, 1 all data is sent and received using small packets that all share a common header.

With this information I was thinking that my cable would work since it works for OBD-2 ISO9141

I continued to search as my cable was not working, and that is how I found this:
Quote
Website: http://www.kaele.com/~kashima/car/gc8-e.html
Reading internal ROM
There is the memory read connector at up allow of brake pedal. we can referencing internal memory by operation this terminal. SUBARU have the SELECT MONITOR for diagnosis. they make a diagnosis contact this connector.
Memory read connecter arround communication port in ECU
Image is attached in case the link dies
Interface voltage is TTL level(5V) This is the important part!

That may be the break through that I was looking for as I have been trying to communicate via the SSM pins on the ECU with ISO9141 signal levels.
« Last Edit: September 12, 2011, 02:59:34 PM by bubba2533 » Logged
bubba2533
Super Moderator
*
Offline Offline

Posts: 49


All Show No Go


View Profile WWW
« Reply #3 on: September 12, 2011, 02:30:26 PM »

Ok, after some more thinking about it and some more reading I'm starting to think that my car is SSMI. Even though it is OBD-2 I think that SSMII starts on 1999 at least for Impreza's.

Now I just have to prove it.

Oh and attached are a couple picture of the SSMI connector under the driver side dash of my car. I think this at least partially validates that my car is SSMI.
« Last Edit: September 15, 2011, 06:06:54 AM by bubba2533 » Logged
bubba2533
Super Moderator
*
Offline Offline

Posts: 49


All Show No Go


View Profile WWW
« Reply #4 on: September 15, 2011, 06:05:31 AM »

More proof that I think my ECU communicates with TTL +5v levels here:
http://www.subaru-svx.net/forum/showthread.php?t=38685&page=7
Logged
b3lha
*
Offline Offline

Posts: 198



View Profile WWW
« Reply #5 on: September 16, 2011, 04:25:31 AM »

I think the 97-98 cars had OBD2 K-line and SSM1.

For OBD1 use a standard OBD2 cable.

For SSM1 use a USB to TTL cable like the one on my website, connected to pins 12 & 13 of the OBD connector, or 2 & 3 of the yellow connector.

Logged

See my Subaru ECU and TCU website.
http://www.alcyone.org.uk/ssm
bubba2533
Super Moderator
*
Offline Offline

Posts: 49


All Show No Go


View Profile WWW
« Reply #6 on: September 16, 2011, 06:08:34 AM »

I think the 97-98 cars had OBD2 K-line and SSM1.

For OBD1 use a standard OBD2 cable.

For SSM1 use a USB to TTL cable like the one on my website, connected to pins 12 & 13 of the OBD connector, or 2 & 3 of the yellow connector.



I agree.

And I got this for communication:
http://www.gravitech.us/ftusbtouabrb.html

I wanted to leave myself the option to do more things with it. It should be in by next Wed.


Edit: After a little more research it looks like this breakout board is going to be perfect for this application.

You stated in a post that:

Quote
It [The ECU] has a UART, but the signalling is done at TTL levels. I think the logic may also be reversed, ie. 0 is 0v (ground), 1 is +5v (floating).

At the time I did not know what "floating" was. I emailed you, and now I think I understand. It is just when the line is idle and no communication is occurring.

But, in the email you sent me you stated that:

Quote
To answer your question about "floating". It means that the ECU supplies +5v on the wire. The PC connects that to ground for a few milliseconds to signal a logic 0 bit, or disconnects for a few milliseconds to signal a logic 1.

But I think that you were incorrect in saying that:

Quote
the ECU supplies +5v on the wire.

I think that the communication device supplies the +5v when the line is idle. At least that is what I found from the sparkfun comments for a similar breakout board with the same FT232RL chip.

Quote
As a test, you could measure the voltages when the serial port is in idle. The TTL should be high (5.0v or 3.3v).

I just confirmed my thinking. I gave FTDI a call and talked with a tech and he told me that both the Tx and Rx on the FT232RL chip are pulled up to VCCIO (which is selectable from +5v or +3.3v).

Even if the ECU did supply +5v to both lines I don't think it would matter now that I think about it. I am very excited to try this board out with my ECU.

Will post results ASAP.
« Last Edit: September 16, 2011, 02:13:58 PM by bubba2533 » Logged
bubba2533
Super Moderator
*
Offline Offline

Posts: 49


All Show No Go


View Profile WWW
« Reply #7 on: September 18, 2011, 08:07:36 PM »

I got my breakout board Friday after work and was rushed to leave the house so all I got to do was a simple loop back test with my laptop to make sure the breakout board was functioning.

However it is Sunday night and I have been playing around with the board and my computer for the past couple hours and have discovered that IT WORKS!!!!

I couldn't be more excited about this project now that I have something that is working.

Now on the the important information.

My ECU ID is A30130

So far the software I have tried includes:
VWRX - It gets the ID every once and awhile but it is very inconsistent.
JECScan - Works great and even uses the closest ID for logging.
FreeSSM - Does not connect
EVOScan - Connects but the definitions and/or calculations are wrong.

I hope to get a full rom dump of the ECU sometime this week.
Logged
bubba2533
Super Moderator
*
Offline Offline

Posts: 49


All Show No Go


View Profile WWW
« Reply #8 on: September 19, 2011, 09:00:47 AM »

I found that there is already a full dump of an ECU with the same ECU ID as mine.

You can find it here.

http://www.alcyone.org.uk/ssm/obd2.html

I plan to get a full ROM dump of my ECU just to verify against the one on that website.
« Last Edit: September 20, 2011, 10:15:47 AM by bubba2533 » Logged
Pages: [1]
Print
Jump to: