Results 1 to 15 of 509

Thread: 1997 F-Body ECM

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    1,478
    It will be really cool to trace these channels to the connectors pins and mark the software RAM address the values of them are stored.
    There is also alot of unused pins that can be mapped that way. It is a little hack job, but that way alot of free channels can be discovered for future use.

    Do you have a detailed pictures of the PCM board. We can compare it with the obd1 pcm and see if there is any difference.

    Now it`s time to map the eside channels. If they follow the obd1 pattern there will be 8 of them.

  2. #2
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    PCBs

    IMG_1650.jpg
    IMG_1650.jpg
    Attached Images Attached Images

  3. #3
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    I have been working my way through the '97 Camaro code and making good progress. It is a bit daunting to look at how much still remains, but I keep plugging away at it.

    It has been suggested to me that the Optispark is the heart of the system and that I won't make much progress without a good understanding of it. I thought it would be easy to simulate the physical unit for use on the bench and I set out make one. I had an old board that we used way back when 68HC11 was newish. I ran into any number of troubles with this idea. I will keep the whining to a minimum BUT first the reset chip had a watchdog that needed s/w service. Hard to do when you want to use bootstrap mode. This particular board had three interconnected 68hc11 chips all running in single chip mode. The interaction between all this caused hours of delight OK OK whine mode off

    I have completed the program and will describe the result along with what assumptions I have made. The first assumption I made is that the windows in the optical disk represent logic 1. That is when the light shines through the output is set. I have not yet connected it to my bench ECM. This is the first thing I need to confirm.

    Second, from pictures of the optical disk I see that the "High resolution" will transition low to high in the center of the "Low resolution". This is the relationship I set up on my Opti-Simulator.

    Here are the waveforms...
    IMG_1662.jpg
    This screen shot is the low resolution and high resolution. You can't make out the timing of the high because there are way too many pulses

    IMG_1665.jpg
    This shot is the low and high resoluton for one of four cylinders 1, 4, 6, 7

    IMG_1655.jpg
    This shot is of cyl 8

    IMG_1666.jpg
    This shot is of cyl 3

    IMG_1667.jpg
    This shot is of cyl 5

    IMG_1668.jpg
    This shot is of cyl 2

    If you have any interest in the code, pm me.

    I needed and wrote a console app to convert S-records to the binary that bootstrap mode needs (leading sync for auto baud) I have that also if there is any interest.

    I look forward to following this up with details of the ECM code it drives.

    If there are any errors above, please let me know!

    -Tom










    The software I wrote is crude. The maximum rate could be increased from 4000 with a little code clean up. This is intended to give me a good start. I will post some results

  4. #4
    Fuel Injected! Terminal_Crazy's Avatar
    Join Date
    Oct 2015
    Location
    Lancashire England
    Posts
    414
    Hi
    Is this part correct?
    from pictures of the optical disk I see that the "High resolution" will transition low to high in the center of the "Low resolution".
    Should that be the other way around? The low res pulse transitions in the center of the high res.

    I still don’t get why they’d go to the trouble of ID’ing only 4 out of 8 cylinders when you could ID all 8.


    Mitch
    '95 Z28 M6 -Just the odd mod.
    '80 350 A3 C3 Corvette - recent addition.

  5. #5
    LT1 specialist steveo's Avatar
    Join Date
    Aug 2013
    Posts
    4,055
    keep at it! nobody in public has really tried to understand this ECM, it's been restricted to commercial developers.

    since $EE is so well understood, you should get ahold of kur4o's disassembly of $EE since there is no way they don't share some code or methodology, there's no way they did a ground up rewrite.. all of the attached sensors and devices are identical and they use very similar internal hardware. no need to reinvent the wheel and figure it all out from scratch. when i was working with $EE i used some other P66 disassemblies and got lots of clues to fill in the gaps, helped a lot

  6. #6
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    Hi Terminal_Crazy,

    Have a close look at the optical wheel...
    OWheel2.jpg

    Looking at the wheel from the front it turns clockwise. If the slot represents a "1" then the opening of hi res is rising centered on the low res. A designer might use the high res to clock in the low. I believe the leading edge of the low indicates TDC for one of the cylinders. The machine then measures the duration to determine which. Once in sync it is just about keeping count. Why four and not eight? Perhaps it had to do with GMs design goals in terms of how much of a revolution takes place before sync is determined. I am sure that start up is complex looking forward to figure it out if I can.

    Does anyone know if the wheel is removed from the optical path... do you measure a 1 or a 0 on high and low resolution inputs???

    -Tom

  7. #7
    Fuel Injected! Terminal_Crazy's Avatar
    Join Date
    Oct 2015
    Location
    Lancashire England
    Posts
    414
    Sorry, I think its semantics on the wording.
    The outer high res transitions from slot to disk (1 to 0 )first as it’s rotating, then the inner low res transitions to a slot ( 0 to 1)

    That also presumes the 2 sensors are radially aligned ?
    I would imagine they are.
    Mitch
    '95 Z28 M6 -Just the odd mod.
    '80 350 A3 C3 Corvette - recent addition.

  8. #8
    Fuel Injected! Terminal_Crazy's Avatar
    Join Date
    Oct 2015
    Location
    Lancashire England
    Posts
    414
    I think if you count the high res pulses while the low res is hi will tell you which cylinder as the other 4 low res slots are differing widths.
    There was a post fairly recently back (Gary Doug i think) posted some images. It was regarding cylinder ID.

    Mitch
    '95 Z28 M6 -Just the odd mod.
    '80 350 A3 C3 Corvette - recent addition.

  9. #9
    Fuel Injected! Terminal_Crazy's Avatar
    Join Date
    Oct 2015
    Location
    Lancashire England
    Posts
    414
    I think if you count the high res pulses while the low res is hi will tell you which cylinder as the other 4 low res slots are differing widths.
    There was a post fairly recently back (Gary Doug i think) posted some images. It was regarding cylinder ID.

    Mitch
    '95 Z28 M6 -Just the odd mod.
    '80 350 A3 C3 Corvette - recent addition.

  10. #10
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    1,478
    Common sense is when the light goes through the slot it will be 5volts on the line or 1 in digital.
    In the code there is high res counter that goes to 720, so one slot[no matter full or empty] should represent 1 degree. Or the PCM can count the raising and falling edges of the slot and you got 2 degrees from one slot. Low resolution is used for trigger when the high res counter to start. The leading edges of low res is used to calculate the time the engine rotate 90* and from there it calculates the rpm.
    I think low res is used for rpm calculations based on time and as a trigger for cyl identification based on high res counts between falling and raising edges of the low res slots.

    High res is used for precise spark timing and sequencial injectors firing. A scope test confirmed that only the first 4 pulses at cranking are not sequential. After that is full blown sequential injection. The great starting times of the lt1 engine is based on ultra precise spark delivery at all conditions, and that is possible of the 720 degree opti wheel. No spark scatering at all since it is not time based but a degree based ignition.

  11. #11
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Location
    Montgomery City, MO
    Age
    53
    Posts
    883
    Quote Originally Posted by Tom H View Post
    Does anyone know if the wheel is removed from the optical path... do you measure a 1 or a 0 on high and low resolution inputs???
    I can tell you with certainty that when the optical beam is broken the optotransistor outputs are logic low and when not broken high. It's been a while but I vaguely recall testing with a LED logic probe to determine in which state they are actively conducting (if they were PNP or NPN type transistors). You may find something useful in my rantings from here. I'll see if I can find anything there or in my notes and report back.

    Edit: To update - I don't think I tested the opti outputs for transistor type after all. But I can do that this evening with my test opti that's missing all the high voltage parts.

    Quote Originally Posted by Tom H View Post
    I find talking about degrees relating to Opti a bit confusing. Wheel has 360 slots...cam runs half speed... each slot is 2 degrees crank (yes??).
    It's actually quite simple. The way I built the logic for the diy-ltcc stuff was to count every state change (edit for clarification: either a rising edge or falling edge) on the high res ring as 1 crankshaft degree. This gives you 720 pulses per camshaft revolution. The low res side sees a rising edge signal on each TDC. By counting the degrees while the low res is either high or low one can determine the engine's position within a maximum of 2 low res rising edge triggers (180 crankshaft degrees plus width of indexed low res slot - maximum 46 degrees).

  12. #12
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Location
    Montgomery City, MO
    Age
    53
    Posts
    883
    Interesting.

    The J520 pickup has two open collector outputs - n-channel so they source / conduct current when low.

    But...

    The low res pin (farthest from the ground pin) conducts when the beam is broken.

    The high res pin (adjacent to low res pin) conducts when the beam is not broken. Since I'm 100% positive the ecu doesn't care about the "polarity" of the high-res signal it wouldn't matter. But you learn something new every day.

    This means what I said in the previous post "with certainty" only applies to the low res signal. :-)

  13. #13
    Fuel Injected! spfautsch's Avatar
    Join Date
    Apr 2015
    Location
    Montgomery City, MO
    Age
    53
    Posts
    883
    Quote Originally Posted by Terminal_Crazy View Post
    I still don’t get why they’d go to the trouble of ID’ing only 4 out of 8 cylinders when you could ID all 8.
    Bear in mind that with a batch injection start routine and a distributor, what I'm about to say is almost pointless but...

    Because even at cranking speeds around 150 RPM, the difference between firing on the first or second compression stroke after the bendix engages the flywheel is almost imperceptible.

    And...

    Because after the ecu has determined rotational position all it needs to do is follow the firing sequence on the low-res rising edge signal to know where it's at until there's a stall condition.

    To further expound on the topic, I'm starting to think the gen 2 LT-1 fires too soon. One of my first modifications to the diy-ltcc may be a surrogate low-res signal to prevent the ecu from firing the injectors (and spark) until oil pressure has been built-up.

  14. #14
    Fuel Injected!
    Join Date
    Jan 2019
    Location
    Canada
    Posts
    477
    First, thanks to everyone for your help with my project. I do appreciate your information!

    Another request of you all... Is the pinout of the 30 position ribbon cable between Eside and Tside known? I have traced perhaps half of the lines but it is an undertaking to find the rest. I am somewhat confused by the way that the two boards reference ground. I had expected ground to be passed between the boards on the cable. I can find no grounding. My best guess is that this is done through the case. If true, an important addition to my bench test will be to re-connect grounds. I notice designed in skips in the conformal coating. My best guess is that this is where the grounding is done through the case. Now I wish I didn't throw out the doner's case. If anyone knows about this I am interested in any details.

    If not already known & out there, I plan to post the ribbon pinout once all the bits are found.

    -Tom

  15. #15
    Fuel Injected!
    Join Date
    Mar 2013
    Posts
    1,478
    There is a built in ground bridge on the pcm insulator[which you dumped I guess] The contact point is a big circle at the back of the boards, near the centre.

    Just put separate grounds on the connetors and you will be good for testing. I think there are some separate grounds on the boards, but you will have to measure it.

Similar Threads

  1. 94-95 LT1 $EE Y-body vs. F/B-body PCM differences
    By johnny_b in forum GM EFI Systems
    Replies: 5
    Last Post: 01-15-2023, 02:41 PM
  2. Tuner Pro XDF 1999-2000 F Body + Y Body
    By john h in forum OBDII Tuning
    Replies: 33
    Last Post: 02-02-2020, 11:12 PM
  3. Replies: 31
    Last Post: 09-20-2018, 06:00 AM
  4. F-body engine install to B-body
    By serge_an in forum GM EFI Systems
    Replies: 4
    Last Post: 09-22-2016, 02:51 PM
  5. 95 F-body Fuel Pump with 95 B-Body Engine/Tank
    By EPS3 in forum GM EFI Systems
    Replies: 7
    Last Post: 09-19-2016, 02:40 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •