NAXJA Forums -::- North American XJ Association  

Go Back   NAXJA Forums -::- North American XJ Association > NAXJA Other Technical Forums > Jeep Street and Performance
HOME Member FAQ Sponsor Info Rules Bylaws E-Mail

Jeep Street and Performance Do you like to go fast in your Jeep?

Reply
 
Thread Tools Rate Thread Display Modes
  #1  
Old August 2nd, 2016, 01:36
Alexia Alexia is offline
NAXJA Forum User
 
Join Date: Aug 2008
Location: Huntsville, AL
Posts: 753
CAN bus to CCD bus Protocol Translator(Chrysler PCM Simulator)

I am working on a new project lately to be able to drop a Haltech Elite ECU into my 1997 based MJ without losing the stock gauges or other CCD bus operated modules. This is accomplished by translating CAN bus messages from the Haltech into CCD bus messages simulating the stock Chrysler PCM. It removes the need to keep the stock PCM in place to run any systems and removes wiring/sensor complexity from running two engine computers. As well, this would simplify any CAN bus controlled engine swap, such as a GM V8, by only needing to plug in a little box between the data lines to retain the stock gauge cluster.

Current implementation status:
  • Chrysler CCD bus Packet IDs - Only missing fuel level. Everything else works including odometer/tripometer incrementing.
  • Haltech CAN - In progress - Haltech is kind enough to provide full documentation to anyone that asks. Needs quality assurance testing and validation on my MJ when the wiring is finished.
  • GM CAN(GMLAN) - I have a copy of the GMLan Bible. I would need to obtain an GM ECU or borrow a GM swapped vehicle for a few weeks. Otherwise implementing GM support will be as easy as Haltech support.

Example of controlling the gauge cluster over USB.



Testing how fast the gauge cluster can respond to data packets. The needles visibly stop moving when hitting the processing limits of the gauge cluster's microcontroller. The fastest I can get the gauge cluster to respond is 20hz or one update every 50ms. This might actually be faster than how fast the stock PCM updates.

Reply With Quote
  #2  
Old August 2nd, 2016, 08:27
gradon's Avatar
gradon gradon is offline
NAXJA Forum User
 
Join Date: May 2006
Location: DC
Posts: 3,121
CAN bus to CCD bus Protocol Translator(Chrysler PCM Simulator)

Awesome!
Back when I dyno'd 193whp and 231wtq, the shop wanted me to buy the Haltech standalone ecu because the stock pcm was lean. I love watching MCM with the Haltech guru.


Sent from my iPhone using Tapatalk

Last edited by gradon; August 2nd, 2016 at 08:31.
Reply With Quote
  #3  
Old August 2nd, 2016, 11:08
Alexia Alexia is offline
NAXJA Forum User
 
Join Date: Aug 2008
Location: Huntsville, AL
Posts: 753
Re: CAN bus to CCD bus Protocol Translator(Chrysler PCM Simulator)

Quote:
Originally Posted by gradon View Post
Awesome!
Back when I dyno'd 193whp and 231wtq, the shop wanted me to buy the Haltech standalone ecu because the stock pcm was lean. I love watching MCM with the Haltech guru.


Sent from my iPhone using Tapatalk
That is part of the problem I having now and why I am doing all this to switch. The stock PCM will be fine, then lean out, and then suddenly go balls to the wall dumping fuel in trying to correct it. Waiting for one of the two tuners in the USA who know how to flash JTEC PCMs, plus the cost, is not worth it in comparison to the cost and flexibility of an aftermarket ECU.
Reply With Quote
  #4  
Old August 3rd, 2016, 08:36
xeroOTG's Avatar
xeroOTG xeroOTG is offline
NAXJA Member
 
Join Date: Jan 2010
Location: North Bend, WA
Posts: 376
Re: CAN bus to CCD bus Protocol Translator(Chrysler PCM Simulator)

Do you have any technical details? I have been working on something like this for a TDI swap, and there's also a thread on thespeedfreaks.net that I've been following. Id love to help, as this is something I've been working on in the background for almost a year now. You've made it further than I have, seeing as how you have moving needles.
__________________
Proof I've spent all of my money on my Jeep: John's 98 Build Thread
Reply With Quote
  #5  
Old August 3rd, 2016, 08:52
Alexia Alexia is offline
NAXJA Forum User
 
Join Date: Aug 2008
Location: Huntsville, AL
Posts: 753
Re: CAN bus to CCD bus Protocol Translator(Chrysler PCM Simulator)

Quote:
Originally Posted by xeroOTG View Post
Do you have any technical details? I have been working on something like this for a TDI swap, and there's also a thread on thespeedfreaks.net that I've been following. Id love to help, as this is something I've been working on in the background for almost a year now. You've made it further than I have, seeing as how you have moving needles.
Repository is right here:
https://github.com/Alexia/CAN-CCD_bus

I have an unpushed branch with more Haltech CAN bus work on my laptop, but I am waiting to push it until I have it tested on my MJ. Which is waiting for my slush fund to recover to make a part purchase since I am about to drop several thousand in repairs on my LJ.
Reply With Quote
  #6  
Old August 3rd, 2016, 09:01
xeroOTG's Avatar
xeroOTG xeroOTG is offline
NAXJA Member
 
Join Date: Jan 2010
Location: North Bend, WA
Posts: 376
Re: CAN bus to CCD bus Protocol Translator(Chrysler PCM Simulator)

How are you driving the CCD bus? Are you using any of the older SPI to CCD
Intersil chips or driving it directly with the teensy? Ill pull your code when I get home, it looks great!
__________________
Proof I've spent all of my money on my Jeep: John's 98 Build Thread
Reply With Quote
  #7  
Old August 3rd, 2016, 09:11
xeroOTG's Avatar
xeroOTG xeroOTG is offline
NAXJA Member
 
Join Date: Jan 2010
Location: North Bend, WA
Posts: 376
Re: CAN bus to CCD bus Protocol Translator(Chrysler PCM Simulator)

Oh, you were looking for fuel level? The link I dropped earlier has documented the fuel CCD address for a Durango.

// Fuel ID 37 [HEX-25] (ID-DATA-CRC)
// DATA range 1 ~ 253 + Error handling.
__________________
Proof I've spent all of my money on my Jeep: John's 98 Build Thread
Reply With Quote
  #8  
Old August 3rd, 2016, 09:25
Alexia Alexia is offline
NAXJA Forum User
 
Join Date: Aug 2008
Location: Huntsville, AL
Posts: 753
Re: CAN bus to CCD bus Protocol Translator(Chrysler PCM Simulator)

Quote:
Originally Posted by xeroOTG View Post
How are you driving the CCD bus? Are you using any of the older SPI to CCD
Intersil chips or driving it directly with the teensy? Ill pull your code when I get home, it looks great!
Teensy is handling the serial level logic to a CAN bus transceiver. Yes, the CAN bus transceiver is being used to drive the CCD bus.

Quote:
Originally Posted by xeroOTG View Post
Oh, you were looking for fuel level? The link I dropped earlier has documented the fuel CCD address for a Durango.

// Fuel ID 37 [HEX-25] (ID-DATA-CRC)
// DATA range 1 ~ 253 + Error handling.
I have been trying 0x25, but none of the values I looped through have made the XJ gauge cluster respond to it yet.
Reply With Quote
  #9  
Old August 3rd, 2016, 19:10
xeroOTG's Avatar
xeroOTG xeroOTG is offline
NAXJA Member
 
Join Date: Jan 2010
Location: North Bend, WA
Posts: 376
Re: CAN bus to CCD bus Protocol Translator(Chrysler PCM Simulator)

I finally got home from work and got a chance to clone your repo. I'm looking at CCD::doUpdateLights() and I noticed you set the airbag status. In my engine swap, I was planning on retaining all of the CCD modules (OHC, airbag, gauges) so I am more concerned with emulating the messages provided by the ECU than anything else. Since I plan on retaining the airbag controller, I would be concerned about leaving it on the CCD bus if the address used for airbag status is shared with your code. Is this message provided by the ECU or by the airbag controller?

Either way, I like what you have here. I was going the approach of using an Intersil CCD chip over SPI. Your approach of using a CAN transceiver and handling the rest in code seems to actually involve fewer IOs, less interrupts, and has a lower component count. Do you think there is potential for bidirectional communication with your approach of using a CAN transceiver as the physical interface?

Do you have anything you would like help with on this project?
__________________
Proof I've spent all of my money on my Jeep: John's 98 Build Thread

Last edited by xeroOTG; August 3rd, 2016 at 19:19. Reason: spelling...
Reply With Quote
  #10  
Old August 3rd, 2016, 19:32
Alexia Alexia is offline
NAXJA Forum User
 
Join Date: Aug 2008
Location: Huntsville, AL
Posts: 753
Re: CAN bus to CCD bus Protocol Translator(Chrysler PCM Simulator)

Quote:
Originally Posted by xeroOTG View Post
I finally got home from work and got a chance to clone your repo. I'm looking at CCD::doUpdateLights() and I noticed you set the airbag status. In my engine swap, I was planning on retaining all of the CCD modules (OHC, airbag, gauges) so I am more concerned with emulating the messages provided by the ECU than anything else. Since I plan on retaining the airbag controller, I woulc be concerned about leaving it on the CCD bus if the address used for airbag status is shared with your code. Is this message provided by the ECU or by the airbag controller?

Either way, I like what you have here. I was going the approach of using an Intersil CCD chip over SPI. Your approach of using a CAN transceiver and handling the rest in code seems to actually involve fewer IOs, less interrupts, and has a lower component count. Do you think there is potential for bidirectional communication with your approach of using a CAN transceiver as the physical interface?

Do you have anything you would like help with on this project?
Setting/changing the air bag light status is purely optional. My eventual plan is to have a build system where people type in their platform code, what modules they are retaining, and other options. So if someone selects "no air bag module" it would compile the firmware to turn off the air bag light so they don't see it turned on in the dash.

The CAN transceiver I am using does not work to receive on the CCD bus. It applies power the CCD bus, but CCD is designed to be powered from one source. In the case of the XJ the power source is the gauge cluster.

I actually want to rework the code slightly to use a middleware style so that messages broadcasted on one bus are reflected to any bus. The first iteration will be purely one way CAN to CCD.
Reply With Quote
  #11  
Old August 3rd, 2016, 20:26
Alexia Alexia is offline
NAXJA Forum User
 
Join Date: Aug 2008
Location: Huntsville, AL
Posts: 753
Re: CAN bus to CCD bus Protocol Translator(Chrysler PCM Simulator)

Quote:
Originally Posted by xeroOTG View Post
Oh, you were looking for fuel level? The link I dropped earlier has documented the fuel CCD address for a Durango.

// Fuel ID 37 [HEX-25] (ID-DATA-CRC)
// DATA range 1 ~ 253 + Error handling.
BOOOOOOOOOOOOOOOYAH THAT WORKS! Every time I tested 0x25 for a packet ID I had been using 0x00 or 0xFF. Which is empty and open circuit which displays empty. However, whenever testing other values I would start with 0x00 then set it higher. Since the XJ gauge cluster buffers that value automatically it can take five to ten minutes to reach that new point. Patience in testing never came to mind in that case.
Reply With Quote
  #12  
Old August 3rd, 2016, 22:07
xeroOTG's Avatar
xeroOTG xeroOTG is offline
NAXJA Member
 
Join Date: Jan 2010
Location: North Bend, WA
Posts: 376
Re: CAN bus to CCD bus Protocol Translator(Chrysler PCM Simulator)

Quote:
Originally Posted by Alexia View Post
BOOOOOOOOOOOOOOOYAH THAT WORKS! Every time I tested 0x25 for a packet ID I had been using 0x00 or 0xFF. Which is empty and open circuit which displays empty. However, whenever testing other values I would start with 0x00 then set it higher. Since the XJ gauge cluster buffers that value automatically it can take five to ten minutes to reach that new point. Patience in testing never came to mind in that case.
That's great news! The same post indicated that the low fuel light was a fixed range of the fuel level (0x35 - 0x01), not programmable. When you indicate a low level, does the fuel light Illuminate?
__________________
Proof I've spent all of my money on my Jeep: John's 98 Build Thread
Reply With Quote
  #13  
Old August 3rd, 2016, 22:18
Alexia Alexia is offline
NAXJA Forum User
 
Join Date: Aug 2008
Location: Huntsville, AL
Posts: 753
Re: CAN bus to CCD bus Protocol Translator(Chrysler PCM Simulator)

Quote:
Originally Posted by xeroOTG View Post
That's great news! The same post indicated that the low fuel light was a fixed range of the fuel level (0x35 - 0x01), not programmable. When you indicate a low level, does the fuel light Illuminate?
I did not test the exact values, but the light does turn on automatically after a ten second delay in the expected low fuel range.
Reply With Quote
  #14  
Old August 7th, 2016, 23:25
zluster's Avatar
zluster zluster is offline
NAXJA Forum User
 
Join Date: Sep 2005
Location: Colorado Baby!
Posts: 1,601
Re: CAN bus to CCD bus Protocol Translator(Chrysler PCM Simulator)

VERY cool.

I have a couple of aftermarket ecus and access to some others that use the same form factor as the stock ECU......but are fully programmable and configurable....and talk CANBUS.



128pin version:




Now thats great for using those, but you come onto a good use as well, the diesel KJ ecu runs on canbus, so to spit out data for the CCD bus is perfect.

Alternatively I could use TJ PCI cluster.....I think one of these should work.
Reply With Quote
  #15  
Old August 12th, 2016, 11:23
xeroOTG's Avatar
xeroOTG xeroOTG is offline
NAXJA Member
 
Join Date: Jan 2010
Location: North Bend, WA
Posts: 376
Re: CAN bus to CCD bus Protocol Translator(Chrysler PCM Simulator)

Quote:
Originally Posted by Alexia View Post
The CAN transceiver I am using does not work to receive on the CCD bus.
So I've been reading datasheets for the MCP2551 and the SN65HVD230, both look like they are capable of providing a physical interface capable of receiving on a CCD bus. When I look at the architecture diagram of the Intersil CPD68HC68S1, the CAN differential receiver implements similar function, minus arbitration detection, collision detection and idle detection. Outside of your published code, have you attempted to monitor the RxD pin while transmitting? I have a SN65HVD230 coming snail mail, so I cannot test this theory for myself.

I think the function of the Intersil could be implemented in software, bringing duplex communication into your project. Arbitration detection, collision detection and idle detection all are well documented in the CPD68HC68S1 datasheet, I just don't think I am up to the task of implementing them.
__________________
Proof I've spent all of my money on my Jeep: John's 98 Build Thread
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes Rate This Thread
Rate This Thread:

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

Similar Threads
Thread Thread Starter Forum Replies Last Post
o2 simulator ju82takata OEM Tech Discussion 2 January 25th, 2009 07:48
o2 sensor simulator???? 2000xj4x4 OEM Tech Discussion 10 November 28th, 2007 18:30
o2 simulator?? Dirt Modified Tech Discussion 3 November 10th, 2005 12:22


All times are GMT -7. The time now is 15:27.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.
NAXJA and NAXJA logo's Copyright NAXJA. All content/images Copyright NAXJA 1999-2014