LLY Ficm

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,366
113
Somewhere On The Ohio
www.marinemods.us
No luck with those missing PIDs. They are also missing in standard OBD-II requests from Troque. MAP shows stuck at 6.6psi value, no BARO or fuel rate data. Don't believe it could be a pinout difference or anything Medium Duty related, as someone would have noted this before now..

However I was able to trick this ECM into giving me a quick 8500RPM romp. Was also able to capture the control, crank, and tach wires data on the scope to verify it was actually commanding this action. The ECM was ony reading 250RPM. Freaky.. And just for @Cougar281 I recorded it on my phone..

Source: https://youtube.com/shorts/0tCUW9LgyBc


In captures below, you can see the overlap in injection cycles at that RPM. 1300us PW is what I captured, and would likely be on the low side of any true main injector pulse if ya have one 8500R's. Also that 90deg delay is gone. So would guess we are playing way outside someones design parameters. But is cool to see. Only other Duramax data capture this high I know of, is DHD running a Bosch ECM, on the chassis dyno, while on fire.. Think I'll stick with the bench.

650-8500R
LB7-650-8500R.jpg 8500R
lb7-8500R-Control-Overlap.jpg
 

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,366
113
Somewhere On The Ohio
www.marinemods.us
DTC P0370 or P0374
Circuit Description

The engine control module (ECM) replicates the signal received from the crankshaft position (CKP) sensor. This signal is sent to the fuel injection control module (FICM) through the engine speed signal circuit. The FICM uses this replicated signal to generate injection current and control the recharge of the fuel injection high voltage circuits. When cranking, the FICM has full control of the fuel injectors. The only input the FICM uses at this time is the engine speed signal from the ECM. The FICM monitors the signal along with the injection request signals from the ECM after the engine is running. If there is a problem with this signal, a DTC could set.
DTC Descriptors

This diagnostic procedure supports the following DTCs:
• DTC P0370 High Resolution Circuit
• DTC P0374 High Resolution System Performance
Conditions for Running the DTC

The engine is cranking or running.
Conditions for Setting the DTC
• The FICM does not receive a crank signal, but does receive injection requests from the ECM.
OR
• The FICM receives an invalid crank signal from the ECM.
Action Taken When the DTC Sets
• The control module illuminates the malfunction indicator lamp (MIL) when the diagnostic runs and fails.
• The control module records the operating conditions at the time the diagnostic fails. The control module stores this information in the Freeze Frame/Failure Records.
Conditions for Clearing the MIL/DTC
• The control module turns OFF the malfunction indicator lamp (MIL) after 3 consecutive ignition cycles that the diagnostic runs and does not fail.
• A current DTC, Last Test Failed, clears when the diagnostic runs and passes.
• A history DTC clears after 40 consecutive warm-up cycles, if no failures are reported by this or any other emission related diagnostic.
• Clear the MIL and the DTC with a scan tool.
Diagnostic Aids

A missing high resolution signal will cause a no-start condition. High resistance in the position sensor low reference circuit may cause this DTC to set. If the condition is intermittent, refer to Intermittent Conditions .

Sent from my FlashScan V2 using Tapatalk
Hey Jason, take note of first paragraph in this DTC definition. While I plan to further explore these statements in detail regarding our J1939 messages and the FICM control during cranking, this line below seems to match up with what I hear.

"The FICM uses this replicated signal to generate injection current and control the recharge of the fuel injection high voltage circuits."

I have a spreadsheet started with a bit for bit breakdown of CANbus messages sent from the FICM under normal, and typical stated error conditions. Basically have what it takes to make the ECM stay happy. Now moving onto the actual detailed error messages relating to individual injector circuits.

Couple interesting points I've found. The whole deal with dropping 4 cylinders or 1 bank when 2 injectors are disconnected or missfire, is done by the ECM. Seems that situation isn't related to the FICM as previously assumed. Also from my 8000RPM capture above, looks like our Injection Pulse Timing Deg shown in EFIlive, is out exact start of injection pulse. I knew this was so on the LBZ/LMM, but was thinking there was some difference on the LB7/LLY. But after reviewing the high RPM captures, the start of our Control pulse always matches up with the timing to a crank tooth, while the pulse width extends to a point of time, not rotation. Hope that helps explain it. Know it always confused me... lol

I have a bunch of scope captures already saved, if anyone likes to count pulses and us gaps in spare time, just let me know and I'll share.
 
Last edited:
  • Like
Reactions: 2004LB7

2004LB7

Well-known member
Dec 15, 2010
6,970
2,137
113
Norcal
Anyone have a datasheet or can help find the correct one for this IC? It's a Phillips 74HC4002 - AK925

All the datasheets I can find clearly show pin #6 as not connected but this one clearly is. Trying to trace out the lines and I'm stumped with this pin as it doesn't do anything per the datasheet but it is in use on these boards

iMarkup_20231007_130453.jpg
 

1FastBrick

Well-known member
Dec 1, 2016
2,539
1,068
113
Junkyard
I wonder if the fact that it can not see any fuel input, it assumes it has a leak and as a result it may be limiting you on RPM as a result???

Careful with that large fuel leak in your basement... :ROFLMAO:
 

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,366
113
Somewhere On The Ohio
www.marinemods.us
I wonder if the fact that it can not see any fuel input, it assumes it has a leak and as a result it may be limiting you on RPM as a result???

Careful with that large fuel leak in your basement... :ROFLMAO:
I think it's limp mode cause one or more sensors are out of wack.. Typically on my LMM marine stuff I have it written out. But on a stock build, ya have that limp mode torque limit to around 2000R's. Figure that's what it's seeing..

If I could read those sensor values for MAP and Fuel Pressure, you can just set them at specific expected values for say 3200Rpm 3/4 throttle, loaded, then once in place, just power REBOOT the ECM. It wakes up, sees all those set parameters, and thinks; "wow I must have just recovered from a power loss while driving down the highway.." And from that point on, you have clean slate without limp mode active. Or at worse, you can clear the codes, which will clear the limp mode until your sensors go out of range again.. Little trick I learned playing with the different ECM models on the bench.

However without being able to read the PID data, I can't set values on those sensors.. So if ya get a moment, please review pinouts on ECM connectors between Medium duty and Lite duty model LB7's. I don't think I have any power or 5v ref issues, as everything works fine on the Kodiak ECU, besides VATS issue.. I'm gonna read more on that. Cause if that truck didn't have a BCM, how the heck is it killing my fuel ?? Some sort of Class 2 connection we missed along the ways.
 

1FastBrick

Well-known member
Dec 1, 2016
2,539
1,068
113
Junkyard
I think it's limp mode cause one or more sensors are out of wack.. Typically on my LMM marine stuff I have it written out. But on a stock build, ya have that limp mode torque limit to around 2000R's. Figure that's what it's seeing..

If I could read those sensor values for MAP and Fuel Pressure, you can just set them at specific expected values for say 3200Rpm 3/4 throttle, loaded, then once in place, just power REBOOT the ECM. It wakes up, sees all those set parameters, and thinks; "wow I must have just recovered from a power loss while driving down the highway.." And from that point on, you have clean slate without limp mode active. Or at worse, you can clear the codes, which will clear the limp mode until your sensors go out of range again.. Little trick I learned playing with the different ECM models on the bench.

However without being able to read the PID data, I can't set values on those sensors.. So if ya get a moment, please review pinouts on ECM connectors between Medium duty and Lite duty model LB7's. I don't think I have any power or 5v ref issues, as everything works fine on the Kodiak ECU, besides VATS issue.. I'm gonna read more on that. Cause if that truck didn't have a BCM, how the heck is it killing my fuel ?? Some sort of Class 2 connection we missed along the ways.
Something specific I should be looking out for?
Also didn't you need me to scope something else on my truck?
 

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,366
113
Somewhere On The Ohio
www.marinemods.us
Anyone have a datasheet or can help find the correct one for this IC? It's a Phillips 74HC4002 - AK925

All the datasheets I can find clearly show pin #6 as not connected but this one clearly is. Trying to trace out the lines and I'm stumped with this pin as it doesn't do anything per the datasheet but it is in use on these boards

View attachment 118331
Did you scan those related board schematics? Where is that one located in ref to other IC's?
 

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,366
113
Somewhere On The Ohio
www.marinemods.us
Something specific I should be looking out for?
Also didn't you need me to scope something else on my truck?
Just see if anything like Circuit #'s are changed.. If we have a 12v power supply "PK" or a 5V ref line difference, then it's possible part of the ECM isn't being powered correctly. Which could impact several sensors at same time. But because the values are not being shown in EFIlive, to me it's a difference in OS issue..

@Cougar281 That ECM wouldn't happen to have a DSP5 OS would it? I read the tune, opened it, then my version of editor crashed.. Never saved my read.
 

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,366
113
Somewhere On The Ohio
www.marinemods.us
Something specific I should be looking out for?
Also didn't you need me to scope something else on my truck?
Ah yeah. Capture your Crank and Cam signals for me please. Just want a true blue live version of the LLY so we can set to rest the cam correlation deal for my emulator. Will be easy at the bail connector to find the 2 signal wires... Easy to identify, as crank and cam are both 3 wires Shielded with a ground wrap. But they split apart at the bail.

For bonus points, if you have a secondary pickup for your snapon, please snap that onto the #1 injector wires and see if it will read our pulses. Goal is to get a clean capture of Crank/Cam along with our #1 Injector in a live running environment . Then, we have a good reference for bench running tests. And a solid signal for our emulator.
 

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,366
113
Somewhere On The Ohio
www.marinemods.us
Anyone have a datasheet or can help find the correct one for this IC? It's a Phillips 74HC4002 - AK925

All the datasheets I can find clearly show pin #6 as not connected but this one clearly is. Trying to trace out the lines and I'm stumped with this pin as it doesn't do anything per the datasheet but it is in use on these boards

View attachment 118331
Found it's sibling with a full trace.

In the IC positions list for EDC16U31-1.1

8 905 957 965 IS 1 0 74HC14D F PHS 74HC14D MIXED 6*SCHMITT/INV

S8800 SO14

74HC14D Position Is S8800 in schematic: Schaltbild_EDC16U31-1.1_0281B00631_HW11.pdf

That's best I found so far.
 
  • Like
Reactions: 2004LB7

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,366
113
Somewhere On The Ohio
www.marinemods.us
Few more late night updates. Working bugs out on the bench rig. Seems we have differences in PIDs used between an 01 - 03 LB7. I grabbed my buddies snapon scanner again to scope injector pulses. And quickly noticed it was able to read "Absolute Fuel Pressure" PID where EFI didn't list that one. So looks like there is some slight OS differences between those early years. Maybe need an update. I didn't read any deeper into, but likely others have encountered this before. So will workaround it for now.

Also confirmed this particular ECM is entering Limp Mode, and killing the injectors above 2200R. However having previously dealt with a buddies truck which would fuel limp in all the wrong places, I know a good hack... If one can clear codes with an OBDII tool while on the throttle, and it will ignore any problem for a few seconds at minimum, and thus let you exceed the RPM based shutoff. Which this one also does perfectly.. So I was able to snag some 3200RPM's pics, with timing captures. And now know the fix is getting fuel pressure spoof tracking the commanded. Same for boost and MAF.. Or just write out limp mode and roll on.... :p

Couple pics from the SnapOn captures. And thanks to @1FastBrick with the 90deg offset, we can count between crank teeth in Blue, and our Injector #1 control signal in Red, to the actual injector firing, captured in Yellow. I used the emulated crank signal feeding the ECM in these logs, so we know exactly where the ECM believes TDC relationship is to final injection pulse. More to come.

LB7-Crank-Control1-InjectorsA-1.jpg

LB7-Crank-Control1-InjectorsA-2.jpg
 

kidturbo

Piston Tester
Jul 21, 2010
2,537
1,366
113
Somewhere On The Ohio
www.marinemods.us
I'm torn on 25 or 26... As I get better with this scope, I'm saying 26 again now... :rolleyes:

Captures below, I had the throttle / crank speed set at about 1700R, and exactly 10deg main pulse timing. And we know center to center on crank reluctor teeth equals 6 degrees of Kevin Bacon. So if ya count the teeth again, the big 70V pop on the #1 injectors, land 1.6 teeth prior to tooth 26 ⭐

10deg-BTDC-1.jpg



10deg-BTDC-2.jpg

Also figured out that it's best to just jack into both of the Injector Power Supply lines, to get best pulse capture. Couldn't find the secondary ignition pickup, so luckily the SnapOn can handle 100V on the probe lines. Here is a capture of both banks on Injector Power. The Red is our #1 Control wire as marker.. But because of the PW encoding, it also gives you idea where the actual injector pulse starts an stops in these power spikes. Because as you can see above, it takes 70V to open the injectors, but only about 25V to hold them open.. Or at least hold my metal caps to the end of the electromagnets. And it looks like I might have a couple out of sync.. lol

LB7-BANK_A_B.jpg
 

2004LB7

Well-known member
Dec 15, 2010
6,970
2,137
113
Norcal
I'm torn on 25 or 26... As I get better with this scope, I'm saying 26 again now... :rolleyes:
This might be the reason some get better fuel mileage then others. And why when tuned some take more timing before knocking then others. Only takes being off one tooth, or even a half a tooth
 
  • Like
Reactions: kidturbo

2004LB7

Well-known member
Dec 15, 2010
6,970
2,137
113
Norcal
Is it possible to repin the output of the FUCM to switch around the control or command so the injector control that happens 90° to another piston being at TDC is triggered at the same time? Kinda like the alternate firing order cam except keeping the same firing order but picking up the control that is 90° after in order to fire the correct injector? Basically reclocking the control forward 90° thus no delay but still correct injector firing order

When the FICM is firing x injector, it is also receiving a control for firing the next injector at the same time. Since all the injection events are 90° apart and the delay is also 90° it should be possible to repin them so that the injector that is being fired is actually being triggered by the injector control that would normally be next in line.

Injector control #3 would fire injector #1, 1 to 3, 2 to 7 and so on.

I think it would be

3>1, 1>3, 2>7, 7>8, 8>4, 4>5, 5>6, 6>3

Basically shifting then all down one

Does this make sense?
 
Last edited:

DAVe3283

Heavy & Slow
Sep 3, 2009
3,727
296
83
Boise, ID, USA
That might be possible, but what's the end goal? If the stock ECU already expects a 90° delay, there is no need to make it fire "on time". (Though really what you'd be doing is making it a 360° delay instead of 90°).

Even if the plan is to run an aftermarket ECU, all of them support entering a crank offset, so you'd just enter the same 90° offset the stock ECU uses, and they'd work fine with a stock FICM too.

Sent from my FlashScan V2 using Tapatalk
 

2004LB7

Well-known member
Dec 15, 2010
6,970
2,137
113
Norcal
That might be possible, but what's the end goal? If the stock ECU already expects a 90° delay, there is no need to make it fire "on time". (Though really what you'd be doing is making it a 360° delay instead of 90°).

Even if the plan is to run an aftermarket ECU, all of them support entering a crank offset, so you'd just enter the same 90° offset the stock ECU uses, and they'd work fine with a stock FICM too.

Sent from my FlashScan V2 using Tapatalk
It was my understanding that the 90° delay happened at the FICM. So if we make our own then we would have to build in this 90° delay. That would require a processor to count the reluctor and calculate the delay and then send the pulse to the driver circuit. It would also require that the processor hold in it's memory the exact pulse width and replicate that on the output.

Moving the control to command would make it so the circuit would be direct with no built in delay. We would be taking the next injector 90° out as our "delay". Thus no processor and programming needed. At least for a dumb board. Would be great for someone who doesn't care about the codes or can turn them off in the tune. Plus would make testing a little easier with no code to debug on top of the driver circuits
 

2004LB7

Well-known member
Dec 15, 2010
6,970
2,137
113
Norcal
A repin / changing the output sounds easy. How hard would it be to build a basic FUCM to bench test?
I'm currently working on two versions. One is just a basic driver cobbled together with a premade boost converter and some mosfets. Fist try didn't go so well as some of the mosfets shorted out causing direct 48v to be continuously supplied to the injectors. This burned out one injector solenoid. So I need to do some bench testing first to make sure it's robust enough before putting it on my truck again

The second one is a full PCB version that will not have all the safeties or protections that a production version should have but should work well enough, provided that the above test board works, to be able to run a few trucks for beta testing.

Ken is still working on the CAN communication to keep it from throwing codes along with any needed code to do whatever we need it to do.

But I'm liking the idea, if it works as I think, to "repin" it at the board level so no 90° delay would be needed and just using a processor to monitor the circuit and send codes as applicable. It could monitor the current for each injector, and maybe even compare the crank signal with the injectors similar to the stock process.