From: kilian@cray.com (Alan Kilian)
Subject: MC68HC16 Primer Rev 0.1
Organization: Cray Research, Inc.
Date: 14 Dec 92 16:54:43 CST

Here's my attempt at a Motorola MC68HC16 primer.
More versions will be posted as I get time to fill things out.
If you can fill out a section please Email it to me.

1) What are the part numbers and variants?
      XC16Z1CFC16 	16.78 mHz 132 pin plastic surface mount 32 per tray.
  SPAKXC16Z1CFC16 	16.78 mHz 132 pin plastic surface mount  2 per tray.
      XC16Z1CFC20	20.00 mHz 132 pin plastic surface mount 32 per tray.
  SPAKXC16Z1CFC20 	20.00 mHz 132 pin plastic surface mount  2 per tray.
      XC16Z1CFC25 	25.00 mHz 132 pin plastic surface mount 32 per tray.
  SPAKXC16Z1CFC25 	25.00 mHz 132 pin plastic surface mount  2 per tray.
  
      XC16Z1CFD16 	16.78 mHz 132 pin molded carrier ring   10 per tube.
      XC16Z1CFD20 	20.00 mHz 132 pin molded carrier ring   10 per tube.
      XC16Z1CFD25 	25.00 mHz 132 pin molded carrier ring   10 per tube.
  
      XC16Z1CFV16 	16.78 mHz 144 pin plastic surface mount 44 per tray.
  SPAKXC16Z1CFV16 	16.78 mHz 144 pin plastic surface mount  2 per tray.
      XC16Z1CFV20	20.00 mHz 144 pin plastic surface mount 44 per tray.
  SPAKXC16Z1CFV20 	20.00 mHz 144 pin plastic surface mount  2 per tray.
      XC16Z1CFV25 	25.00 mHz 144 pin plastic surface mount 44 per tray.
  SPAKXC16Z1CFV25 	25.00 mHz 144 pin plastic surface mount  2 per tray.
  
      XC16Z1CFM16 	16.78 mHz 144 pin molded carrier ring   13 per tube.
      XC16Z1CFM20 	20.00 mHz 144 pin molded carrier ring   13 per tube.
      XC16Z1CFM25 	25.00 mHz 144 pin molded carrier ring   13 per tube.
  
  The XC means that it is still in the eXperimental production run.
  They still have some strange actions that will not be in the production
  parts. From the errata sheets I have there aren't any showstoppers.
  
  One XC16Z1CFC16 will run about $22.00 and take 16 weeks to get to you.
  Although I don't believe the 16 week lead time.

2) What is it?
   The MC68HC16Z1 is a high-speed 16-bit control unit that is upwardly code 
   compatible with MC68HC11 controllers. 

   M68HC16 controllers are built up from standard modules that interface 
   through a common internal bus.

   The 'HC16Z1 incorporates the following modules:
   a true 16-bit CPU (CPU16),
   a system integration module (SIM),
   an 8/10-bit analog-to-digital convertor (ADC),
   a queued serial module (QSM),
   a general purpose timer (GPT),
   and a 1024 byte syandby ram (SRAM).
   These modules are interconnected by the intermodule bus (IMB).

3) Features:
   CPU16:
	16-bit architecture
	Full set of 16-bit instructions
	Three 16-bit index registers
	Two 16-bit accumulators
	Control-oriented digital signal processing capability
	1 Megabyte of program memory and 1 Megabyte of data memory
	    This means you have 20 bits of effective address which
	    consists of a 16 bit page address and a 4 bit extension. 
	High-level language support
	    Like what?
	Fast interrupt response time
	    Somewhere around 25 clocks. (1.5 microSeconds @16.78 mHz)
   	    I can't get the numbers exactly from the million pages of manuals.
	Background debugging mode
	    Wow! This is cool. More later.
	Fully static operation. 
	    This means you can use whatever clock you like. All the way
	    down to zero. And you can vary the clock during execution.
   SIM:
	External bus support.
	    What a surprise
	Programmable chip select outputs.
	    Cool way to map external devices into your data space.
	System protection logic
	    Who knows what this is.
	Watchdog timer, Clock monitor and bus monitor.
	    I never use these types of things.
	Two 8-bit dual function ports.
	One 7-bit dual function port.
	Phase-Locked-Loop (PLL) Clock system.
	    You don't need a 16.78 mHz crystal. Just use a 32,768 Hz crystal.
	    (Yup, 32.768 kHz. Apparently its a watch crystal.)
   8/10-bit A/D:
	Select 8 or 10 bit precision.
	Eight channels, Eight result registers.
	    The HC11 has 4 result registers.
	Eight automated modes.
	    One bit for each of three modes:
		SCAN: continuous or single conversion
		MULT: Multiple or single channel
		S8CM: 8-conversions or 4-conversions
	    You can set as many bits as you like. 2^3 = 8 modes.
	Three result alignment modes
	    Unsigned Right-justified format
	    Unsigned Left-justified format
	    Signed Left-justified format
	One 8-bit digital input port.
	    If you don't use it as an analog input port.
   QSM:
	Queued serial preipheral interface
	    Like the HC11's SPI but has a 32 byte input and output queue
	    so you don't have to fiddle with each byte.
	One 8-bit Dual function port
	    If you don't use it as a serial port.
   GPT:
	Two 16-bit free-running counters with prescaler
	Three input capture channels
	Four output compare channels
	One input capture/output compare channel
	One pulse accumulator channel
	Two pulse width modulation outputs (PWM)
	One 8-bit Dual function port
	Two optional discrete inputs
	Optional external clock input.
   SRAM:
	1024 byte static ram
	    And its only 2 clocks away!!!
	External standby voltage supply input
	    For a lithium battery or Whopping-big capacitor.

4) How does it compare to the HC11?
5) How does the Background Debugging Mode (BDM) work?
6) Tell us about the Two 16-bit free-running counters.
7) What about power-down modes?
8) How do those PWM outputs work?
   You'll just have to wait

                                  -Alan Kilian


-- 
 -Alan Kilian           kilian@cray.com 612.683.5499 (Work) 612.721.3990 (Home)
  "Our friend Dirac has his own philosophy. It is:"
  "There is no God and Dirac is His prophet" - Some Physicist