The Subaru SVX World Network

The Subaru SVX World Network (https://www.subaru-svx.net/forum/index.php)
-   Technical Q & A (https://www.subaru-svx.net/forum/forumdisplay.php?f=5)
-   -   Gearshift Maps (https://www.subaru-svx.net/forum/showthread.php?t=46581)

b3lha 10-15-2008 09:00 AM

Gearshift Maps
 
1 Attachment(s)
I've been looking at the TCU recently and have located the shift plan and figured out how to decode it. The shift plan is composed of multiple shift maps. There is one shift map for each possible combination of mode, stick position, and current gear. Each shift map is comprised of an upshift curve and a downshift curve.

As an example: The UK TCU has 6 modes (Normal, Economy, Power, Manual, Cruise and Overheat). There are 4 stick positions (D,3,2,1) and obviously 4 gears (1st,2nd,3rd,4th). Therefore there are 6x4x4=92 shift maps in the shift plan.

The shifting decision is based on vehicle speed and throttle, not rpm. This is confirmed by the factory service manual. Let me demonstrate how it works with the aid of the Normal-StickD-Gear2 map and the Normal-StickD-Gear3 map.

http://www.alcyone.org.uk/ssm/gearmap1.jpg

Suppose you are driving in Normal Mode, with the stick in D, at 50mph and 40% throttle. The gearbox is in 3rd gear. Imagine a dot at (50,40) on the 3rd gear map (the one on the right). If you floor the gas, the dot will move vertically up the chart. When you get to about 88% throttle, the dot crosses the downshift curve and the box changes down to 2nd gear.

Now the dot is on the 2nd gear map at 100% throttle and moving right as the speed increases. When you reach 85mph the dot crosses the upshift curve and the box changes up to 3rd gear.

That's the basic theory. Now lets look at some more pictures.

Here are the upshift and downshift curves for a USDM SVX in Normal mode, with the stick in D. I have superimposed the 4 maps into one diagram.

http://www.alcyone.org.uk/ssm/gearmap2.jpg

You will note that the gear1-downshift map is a horizonal line at 100% throttle, because obviously we can't downshift from 1st gear. Similarly, the gear4-upshift map is a horizonal line at 0% throttle because we can't upshift from 4th gear.

http://www.alcyone.org.uk/ssm/gearmap3.jpg

If you compare the Power mode curves you can see that in Power mode, the TCU upshifts at a higher speed, and needs less throttle push to trigger a downshift. At 60% throttle it will change from 2nd to 3rd at 64mph in Power mode compared to 43mph in Normal mode. If you squeeze the gas pedal at 50mph in 4th, Power mode will downshift at only 35% throttle whereas Normal mode requires 62%.

The USDM TCU is a little more complex than the UK version. It has 7 modes (Normal,Power,Manual,Cruise,LowPres1,LowPres2,Over heat) and therefore 7x4x4=112 maps. The LowPres1 mode is activated when the atmospheric pressure is low. The LowPres2 mode is activated when the atmospheric pressure is very low. The TCU uses power mode if the atmospheric pressure is very very low. I have no idea why Subaru would need different shift maps based on atmospheric pressure. Perhaps to compensate for reduced engine power at altitude? Only the USA model has this feature, the UK and JDM don't even have a pressure sensor.

Now for yet another answer to the FAQ "What does the manual button do?". Below are the maps for Manual Mode with the Stick in 3. You can see that the car will start in 2nd but then upshift to 3rd almost immediately and then hold 3rd right up to 143mph. On the downshift, it will hold 3rd all the way down to almost a standstill. When the stick in is 2 (not on this diagram), the car will start in 2 and hold it right up to 91mph. Essentially, Manual mode does its very best to keep you in the gear you have selected on the shifter.

http://www.alcyone.org.uk/ssm/gearmap4.jpg

The JDM model has only 5 modes (Normal, Power, Cruise, Manual and Overheat), however there is data for 2 extra maps that never seem to get used. I was expecting that the Normal and Power maps would be the same between JDM and UK models, but they are not. Here is a comparison of the upshift maps between the two models.

http://www.alcyone.org.uk/ssm/gearmap5.jpg

It appears to me that the UK Economy mode is slightly more relaxed than the JDM Normal Mode while the UK Normal Mode is slighly more aggressive than the JDM Normal Mode. ie. The JDM Normal mode is inbetween UK Economy and Normal. The UK Power mode is also more aggressive than the JDM Power mode. There is no point in comparing the USDM maps without some way to compensate for the different diff ratio.

I have extracted the maps into a big Excel spreadsheet attached to this post. So you can have a play with it if you are interested. To plot a graph, first select the tab for the version of car: UK, JDM, USDM. Select column A or B depending on whether you think in mph or km/h. Then hold CTRL and select additional columns for the maps that you want to include in the graph. As a first attempt, try columns C,E and G (Normal-StickD-Upshift maps for each gear). Then click on Insert/Chart. Select the "XY Scatter" chart. Click on the last icon "data points connected by lines without markers". Then Next/Next/Next and admire the pretty picture.

Having decoded the shift plan, I'm pretty confident that I could modify it and I'm already thinking about loading the UK power mode maps into one of my JDM cars. Plus, maybe an improved version of the as-yet-untested power mode mod for UK cars. But there's a few more things I need to figure out first, like the torque converter lockup for example.

b3lha 10-16-2008 10:43 AM

Re: Gearshift Maps
 
Quote:

Originally Posted by b3lha (Post 568525)
There is no point in comparing the USDM maps without some way to compensate for the different diff ratio.

I know I said there was no point, but actually it quite interesting to compare the UK, JDM and USDM models on the same chart.
http://www.alcyone.org.uk/ssm/gearmap6.jpg

SuberNatural 10-16-2008 02:13 PM

Re: Gearshift Maps
 
So how far from being able to remap the TCU are you?

b3lha 10-17-2008 02:37 PM

Re: Gearshift Maps
 
Quote:

Originally Posted by SuberNatural (Post 568860)
So how far from being able to remap the TCU are you?

It depends what needs remapping. I could modify the gearshift maps now, but other stuff like the workings of the 4wd system I haven't figured out yet.

TomsSVX 10-17-2008 02:50 PM

Re: Gearshift Maps
 
Think you could write a chip that eliminates the ECU inputs like we had talked about?? I am sure I could get TPS and RPM outputs from the Hydra as long as we have a place to input them

Tom

SuberNatural 10-18-2008 09:49 AM

Re: Gearshift Maps
 
I would be interested in experimenting with this. :) Let me know what i need :)

b3lha 10-20-2008 04:33 AM

Re: Gearshift Maps
 
Quote:

Originally Posted by TomsSVX (Post 569029)
Think you could write a chip that eliminates the ECU inputs like we had talked about?? I am sure I could get TPS and RPM outputs from the Hydra as long as we have a place to input them

Tom

Yes. Should be fairly straightforward. I'll start working on it.

b3lha 10-20-2008 08:30 AM

Re: Gearshift Maps
 
Quote:

Originally Posted by SuberNatural (Post 569130)
I would be interested in experimenting with this. :) Let me know what i need :)

OK. Here's a quick howto:

1. First you need to grab a spare TCU and modify it as per the instructions on my website. Unsolder the ROM chip and solder in a socket. If you aren't good at soldering, go find a TV repair shop. You are also going to need an eprom programmer and a blank eprom. A select monitor interface and some datalogging software would be useful for debugging your modified maps.

2. Then you need to download Nomake Wan's TCU file from my website. 1992 USDM model, RomID 705404. Or you can extract your own using my tcudump program.

3. Find the map you want to change:
Open the file in a hex editor and scroll down to address 0x0000CFAD. For those who don't know, writing 0x in front of a number indicates that it is a hexadecimal number. At address 0xCFAD is a list of 16 bit pointers to the maps. ie. It holds the start address of each map. The first map is at location 0xD16D, the second at 0xD17C, the third at 0xD17F etc.

Code:

0000CFA0  xx xx xx xx xx xx xx xx xx xx xx xx xx D1 6D D1
0000CFB0  7C D1 7F D1 8E D1 9A D1 A9 D1 B8 D1 BB D1 CA D1
0000CFC0  D9 D1 DC D1 EB D1 F7 D1 FD D2 0C D2 0F D2 15 D2
0000CFD0  24 D2 27 D2 2D D2 39 D2 3F D2 45 D2 48 D2 4E D2
0000CFE0  54 D2 57 D2 5D D2 63 D2 69 D2 6F D2 72 D2 78 D2
0000CFF0  87 D2 8A D2 99 D2 A5 D2 B4 D2 C3 D2 C6 D2 D5 D2
0000D000  E4 D2 E7 D2 F6 D3 02 D3 08 D3 17 D3 1A D3 20 D3

Decide which map you want to modify and work out its position in the list:
Map Number=(Mode*32)+(Stick*8)+(Gear*2)+Direction
where:
Mode: Normal=0, Power=1, Manual=2, Cruise=3, LowPres1=4, LowPres2=5, Overheat=6.
Stick: PosD=0, Pos3=1, Pos2=2, Pos1=3
Gear: 1st=0, 2nd=1, 3rd=2, 4th=3
Direction: Upshift=0, Downshift=1

This should give you a Map number between 0 and 223 (decimal). The Pointer address is 0xCFAD + (Map Number * 2).
For example: The map for Power-Stick3-Gear2-Upshift: Map Number=(1*32)+(1*8)+(1*2)+0=42. Pointer Address=0xCFAD+(42*2) = 0xD001

Look in the list at address 0xD001 and you will see the address of the map is 0xD2E7. Now scroll down to 0xD2E7 and look at the map itself:

Code:

0000D2E0  xx xx xx xx xx xx xx 28 00 80 51 0C AC 7E 18 F0
0000D2F0  8B 00 F0 FF 00 FF xx xx xx xx xx xx xx xx xx xx

4. Here is how you decode the map:

Arrange the data into columns of three bytes like so, label them K, M and T
Code:

K  M  T
28 00 80
51 0C AC
7E 18 F0
8B 00 F0
FF 00 FF

Convert them all to decimal and then subtract 128 from each number in column T.
Code:

K  M  T
40  00 00
81  12 44
126 24 112
139 00 112
255 00 127

K is a speed in km/h. The TCU will use the first row for speeds up to 40km/h, the second row for speeds up to 81km/h, the third for speeds up to 126km/h and so on.

T is a TPS signal between 0 and 127. Zero represents no thottle, 127 represents full throttle. In the previous posts I have converted this figure to a percentage.

The tricky bit, M is the gradient, in 16th's of the line running back from point (K,T) on the graph.

Expressed algebraically, the formula for the graph is: y=T-((M/16)*(K-x)).
where
x is the speed in km/h that you want to know the tps value for.
K,M and T are taken from the appropriate line of the table that corresponds to the speed x.
y is the tps value from 0 to 127.
http://www.alcyone.org.uk/ssm/gearmap7.jpg
As an example:
Suppose we want to know the tps value of the change point at 100km/h.
We use the third line of the table: x=100, K=126, M=24, T=112.
y=112-((24/16)*(126-100))=73
Converted to a percentage (73*100)/127)=57% thottle.

5. To modify the map, work out where you want the shift points to be, then work backwards through step 4 to find what the new values should be and update them in your hex editor.

6. Now use my checksum program to update the checksum in the modified TCU file. I'm pretty sure the TCU never checks this, but better safe than sorry.

7. Write the modified TCU file to an eprom chip and insert it into the socket on the TCU.

TomsSVX 10-20-2008 08:32 AM

Re: Gearshift Maps
 
I have a ton of TCU's here if anyone needs a spare, pay shipping and its yours.

Tom

SuberNatural 10-20-2008 03:51 PM

Re: Gearshift Maps
 
Awesome! I'm going to run this by my buddy who tunes my OBD1 stuff. Then I'll start making changes and provide updates as far as how I like it, ease, etc.

Hey tom, I'd be interested in a TCU. Let me know the deal :)

SuberNatural 10-20-2008 04:30 PM

Re: Gearshift Maps
 
Not to keep posting lol, but are you thinking or trying to create a program to simplify this into a basic GUI program?

b3lha 10-21-2008 07:56 AM

Re: Gearshift Maps
 
Quote:

Originally Posted by SuberNatural (Post 569516)
Not to keep posting lol, but are you thinking or trying to create a program to simplify this into a basic GUI program?

I have a program that I created to extract the maps from the TCU dump file into a CSV file that I used to create the Excel spreadsheet.

I am thinking about making some modified maps and I will probably write some software to help with building and testing them. It will be Linux or DOS though because I don't have experience at writing Windows software.

TomsSVX 10-21-2008 08:08 AM

Re: Gearshift Maps
 
Quote:

Originally Posted by SuberNatural (Post 569506)
Awesome! I'm going to run this by my buddy who tunes my OBD1 stuff. Then I'll start making changes and provide updates as far as how I like it, ease, etc.

Hey tom, I'd be interested in a TCU. Let me know the deal :)

Like I said, shoot like $15 for shipping anywhere in the lower 48 and I will send you one

Tom

b3lha 10-21-2008 08:23 AM

Re: Gearshift Maps
 
One further thing I should mention on this topic is the RPM limit. There is a RPM limit that forces an emergency upshift to save the mechanical bits from destruction.

This is at location 0xD881 though 0xD884 for 1st through 4th gears or alternatively 0xD885 through 0xD888 if the manual button is on. This is global and applies for all the different modes and maps.

Without manual button, the values are 5E 5E 5E FF.
With manual button, the values are 61 62 64 FF

I *guess* you multiply these numbers by approximately 70 to get rpm.

5E=6580
61=6790
62=6860
64=7000
FF=17850 (it can't upshift up from 4th)

SuberNatural 10-21-2008 03:12 PM

Re: Gearshift Maps
 
Excellent. I really dont like windows all that much anyways lol...... Also im just looking to have the trans stay in 1-3 a little longer and have it downshift at a lower TPS reading

Tom PM me an address for sending a MO.


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

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