The Subaru SVX World Network   SVX Network Forums
Live Chat!
SVX or Subaru Links
Old Lockers
Photo Post
How-To Documents
Message Archive
SVX Shop Search
IRC users:
SVXBot

Go Back   The Subaru SVX World Network > SVX Main Forums > Technical Q & A

Reply
 
Thread Tools Display Modes
  #91  
Old 05-31-2007, 09:09 AM
b3lha's Avatar
b3lha b3lha is offline
Phil & Belha
 
Join Date: Aug 2001
Location: Alcyone Limited, Buckinghamshire UK
Posts: 2,670
There no way you can use an OBD2 scanner with an OBD1 car. The interface is completely different and the protocol is completely different. I would strongly suggest you don't attempt it, because it appears from what I've found on the net that OBD2 works on 12volts, whereas your ECU works on 5volts. I think that if you attempt to connect them, you will probably damage your ECU.

I read somewhere that you CAN use an OBD1 Select Monitor on an OBD2 car because the OBD2 cars have both types of interface. But it's not going to work the other way around.

Here is some information about interfacing to OBD2. You can see that it bears no resemblance to the information presented on my website.

http://www.evaluationengineering.com...s/0398auto.htm

Phil.
__________________
Subaru ECU and TCU Website
1992 Alcyone SVX Version L
1992 Alcyone SVX Version L
1994 Alcyone SVX S40-II
2004 Subaru Legacy 2.5 SE Sports Tourer
1996 Subaru Legacy 2.2 GX Wagon
1988 Subaru Justy J12 SL-II
Reply With Quote
  #92  
Old 05-31-2007, 09:18 AM
Nomake Wan's Avatar
Nomake Wan Nomake Wan is offline
Retired
 
Join Date: Jan 2007
Location: Orange, CA
Posts: 1,031
Send a message via AIM to Nomake Wan Send a message via MSN to Nomake Wan Send a message via Yahoo to Nomake Wan Send a message via Skype™ to Nomake Wan
Whoops, I got it backwards. Never mind, don't try it.
Reply With Quote
  #93  
Old 05-31-2007, 10:58 AM
svx_commuter's Avatar
svx_commuter svx_commuter is offline
Making tires round, Six now :)
 
Join Date: Feb 2001
Location: North Jersey
Posts: 3,433
Hello Phil

Thanks for the "heads up" I will not try it.

The scangauge gets its power from the obd2 plug so it would requre 12 volts.

??So I have a new question for you??

How much would you want to build one of your cables with the "BOX" and send it to the USA???

Take care,

John
__________________
May your transmission live forever.
SuperbVehicleXtraordinary
Proud sponsor of a 1992 SVX.
Reply With Quote
  #94  
Old 05-31-2007, 12:13 PM
b3lha's Avatar
b3lha b3lha is offline
Phil & Belha
 
Join Date: Aug 2001
Location: Alcyone Limited, Buckinghamshire UK
Posts: 2,670
Quote:
Originally Posted by svx_commuter
Hello Phil

Thanks for the "heads up" I will not try it.

The scangauge gets its power from the obd2 plug so it would requre 12 volts.

??So I have a new question for you??

How much would you want to build one of your cables with the "BOX" and send it to the USA???

Take care,

John
Hi John,

My plan was to build three interfaces and sell two of them - obviously I need to keep one to continue my research. You're the first person to ask about buying one. I have two complete and the third one is just waiting on the audio harness which is out of stock. I've been chasing the supplier for an ETA, but as they've already got my money they are not so interested.

The interfaces cost me about 30 pounds each to build, thats $59 US according to XE.com. Probably sounds like a lot to you, but everything is expensive in Britain. That's just the price that I have paid out for the parts, I'm not charging anything for labour or taking a profit.

If you're seriously interested, I'll find out the shipping cost to the USA. Obviously the box will be tested on my car before shipping. If it doesn't work on your car then you can return it for a $59 refund, but I can't refund the shipping. Does that sound fair to you?

Phil.
__________________
Subaru ECU and TCU Website
1992 Alcyone SVX Version L
1992 Alcyone SVX Version L
1994 Alcyone SVX S40-II
2004 Subaru Legacy 2.5 SE Sports Tourer
1996 Subaru Legacy 2.2 GX Wagon
1988 Subaru Justy J12 SL-II
Reply With Quote
  #95  
Old 06-01-2007, 04:36 AM
svx_commuter's Avatar
svx_commuter svx_commuter is offline
Making tires round, Six now :)
 
Join Date: Feb 2001
Location: North Jersey
Posts: 3,433
Hello Phil,

That is very fair to me!!! Thank you very much!!!!

I cannot solder well at all..........

I am very interesting in trying this out to see if it will work on a 92 USA SVX.

Any method of shipping will be fine so please do no not rush.
I live in Port Murray, NJ 07865 Is the best way to pay you with PayPal?

I look foward to giving this a go and I may still need some help getting it to work. At least I should be able to get the ECU dump you are looking for.

Take care,

John
__________________
May your transmission live forever.
SuperbVehicleXtraordinary
Proud sponsor of a 1992 SVX.
Reply With Quote
  #96  
Old 06-01-2007, 06:58 PM
b3lha's Avatar
b3lha b3lha is offline
Phil & Belha
 
Join Date: Aug 2001
Location: Alcyone Limited, Buckinghamshire UK
Posts: 2,670
Lightbulb The 92 problem

I may be a little premature here, but I think that I've figured out solved the problem of why the interface doesn't work on the 92 models.

My theory is that the ECU is sending the correct data, but the signal is being randomly corrupted due to electrical noise on the data lines. But I have neither the skills nor the tools to prove this. I reckon that it must have caused problems for Subaru too because it's fixed in the later models.

An electronics expert might be able to modify the interface circuit (or the ECU) to be less suseptible to this noise (if that's what the problem is). But I'm not an electronics expert, I'm a software guy - so let me explain how I came to this conclusion and how I've successfully managed to compensate for it in software. All the values below are fictional for the purpose of explanation and I have simplified things a little.

Let's suppose we want to read the data from memory location 1234 in the ECU memory. We send the command "78123400" to the ECU. The ECU should then respond with something like:
Code:
123456123456123456123456123456123456123456123456123456123456123456123456
The returned data contains the address "1234" followed by the data at that address "56" and this is repeated over and over until you tell it to shut up. This is what happens on my 94, and my 96 Legacy, and when accessing the TCU on the 92.

However, on my 92 ECU, the returned data looks more like this:
Code:
FB34C65F30561234561A005612348F123456C4545D12FC561234561CF4B310F456020F56
Some of the data is correct, some is corrupted in a random fashion.
So I first modified the software to discard data where the address was corrupted:
Code:
............123456......12348F123456............123456..................
But that still leaves us with the possibility of the data being corrupted as in the second result above where the data is "8F" instead of "56".
So I modified the software to collect several results and select whichever data value appeared the most popular. In the example above, the program would correctly choose "56" because that appears 3 times whereas the incorrect value "8F" appears only once.

To be honest, I didn't really expect it to work. But when I tested it, the results looked VERY good indeed. It's quite late now, so I'll experiment some more with it over the weekend.

I have two concerns with this technique. The first is that the program can't just read 3 bytes when querying an address. To get an accurate reading, it might need to read 30 or even 60 bytes. So it will take longer to read each address. This would have implications for anyone wanting to log data to sub-second accuracy - for example to calculate 0-60 acceleration. Surprisingly the program did not seem any slower than usual when I tested it, so maybe this isn't so much of a problem.

My second concern is how to handle a data value that really is constantly changing. The popularity test won't work in that case. I'll have to think on it some more, but it might be necessary for the IO routine to return both valid and invalid values. The top level program could then filter the data based on its expected value. For example, the IO routine only knows it's reading address 1234, but the top level program knows it's reading RPM, so it can filter out a reading of 6000 if the previous reading is only 2000 and the one after is 2100.

Anyway, it's 2:00am now and I need to get some sleep. But I am really happy that I have at last been able to get some sensible data out of the 92 ECU.

Phil.
__________________
Subaru ECU and TCU Website
1992 Alcyone SVX Version L
1992 Alcyone SVX Version L
1994 Alcyone SVX S40-II
2004 Subaru Legacy 2.5 SE Sports Tourer
1996 Subaru Legacy 2.2 GX Wagon
1988 Subaru Justy J12 SL-II
Reply With Quote
  #97  
Old 06-01-2007, 07:48 PM
cdvs cdvs is offline
Registered User
 
Join Date: Mar 2007
Location: Oakham, MA
Posts: 197
Phil, you certainly are persistent!

When you wake up, it will, no doubt, occur to you that while your explanation of the problem is sufficient, it is not necessary, or even the most likely.

We need a sample of more than one '92 before any generalization may be more than hypothesized.

All that is known is that your '92 has a problem when using your connector. It might be a common problem, or not. It might be universal, or not. It might be the ECU, or not.

We're rooting for you!

Charl

Last edited by cdvs; 06-01-2007 at 10:23 PM.
Reply With Quote
  #98  
Old 06-01-2007, 10:21 PM
cdvs cdvs is offline
Registered User
 
Join Date: Mar 2007
Location: Oakham, MA
Posts: 197
Thinking about RS232

Phil, I've been holding back on this whole connector issue. You have made a tremendous effort which I respect greatly. So, I didn't want to say that a good chunk of this work probably wasn't necessary. I especially didn't want to say this without having proved it myself. I haven't done this. I've been preoccupied with other things and while I find this very interesting I just can't give it very much of my time. However, it now appears that perhaps if I share what I think I know, it will be helpful in achieving your goals. Specifically by making it easier for others to join in the fun.

I do have historical experience with RS232 DTE (data terminal equipment) and my suggestions are based on this.

1. Unless there is a requirement for one device to be powered by the other, no positive voltage connection is required or recommended. This is not the case here, so deleting the positive connection eliminates one perceived incompatibility.

2. The data line standard for modern computer equipment is +3 to +12 volts to signal 'space' or zero and 0 volts to signal 'mark' or one. Both the ECU and your laptop are 'modern' computers and should operate fine as long as the signal voltages are in this range. It doesn't(shouldn't) matter if they are different. There is every reason to expect that the Subaru Select Monitor is no different in this regard.

3. We are left with the infamous 3 wire connector. Receive on one end connected to transmit on the other (times 2) and ground. No special conversion electronics required.

Remember, I haven't tested this and free advice is worth what you paid for it.

Charl
Reply With Quote
  #99  
Old 06-02-2007, 02:19 AM
b3lha's Avatar
b3lha b3lha is offline
Phil & Belha
 
Join Date: Aug 2001
Location: Alcyone Limited, Buckinghamshire UK
Posts: 2,670
Quote:
Originally Posted by cdvs
Phil, I've been holding back on this whole connector issue. You have made a tremendous effort which I respect greatly. So, I didn't want to say that a good chunk of this work probably wasn't necessary. I especially didn't want to say this without having proved it myself. I haven't done this. I've been preoccupied with other things and while I find this very interesting I just can't give it very much of my time. However, it now appears that perhaps if I share what I think I know, it will be helpful in achieving your goals. Specifically by making it easier for others to join in the fun.

I do have historical experience with RS232 DTE (data terminal equipment) and my suggestions are based on this.

1. Unless there is a requirement for one device to be powered by the other, no positive voltage connection is required or recommended. This is not the case here, so deleting the positive connection eliminates one perceived incompatibility.

2. The data line standard for modern computer equipment is +3 to +12 volts to signal 'space' or zero and 0 volts to signal 'mark' or one. Both the ECU and your laptop are 'modern' computers and should operate fine as long as the signal voltages are in this range. It doesn't(shouldn't) matter if they are different. There is every reason to expect that the Subaru Select Monitor is no different in this regard.

3. We are left with the infamous 3 wire connector. Receive on one end connected to transmit on the other (times 2) and ground. No special conversion electronics required.

Remember, I haven't tested this and free advice is worth what you paid for it.

Charl
Hi Charl,

Thanks for your input. Every bit of advice is appreciated.

What you said about RS232 is correct, but the ECU does not use RS232. It 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). Admittedly, the RS232 port on the PC will understand the ECU signal, and the bits can be flipped in software if necessary. However, as I understand it, the signal from the PC to the ECU needs to be dropped down from RS232 to TTL levels. That is what the MAX232 (clone) in the interface does. The MAX232 requires a 5v supply and that is why there is a voltage regulator connected to the power line.

The guys on the Legacy forum are using a simpler interface made from a couple of resistors, a diode and a transistor. See http://www.graphics.cornell.edu/~v/b10scan/ under "Serial Port". But I figured that a proper RS232-TTL converter IC was probably a better option. So I looked at the datasheets, took the example circuit for the IC and the example circuit for the voltage regulator and joined them together to create my circuit. Although I was reassured by its similarity to the circuit on the VWRX site, I was still quite surprised when it actually worked.

I don't know whether your idea of just connecting the wires will work, I suspect it probably won't for the reasons outlined above. My circuit has been tested and proven to work with an SVX, but you don't have to use it if you don't want to. By all means design one of your own and join in the fun. Or try the one from the Legacy site or the VWRX site, or the original one from Hitoshi Kashima's site. He appears to be an electronics guru, so I'd trust his circuit over my own or any other. http://kaele.com/~kashima/car/index-e.html (Look under Subaru ECU)

Seriously, if you think you have a better way, please try it and report back the results so we can all benefit from your experience.

Phil.
__________________
Subaru ECU and TCU Website
1992 Alcyone SVX Version L
1992 Alcyone SVX Version L
1994 Alcyone SVX S40-II
2004 Subaru Legacy 2.5 SE Sports Tourer
1996 Subaru Legacy 2.2 GX Wagon
1988 Subaru Justy J12 SL-II

Last edited by b3lha; 06-02-2007 at 03:07 AM.
Reply With Quote
  #100  
Old 06-02-2007, 02:50 AM
b3lha's Avatar
b3lha b3lha is offline
Phil & Belha
 
Join Date: Aug 2001
Location: Alcyone Limited, Buckinghamshire UK
Posts: 2,670
Quote:
Originally Posted by cdvs
Phil, you certainly are persistent!

When you wake up, it will, no doubt, occur to you that while your explanation of the problem is sufficient, it is not necessary, or even the most likely.

We need a sample of more than one '92 before any generalization may be more than hypothesized.

All that is known is that your '92 has a problem when using your connector. It might be a common problem, or not. It might be universal, or not. It might be the ECU, or not.

We're rooting for you!

Charl
Yes........... But I want to get data from MY car. So while it might not be necessary for you, it is necessary FOR ME.

My first thought was that my 92 ECU was faulty, so I tried connecting to another 92 belonging to a friend, and that one does exactly the same thing. I also had feedback from a club member in the USA who built an interface as per my instructions but couldn't get it to work on his 92. It did work on his 94 though. I agree that it is not conclusive, but there seems to be a problem with some ECUs and so far the problem ones have all been 92's. It makes sense to me to include an option in the software that will try to make sense of the corrupted data on cars that have this problem - even if it is just these three cars.

The JECS label on my 92 ECU says type "D2", and on the 94 it's "9A". It would probably be worthwhile for us to compile a list and see if there is any correlation between the ECU types and whether they return good or corrupted data.

Thanks for rooting for me.

Phil.
__________________
Subaru ECU and TCU Website
1992 Alcyone SVX Version L
1992 Alcyone SVX Version L
1994 Alcyone SVX S40-II
2004 Subaru Legacy 2.5 SE Sports Tourer
1996 Subaru Legacy 2.2 GX Wagon
1988 Subaru Justy J12 SL-II

Last edited by b3lha; 06-02-2007 at 03:09 AM.
Reply With Quote
  #101  
Old 06-02-2007, 07:56 AM
cdvs cdvs is offline
Registered User
 
Join Date: Mar 2007
Location: Oakham, MA
Posts: 197
Quote:
Originally Posted by b3lha
Yes........... But I want to get data from MY car. So while it might not be necessary for you, it is necessary FOR ME.
I was using the terms in the most strictly logical sense.

Quote:
Originally Posted by b3lha
My first thought was that my 92 ECU was faulty, so I tried connecting to another 92 belonging to a friend, and that one does exactly the same thing. I also had feedback from a club member in the USA who built an interface as per my instructions but couldn't get it to work on his 92. .:
That does change the sample enough for me. If this information was shared here, I missed it or forgot it or something. It would be of interest to know what results if ECUs are swapped between the '92 and '94.

Quote:
Originally Posted by b3lha
It did work on his 94 though. I agree that it is not conclusive, but there seems to be a problem with some ECUs and so far the problem ones have all been 92's. .:
Again,
Quote:
Originally Posted by cdvs
It might be the ECU, or not..
More directly then, it might be that your connector doesn't interface well with the earlier ECUs.

Quote:
Originally Posted by b3lha
The JECS label on my 92 ECU says type "D2", and on the 94 it's "9A". It would probably be worthwhile for us to compile a list and see if there is any correlation between the ECU types and whether they return good or corrupted data.
Yes, but until your connector can be excluded.... What haunts me is that AFAIK, the Subaru Select Monitor doesn't have any problems with the earlier models. Someone here must have one and will perhaps comment on this.

It could be something simple like different signal voltages.

Charl
Reply With Quote
  #102  
Old 06-02-2007, 08:59 AM
cdvs cdvs is offline
Registered User
 
Join Date: Mar 2007
Location: Oakham, MA
Posts: 197
Quote:
Originally Posted by b3lha
What you said about RS232 is correct, but the ECU does not use RS232. It has a UART, but the signaling is done at TTL levels.
For those that don't know UART is Universal Asynchronous Receiver Transmitter. It refers to the hardware device used to implement RS232 which is the engineering standard for asynchronous comminications.

TTL levels are +5 to -5 and fall within the RS232 spec. AFAIK, the only reason to use higher voltages is to overcome line losses that occur over long distances. This is not an issue here.

Quote:
Originally Posted by b3lha
The guys on the Legacy forum are using a simpler interface made from a couple of resistors, a diode and a transistor.
What this simple circuit adds are always on request to send and clear to send signals. These signal lines were incorporated to overcome a devices processing limitations. This became a non-issue around 1970 and are rarely, if ever, used today. Anyway, what this stuff does is defeat their purpose. Something akin to fingernail polish. It might look good and doesn't hurt anything, but serves no useful purpose.

Quote:
Originally Posted by b3lha
Seriously, if you think you have a better way, please try it and report back the results so we can all benefit from your experience.
I'm not out to prove anything. I was attempting to make a contribution. I would have preferred to test this, but I don't have the time. I'm over-indulging my interest just making these posts. Someone else will have to carry the ball from here, or not.

Charl
Reply With Quote
  #103  
Old 06-02-2007, 09:45 AM
b3lha's Avatar
b3lha b3lha is offline
Phil & Belha
 
Join Date: Aug 2001
Location: Alcyone Limited, Buckinghamshire UK
Posts: 2,670
Quote:
Originally Posted by cdvs
For those that don't know UART is Universal Asynchronous Receiver Transmitter. It refers to the hardware device used to implement RS232 which is the engineering standard for asynchronous comminications.

TTL levels are +5 to -5 and fall within the RS232 spec. AFAIK, the only reason to use higher voltages is to overcome line losses that occur over long distances. This is not an issue here.



What this simple circuit adds are always on request to send and clear to send signals. These signal lines were incorporated to overcome a devices processing limitations. This became a non-issue around 1970 and are rarely, if ever, used today. Anyway, what this stuff does is defeat their purpose. Something akin to fingernail polish. It might look good and doesn't hurt anything, but serves no useful purpose.



I'm not out to prove anything. I was attempting to make a contribution. I would have preferred to test this, but I don't have the time. I'm over-indulging my interest just making these posts. Someone else will have to carry the ball from here, or not.

Charl
OK. You obviously know about electronics than I do. I welcome your contributions to this thread.

I don't understand what you mean about RS232 and TTL voltages being compatible. In the data sheet for the M377xx CPU, it specifies the "Absolute Maximum Ratings" for the inputs for the UART pins as -0.3 volts to Vcc+0.3 volts. Vcc being 5 volts.

Would it not exceed the maximum rating by a factor of over 100% if your PC serial port supplied a 12 volt signal to these pins?
__________________
Subaru ECU and TCU Website
1992 Alcyone SVX Version L
1992 Alcyone SVX Version L
1994 Alcyone SVX S40-II
2004 Subaru Legacy 2.5 SE Sports Tourer
1996 Subaru Legacy 2.2 GX Wagon
1988 Subaru Justy J12 SL-II
Reply With Quote
  #104  
Old 06-02-2007, 10:02 AM
Nomake Wan's Avatar
Nomake Wan Nomake Wan is offline
Retired
 
Join Date: Jan 2007
Location: Orange, CA
Posts: 1,031
Send a message via AIM to Nomake Wan Send a message via MSN to Nomake Wan Send a message via Yahoo to Nomake Wan Send a message via Skype™ to Nomake Wan
This is driving me nuts. I've got a 92. My laptop with serial on it has a dead battery and no brick so it's out of the running (would cost over $80 to get it charged), which leaves my laptop which only has USB. If someone can find me a relatively cheap way to connect this to my car, I would be way more than happy to test it out.

My ECU says M7 on it.

http://img156.imageshack.us/img156/3218/svxecu1xe0.jpg

I've been itching to try this program out, and was going to wait... but with all the "productive debate" going on in here, I just can't.
Reply With Quote
  #105  
Old 06-02-2007, 10:28 AM
SVXdc's Avatar
SVXdc SVXdc is offline
Radio wiring harness guru
Subaru Gold Contributor
 
Join Date: Oct 2002
Location: Atlanta, GA
Posts: 609
Significant Technical Input Registered SVX
Quote:
Originally Posted by cdvs
TTL levels are +5 to -5 and fall within the RS232 spec.
The voltages for TTL are either +5 or 0.

Technically, small ranges near those two points are accepted, e.g. +4.5 to +5V. Each device's specs will list the minimum voltage seen as a logic "1". Likewise for the maximum accepted as a logic "0".

If a device were to swing from +5 to -5 that would indeed be "legal" for RS-232. But as Phil said, the data output signal emitted by the ECU is standard TTL, 0 or +5 volts. Since it does not swing negative, that won't work for a "true" RS-232 device. Hence using the MAX232 chip (or similar) to convert to -12 and +12V RS-232 levels.

Quote:
Originally Posted by b3lha
Would it not exceed the maximum rating by a factor of over 100% if your PC serial port supplied a 12 volt signal to these pins?
YES! Do NOT connect a computer's RS-232 output directly to the ECU, TCU, or anything else in the car!
__________________
David C.
1996 Laguna Blue Pearl SVX L AWD
See my home page for SVX radio install/removal instructions and wiring harnesses
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 10:45 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
2001-2015 SVX World Network
(208)-906-1122