= 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

Topic revision: r1 - 30 Jun 2006 - 23:02:39 - AlexHarford
 
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