• Welcome to The Truck Stop! We see you haven't REGISTERED yet.

    Your truck knowledge is missing!
    • Registration is FREE , all we need is your birthday and email. (We don't share ANY data with ANYONE)
    • We have tons of knowledge here for your diesel truck!
    • Post your own topics and reply to existing threads to help others out!
    • NO ADS! The site is fully functional and ad free!
    CLICK HERE TO REGISTER!

    Problems registering? Click here to contact us!

    Already registered, but need a PASSWORD RESET? CLICK HERE TO RESET YOUR PASSWORD!

Anyone seen this rant on the DS4?

I read that article before.
I dont know where he's coming from with the EGR stuff as half the 6.5's are S or F and use the same IP,might have diff programmed ECM/Prom though?
 
This is also based on OBD-I, probably a different story (programming wise) on the OBD-II.
 
what the heck do we human life forms worry about emissions anyway.:rolleyes5:
Between all the vulcano eruptions,forest/brush/grass fires and the oil spills we fit right in:smile5:.

I wonder,would they have EGR's on ocean freighters/tankers?
 
what the heck do we human life forms worry about emissions anyway.:rolleyes5:
Between all the vulcano eruptions,forest/brush/grass fires and the oil spills we fit right in:smile5:.

And farts. Don't forget farts. :thumbsup:
 
Good read. It's excellent reading some random input from a seemingly knowledgebale person on the 6.5.

Thanks for that link!
 
Caption taken credit due to 10000cows.com. Transfered here for easier reading, and locking it into forum archives :)



BEGIN QUOTE HERE
========================================

Stanadyne DS4 and GM PCM.... yea, quite a piece of work.

The Stanadyne DS4 injection pump has a few issues... obviously. So does the software in the PCM. Let's start with my first rant... a fair number of people bitch at the EPA and blame them for all of the automaker's woes and all of this emission control and 'other crap we don't need'. Well, that would be acceptable, perhaps, if you had a life expectancy of, oh, twenty five years or maybe thirty, thanks to automobile pollution. Automotive emission controls is one of the more important inventions in automobiles. Well, maybe not. Perhaps we would be all driving electrically-operated vehicles instead. Emission controls really do not add that much cost to a vehicle. Safety equipment such as air bags, crush zones, and crash testing all add lots of cost and time and complexity. We complain about those, too, unless we're on the receiving end of that safety equipment - if it saves your life. The radios and DVD players, now they add cost and complexity. All of the gadgets like windshield wipers that run automagically in the rain, or windows that open so you can close the door, then close once you're done, that's added (and probably unnecessary) complexity. Electronic engine management is not that expensive, and even many of the developing countries (India, China) have been running electronic diesel controls for a few years now - it can't cost that much. Delphi is building common-rail diesel injection systems for LAWNMOWER ENGINES! That can't be terribly expensive!

Why does the 6.5L have so many problems? People tend to blame electronics (or the EPA) but there has not been a highway truck built since the late 1980's without electronic engine management. The well-loved Detroit series 40, 50, and 60 are all electronically controlled - the engines were designed that way. Even the last V92 family received electronic fuel injection. The Cat 3406, Cummins ISX, (and ISL, ISC, and ISB), Powerstroke, and DT466E - these are engines that last a million miles between rebuilds, and all electronically controlled. You can breathe the air thanks to all of this technology. You want to see what happens when you don't do this? Go visit India and China and Russia. Visit a bus barn in Hungary or Brazil full of Rabas or 'Old Smoky' Mercedes OM352. So what went wrong? Let's look at what we are working with....

The 1994-1995 6.5L TD ECM consists of a fairly low-tech set of chips. The main processor is a 68HC11F1 running with a 12.59 MHz crystal. There's about 48k of code and calibration space available. A Delphi IOR chip supplies 240 bytes of RAM and also some I/O ports and four PWM channels. A configurable timer chip is used to process pulses from the diesel pump's optical encoder and also the CKP signal. Not a big problem except that the people writing the software screwed up a bit. There are a few bugs in the software. The ones I have found include:

* The software filter used to prevent ECTS-based tables from chattering with sensor noise is not functional. There is supposed to be a deadband of 2 degrees C, however, that deadband comparison is screwed up because of a missing # sign in a CMPB instruction in the source code.
* A flag fetch from calibration does not get the correct mask. The problem here is a missing # sign in a BIT instruction in the source code. There are a couple of cases of this. One of them may actually cause a fuel dropout in the case of certain unrelated DTC's setting.
* The SCI interrupt is not equipped to be interrupted by the CKP, CMP, VSS, or OSS interrupts. That would be fine if the interrupt just stored the appropriate data and called the main program loop to actually form an SCI message. But it doesn't. So what happens is you miss interrupts if you have a scan tool connected. The correct solution would have been to disable the 160 Hz interrupt, disable the SCI interrupt, re-enable global interrupts, format the outgoing data stream, disable global interrupts, re-enable the SCI interrupt, re-enable the 160 Hz interrupt, then return from SCI interrupt.
* The subroutine used to calculate the desired EGR pressure is called twice in a row.
* In several spots, a double-precision arithmetic operation (subd, addd) only loads half of the input, leaving the other register containing some random stuff.
* In several spots, engine speed (and sometimes other things - but engine speed happens multiple times) is calculated, then is just thrown away.

Other than that, the ECM probably will do its job, more-or-less all of the time. Automotive ECM's have been shown to be rather reliable and there's no particular reason to think this one has a big problem.

The pump driver module has a reputation of blowing up. Yea, probably it deserves it. To start with, it appears to use a couple of huge bipolar transistors configured as a high-side switch, and also as a linear current regulator. I don't think I would do it that way. Using MOSFETs to switch the solenoid valve along with a high-speed PWM current regulator would be a much better solution IMHO. The Cummins ISC system, which uses a similar pump control solenoid, uses PWM control. The current trace is a straightforward linear 12A current limit. That would make a peak power dissipation (not including clamping) of around 100 watts.

The optical sensor has issues. It is bathed in diesel fuel, and is at the mercy of whatever is in there. Air bubbles? Funny thing is that Bosch has a VP44 pump with an optical encoder, as well, and it does not have a bad reputation. Does an 8-cylinder VP44 pump exist? Perhaps a good retrofit kit would be a VP44 and a new ECM.

The diesel pump. It is a solenoid-controlled rotary pump. There are several ways of modulating fuel and timing in an electronically controlled diesel pump. They are...

* Sliding rotor (EPIC). This limits plunger travel mechanically, using hydraulic pressure. The ECM controls the pressure using a pair of solenoid valves.
* Mechanical start-of-injection, solenoid spill (Lucas, Stanadyne DS4 in pump-spill mode). Start-of-injection is mechanical so the stresses on the pump are only huge. End-of-injection has some pretty substantial forces associated with it.
* In-line sleeve pump with prestroke control. Injection quantity is controlled via fuel rack, start-of-injection is controlled by timing rack. Based on the old Bosch inline pump, used on John Deere tractors, and a Zexel version is used on some older Isuzu trucks.
* Control collar (Bosch VP37). This controls fuel quantity usually via fuel throttling (cavitation of the pump) or stroke control. Timing is controlled via servo-controlled timing piston, similar to mechanical pumps. Injection quantity and timing must be measured with an electromagnetic injector.
* Solenoid SOI, solenoid spill (Bosch VP30, VP44, Stanadyne DS4 in spill-pump-spill mode). Most flexible until we get to common rail (Duramax).
* Brute Force Electronic Unit Injector, spill-pump-spill.
* Diesel timed injector. Uses liquid plunger made with diesel fuel to vary plunger length and injection timing, Cummins ISX.
* Common rail or distributor brute-force injection. Uses a solenoid valve as in a straightforward metering system (very much like a gasoline fuel injector). Duramax, Cummins ISC, Smart ForTwo CDI.

The design requirements for solenoid spill are substantial. Stanadyne didn't get one or two of them right. Things that they might have got not-quite-right:

* Slope of cam too aggressive (desired pressure or pumping rate too high) for materials.
* Pump cavitation is causing an issue.
* Resonances in the pump causing multiplication of forces beyond expected values.
* The pump appears to rely on centrifugal force to pull the plungers out - the whole case is pressurized about equally. If the inlet of the injection pump is at a significantly higher pressure than the rest of the pump, more solid operation should be assured.

Here is a photo of the guts of the ECM. I have never seen a photo of this ECM's guts, so I took the liberty of making this one.



Parts on the board of note:

* 16055199 = voltage regulator
* 16166240 = quad driver module with diagnostics
* 16034993 = stepper motor driver
* 16064606 = serial output driver
* 16084523 = SO-20 VR sensor amplifier for transmission input shaft speed
* 16158016 = 74HC4067 analogue mux
* 45555 = LM339 comparator
* 48025 = SO-14 quad NAND? gate
* 27375 = SO-14 quad gate of some sort - used in address decoder.
* 50610 = LM2904 dual op-amp
* 49226 = LM393 dual comparator
* 27377 = LM2902 quad op-amp
* 66285 = PLCC-68, Delphi IOR, mapped at $1400
* 16156598 = PLCC-68, MC68HC11F1, 3MHz rating
* 16180988 = PLCC-68, timer I/O module
* EPROM carrier, T+B 'BLUE' carrier

I/O Assignments:

* AN0 = APP
* AN1 = APP
* AN2 = Transmission force current monitor
* AN3 = APP
* AN4 = battery voltage
* AN5 = boost pressure
* AN6 = analogue mux
* AN7 = EGR/baro pressure
* PAI = 4004 pulse per mile VSS input
* TIC1 = Pin C15, VSS
* TIC2 = Pin C12, transmission input shaft speed, through 84523 buffer
* TIC3 = 8X CMP signal (low-res pump encoder signal)
* TIC4 = 4X CKP signal (from engine CKP)
* TOC4 = backup injector pulse width generation
* TOC3 = I/O pin disables injector from TIO chip, timer channel used for 160 Hz task scheduler
* TOC2 = TCC PWM generation
* PD5 = powerdown to power supply IC
* PG0 = ODM2-7
* PG1 = ITS-9 (ITS phase)
* PG2 = ITS-6 (ITS phase)
* PG3 = SCI transceiver control

AN Mux:

* MUX0 = pin B8, glow plug voltage monitor
* MUX1 = pin B11, fuel temperature signal
* MUX2 = pin A12, diagnostic switch input
* MUX3 = Pin C8, ECTS voltage
* MUX4 = pin B9, spare
* MUX5 = pump calibration
* MUX6 = QDM1-14 fault input
* MUX7 = pin C13, glow plug relay supply voltage
* MUX8 = QDM2-14 fault input
* MUX9 = pin B4, A/C request
* MUX10 = pin B12, intake air temperature
* MUX11 = pin D10, optical sensor 5V power supply
* MUX12 = unused
* MUX13 = pin C9, Transmission temperature sensor
* MUX14 =APP 2 sensor 5V power supply
* MUX15 = unused

IOR:

* 1400.7 = PCS Low Drive
* 1400.6 = ?
* 1400.5 = shift solenoid
* 1400.4 = shift solenoid
* 1400.3 = EGR vent valve
* 1400.2 = Service Throttle Lamp
* 1400.1 = ITS Enable
* 1400.0 = Glow plug relay enable
* 1402.7 = AMUX3
* 1402.6 = AMUX2
* 1402.5 = AMUX1
* 1402.4 = AMUX0
* 1402.3 = Pin E2
* 1402.2 = Pin E3
* 1402.1 = Pin E4
* 1402.0 = Pin F3 - cruise on/off
* 1404.7 = Pin F11 - cruise resume/accel
* 1404.6 = Pin F15 - cruise set/coast
* 1404.5 = Pin E10 - PRNDL B
* 1404.4 = Pin E9 - PRNDL C
* 1404.3 = Pin E8 - PRNDL A
* 1404.2 = ?
* 1404.1 = ?
* 1404.0 = Pin A6 - PTO request
* 1407.3 = MIL
* 1407.2 = Read pump trim resistor enable
* 1407.1 = Pin C9 Transmission Temp Pullup Select
* 1407.0 = Pin C8 IATS Pullup Select

How does the pump actually work, and how is it controlled? It's not really that hard. I could write this sort of code in my sleep.

The optical sensor has a 64 pulse per cylinder and a 1 pulse per cylinder track. The 1 pulse per cylinder track fires at the pump reference location which is 22.2 engine crank degrees before the start of injection. This pulse is nominally timed at 25.66 crank degrees before TDC of the engine - this is performed by doing the TDC reference offset procedure. This procedure assumes that the timing of the engine CKP is spot-on, and the pump is out. This also means that the most retarded SOI that the pump is normally capable of is 3.5 degrees of advance. Since the most retarded idle timing I have seen is about 6 crank degrees, that gives sufficient margin to accept the +/- 2 degrees allowed in the TDC offset procedure. Note that these timing values only count at idle. Due to variations in how a pump works, the actual timing of injection will vary. Note that in theory, the TDC offset procedure should not even be necessary. The TDC information is constantly there and could be used to learn the offset during normal operation.

When looking at a scan tool, there are several values displayed. The value 'Actual Injection Pump Timing' which shows about 28 crank degrees at idle, is the engine clock count (in engine degrees) between the injection pump reference pulse and the TDC reference pulse, corrected for TDC offset. The measured injection timing (around 6 degrees at idle) is then taken from the actual pump timing value, then subtract out the 22.2 crank degree reference-to-SOI offset. The desired injection pump timing simply comes from a summation of three lookup tables - base injection timing, ECTS adder, barometric adder, and IATS adder. That's it - it's actually pretty simple.

With these two numbers, the ITS stepper motor is moved back-and-forth, trying to maintain the measured injection timing at the actual injection timing. If these values vary more than a couple of degrees from each other, a DTC will set.

The injection metering pulse width (which is in crank degrees, and NOT in milliseconds), comes basically from the pump mapping tables. It is the summation of the pump mapping table, which contains the number of crank degrees from the pump reference to EOI (end-of-injection). The base pump map table is crank degrees from RPM and desired fuel quantity (in cubic millimetres). The pump resistor calibration causes a small shift in the pump mapping tables - maybe by one crank degree. The pumping cycle at idle is set up so that the metering valve closes at the pump reference location. It actually accomplishes this by generating a time delay of 83.58 crank degrees from the previous pump reference location. The 6.4 crank degrees to make it 90 is calculated as the measured injection opening delay of about 1.6 milliseconds at idle. The 'injector pulse width' shown on the scan tool is actually the injector response time. It is measured by monitoring the dip in metering valve solenoid current as the armature moves.

Optionally, the metering valve can be closed later in the pumping cycle - about 12 or 15 crank degrees - without affecting fuel metering significantly.

The ECM supports split injection. I have worked on the Cummins ISC which also supported split injection. It really does help warmup. But the calibration file doesn't use split injection, and I'm wondering if the cold warmup would be more pleasant with it. I do not know the thermodynamic properties of split injections in a prechamber diesel. On a direct injection engine, the pilot injection really does make the engine much more pleasant. It's certainly a lot quieter and smoother, anyways.

Back to the ECM hardware (and a bit of software).... Counter Logic:

* Engine clock counts is in units of 8192 / 720 crank degrees
* Injection Timing Counter: Start at pump reference, stop at TDC reference, count in engine clock counts
* Injection Response Counter: Start at first injector energize, stop at closure detect, count in E/64 (fixed speed clock)
* Injection Delay Counter: Start at pump reference, stop and energize injector when counter reaches zero, count in engine clock counts. Normally around 75-90 crank degrees of delay.
* Injection Pilot/Initial Quantity Counter: start at injector energize, stop and turn off injector when counter reaches zero, count in engine clock counts. Normally between 20 and 35 crank degrees of delay.
* Injection Pilot to Main/Split Delay Counter: Start at main quantity counter expire, stop and turn on injector when counter reaches zero, count in engine clock counts. Not used in the 6.5L.
* Injection Split/Main Quantity Counter: start at pilot delay counter expire, stop and turn off injector when counter reaches zero, count in engine clock counts. Not used in the 6.5L.

Note that in 'backup mode' - where the high-res pump signal is lost, the 68HC11 can generate injection timing signals based on the low-resolution inputs, however, that is not the preferred mode that the ECM wants to run in. In this case, the desired injector delivery is divided by engine speed to generate a pulse width. At this point, the pulse is then generated using the free-running TCNT system on the 68HC11.

How do you get more power? Carefully. If the rest of the engine will take it, you need to calibrate the injection pump table to make full use of the pump. The total pumping range of the DS4 is about 75 or 80 cubic millimetres of fuel - even more than the mechanical DB pump. However, adding boost, lowering intake air temperature (via an intercooler), and careful mapping of injection timing is the 'right' way to do it. Injection timing should be mapped and adjusted for a careful balance of exhaust temperatures and NOx formation. High exhaust temperatures are obviously not good. But neither is high NOx - not only for the emissions aspect (you may not care about that), but also for engine life (and you probably do care about that). Excessive NOx indicates excessive cylinder pressures - pressures above the design rating of the engine. Diesel engines don't really knock at high power, they just blow up, leaving you on the side of the road with a lot of hot, oily pieces hanging out.

Advancing the timing and cranking up the fuel is a great way to make a lot of smoke (ie. waste a lot of fuel), make only a little bit more power, and shorten the life of your engine. Add an air-to-air intercooler to your 6.5L diesel engine and it will be a lot happier. You will get more power, lower exhaust emissions (not that most people care about that - it's a side benefit), and longer engine life. I also would not go plugging the EGR system. The engine is timed assuming the EGR system is working, and you can cause engine damage due to the more advanced timing used with EGR. I've actually seen an engine get wrecked by overly advanced diesel timing *at idle*. It might work but the engine was calibrated with the EGR system in place. You can hear the sound change when you unhook the EGR, and that crackle that is normal on a Powerstroke direct-injection engine is not right on a prechamber diesel like the 6.5L. It is an indication of excessive cylinder pressures. Newer diesel engines will check the EGR system operation with a MAF, and will retard the injection timing if it does not find the correct amount of air and EGR. The older diesels such as the 6.5L don't do this check, and will gladly stress your head gaskets as you're trucking down the road.

My background, by the way, is an engine management designer and calibrator, and I've blown up a bit of stuff here and there. Including $10,000 prototype catalytic converters, a few engines, and I've had a near-miss (we had it putting out about 2000 ft*lbs of torque - it won't last that long at that torque level) with a Cummins ISC. The smoke was impressive, and the dyno shaft twisted off.

======================================================
END QUOTE

Easier to read now, and locked into forum archives.
 
Interesting read. It is interesting where he talks about the pump using centrifugal force to make the pistons reset, and that having positive fuel pressure would help relieve wear and tear on the pump.

Overall, his analysis seems to jive with what people have actually experienced - lower EGTs are good, Intercoolers are good, fuel pressure is essential, etc.

I will admit that I'm disappointed that GM's engineers didn't do a better job debugging their code. It would be a simple thing to either run the code through a simulator to make sure its working, or to use what's called an ICE (In-Circuit Emulator) to ensure that the code is working as designed, and that you didn't do stupid things like call for a reading off and then throw it away.

Thanks for sharing.

-Rob :)
 
Not entirely true that only centrifugal force moves the plungers out.
The internal tranfer pump holds the rotor head under 45 (600 rpm)to 157 PSI at max RPM
Housing press is between 7 and 16 psi max.
 
i dont know if i can blame a bunch of engineers that designed a ecm in the early 90's. efi was in its infancy and no other light duty diesel had efi till the 6.5 and the 94 powerstroke so i think ill let a couple glitches be ok
 
i dont know if i can blame a bunch of engineers that designed a ecm in the early 90's. efi was in its infancy and no other light duty diesel had efi till the 6.5 and the 94 powerstroke so i think ill let a couple glitches be ok

I worked as an Electrical Engineer in the 80s and 90s, and the kind of bugs he is talking about are very egregious. Electronic controllers were robust and sophisticated even in the mid 80s, and so were the simulation and debug tools. What it says to me is that GM has some seriously lousy engineers. Full system level simulation was straight-forward to do when these things were designed. No way I would let them off the hook.

-Rob :)
 
GM updated most of the OBDI programs in 1996. And there are so many different ones he probably only reviewed one. There are several different defintion files for the many different coded programs, etc.. He could have mentioned what bit locations were missing but didnt so cant verify.

If you took anything away I like this one
"If the inlet of the injection pump is at a significantly higher pressure than the rest of the pump, more solid operation should be assured."
 
The EGR rant of his is just that. Dump in too much EGR and you run out of air to burn the fuel. Great for low NOX but pukes out the black smoke. Control power with EGR? WTF is he smoking? Cut fuel to keep the bottom end in place...

EGR is only for NOX reduction.

Watch how bad the EGR makes a Duramax smoke and the fight with that smoke plugging up the DPF...

Blocking the EGR unlocks lots of low end power on the Dmax so maybe his rant is how EGR limits your ability to make power.
 
:iagree:

Engineer for 23 years, from early days of the switching over to electronic controls versus banks of relays turned off and on by rows of switches and cams. From what I can remember , he sounds mostly right.
After I got into management overseeing QC, we would not tolerate this kind of screwups (the program mistakes). I LAY THE BLAME ON MANAGEMENT TOLERATING MEDIOCRE WORK.
 
Back
Top