Page 1 of 4 1 2 3 ... LastLast
Results 1 to 25 of 91
  1. #1
    Junior Member
    Join Date
    Feb 2012
    Posts
    10
    Rep Power
    0

    Open Source JTEC tunning

    Sorry for bringing back such an old thread but I came across this thread while searching for JTEC info. I registered on the forum just to communicate with you guys because it seems everybody is interested in reflashing the JTEC PCM's just like I am. I have a 99 viper and I don't want to give SCT any more of my money. I already bought a handheld programmer and flash from Rowe racing and it is pig rich. Anyways that's a different story. I'm tired of companies like SCT charging an arm and a leg.

    I am an embedded software engineer. I need some help from people that have a spare PCM that they don't mind opening up and pinning out a few things for me. Here is what I have done so far. I just started over the weekend.

    1) Found someone at dacooley.com that posted pics of their PCM opened up with the external flash socketed. They had dumps of a 5.2l and 5.9l. They also had a mopar performance 5.2l dump. I grabbed the 5.2 and mp5.2. Since I grabbed them sat night the site went down.

    2) I have a Lauterbach Trace32 HC16 Simulator running with these images

    3) The 256k image that was downloaded (5.2 and mp5.2) are not only the tables, it is the execution code. I was able to reset the simulated processor, initialize the proper stack pointer, program counter, and index z register. Then I started single stepping the code. It jumped to the proper code section and started configuring the SIM (internal to processor), watchdog, and started configuring RAM. This is where I stopped because I had to get to work.

    I am well on my way to discovering all the inner workings of the JTEC. The next thing is going to be when the proc starts communicating with the ignition microcontroller, and fuel microcontroller. Also when the proc starts reading inputs. There are adc's on all three microcontrollers I'm sure. I need to know what is pinned out to what. This will help me understand where in the code it reads throttle, water temp, map, etc. My question is, is anybody interested in working with me on this project? Do you have a spare PCM you wouldn't mind opening up and checking continuity on a few things? Obviously each PCM is pinned a bit different. Crank and cam angle might be on different pins, etc. But I hope that the end result is that the signal makes it to the same proc pin in all applications.

    Anyways I look forward to hearing from you guys.

    Thanks,
    Chad

  2. #2
    Modfag Saleen4971's Avatar
    Join Date
    Jan 2009
    Location
    Indianapolis, IN
    Posts
    7,358
    Rep Power
    2338
    Damn, Chad!

    I have a "spare" but I need to ensure that it's working fine first, so give me some time to replace it, flash to stock, then I can open one up for you
    Ross
    1998 Grand Cherokee 5.9 Limited
    MPP Headers - Thunderbolt Metallic Cat - 3" Mag catback - EBC Brakes w/ drilled Rotors - 4bbl M1 - Vortech 12psi - Built trans & 2900 stall - Ford 8.8 - Addco & Hellwig Sways - Poly Bushings - H&R Springs - Grabber UHP Tires - Alpine/Infinity Stereo - FX-R BiXenon Retrofit

  3. #3
    Member
    Join Date
    Apr 2009
    Posts
    999
    Rep Power
    120
    Quote Originally Posted by boostinallovryou View Post
    Sorry for bringing back such an old thread but I came across this thread while searching for JTEC info. I registered on the forum just to communicate with you guys because it seems everybody is interested in reflashing the JTEC PCM's just like I am. I have a 99 viper and I don't want to give SCT any more of my money. I already bought a handheld programmer and flash from Rowe racing and it is pig rich. Anyways that's a different story. I'm tired of companies like SCT charging an arm and a leg.

    I am an embedded software engineer. I need some help from people that have a spare PCM that they don't mind opening up and pinning out a few things for me. Here is what I have done so far. I just started over the weekend.

    1) Found someone at dacooley.com that posted pics of their PCM opened up with the external flash socketed. They had dumps of a 5.2l and 5.9l. They also had a mopar performance 5.2l dump. I grabbed the 5.2 and mp5.2. Since I grabbed them sat night the site went down.

    2) I have a Lauterbach Trace32 HC16 Simulator running with these images

    3) The 256k image that was downloaded (5.2 and mp5.2) are not only the tables, it is the execution code. I was able to reset the simulated processor, initialize the proper stack pointer, program counter, and index z register. Then I started single stepping the code. It jumped to the proper code section and started configuring the SIM (internal to processor), watchdog, and started configuring RAM. This is where I stopped because I had to get to work.

    I am well on my way to discovering all the inner workings of the JTEC. The next thing is going to be when the proc starts communicating with the ignition microcontroller, and fuel microcontroller. Also when the proc starts reading inputs. There are adc's on all three microcontrollers I'm sure. I need to know what is pinned out to what. This will help me understand where in the code it reads throttle, water temp, map, etc. My question is, is anybody interested in working with me on this project? Do you have a spare PCM you wouldn't mind opening up and checking continuity on a few things? Obviously each PCM is pinned a bit different. Crank and cam angle might be on different pins, etc. But I hope that the end result is that the signal makes it to the same proc pin in all applications.

    Anyways I look forward to hearing from you guys.

    Thanks,
    Chad
    At Last! I have loads of PCMs and would love to help with this, but im out of the country for the forseeable future... It is appearent to me this guys has the skillset necessary for this, What he is doing will allow the use of open source software, and programming using a standard J2534 pass thru interface... or perhaps some other standard interface over the ODBII port.. Amazing. Welcome aboard. I wish i were home so i could get you what you need. Someone please help this guy with this. If you need webspace to document your progress, i could help with that... I probably wont be home for months This is so exciting.
    Last edited by enlight22; 02-27-2012 at 09:30 PM.

  4. #4
    Junior Member
    Join Date
    Feb 2012
    Posts
    10
    Rep Power
    0
    Saleen that would be great if you could help with the PCM. You don't need to flash it back to stock and it doesn't even actually have to work. I just need you to open it up, take some hires photos for me, and then lets start by documenting where some of the important signals go. Like crank angle and cam angle. Lots of things are going to be driven off of these two signals alone. I'm sure they are going to end on the processor (actually microcontroller) at an interrupt line. If so then this interrupt line will bring me right to the section of code that starts fuel and timing calculations. So when you are able to get your spare and open her up please let me know.

    Enlight, sucks you are out of town but your offer for webspace and a place to host all the info I find would be GREAT. I was just thinking this morning how we need a wiki or something to share the info we find. When you have a chance to create something please let me know and I can start transferring my written notes to the web.

    Oh, also I wanted to comment on posts earlier in this thread about rewritting the code to handle boost. That is completely doable. Someone posted about how it's not possible do to values only being 0x0 - 0xFFFF.......ummmm yea that is true but that doesn't mean you can't do it. The way it works is the map sensor's output is between 0 - 5volts as you know. That line goes into the PCM and into an Analog to Digital converter (ADC). There is where that voltage gets converted into a hex value. I believe the ADC in the microcontroller is a 10 or 11 bit converter. The more bits, the higher the resolution. So if it was a 10 bit converter the range of values would be 0x0 - 0x3FF. Maybe it's configured to only be an 8 bit converter so it would be 0x0 - 0xFF. Either way you now have a conversion from analog voltage to a digital hex value. The PCM doesn't care if it's boost or vacuum, all it cares is it has a hex value that it can use in a lookup table to determine how much fuel to deliver. If you use a 1 bar map you get 0x0 - 0xFF is nothing but vacuum. If you use a 2 bar map then 0x0 - 0x7F is vacuum and 0x80 - 0xFF is boost. Just reprogram the fuel and ignition table properly and you are on your way. Sorry to get into so much detail right away but in an earlier post it was mentioned the more info and the deeper the info, the better.

    This is great, I'm glad I get to work with you guys. I got further in the code yesterday during my lunch hour. I single stepped through initialization of port E and D in the microcontroller and configuration of the chip selects. I'm about to start single stepping more.

    Talk to you soon,
    Chad

  5. #5
    Member
    Join Date
    Apr 2009
    Posts
    999
    Rep Power
    120
    Quote Originally Posted by boostinallovryou View Post
    Enlight, sucks you are out of town but your offer for webspace and a place to host all the info I find would be GREAT. I was just thinking this morning how we need a wiki or something to share the info we find. When you have a chance to create something please let me know and I can start transferring my written notes to the web.
    Sure, How do you think would be best to do it? i can set up a wiki, or just provide you with blank space and a domain, or whatever... i dont really do the artistic stuff though... lemme know what you think is best and ill set it up asap... wiki sound promising.

  6. #6
    Modfag Saleen4971's Avatar
    Join Date
    Jan 2009
    Location
    Indianapolis, IN
    Posts
    7,358
    Rep Power
    2338
    How about Google docs? Then you can add info, and we could add notes, etc.

    I need to flash to stock so I can sct my other pcm. I am afraid of opening it, since last I saw you have to be careful.

    Also try pming z88z, he may have a spare laying around.

    Would u also be able to find some pid values for use with the torque app?
    Ross
    1998 Grand Cherokee 5.9 Limited
    MPP Headers - Thunderbolt Metallic Cat - 3" Mag catback - EBC Brakes w/ drilled Rotors - 4bbl M1 - Vortech 12psi - Built trans & 2900 stall - Ford 8.8 - Addco & Hellwig Sways - Poly Bushings - H&R Springs - Grabber UHP Tires - Alpine/Infinity Stereo - FX-R BiXenon Retrofit

  7. #7
    Member
    Join Date
    Apr 2009
    Posts
    999
    Rep Power
    120
    Quote Originally Posted by Saleen4971 View Post
    How about Google docs? Then you can add info, and we could add notes, etc.

    I need to flash to stock so I can sct my other pcm. I am afraid of opening it, since last I saw you have to be careful.

    Also try pming z88z, he may have a spare laying around.

    Would u also be able to find some pid values for use with the torque app?
    Whatever pcm you open will be sacraficed, you wont damage the electronics by opening it, but it will be very dificult if not impossible to open it in such a way that you could close it back up and have it fit the inner frame well and be at all watertight. I think he suggested wiki precicely cause we could all edit it.

  8. #8
    Member
    Join Date
    Apr 2009
    Posts
    999
    Rep Power
    120
    I have made a wiki at http://jtec.info. Anyone can view it, however if you want to contribute, PM me with the username you want and an email address where your temporary password will be sent which you can change later.

  9. #9
    Modfag Saleen4971's Avatar
    Join Date
    Jan 2009
    Location
    Indianapolis, IN
    Posts
    7,358
    Rep Power
    2338
    Lol I also opened a Google docs with document and spreadsheet
    Ross
    1998 Grand Cherokee 5.9 Limited
    MPP Headers - Thunderbolt Metallic Cat - 3" Mag catback - EBC Brakes w/ drilled Rotors - 4bbl M1 - Vortech 12psi - Built trans & 2900 stall - Ford 8.8 - Addco & Hellwig Sways - Poly Bushings - H&R Springs - Grabber UHP Tires - Alpine/Infinity Stereo - FX-R BiXenon Retrofit

  10. #10
    Junior Member
    Join Date
    Feb 2012
    Posts
    10
    Rep Power
    0
    I like the wiki!! That's slick. I will PM you my username and email address. I have gotten even further in the initialization code. 11 chip selects total have been set. This sets up the memory map and configures what memory areas cause a read or write off chip to the other microcontrollers, etc. I also got through the ADC configurations. There are 8 ADC's on the main microcontroller. Once I get through all the initialization code I will put everything into the wiki. I'm interested to see what gets setup with the general purpose timers.

    I am working off of the factory 5.2l dump I found on dacooley's website. Sooner or later I am going to have to open up my PCM, socket the flash part, and dump my viper code. Then compare the two and see how much changed. I am concerned because it sounds like the PCM is a one closed unit. You guys make it sound like it is fragile and once opened never seems to go back together the same way. Looks like another wiki tutorial to me. "How to open AND close your PCM" hahahaha.

  11. #11
    Member
    Join Date
    Apr 2009
    Posts
    999
    Rep Power
    120
    Quote Originally Posted by boostinallovryou View Post
    I like the wiki!! That's slick. I will PM you my username and email address. I have gotten even further in the initialization code. 11 chip selects total have been set. This sets up the memory map and configures what memory areas cause a read or write off chip to the other microcontrollers, etc. I also got through the ADC configurations. There are 8 ADC's on the main microcontroller. Once I get through all the initialization code I will put everything into the wiki. I'm interested to see what gets setup with the general purpose timers.

    I am working off of the factory 5.2l dump I found on dacooley's website. Sooner or later I am going to have to open up my PCM, socket the flash part, and dump my viper code. Then compare the two and see how much changed. I am concerned because it sounds like the PCM is a one closed unit. You guys make it sound like it is fragile and once opened never seems to go back together the same way. Looks like another wiki tutorial to me. "How to open AND close your PCM" hahahaha.
    The pcm isnt particularly fragile, what it is is a sheet of aluminum formed into the shape of a U, and that U is sealed with some sort of silicon around its perimeter to a piece of aluminum that forms 3 of the thin outside edges of the pcm and provides structure to the U, the U is held to the structure with screws and adhesive. The actual circuit board is some sort of flexible kapton type material, the same sort of material they make the cables that connect LCDs to the system board in cellphones. it is secured to the U with glue and is further held in place by the connector bulkhead. to open mine i heated the edges of the sheet aluminum with a heat gun and pried and unfolded it with a flat screw driver... the problem is to put it back together you have to bend everything back and re silicon it, it will never be the same, but it should still function... if you use enough sealant it may be fine... also the flexible ciruit board is coated with a very thin rubber type of substance, presumably to prevent shorts from the very thin hairs that tend to grow between very close metal connections when in a moist environment. It isnt potted though.

  12. #12
    Junior Member
    Join Date
    Feb 2012
    Posts
    10
    Rep Power
    0
    So not that it makes a big difference, but the main microcontroller has to be a MC68HC16Z3, not a Z2. I say that because in the code the stack pointer gets initialized to 0xF8FFE, and after initialization the memory area 0xF8800 starts getting used a lot. During initialization the onboard ram base address was set to 0xF8000. The Z2 has a ram array size of 2k, that would make the ram range 0xF8000 - 0xF87FF. The Z3 has a ram array size of 4k. That would make the ram range 0xF8000 - 0xF8FFF. Makes perfect sense because the stack works down and you would want it at the end of ram. If it was a Z2 then playing at 0xF8800 would make it crash. So after this long winded post of mine.....it's a Z3.

    Who identified it as a Z2? I wonder because after opening up my PCM there are chips on board that I can not identify. The one of main interest is the Philips 4651947. I believe this is the chip that the main microcontroller and two side controllers use to communicate with each other. I believe it's a shared ram chip but I can't confirm. What I do know is that when the main MC writes in the 0x40000 - 0x407FF memory range, the write goes out to this chip. I have not confirmed yet if the 0x50000 - 0x507FF range goes to this chip too. I'm sure it does. This would be how the main MC sends it's fuel and timing values to the other MC's. All three of the MC's on the PCB are not factory motorola marked. They were custom silkscreened with chrysler information on them. A few of the ST parts are custom silkscreened too. I believe these to be drivers. Just keep an eye on jtec.info, lots of info to come :-)

  13. #13
    Member
    Join Date
    Apr 2009
    Posts
    999
    Rep Power
    120
    Quote Originally Posted by boostinallovryou View Post
    So not that it makes a big difference, but the main microcontroller has to be a MC68HC16Z3, not a Z2. I say that because in the code the stack pointer gets initialized to 0xF8FFE, and after initialization the memory area 0xF8800 starts getting used a lot. During initialization the onboard ram base address was set to 0xF8000. The Z2 has a ram array size of 2k, that would make the ram range 0xF8000 - 0xF87FF. The Z3 has a ram array size of 4k. That would make the ram range 0xF8000 - 0xF8FFF. Makes perfect sense because the stack works down and you would want it at the end of ram. If it was a Z2 then playing at 0xF8800 would make it crash. So after this long winded post of mine.....it's a Z3.

    Who identified it as a Z2? I wonder because after opening up my PCM there are chips on board that I can not identify. The one of main interest is the Philips 4651947. I believe this is the chip that the main microcontroller and two side controllers use to communicate with each other. I believe it's a shared ram chip but I can't confirm. What I do know is that when the main MC writes in the 0x40000 - 0x407FF memory range, the write goes out to this chip. I have not confirmed yet if the 0x50000 - 0x507FF range goes to this chip too. I'm sure it does. This would be how the main MC sends it's fuel and timing values to the other MC's. All three of the MC's on the PCB are not factory motorola marked. They were custom silkscreened with chrysler information on them. A few of the ST parts are custom silkscreened too. I believe these to be drivers. Just keep an eye on jtec.info, lots of info to come :-)
    i dont know who said it was a z2, i got it from that documentation i sent u, and as they are all propriatarily silk screened, it either must have come from some factory documentation, or detective work. how many coil drivers does your viper jtec have? my jeep jtecs all have one, but what i guess are unpopulated areas for more coil drivers. i ask cause it would be nice to ditch the distributor one of these days, and if there are jtecs out there with more drivers, or if i could populate the pads on my pcm, that would be awesome.
    Last edited by enlight22; 03-03-2012 at 10:42 PM.

  14. #14
    Member
    Join Date
    Apr 2009
    Posts
    999
    Rep Power
    120
    added PCM pinouts for jeep grand cherokee, and 4.0l xj both distributor and distributorless to the wiki, another topic of conversation i believe should be the propriatary chrysler CCD bus. Understanding this would be most useful in allowing control over vehichle functions from external devices, as well as reading all information available to the instrument cluster, VIC, and overhead display. I have gathered some information on this bus over the years, and i shall add the contents of my CCD bus folder to the wiki this evening. I believe it is relevant to the wiki topic as all JTEC pcms to my knoledge can communicate using this bus and protocol.

  15. #15
    Junior Member
    Join Date
    Feb 2012
    Posts
    10
    Rep Power
    0
    My viper PCM has 5 coil drivers (wasted spark coils) and 10 injector drivers. I took photos and will be adding them to the wiki today. I am still working on the internal pinouts. Since the coils are driven from one of the daughter MC's it would take new code in the daughter MC, populate the drivers, and determine which buffer needs to be added. The buffer takes a low current signal from the MC and drives a higher current coil driver.

    CCD bus sounds like a good topic. Any existing info around on it? I will be sampling the SCI bus today hopefully. With this sampling we will know exactly what communication it takes to place the PCM into "download mode" and what the packets to program it look like. It should be KWP2000. We will find out. I have a Techtronics digital scope with two channels that can record. I will be capturing the K and L line.

  16. #16
    Junior Member
    Join Date
    Feb 2012
    Posts
    10
    Rep Power
    0
    Let me take that back. I thought the PCM was going to be 9141 with KWP2000 on it. Obviously by the PCM pinout these are J2610. Again I won't know what I'm dealing with till I get to that section.

  17. #17
    Member
    Join Date
    Apr 2009
    Posts
    999
    Rep Power
    120
    yep its ISO-9142-2 i think, it certainly isnt KWP-2000, chrysler wouldnt make our lives that easy... lol... Ive got some CCD info.. ill put it up .. We may need to reorganize it though... im not good at the artistic layout type stuff, lol.

  18. #18
    Member
    Join Date
    Apr 2009
    Posts
    999
    Rep Power
    120
    Quote Originally Posted by boostinallovryou View Post
    My viper PCM has 5 coil drivers (wasted spark coils) and 10 injector drivers. I took photos and will be adding them to the wiki today. I am still working on the internal pinouts. Since the coils are driven from one of the daughter MC's it would take new code in the daughter MC, populate the drivers, and determine which buffer needs to be added. The buffer takes a low current signal from the MC and drives a higher current coil driver.
    Then perhaps it would be more convenient to simply use a viper PCM in a v8 truck and disable one of the coil drivers and 2 of the injector drivers in code?

  19. #19
    Member
    Join Date
    Apr 2009
    Posts
    999
    Rep Power
    120
    CCD bus info added to wiki

  20. #20
    Modfag Saleen4971's Avatar
    Join Date
    Jan 2009
    Location
    Indianapolis, IN
    Posts
    7,358
    Rep Power
    2338
    Sorry I haven't gotten you the info yet, been really sick, going outside, or really anywhere but bed hasn't been an option :-(
    Ross
    1998 Grand Cherokee 5.9 Limited
    MPP Headers - Thunderbolt Metallic Cat - 3" Mag catback - EBC Brakes w/ drilled Rotors - 4bbl M1 - Vortech 12psi - Built trans & 2900 stall - Ford 8.8 - Addco & Hellwig Sways - Poly Bushings - H&R Springs - Grabber UHP Tires - Alpine/Infinity Stereo - FX-R BiXenon Retrofit

  21. #21
    Member
    Join Date
    Apr 2009
    Posts
    999
    Rep Power
    120
    dieing of anticipation here

  22. #22
    Member
    Join Date
    Apr 2009
    Posts
    999
    Rep Power
    120
    literally dieing

  23. #23
    Junior Member
    Join Date
    Feb 2012
    Posts
    10
    Rep Power
    0
    Sorry for the little delays in between posts. Along with this project, work, and wife, I have a super comp dragster I have to give love to also hahahaha. I have photos of my PCM opened up and I have pinned out some of the inputs. I want to get all the data I can before I upload to the wiki. Finding philips datasheets is hard enough but when you have custom silkscreening on top of that.....deciphering what is what is extremely complicated. So I have chased the MAP, TPS, 4 O2's, coolant temp, and air temp all the way from the bulkhead connector to a buffer. The other side of the buffer I have chased to the ADC lines on the Z3. There is something way weird going on. So on each chip one ADC line runs to two pins. There are three buffers by the way. I have no idea what is going on there. It should be a one to one relationship. Because I can't get a datasheet on the buffer there is only one way to determine what is going on. I'm going to have to build a test harness to power the PCM up on my bench. Then I will be able to supply each input with a unique voltage or ground so I can chase it all the way to the Z3. This of course is going to take a bit. While I am doing this I still am walking through the code. Now that I know 0xFF880 land is real memory I can continue walking the code out. Also I can search through the code to find the areas where the ADC is read and where 0x40000 and 0x50000 is accessed. This will point me to where the final ignition and fuel values have been calculated and are being delivered to the daughter MC's. Then try to work backwards from there. As you can see there is a lot to do, but if this was easy, it would have been done already :-)

  24. #24
    Modfag Saleen4971's Avatar
    Join Date
    Jan 2009
    Location
    Indianapolis, IN
    Posts
    7,358
    Rep Power
    2338
    *head explodes*
    Ross
    1998 Grand Cherokee 5.9 Limited
    MPP Headers - Thunderbolt Metallic Cat - 3" Mag catback - EBC Brakes w/ drilled Rotors - 4bbl M1 - Vortech 12psi - Built trans & 2900 stall - Ford 8.8 - Addco & Hellwig Sways - Poly Bushings - H&R Springs - Grabber UHP Tires - Alpine/Infinity Stereo - FX-R BiXenon Retrofit

  25. #25
    Member NoTime's Avatar
    Join Date
    Jan 2009
    Location
    Sudbury, Ontario, Canada
    Posts
    2,248
    Rep Power
    147
    This is Great............. Hopefully somehow I will be able to get the most out of the PCM as I am at close to limits with SCT and I have many more goodies to get on my motor.

    Tim ( one of the faster ZJ's in NA )
    1998 ZJ 5.9 Platinum - 408 SC Sleeper ( 7.49 / 11.? )
    2012 RAM - Tow Vehicle
    2007 GC SRT8 Daily Driver
    2003 TJ Rubicon Inca Gold - Trail blaster
    1973 Trumph GT6 MK III
    20 Ft Enclosed Car Hauler

Similar Threads

  1. Question about the JTEC and Electric fans.
    By cmsch180 in forum Tech Questions
    Replies: 15
    Last Post: 05-11-2012, 08:19 AM
  2. 5.9 Open Headers
    By Tyler5.9 in forum Pictures and Videos
    Replies: 26
    Last Post: 04-25-2012, 07:34 AM
  3. Help me find the source of this leak!
    By DefaultPeanut in forum Tech Questions
    Replies: 7
    Last Post: 01-26-2011, 12:00 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •