What's inside the Cummins ECU...
#16
Registered User
Join Date: Jun 2007
Location: Boise Idaho
Posts: 103
Likes: 0
Received 0 Likes
on
0 Posts
Pulling for ya
Hi just wanted to ad my 2c, if there’s anything I can do let me know, I think what your doing is quiet a challenge, (good for you) and your going down a road not many have, I wish you luck and also will be checking your progress.
If I can help let me know
Pappy
If I can help let me know
Pappy
#17
Registered User
Thread Starter
My ECM has recently gone bad. My local diesel mech told me that it is going to cost me $1200-1300!! He said that it would have to be flashed from Cummins, and they also charge a core charge on top of that! Is this true, or is he trying to shaft me? Is there an alternative?
I have a 2001 3500 dually with 6-speed, 60-horse injectors, and an Edge module, and a lift pump kit. (Many more mods to come!) Is it possible to get an after-market deal that works better, maybe produces more hp?
I have a 2001 3500 dually with 6-speed, 60-horse injectors, and an Edge module, and a lift pump kit. (Many more mods to come!) Is it possible to get an after-market deal that works better, maybe produces more hp?
BUT, I don't know if you have to reflash it to put it in your truck. You might still have to, but the used ECM + reflashing shouldn't cost than much.
#18
Registered User
Thread Starter
It's been a while so I thought I would post a quick update. I have been digging into the CAN bus communications stuff, and the code that handles the 'SCI' or 'ISO9141' interface. Found out some interesting stuff.
The SCI is what comes out at the diagnostic connector, the same one that various scan tools connect to. Interesting on the diesel is that there are 2 SCI pins on the diagnostic connector - one goes to the PCM, and the other is just for the Cummins ECU.
The ECU can be reflashed from either the SCI OR the CAN bus. From what I have investigated, the Cummins tools access through the CAN bus, and the various other tools do it through the SCI.
I have to work on figuring out all of the SCI protocol, and the command set. There are commands to reflash, alter parameters in the EEPROM (nothing really interesting, though), and many commands to retrieve various bits of information (engine speed, sensor inputs, DTCs, etc.)
An interesting thing I stumbled across while looking at the code for the CAN bus functions, it appears that there are commands that allow access to the interesting stuff (timing, fueling maps, etc.) - maybe these can be altered without reflashing the ECU? I'm working on finding that out.
I've got to get my web site updated this weekend...
The SCI is what comes out at the diagnostic connector, the same one that various scan tools connect to. Interesting on the diesel is that there are 2 SCI pins on the diagnostic connector - one goes to the PCM, and the other is just for the Cummins ECU.
The ECU can be reflashed from either the SCI OR the CAN bus. From what I have investigated, the Cummins tools access through the CAN bus, and the various other tools do it through the SCI.
I have to work on figuring out all of the SCI protocol, and the command set. There are commands to reflash, alter parameters in the EEPROM (nothing really interesting, though), and many commands to retrieve various bits of information (engine speed, sensor inputs, DTCs, etc.)
An interesting thing I stumbled across while looking at the code for the CAN bus functions, it appears that there are commands that allow access to the interesting stuff (timing, fueling maps, etc.) - maybe these can be altered without reflashing the ECU? I'm working on finding that out.
I've got to get my web site updated this weekend...
#20
Registered User
Join Date: Jun 2006
Location: Thamesford, Ontario Canada
Posts: 1,288
Likes: 0
Received 0 Likes
on
0 Posts
#21
Registered User
Thread Starter
I haven't been on here for a while. I found that the SCI and CAN bus functions can only access a limited range of information, and from what I have seen, you cannot update the 'important' stuff using these diagnostic functions. In fact, it looks like at one time all of the parameters could be read/written via the CAN bus, probably for R&D at Cummins. At some later time, the range of permitted parameters was limited. The entire lookup table is still there, but the SCI and CAN function that accesses them has a limitation placed on it in the programming.
So, it looks like the only way that I am going to be able to do what I really want, is to alter the programming back to the 'R&D' way, then I can actually tweak things 'on the fly' using a laptop and a SCI or CAN interface cable. I obtained a spare ECU from another truck (ebay), I am going to download the flash through the BDM this weekend and see what interesting things I find in there. Now that I have a spare, I don't have to worry about turning my working ECU into a brick.
So, it looks like the only way that I am going to be able to do what I really want, is to alter the programming back to the 'R&D' way, then I can actually tweak things 'on the fly' using a laptop and a SCI or CAN interface cable. I obtained a spare ECU from another truck (ebay), I am going to download the flash through the BDM this weekend and see what interesting things I find in there. Now that I have a spare, I don't have to worry about turning my working ECU into a brick.
#22
Registered User
Join Date: Jun 2006
Location: Thamesford, Ontario Canada
Posts: 1,288
Likes: 0
Received 0 Likes
on
0 Posts
I haven't been on here for a while. I found that the SCI and CAN bus functions can only access a limited range of information, and from what I have seen, you cannot update the 'important' stuff using these diagnostic functions. In fact, it looks like at one time all of the parameters could be read/written via the CAN bus, probably for R&D at Cummins. At some later time, the range of permitted parameters was limited. The entire lookup table is still there, but the SCI and CAN function that accesses them has a limitation placed on it in the programming.
So, it looks like the only way that I am going to be able to do what I really want, is to alter the programming back to the 'R&D' way, then I can actually tweak things 'on the fly' using a laptop and a SCI or CAN interface cable. I obtained a spare ECU from another truck (ebay), I am going to download the flash through the BDM this weekend and see what interesting things I find in there. Now that I have a spare, I don't have to worry about turning my working ECU into a brick.
So, it looks like the only way that I am going to be able to do what I really want, is to alter the programming back to the 'R&D' way, then I can actually tweak things 'on the fly' using a laptop and a SCI or CAN interface cable. I obtained a spare ECU from another truck (ebay), I am going to download the flash through the BDM this weekend and see what interesting things I find in there. Now that I have a spare, I don't have to worry about turning my working ECU into a brick.
I think it would be kinda neat to see pics of how you have the laptop set up and all that in the truck as you go.
#23
Why?
Because it is my truck, my ECU, my flash memory chip, etc. and I have a right to know how it works. And I also have the right to do what I want with it, whether that be drive it, or take the ECU out, sprinkle cheddar cheese on it and bake it in the oven, etc.
Because it is my truck, my ECU, my flash memory chip, etc. and I have a right to know how it works. And I also have the right to do what I want with it, whether that be drive it, or take the ECU out, sprinkle cheddar cheese on it and bake it in the oven, etc.
That had me rolling.
#24
Registered User
Join Date: Jun 2007
Location: Boise Idaho
Posts: 103
Likes: 0
Received 0 Likes
on
0 Posts
I haven't been on here for a while. I found that the SCI and CAN bus functions can only access a limited range of information, and from what I have seen, you cannot update the 'important' stuff using these diagnostic functions. In fact, it looks like at one time all of the parameters could be read/written via the CAN bus, probably for R&D at Cummins. At some later time, the range of permitted parameters was limited. The entire lookup table is still there, but the SCI and CAN function that accesses them has a limitation placed on it in the programming.
So, it looks like the only way that I am going to be able to do what I really want, is to alter the programming back to the 'R&D' way, then I can actually tweak things 'on the fly' using a laptop and a SCI or CAN interface cable. I obtained a spare ECU from another truck (ebay), I am going to download the flash through the BDM this weekend and see what interesting things I find in there. Now that I have a spare, I don't have to worry about turning my working ECU into a brick.
So, it looks like the only way that I am going to be able to do what I really want, is to alter the programming back to the 'R&D' way, then I can actually tweak things 'on the fly' using a laptop and a SCI or CAN interface cable. I obtained a spare ECU from another truck (ebay), I am going to download the flash through the BDM this weekend and see what interesting things I find in there. Now that I have a spare, I don't have to worry about turning my working ECU into a brick.
I just thik it's great what your doing I'm also hoping that in the near future I can contribute something meaningful to help, data, info in gen or just support,, but I like your style,,
#25
Registered User
Thread Starter
Last week, I started working on a way to get a PC to talk to the ECU through the 'SCI' interface (OBDII port). The first attempt was a small converter circuit board, as I found that I could get close to the required 7812.5BPS speed. Investigation of the code in the ECU for reflashing, I found that when you activate the programming mode, it changes the speed of the SCI to 62.5KBPS.
Since there is no way to get the PC to do 62.5KBPS (you can have 57KBPS or 115.2KBPS), I have had to build a new circuit board that connects the SCI interface to the PC, this board has it's own processor and memory and contains a program to convert between the standard PC serial interface and the SCI. I have not done much else, except to investigate some of the interesting functions available through the SCI (please note the numbers are in hexadecimal format):
Function 14: Reads various sensor data. You can read the engine speed, APPS, IAT, MAP, CTS, and oil pressure, along with battery voltage, internal ECU voltages, and a couple of other unidentified items.
Function 13: This initiates some output tests (engine not running). It toggles the following outputs: Intake Air Heater relay 1, Intake Air Heater relay 2, Lift Pump, VP44 Relay, Wait To Start lamp, and an unidentified output. The Intake Air heater test only runs for 5 pulses. The others run much longer.
Example:
Send 14 07 to the SCI. It echoes back '14 07' then a single byte representing the APPS value. (I have a mostly complete list of codes for each input item)
Send 13 28 to the SCI. It echoes back '14 28' and turns the Intake Air Heater relay on/off 5 times.
Now I am working on the protocols for reflashing. Lots of ugly stuff in there, but I now have most of it figured out.
Since there is no way to get the PC to do 62.5KBPS (you can have 57KBPS or 115.2KBPS), I have had to build a new circuit board that connects the SCI interface to the PC, this board has it's own processor and memory and contains a program to convert between the standard PC serial interface and the SCI. I have not done much else, except to investigate some of the interesting functions available through the SCI (please note the numbers are in hexadecimal format):
Function 14: Reads various sensor data. You can read the engine speed, APPS, IAT, MAP, CTS, and oil pressure, along with battery voltage, internal ECU voltages, and a couple of other unidentified items.
Function 13: This initiates some output tests (engine not running). It toggles the following outputs: Intake Air Heater relay 1, Intake Air Heater relay 2, Lift Pump, VP44 Relay, Wait To Start lamp, and an unidentified output. The Intake Air heater test only runs for 5 pulses. The others run much longer.
Example:
Send 14 07 to the SCI. It echoes back '14 07' then a single byte representing the APPS value. (I have a mostly complete list of codes for each input item)
Send 13 28 to the SCI. It echoes back '14 28' and turns the Intake Air Heater relay on/off 5 times.
Now I am working on the protocols for reflashing. Lots of ugly stuff in there, but I now have most of it figured out.
#26
Registered User
Join Date: Jun 2007
Location: Boise Idaho
Posts: 103
Likes: 0
Received 0 Likes
on
0 Posts
Wow, Jdondghue plugging right on friggen throu that stuff, Im impressed with your attitude of stomping around in there and figuring out how to access all that!! Man good for you,, have a cold one on me, I’m looking forward to it all.
Perhaps your onto a burgeoning business idea?
Stomp stomp stomp I know your being careful
Perhaps your onto a burgeoning business idea?
Stomp stomp stomp I know your being careful
#27
Registered User
Join Date: Nov 2007
Location: magnolia,texas
Posts: 26
Likes: 0
Received 0 Likes
on
0 Posts
would like to see the torque management gone on auto trans trucks.tried a manual trans ecm and the low end power was great.the idle is stupid using the manual ecm though.the work you are doing is great.
#28
Man you should get yourself on a copy of the Authorized Cummins Software. I have the feeling it would make your work alot easier. It does all its work through the CAN bus. I have seen the Cummins software and it is pretty sweet and makes troubleshooting so easy.