When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
I think you guy's are the only ones that might know the answer to this.
Background, I have a 1988 Corvette with a ZZ4 block and cam, Profiler 195 heads, and a custom single plane intake manifold.
I'm running 32B code, an MAF and using the pulse width tables for my injector fueling.
Problem I'm running into is that the engine will rev to exactly 6375 rpm, drop and bounce back to 6375 again, like it hits a rev limiter.
I have the rev limiter in the constant tables set to 6800 rpm to get that out of the picture.
The engine is still pulling pretty strong until it hits this problem.
Is this a math issue in the code because the tables only go to 6400 rpm?
Here is an RPM trace of the problem.
I know there are newer and better ways to control the engine now than the old 32B code, but I have things pretty well sorted out except for this.
Though its not the same PCM, I know the LT1 PCM in my GTA only reports up to 6000rpm for the ALDL, I have to reference a different stream to see values above that. But it doesn't affect the engines ability to rev beyond 6k. I've hit 7200 on some runs, which is where my limiter is set. Usually I keep it to 7k since peak power is 6800-6900.
I found this, but not sure what GM ECU they are referencing. But I remember reading about this limitation at some point in the past.
The ECU chosen for this project is one found is many late 1980’s and early 1990’s GM vehicles and is know by its part number, 1227730 (or 1227727 which is the under hood version). The ECU has a customized version of the Motorola 6811 processor and runs code written in Assembly. The processor runs at 8.388 Mhz’s, has 2 kilobytes of RAM, and a 32 kilobyte UV EPROM for code and calibration data. This code has since been disassembled and commented by auto hobbyists for the general public use. GM has platform dependent code which is vehicle specific and is called code “masks”. The specific code mask a vehicle runs is determined by engine type, transmission configuration, which ECU is used in the vehicle, and other vehicle features. The code mask used in this project is $8d, which is used on the 1990-1992 Pontiac Firebird, 1990-1992 Chevrolet Camaro, and the 1990-1991 Chevrolet Corvette. ECU code along with engine specific data such as fuel maps are hard coded into a removable EPROM chip inside the ECU, which is called the “MemCal”, which stands for Memory Calibration Unit. This made it easy for GM to use the same ECU across different platforms and for technicians to upgrade the calibration in case a problem was found after production.
The maximum RPM the ECU can read is 6375 RPM’s. This is because the engine RPM is stored in one byte of memory with a multiplier of 25. This results in 255 multiplied by 25 which equals 6375 RPM. The engine the ECU operates is only capable of 6000 RPM’s so this limit is not a problem. Some ECU’s and or code masks can read up to 9000 RPM’s so it was decided to make the RPM generator circuit output a maximum frequency equivalent to 9000 RPM’s for future uses. The distributor which generates the RPM signal for the ECU is connected to a camshaft which rotates at half the speed of the engine output crankshaft. The distributor outputs one pulse per cylinder fired. So the distributor is outputting 4 pulses per engine rotation on a V8 engine. The maximum frequency desired for the circuit to produce is calculated below:
Set the rev limiter higher, it may be getting hit or close to it. To read the RPM above 6375 need to use the 8192 baud data stream. This stream has the RPM based on the time between reference pulses and has no real upper limit to the RPM that can be reported.
This feels like something actually happening, rather than just a read through problem.
I have a aftermarket tachometer wired to the distributor, and it hovers between 6400 and 6200 also.
I'm used to seeing the MAF peg at about 4900 rpm, but it just levels off on a straight 255 line, this bounces up and down?
The Profiler heads have pretty heavy dual springs, so I don't think it's valve float.
Maybe the stock roller lifters are pumping up, but it just seams to regular for a mechanical issue.
I suppose a mechanical problem combined with an RPM reading limit could be happening together.
I'm using an old copy of Datamaster, and I have to flip a 10K resistor to get the data signal started.
Am I running at 8192 baud rate?
If you have maxed the maf 255gps might look at blowerworks maf or dynamic efi ebl and go map
Yes, it's choking you down. Those horses have to breathe! When I switched my 86 Corvette to map I discovered that with the stock air filter housing and the stock maf sensor, I was down to 92 KPa by 5000 rpms. With no maf and a fabricated air filter housing I am now at 98-99 KPa at my redline of 6200.
Last edited by Larry; Jun 20, 2021 at 10:22 AM.
Reason: spelling error
The engine may just be leaning out, due to either the MAF limit or not enough fuel delivery. It is common to use the PE enrichment to further add fuel beyond the 255 gps limit. There is a PE enrichment table based on RPM that can be used.
For the past 30 years or so, yes I'm old, I ran a Paxton SuperCharger on this engine with a modified TPI.
Would max out the MAF even lower, around 3600.
That's why I was using the pulse tables.
I would let the MAF adjust the fuel during the lighter load and than take over the high loads with the tables and the power enrichment table.
Got a little spreadsheet that I've been using.
I have an AEM wideband to tune the WOT, and I am a pretty flat 12.5 across the RPM sweep.
I don't see any vacuum register on my vac/boost manifold gauge at full throttle, so I don't think the throttle, MAF or air filter are much restriction at my power level.
Something is happening here, I'll do some more thinking on it.
Guess my question here is ... if you use the BPW Fuel vs. Load tables instead of the calculation method, what happens when it looks for a table above 6400 RPM and doesn't find one?
;-------------------------------------------------
; BASE PULSE INJECTION vs LOAD
;
; BPINJ/5 = 89 * KINJXBC * LV8 / ( 1024 * KLVMSC
;
; ABTC, ECM TYPE $32, MY 87
;
; TBL = Msec * (65536/5)
; FOR KINJXBC, N = (E * 5) * 256 WHERE
; E = INJ FLOW RATE in SEC/GRAM
;-------------------------------------------------
LC434: FCB 0 ; Min RPM Val
FCB 0 ; Min LD VAL Value
FCB 17 ; COL'S/ROW
;-------------------------------------------------
;--------------------------------------------------
Guess my question here is ... if you use the BPW Fuel vs. Load tables instead of the calculation method, what happens when it looks for a table above 6400 RPM and doesn't find one?
The ECM uses the 6400 RPM row. This is also true for the lower limit and for 3D tables the column to use.
So you have a wideband? What is it reading during the wot pull? 12.5? Whats your power enrichment vs rpm table look like?
what spark plugs and plug gap are you using?
what injectors?
only things i ever seen limit rpm is plugs and fueling if it wasnt the limiter Or fuel cutoff itself. Wide plug gap or e3 plugs can kill an engines rpm. Too lean can kill it as well as too rich
I just refreshed the ZZ4 small block with new rings, the Profiler heads and single plane intake are just installed.
Ford 30 lb injectors, Walbro high flow pump, have an electric fuel pressure gauge and the pressure holds at 42 lbs for the full runs.
All new plugs (AC MR43LTS), ignition wires, rotor, cap, distributor gear, control module, and reused my old Hypertech coil.
Plug gaps were checked to the stock 0.040 inch gap.
I like to keep the tuning simple for me to understand, so I zero out the WOT% vs RPM table, set the WOT% table to 14.5, and do my injector pulse tuning in the tables.
This is pretty typical of my last few bins for the higher load LV8 parts of the tables.
And the last few wide band data traces from the AEM gauge.
I was working out the lean spot between 4200 and 4800, but its pretty flat after that.
The darker trace is the last test run.
Thinking about what RBob said about the tables, I looked closer at three data points along where this is happening and the Injector pulse stays the same, even though the RPM is bouncing up and down.
That would suggest that the ECM isn't confused or pulling fuel while this is happening.
Maybe it is a physical problem ignition breakup or the maybe the stock lifters can't handle the stiffer valve springs?
Im not to familiar with $32B, i did one but it was a mild setup, im mostly familiar with $6E, but usually when the maf maxes I rely on the pe% vs rpm. I do not zero that out, but if what you are doing gives the air fuel you need then thats good
usually on performance builds i run .035 gaps on plugs. I would think.040 should light that at 6400 rpm tho.
two things to check are valvetrain geometry at this point. Make sure pushrod length is right and the valve tip has a narrow sweep pattern. Does not need to be centered and likely will not be but on the outer 2/3 is ok. A lot of rocker geometries will never be centered on sbc stuff. Wrong geometry can cause valvefloating as it wrecks the valve guides. I have been there before lol
what valve springs are in it? What is installed height and coil bind clearance? What spring pressures. This could be helpful to know if its a mechanical issue.
Datamaster also has the drp-based rpm signal available, I just forget how its labelled in Datamaster (RPM16 or something like that). If you display that signal along with the rpm x signal (0-6375 rpm), you will see that it can be very noisy at high rpm, Of course this won't help determine the cause, but should give you an idea of the rpm behavior above 6375. It is likely bouncing around considerably above and below 6375 rpm.
Sorry if this link doesn't open and display properly on this board, but its an example of both signals up to 7200 + rpm to show the behavior.
Datamaster also has the drp-based rpm signal available, I just forget how its labelled in Datamaster (RPM16 or something like that).
I did see DataMaster had an RPM16 data stream.
A little less noise than the RPM and did find one 6597 rpm spike so no 6375 cap, but most other values match pretty close.
The Pro-Filer dual springs measure 120 pounds seat force and 300 pounds at 0.55 inches lift.
The ZZ4 cam is .506 intake and .544 exhaust with my 1.6 rockers.
I should have plenty of room before coil bind.
The pattern on the tip looked acceptable.
It looks like the code and fuel are functioning as they should at this point...
Probably an acceptable conclusion that I need to look beyond code issues to figure out the problem
Last edited by SuperZZ4; Jun 21, 2021 at 05:16 PM.
Would think that zz4 cam would be fine with those springs. Wouldnt mind seeing a bit more open pressure to be honest. Wouldnt think it had the duration to make power over 6300 anyway even with single plane and 195 heads. You could check ignition stuff. Make sure no cracked plugs cap or arcing wires etc
maybe even tighten gap to .030. Wont hurt to try anything
Datamaster also has the drp-based rpm signal available, I just forget how its labelled in Datamaster (RPM16 or something like that). If you display that signal along with the rpm x signal (0-6375 rpm), you will see that it can be very noisy at high rpm, Of course this won't help determine the cause, but should give you an idea of the rpm behavior above 6375. It is likely bouncing around considerably above and below 6375 rpm.
Sorry if this link doesn't open and display properly on this board, but its an example of both signals up to 7200 + rpm to show the behavior.
I think at 7000 rpm ... all the screws would shake out of my dashboard
Yes, the elephant in the room is the ZZ4 cam
A little more of the story....
This car, like me, is getting old and it's become a weekend cruiser.
I damaged two pistons with a bad tank of gas, so I decided to pull off the Supercharger and all the complications that go with it.
The intent was to rebuild it simple, reliable and drivable and to make enough power to not embarrass me.
Ran a lot of simulations and convinced myself that the ZZ4 cam would peek somewhere around 5800 - 6000 rpm and hold pretty well past that.
Could be I was optimistic about that and the cam is just running out.
I've started to look around for a friendly dyno.
I know DataMaster's dyno is a bit sketchy, but it shows it peaking much lower.