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:

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

Reply
 
Thread Tools Display Modes
  #931  
Old 06-23-2009, 07:37 AM
longassname's Avatar
longassname longassname is offline
Just some dude.
 
Join Date: Sep 2002
Location: Miami, FL
Posts: 3,986
Significant Technical Input
Re: Memory dump of ECU

A page or 2 back I posted a schematic of the correct interface to use between the ecu and an ftidi ttl232r cable. If you use that you will get perfect reads every time on every ecu.

Phil would know more about what software is out there ready made to do what but I do know that the serial terminal tool he suggests for diagnostics of your serial port can take scripts. Most terminal programs do and many are free. You could write scripts to read the blocks you want. The ECU returns the command along with the requested byte so you'll also have to do a find replace with a wildcard in a text editor to strip them out.


Quote:
Originally Posted by Mrdjc View Post

I am however looking for a way to dump segments of the Rom file, I noticed Nobiwan managed to do it, but it doesn't state which software he used.
I rather suspect its Linuxy stuff (Blashphemy to me!)
I'm wanting to dump the RAM at 1000 to 14FF only, and have no idea how to request blocks of data like that, I only know how to get the whole ROM (Rensu's software) or line for line (Hexcomtool).

Any input is appreciated

Cheers,
Daniel.
Reply With Quote
  #932  
Old 06-24-2009, 10:55 AM
Mrdjc Mrdjc is offline
Registered User
 
Join Date: Jul 2008
Location: Scotland, United Kingdom.
Posts: 17
Re: Memory dump of ECU

Quote:
Originally Posted by longassname View Post
A page or 2 back I posted a schematic of the correct interface to use between the ecu and an ftidi ttl232r cable. If you use that you will get perfect reads every time on every ecu.

Phil would know more about what software is out there ready made to do what but I do know that the serial terminal tool he suggests for diagnostics of your serial port can take scripts. Most terminal programs do and many are free. You could write scripts to read the blocks you want. The ECU returns the command along with the requested byte so you'll also have to do a find replace with a wildcard in a text editor to strip them out.
The buggyness is a known issue with the VWRX Software, mentioned here: http://www.vwrx.com/forum/index.php?topic=183.0

The data itself is flawless when using hex com or Evoscan etc, its just a known issue between the VWRX software and the Ftdi cable.

And I am using the FTDI cable, as well a the "92 fix" as hijacked from Phil's page, which I put together according to this drawing:
(I think I've posted this drawing before, about 11 pages back July last year, Gosh, time flies!)



Interesting on scripting, I wasn't aware that was possible, I'll have a look at it, Phil has also informed me the program he has made for linux is able to do it in selected ranges,(available from here: http://www.alcyone.org.uk/ssm/software.html) I'll probably set up 2nd (3rd actually!) pc for that instead of Knoppix.

Cheers,
Daniel.

Last edited by Mrdjc; 06-24-2009 at 10:58 AM.
Reply With Quote
  #933  
Old 06-24-2009, 01:54 PM
longassname's Avatar
longassname longassname is offline
Just some dude.
 
Join Date: Sep 2002
Location: Miami, FL
Posts: 3,986
Significant Technical Input
Re: Memory dump of ECU

Daniel I'm familiar with the opamp "92 fix" but the circuit I posted is superior and doesn't require any adjustment to get it to work even on cars where the "92 fix" doesn't or barely works.
Reply With Quote
  #934  
Old 06-24-2009, 02:06 PM
longassname's Avatar
longassname longassname is offline
Just some dude.
 
Join Date: Sep 2002
Location: Miami, FL
Posts: 3,986
Significant Technical Input
Re: Memory dump of ECU

Sorry, I think I had only posted the schematic in the gearshift map thread. Here it is: http://www.ecutune.com/posts/ttl232r-selectmonitor.pdf

If you have a "92 fix" and it is working for you then by all means keep using it but anyone that has to build something new should build this interface.
Reply With Quote
  #935  
Old 06-25-2009, 04:15 AM
Mrdjc Mrdjc is offline
Registered User
 
Join Date: Jul 2008
Location: Scotland, United Kingdom.
Posts: 17
Re: Memory dump of ECU

Thanks for that longassname, that looks much more simpler to create than the board I've made, and probably a lot more compact as well.

Just a few questions, what diodes are you using?
I take it the Diode "leg" of the drawing with resistor/gnd/5V joins onto both the RX and TX "leg"?
Im just a bit unsure as there is no dot to connect or a bridge to go over, but it looks fairly simple, what else would the thing be doing there!

Also what variation of the line driver are you using, I just noticed Philips makes a whole range, as does TI. Are you using the same chip twice (I noticed some support more than one line, bit like the Op-Amp) or two seperate chips?

Also interesting to see you've done both the RX and TX lines, is this really necesary? The data from the FTDI should be clear and strong, it was just the reply from the ECU that could turn into garbage at times. I suppose its better to be safe than sorry though.

Anyhow, great work, thanks for sharing

Cheers,
Daniel.
Reply With Quote
  #936  
Old 06-25-2009, 07:57 AM
longassname's Avatar
longassname longassname is offline
Just some dude.
 
Join Date: Sep 2002
Location: Miami, FL
Posts: 3,986
Significant Technical Input
Re: Memory dump of ECU

Hello Daniel,

The signaling levels used by the serial port of the ECU's processor are not ttl. The 74hc125 is designed to communicate with the same signaling levels as the processor in the ECU. It's the correct/matching driver for our ECU if you will. I use texas instruments chips sn74hc125n.

The diodes form what is called a clipping circuit. A diode tied to vcc clips the top of the signal at the vcc level. Vcc is the +5v from the ttl232r cable. A diode tied to Vss clips the signal to the Vss level. The output to the ECU is clipped on both sides. The input from the ecu is clipped low and pulled high. The solid back arrow heads (not the ones that are part of the diode symbol) are the symbol for a connection to Vcc. The arrow heads made of lines are the symbol for a connection to Vss.

In the diagram there are 2 gates (gates a and b) of 1 74hc125 chip (component U1).
Reply With Quote
  #937  
Old 06-25-2009, 11:36 AM
Mrdjc Mrdjc is offline
Registered User
 
Join Date: Jul 2008
Location: Scotland, United Kingdom.
Posts: 17
Re: Memory dump of ECU

I never knew it wasn't TTL! See, you learn something new every day.

What rating are the diodes?

Have you got any numbers handy for them? I'm quite keen to try this out

I was referring to the cross through the RX and TX line, I was always taught to stick in a dot where it joins on, and a bridge where it crosses over the top, as the straight cross could be mistaken for either, but I get the point of it

So the Op Amp is only knocking the input and output voltage one way or the other, as close as it can get (0V or 5V)? so a garbage 3.5V signal gets bumped up to 5V and a 0.4 gets knocked down to 0? Is that correct?

Bare with me as I'm still learning!

Does your setup also get better formatting back from the Hex Com tool and others?

I take it it could be adapted to be used for serial as well?

Regards,
Daniel.
Reply With Quote
  #938  
Old 06-25-2009, 12:50 PM
SVXdc's Avatar
SVXdc SVXdc is offline
Radio wiring harness guru
Subaru Gold Contributor
 
Join Date: Oct 2002
Location: Atlanta, GA
Posts: 615
Significant Technical Input Registered SVX
Re: Memory dump of ECU

Quote:
Originally Posted by Mrdjc View Post
Are you using the same chip twice (I noticed some support more than one line, bit like the Op-Amp) or two seperate chips?
Quote:
Originally Posted by longassname View Post
In the diagram there are 2 gates (gates a and b) of 1 74hc125 chip (component U1).
[for anyone else who isn't familiar with 74x chips] The 74x125 parts have 4 gates on one 14-pin chip. You'll only use 2 of those gates for this circuit.

Each gate has an input, an output, and an output-enable pin. In Michael's circuit, the output enables are tied to ground (so they're permanently enabled).

BTW, it's good practice to ground the inputs of the other two unused gates. Also, to save a tiny amount of power, tie the Output Enable (OE) pins of those unused gates to Vcc instead of ground.

Also, his schematic doesn't show the Vcc and Vss (power and ground) connections to the 74x chip. It's common to omit those from a drawing, but you will need to connect those pins.

Quote:
Originally Posted by Mrdjc View Post
Also interesting to see you've done both the RX and TX lines, is this really necesary?
The 74HC125 is relatively cheap insurance. The ECU and the USB adapter would be much more expensive to replace if there were a voltage spike.
__________________
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
  #939  
Old 06-29-2009, 09:24 PM
SVXdc's Avatar
SVXdc SVXdc is offline
Radio wiring harness guru
Subaru Gold Contributor
 
Join Date: Oct 2002
Location: Atlanta, GA
Posts: 615
Significant Technical Input Registered SVX
Re: Memory dump of ECU

Pin 4 on the Select Monitor harness (which Subaru also refers to on its wiring diagrams as the "Data Link Connector") is connected to pin 5 of the Cruise Control Module. Has anyone determined what that pin does? The wiring diagrams show only those two things interconnected.

I've started making the older-style Subaru radio harnesses with both illumination wires. A byproduct will be extra 9-pin harnesses, which I'm planning to offer to people who want to build a Select Monitor / DLC port interface. These harnesses will have only the 4 wires needed for the Select Monitor (Black, Red, Green, and Violet for Ground, +12V, TxD, and RxD, respectively). Price will be just a few bucks. If interested, please e-mail me (see my harness for sale post).

If we discover that the cruise control pin is useful for anything, I can throw in an extra wire so people can access it.

Also, the USDM SVX wiring diagrams (both '92 and '96) show DLC pin 8 connecting to pin c15 on the ECU. The DLC harness in my '96 has no wire there. Is that wire present in earlier years? If so, has anyone figured out what that pin does?
__________________
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
  #940  
Old 06-30-2009, 04:22 PM
b3lha's Avatar
b3lha b3lha is offline
Phil & Belha
 
Join Date: Aug 2001
Location: Alcyone Limited, Buckinghamshire UK
Posts: 2,671
Re: Memory dump of ECU

Quote:
Originally Posted by SVXdc View Post
Pin 4 on the Select Monitor harness (which Subaru also refers to on its wiring diagrams as the "Data Link Connector") is connected to pin 5 of the Cruise Control Module. Has anyone determined what that pin does? The wiring diagrams show only those two things interconnected.

I've started making the older-style Subaru radio harnesses with both illumination wires. A byproduct will be extra 9-pin harnesses, which I'm planning to offer to people who want to build a Select Monitor / DLC port interface. These harnesses will have only the 4 wires needed for the Select Monitor (Black, Red, Green, and Violet for Ground, +12V, TxD, and RxD, respectively). Price will be just a few bucks. If interested, please e-mail me (see my harness for sale post).

If we discover that the cruise control pin is useful for anything, I can throw in an extra wire so people can access it.

Also, the USDM SVX wiring diagrams (both '92 and '96) show DLC pin 8 connecting to pin c15 on the ECU. The DLC harness in my '96 has no wire there. Is that wire present in earlier years? If so, has anyone figured out what that pin does?
In the select monitor code there is an extra step involved when sending commands to the cruise control unit. I think it must be some sort of flow control using that wire. But LAN opened up his SSM and found the wire is not connected internally. It doesn't make much sense.

http://www.subaru-svx.net/forum/show...&postcount=127
http://www.subaru-svx.net/forum/show...&postcount=128

It would be nice to learn a little more about how the cruise unit works. I wonder if it is possible to simulate a drive by wire throttle by using a laptop to adjust the cruise speed up and down. That would open up all kinds of cool tricks. For example: using some sort of range finder to match speed to the car in front, or using GPS and setting the car to follow the prevailing speed limits.
__________________
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
  #941  
Old 06-30-2009, 07:09 PM
SVXdc's Avatar
SVXdc SVXdc is offline
Radio wiring harness guru
Subaru Gold Contributor
 
Join Date: Oct 2002
Location: Atlanta, GA
Posts: 615
Significant Technical Input Registered SVX
Re: Memory dump of ECU

Quote:
Originally Posted by b3lha View Post
In the select monitor code there is an extra step involved when sending commands to the cruise control unit. I think it must be some sort of flow control using that wire. But LAN opened up his SSM and found the wire is not connected internally. It doesn't make much sense.

http://www.subaru-svx.net/forum/show...&postcount=127
I found that thread and your post after I posted my message above.

I'm not too surprised about the apparent dead code — all sorts of remnants can get left in "production" code when people are on a tight schedule. Perhaps at one point they thought they needed the flow-control, but realized they didn't (or later fixed something in the cruise module).

Does the ECU talk to the Cruise module (or A/C module) across that serial channel, or is the serial used only by the select monitor (and our laptops)?

How about pin 8? Is that wire populated on any other years/markets?
__________________
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
  #942  
Old 08-15-2009, 06:37 AM
Elaine Elaine is offline
Registered User
 
Join Date: Apr 2008
Location: Vancouver
Posts: 31
Re: Memory dump of ECU

Bellow is the interface I'm using to read the ECU memory.
Here is the full story. I have a '92 model. In my first attempt to read my car's ECU I used the circuit found at alcyone.org.uk. It worked very well with the engine turned off but failed when I turned the engine on. By playing with the potentiometer adjustment I could make it working with the engine on as well. Since the beginning I wasn't happy with the potentiometer idea but having different adjustments for engine on/off was already too much. So I brought my scope and played a bit with the adapter I built. Here are my findings:
- The ECU input looks like a pulled up one. I played with the pull down current and I found that for a good "0" I need to "suck" at least 10 mA.
- The ECU output is a 1Vpp signal (1.2Vpp with the engine off for whatever reason) with a DC component of half of the car battery voltage. The fact that the car battery moves from 12.6V to 13.8V when the engine is on explains why the potentiometer needed to be adjusted again.
- With the engine on, both the 12V and the ECU output lines were affected by some 0.4Vpp noise but it was identical on both lines.

So I decided to change the classic design well known already by powering the analog interface to 12V and make the conversion to TTL after that. I ended up using the LM393 which has an open collector output so the interface to the 5V circuitry becomes a pull up resistor. Moreover, this device doesn't need any additional protection circuitry for this application.
For the RS232 interface I used the MAX231 but any RS232/USB transceiver can be put instead. D4 which is a Ge diode is used to move down the comparator threshold by 0.1V. It doesn't make a big difference, it can be removed. If you want to build this circuit don't use any other diode instead, it will ruin your threshold level. Also, don't use any filtering capacitor in parallel with R6, it won't help. R5 and R6 should have the same value with 1% tolerance.

I'm not sure if my ECU works properly or not (it's the only one I played with), although what I can see on my scope make sense to me. The beauty of this circuit is that it's simple, doesn't create any stress on both the ECU and the adapter itself and doesn't need any tuning, it's plug and play. If you play it right you can get even LM393 free samples....
Attached Files
File Type: pdf SVX92_SELECT_MONITOR.pdf (16.4 KB, 502 views)
__________________
92 Pearl White LS-L 215,000 KM
smallcar 5MT, Ecutune 1.5, SS brake lines, svxfiles 6000K HIDs, $15/15 min mod, $20/20 min mod, Front and Rear Energy Swaybar Bushings, Bosch Relay Mod
92 Liquid Silver LS-L 127,000 KM
Reply With Quote
  #943  
Old 12-03-2009, 10:27 AM
longassname's Avatar
longassname longassname is offline
Just some dude.
 
Join Date: Sep 2002
Location: Miami, FL
Posts: 3,986
Significant Technical Input
Re: Memory dump of ECU

You may want to take a look at the routines storing between 12d0 and 1318and between 1318 and 1338. You should find that's where the learned data is stored. The default values for the first range are 8000 and the default values for the 2nd range are 0000. You'll find the thresholds you were mentioning wanting to know compared in those routines as well.


Quote:
Originally Posted by b3lha View Post
Thanks for posting that Michael. I knew some of them but not all. It's definitely good useful information.

I've been doing a lot of work with IDA on the later ROMs, so now I'm busy trying to get it working with the SVX rom. But I can't get their 7700 disassembler to track the M flag properly.
Reply With Quote
  #944  
Old 12-05-2009, 01:17 PM
b3lha's Avatar
b3lha b3lha is offline
Phil & Belha
 
Join Date: Aug 2001
Location: Alcyone Limited, Buckinghamshire UK
Posts: 2,671
Re: Memory dump of ECU

Thanks Michael, I'll look into that.

It's been a long time since I've been able to work on this project. I hope to get back into it soon.

Have you seen the per-cylinder timing adjustments? It's at address 8708 in rom 742512 (94 JDM). There are four sets of 6 bytes that get added onto the ignition advnce. The 1st byte for cylinder 1, the 2nd for cylinder 2, the 3rd for cylinder 3 etc. The ECU chooses one of the 4 sets based on some rpm thresholds at 8700 through 8703 and throttle thresholds at 8704-8705.

The adjustments are all zero by default, but you use them to fine tune the spark timing on each cylinder.
__________________
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
  #945  
Old 12-05-2009, 02:32 PM
longassname's Avatar
longassname longassname is offline
Just some dude.
 
Join Date: Sep 2002
Location: Miami, FL
Posts: 3,986
Significant Technical Input
Re: Memory dump of ECU

Sounds like good stuff to add to the definitions files for my ECUtuner software. I just updated the sample definitions file I posted earlier with a more complete one. If you get a chance, if you could check it for mistakes and add anything good you know that I don't have on it that would be great. It's already complete enough for some heavy duty end user tuning.

http://www.ecutune.com/posts/definitions.xls

Quote:
Originally Posted by b3lha View Post
Thanks Michael, I'll look into that.

It's been a long time since I've been able to work on this project. I hope to get back into it soon.

Have you seen the per-cylinder timing adjustments? It's at address 8708 in rom 742512 (94 JDM). There are four sets of 6 bytes that get added onto the ignition advnce. The 1st byte for cylinder 1, the 2nd for cylinder 2, the 3rd for cylinder 3 etc. The ECU chooses one of the 4 sets based on some rpm thresholds at 8700 through 8703 and throttle thresholds at 8704-8705.

The adjustments are all zero by default, but you use them to fine tune the spark timing on each cylinder.
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 07:12 AM.


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