The 16045148 is an interesting chip. It offloads a lot of processing from the main CPU.

I think it's weird that it doesn't have an interrupt output. I would expect an interrupt when a timer times out or when an input changes. It appears that the status bits serve this function. They are read on every interrupt. -- CliffHarris - 6-14-11

'''TODO''' Is it a GM specific chip or available from someone like TI???

My guess is that it's from Motorola. The normal 68HC11 has a bunch of timers and counters that are missing from this implementation. Those functions are needed in a peripheral. This chip also shares memory space with the 68HC11 without a chip select. That would require very tight integration in the design between the two chips. It's almost as if this were another 68HC11 with the timers and counters and without the I/O ports. -- CliffHarris - 6-1-11

= Writing the chip's registers =

It is a 16 bit peripheral, which means that the code will often look like this to write to the chip:

LDD #$7000; STD L3FEA? ;

which means that the value $7000 is written to that address on the bus. This is done as 2 8-bit cycles.

= Control Register =

The control register is located at $3FFC. This is the breakdown of the bits in the register. The values are what the $58 mask sets it to.

'''TODO''' What do the others do?

  • Bit 15: 1 ?? pfi/tbi selection? 0=TBI,1=PFI
  • Bit 14: 1 ??
  • Bit 13: 1 ?? VSS and MAF signal measure enabled
  • Bit 12: 0 ??
  • Bit 11: 1 Enable injectors
  • Bit 10: 0 Disable ASYNC trigger
  • Bit 9: 1 ??
  • Bit 8: 1 Enable PWM
  • Bit 7: 0 ??
  • Bit 6: 0 ??
  • Bit 5: 0 No delay injection mode
  • Bit 4: 1 Enable EST chip
  • Bit 3: 1 SES light off
  • Bit 2: 0 Output pin ?
  • Bit 1: 1 Device enable
  • Bit 0: 0 ??

= Other registers =

This is what the $8D uses:

  • 3FC0: Time between REF up edges. The period is in Eclk/128 ->61uS per tick approx (not confirmed)
  • 3FC2: VSS
  • 3FC4
  • 3FC6
  • 3FC8: EST Diagnostic count register
  • 3FCA: Knock sensor count register
  • 3FCC: Pin 51 PWM
  • 3FCE: Sync Injection Delay Time
  • 3FD0: Sync Injection Pulse Width
  • 3FD2
  • 3FD4: Pin 5 PWM
  • 3FD6: Pin 4 PWM
  • 3FD8: Pin 3 PWM
  • 3FDA: Pin 2 PWM
  • 3FDC: Dwell time in clock ticks
  • 3FDE
  • 3FE0: VSS
  • 3FE2
  • 3FE4: Internal time for dwell start
  • 3FE6: Change in dwell time
  • 3FE8: Change in advance time
  • 3FEA: Pin 50 PWM
  • 3FEC: Internal capture time for REF up edge
  • 3FEE
  • 3FF0
  • 3FF2: Async injection time
  • 3FF4
  • 3FF6: Advance time in clock ticks
  • 3FF8: MAF time
  • 3FFA: Status register
  • 3FFC: Control register

= Outputs =

'''This info is just roughed in'''

In the schematics, the outputs are often listed on the chip, and it indicates which memory location that the register appears at to the microprocessor.

There are 7 PWM outputs on the chip, not all of them are used by a specific mask. Consult the schematics and an ECM pinout to determine which may be available to you.

There are other outputs, OUT2 sometimes has a pullup on it ('749), but may not ('165). The SES light is also one of these outputs. Some 808 masks seem to use the SES output as the 160 baud ALDL data line.

The injector outputs are on this chip, as well as the ignition outputs.

== PWM Outputs ==

The 16 bit value is broken down into 2 things, frequency and duty cycle. This is a good page explaining PWM duty cycle and frequency.

The most significant nibble (4 bits) is the frequency of the PWM.

'''TODO''' What do these correspond to?

The rest of the bits are the duty cycle. 0 is off, $FFF is 100%, $7FF is 50%, etc.

I don't think this is true. My belief is that the first 4 bits are control bits that determine what the counter does. It also doesn't make sense to me to use 12 bits to set the duty factor. I think the 12 bits set the "on" time of the timer. It may or may not time out during the "refresh" interval (which I don't know yet). I think the major loop will sometimes reset the counter to maximum before it times out, which results in a 100% duty factor. A 100% duty factor would be desirable for outputs like MAF burnoff, CCP, TCC, EGR, etc. to keep the solenoids/relays from chattering. -- CliffHarris - 6-1-11

= Inputs =

There are several inputs on this chip as well. It seems like some of them are always tied to ground???.

'''TODO''' Need more info. Are these frequency counters, simple inputs, etc.

Some are inputs to Pulse Accumulator counters. -- CliffHarris - 5-29-11

-- AlexHarford - 30 Jun 2006

Topic revision: r6 - 15 Jun 2011 - 05:35:12 - CliffHarris
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback