AA80E 8-speed

A forum for discussing applications and implementations of the MegaShift transmission controller code for the GPIO from B&G. This can control up to 8-speeds and 6 shift solenoids (plus a 16x9 table for controlling a PWM line pressure valve). It has manual and fully automatic modes (16x9 load x speed table), with under and over rev-limit protection, and full data logging of all inputs and outputs (among many other abilities). A TransStim to test your completed board is also available.
Jim Blackwood
Posts: 222
Joined: Tue Dec 07, 2010 9:52 am

Re: AA80E 8-speed

Post by Jim Blackwood »

Thanks Lance, maybe there is a solution here somewhere.

I'm still digging for tech info on the new GM/Ford 10 speed, but so far my impression is that it may not have any more solenoids than this one as it seems to have about the came number of shifting elements (clutches, brakes) but apparently it also uses a shift trigger. Anyway it's possible the MShift controller could handle it but might need the same code mods as what we're looking at here. I'll post solid info on that as I'm able to get it, maybe some of the regulars will have better sources. A direct contact to Chevy's performance products engineering dept would as likely as not be the best resource. If I didn't already have the physical install completed I'd be looking for one.

First though, is it possible to use a different compiler rather than CodeWarrior? I know CodeWarrior is in C++, so is it possible for you to simply make and send me a copy of the code with .cpp and .h extensions in place of CodeWarrior's proprietary file extensions so that I could use a standard C++ compiler such as Dev-cpp or Visual Studio?

Matt thinks he can help me with the changes that have to be made and if it's a matter of tedium I can assist once he shows me what to do. I know what changes are needed and can guide him, and between the two of us I think we should be able to sort it out. I do have some experience with programming but not nearly as much as he does.

Whatever changes we might make I will return to you so that it is available to anyone else wanting to use this transmission. If you want I can give you my email address for file transfer.

Jim
Bernard Fife
Posts: 1696
Joined: Fri Apr 04, 2008 1:28 pm

Re: AA80E 8-speed

Post by Bernard Fife »

Jim, The MShift code is standard ANSI C (not C++), but for an embedded context (so you need a "cross compiler" that will write an S19 file for loading to the MC9S12C64/MC9S12C128). However some of Codewarrior's linker/locator files may be in a proprietary format, such as the PRM file that identifies the memory blocks used in the code (things like #pragma CODE_SEG NON_BANKED), and those files would have to be reconfigured to suit the new compiler. I believe the MS3 guys have already gone through the process of converting the B&G MS2 code to a freeware compiler, so there might be some tips on the msextra site, such as this: http://www.msextra.com/tools/ I have no firsthand knowledge of that process or the compiler, though.
"Never wrestle with pigs. You both get dirty and the pig likes it." - George Bernard Shaw
Jim Blackwood
Posts: 222
Joined: Tue Dec 07, 2010 9:52 am

Re: AA80E 8-speed

Post by Jim Blackwood »

If switching those two ports is too complicated to mess with maybe the best approach is for me to just switch the wires back. At least that way the upshift paddle will work. I can do that in the wiring harness or in the jumpers which in this case are hard wired with jumpers soldered on the bottom of the board.

PT6 would revert to Paddle Upshift.
PAD4 would be unused.
There would be no output for the shift trigger.

I'll need an output for the shift trigger solenoid. One that is capable of generating a pulse. Where can I steal that from? Nothing else is really quite as critical, so just name an output that can make a pulse and whatever it is I'll use it.
Speedometer output maybe?
LED output?
Brake output?
Clutch output?
Anything?
I gave it MY best shot, now it's your turn.

You tell me which one. Much better to have the system crippled some way than to not work at all.
As backup plans, apparently there are a couple of controllers now on the market for the AA80E. Probably expensive, but not as expensive as starting over with another transmission.

Jim
Bernard Fife
Posts: 1696
Joined: Fri Apr 04, 2008 1:28 pm

Re: AA80E 8-speed

Post by Bernard Fife »

Jim, ANY output can make a pulse. Some are set up on the timer ports so that this is done automatically (but it isn't necessarily easier, as the setup can be complex). This is especially useful for things that get switched a lot (such as PWM), things that get switched very fast (usually in conjunction with some other event), or things that need precise timing (injectors/ignition). For trans control, bit banging the output in the 0.128 millisec timer is usually way faster (8000 times a second) than what is needed. So you can pick any output, and look at the existing code to see how it is done (see spare output 2 == sp2 on PA0 in the code for an example).
"Never wrestle with pigs. You both get dirty and the pig likes it." - George Bernard Shaw
Jim Blackwood
Posts: 222
Joined: Tue Dec 07, 2010 9:52 am

Re: AA80E 8-speed

Post by Jim Blackwood »

There is no way PT6 can be set up with an output option?

I mean, it IS an input/output right? All I need is one pulse every time the controller commands a shift. That would be enough to do the trick.

Jim
Bernard Fife
Posts: 1696
Joined: Fri Apr 04, 2008 1:28 pm

Re: AA80E 8-speed

Post by Bernard Fife »

Sure PT6 can be set up as an output in the data direction register (DDRT), so go ahead. Since it is a timer pin, you can either use the timer options to switch it or you can bit-bang it.
"Never wrestle with pigs. You both get dirty and the pig likes it." - George Bernard Shaw
Jim Blackwood
Posts: 222
Joined: Tue Dec 07, 2010 9:52 am

Re: AA80E 8-speed

Post by Jim Blackwood »

That sounds positive. I'll need to get more details on how to set that up, is it something that I can do, or do I need your help?

And that only leaves one problem, an input for the paddle upshift. Here we do have options:
-PAD4 (VR2)
-PEO (auto mode/kickdown)
-AD5 (non-CAN input)

Any of these seem usable to me, what would be your suggestion?

Jim
Bernard Fife
Posts: 1696
Joined: Fri Apr 04, 2008 1:28 pm

Re: AA80E 8-speed

Post by Bernard Fife »

Jim, You will have to look through the code to see which port changes make the most sense to you. The code is pretty well documented, so you should be able to find the sections you might need to work with using the search function.
"Never wrestle with pigs. You both get dirty and the pig likes it." - George Bernard Shaw
Jim Blackwood
Posts: 222
Joined: Tue Dec 07, 2010 9:52 am

Re: AA80E 8-speed

Post by Jim Blackwood »

OK, but wouldn't I need CodeWarrior to do that?
Bernard Fife
Posts: 1696
Joined: Fri Apr 04, 2008 1:28 pm

Re: AA80E 8-speed

Post by Bernard Fife »

You can use the free special edition of codewarrior from this page: http://cache.freescale.com/lgfiles/devs ... =Downloads (you have to register) or search the NXP (was freescale) site for "special edition codewarrior hcs12").

You will have to strip a fair bit of the code out to be able to compile this with the special edition of CW and its 32K limit. However, there ought to be lots of code in there that you don't need for your transmission control - for example you can't possibly need both the digital and voltage based shift lever code, you will only need one one of the spare port options per output, etc.

You also may need to update the files to match a newer compiler/linker/locator, but CW is usually pretty good at doing that automatically.
"Never wrestle with pigs. You both get dirty and the pig likes it." - George Bernard Shaw
Post Reply