= Differences from stock 68HC11 =
This applies to the 1227730, 749:
From: Ludis Langens <ludis@xxx.com>
Date: Mon, 15 Feb 1999 04:37:26 -0800
Subject: GMP4 MPU information
The architecture of the GMP4 processor chip (used in the GM P4
generation of ECMs) is almost the same as a Motorola 68HC11 with the
following exceptions:
Bits 7 and 6 of the CCR (S and X in an 'HC11) always read as 1's.
The STOP instruction ($CF) is missing.
The XGDX instruction ($8F) is missing.
The XGDY instruction ($18 8F) is missing.
The interrupt vector map is:
$FFF0 SWI instruction
$FFF2 Internal interrupt (UART & periodic interrupt)
$FFF4 External interrupt
$FFF6 Illegal instruction
$FFF8 Bus reset (any read or write to $6000 through $6FFF)
$FFFA Watchdog reset
$FFFC Clock monitor reset
$FFFE Power on and external reset
None of the 'HC11 I/O is present. The GMP4 has it's own I/O registers
mapped to $4000 through $400F.
On-chip SRAM exists from $0000 through $01FF. $0000 through $00FF is
retained by a standby power supply. Data in $0100 through $01FF will be
lost when the main power supply shuts off.
An MPU with the part number 16034980 was used to collect the above data.
Several other part numbers are used interchangeably. They may have
differences.
= Special Registers =
*$3FC0 - $3FFA
This area is some special RAM? It gets cleared in the bua_hac initialization.
*$4000 is an I/O register. '''TODO''' What do these pins correspond to on an external chip?
I think this is the data read from the
SPI port.
This corresponds to $102A on a regular 68HC11 chip.
*$4001 is an I/O register. '''TODO''' What do these pins correspond to on an external chip?
I think this is the
SPI status register. Bit 7 seems to be the done flag.
This corresponds to $1029 on a regular 68HC11 chip.
*$4002 is an I/O register. This is PORT2 on the 749 schematic. The source code selects these by doing something like this:
LDX #$4002 ; GM Register
BCLR 0,X,#$08 ; Select serial A/D chip Clear Bit(s) in memory
*$4003 is the data direction register. For which register? It doesn't seem like $4002 because they're used as outputs.
This is set to $8F at startup.
1 means input, 0 means output.
** Bit 7: 1 (Which external pin?)
** Bit 6: 0 (Which external pin?)
** Bit 5: 0 (Which external pin?)
** Bit 4: 0 (Which external pin?)
** Bit 3: 1 (Which external pin?)
** Bit 2: 1 (Which external pin?)
** Bit 1: 1 (Which external pin?)
** Bit 0: 1 (Which external pin?)
*$4004 is an baud rate and I/O register. '''TODO''' What do these pins correspond to on an external chip?
** Bit 7: '''Unused''': Is this externally connected?
** Bit 6: Match enab bit
** Bit 5: SS1
** Bit 4: SS0
Bits 4 and 5 determine the serial port baud rate. I have a feeling this is a clock divider setting.
Baud: Bit4: Bit5:
256 1 1
1024 0 1
8192 1 0
** Bit 3: D03 1 = Enables SXR chip (bua_hac)
** Bit 2: D02
** Bit 1: D01 or Timer 1 Control PW Mod
** Bit 0: From serial rxd?
*$400B is the watchdog timer. COP, or Computer Operating Properly.
It needs to have $FF00 written to it periodically to ensure that the code hasn't gotten stuck somewhere.
During initialization it is generally done in subroutines (see the
68HC11Checksum|checksum tutorial? for details on how it is done.
During normal running it is done in the MODE Word #1 loop (does this make sense? I'm just guessing here...)
*$5000 is log RAM???
Initialization code sets it to $08.
= Peripherals =
According to
Ludis' schematic:
'''TODO''' Links to datasheets?
'''TODO''' Some notes on how to read from these peripherals.
*U5: P/N 16034988
Chip Select is called ~ADCCS, and is connected to PORT23. '''Note''' that this is negative logic.
Note that AN9 goes into an analog multiplexer U6, which allows it to select from several different analog inputs.
'''TODO''' Some notes on timing for reading analog voltages.
*U10: P/N 16045154
Chip Select is called ~GLUCS, and is connected to PORT27. '''Note''' that this is negative logic.
*U13: P/N 16034984
Chip Select is called
III1CS? , and is connected to PORT21.
*U15: P/N 16034984
Chip Select is called
III2CS? , and is connected to PORT26.
--
AlexHarford - 30 Jun 2006