电子工程世界电子工程世界电子工程世界

产品描述

搜索
 

MC9S12GC32VFU

器件型号:MC9S12GC32VFU
厂商名称:FREESCALE (NXP )
下载文档

器件描述

Microcontrollers

文档预览

MC9S12GC32VFU器件文档内容

MC9S12C Family
MC9S12GC Family
Reference Manual

HCS12
Microcontrollers

  MC9S12C128
  Rev 01.23
  05/2007

  freescale.com
To provide the most up-to-date information, the revision of our documents on the World Wide Web will be
the most current. Your printed copy may be an earlier revision. To verify you have the latest information
available, refer to:

   http://freescale.com/

A full list of family members and options is included in the appendices.

The following revision history table summarizes changes contained in this document.

This document contains information for all constituent modules, with the exception of the S12 CPU. For
S12 CPU information please refer to the CPU S12 Reference Manual.

Revision History                      Revision                                             Description
                                        Level
                             Date       01.14   New Book
                         June, 2005     01.15
                          July, 2005            Removed 16MHz option for 128K, 96K and 64K versions
                                        01.16   Minor corrections following review
                          Oct, 2005     01.17
                         Dec, 2005      01.18   Added outstanding flash module descriptions
                         Dec, 2005      01.19   Added EPP package options
                          Jan, 2006     01.20   Corrected and Enhanced recommended PCB layouts
                          Mar, 2006     01.21
                         May, 2006              Added note to PIM block diagram figure
                                        01.22
                         Dec, 2006              Added PIM rerouting information to 80-pin package diagram
                                        01.23
                         May, 2007              Modified LVI levels in electrical parameter section
                                                Corrected TSCR2 typo in timer register listing

                                                Cleaned up Device Overview Section

                                                Added 0M66G to PartID table
                                                Added units to MSCAN timing parameter table
                                                Corrected missing overbars on pin names

                                                Corrected CRGFLG contents in register summary
                                                Removed non existing part number options
                                                Removed unintended symbol fonts from table A6

                                                Updated ATD section
                                                Corrected typos
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128) . 17
Chapter 2 Port Integration Module (PIM9C32) . . . . . . . . . . . . . . . . . . . . . 73
Chapter 3 Module Mapping Control (MMCV4) . . . . . . . . . . . . . . . . . . . . 109
Chapter 4 Multiplexed External Bus Interface (MEBIV3) . . . . . . . . . . . . 129
Chapter 5 Interrupt (INTV1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Chapter 6 Background Debug Module (BDMV4) . . . . . . . . . . . . . . . . . . 165
Chapter 7 Debug Module (DBGV1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Chapter 8 Analog-to-Digital Converter (ATD10B8C) . . . . . . . . . . . . . . . 223
Chapter 9 Clocks and Reset Generator (CRGV4) . . . . . . . . . . . . . . . . . . 251
Chapter 10 Scalable Controller Area Network (S12MSCANV2) . . . . . . . . 287
Chapter 11 Oscillator (OSCV2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Chapter 12 Pulse-Width Modulator (PWM8B6CV1) . . . . . . . . . . . . . . . . . 347
Chapter 13 Serial Communications Interface (S12SCIV2) . . . . . . . . . . . . 383
Chapter 14 Serial Peripheral Interface (SPIV3) . . . . . . . . . . . . . . . . . . . . 413
Chapter 15 Timer Module (TIM16B8CV1) . . . . . . . . . . . . . . . . . . . . . . . . . 435
Chapter 16 Dual Output Voltage Regulator (VREG3V3V2) . . . . . . . . . . . 461
Chapter 17 16 Kbyte Flash Module (S12FTS16KV1) . . . . . . . . . . . . . . . . . 469
Chapter 18 32 Kbyte Flash Module (S12FTS32KV1) . . . . . . . . . . . . . . . . . 507
Chapter 19 64 Kbyte Flash Module (S12FTS64KV4) . . . . . . . . . . . . . . . . . 541
Chapter 20 96 Kbyte Flash Module (S12FTS96KV1) . . . . . . . . . . . . . . . . . 579
Chapter 21 128 Kbyte Flash Module (S12FTS128K1V1) . . . . . . . . . . . . . . 617
Appendix A Electrical Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
Appendix B Emulation Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
Appendix C Package Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
Appendix D Derivative Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  3

                         Rev 01.23
Appendix E Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690

4  MC9S12C-Family / MC9S12GC-Family  Freescale Semiconductor

   Rev 01.23
                                               Chapter 1
            MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
         1.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
         1.1.2 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
         1.1.3 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.2 Memory Map and Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
         1.2.1 Device Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
         1.2.2 Detailed Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
         1.2.3 Part ID Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

1.3 Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
         1.3.1 Device Pinouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
         1.3.2 Signal Properties Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
         1.3.3 Pin Initialization for 48- and 52-Pin LQFP Bond Out Versions . . . . . . . . . . . . . . . . . . . 50
         1.3.4 Detailed Signal Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
         1.3.5 Power Supply Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

1.4 System Clock Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1.5 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

         1.5.1 Chip Configuration Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
         1.5.2 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
         1.5.3 Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
1.6 Resets and Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
         1.6.1 Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
         1.6.2 Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
1.7 Device Specific Information and Module Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
         1.7.1 PPAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
         1.7.2 BDM Alternate Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
         1.7.3 Extended Address Range Emulation Implications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
         1.7.4 VREGEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
         1.7.5 VDD1, VDD2, VSS1, VSS2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
         1.7.6 Clock Reset Generator And VREG Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
         1.7.7 Analog-to-Digital Converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
         1.7.8 MODRR Register Port T And Port P Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
         1.7.9 Port AD Dependency On PIM And ATD Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
1.8 Recommended Printed Circuit Board Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

                                               Chapter 2
                Port Integration Module (PIM9C32) Block Description

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
         2.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  5

                         Rev 01.23
         2.1.2 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.2 Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.3 Memory Map and Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

         2.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
         2.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
         2.4.1 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
         2.4.2 Port Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
         2.4.3 Port A, B, E and BKGD Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
         2.4.4 External Pin Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
         2.4.5 Low Power Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
2.5 Initialization Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
         2.5.1 Reset Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
2.6 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
         2.6.1 Interrupt Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
         2.6.2 Recovery from STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
2.7 Application Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

                                               Chapter 3
                Module Mapping Control (MMCV4) Block Description

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
         3.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
         3.1.2 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

3.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3.3 Memory Map and Register Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

         3.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
         3.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
         3.4.1 Bus Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
         3.4.2 Address Decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
         3.4.3 Memory Expansion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

                                               Chapter 4
                      Multiplexed External Bus Interface (MEBIV3)

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
         4.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
         4.1.2 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

4.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.3 Memory Map and Register Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

         4.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
         4.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
         4.4.1 Detecting Access Type from External Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
         4.4.2 Stretched Bus Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

6  MC9S12C-Family / MC9S12GC-Family  Freescale Semiconductor

   Rev 01.23
         4.4.3 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
         4.4.4 Internal Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
         4.4.5 Low-Power Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

                                               Chapter 5
                             Interrupt (INTV1) Block Description

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
         5.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
         5.1.2 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

5.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
5.3 Memory Map and Register Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

         5.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
         5.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
5.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
         5.4.1 Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
5.5 Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
5.6 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
         5.6.1 Interrupt Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
         5.6.2 Highest Priority I-Bit Maskable Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
         5.6.3 Interrupt Priority Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
5.7 Exception Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

                                               Chapter 6
              Background Debug Module (BDMV4) Block Description

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
         6.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
         6.1.2 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

6.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
         6.2.1 BKGD -- Background Interface Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
         6.2.2 TAGHI -- High Byte Instruction Tagging Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
         6.2.3 TAGLO -- Low Byte Instruction Tagging Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

6.3 Memory Map and Register Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
         6.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
         6.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

6.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
         6.4.1 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
         6.4.2 Enabling and Activating BDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
         6.4.3 BDM Hardware Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
         6.4.4 Standard BDM Firmware Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
         6.4.5 BDM Command Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
         6.4.6 BDM Serial Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
         6.4.7 Serial Interface Hardware Handshake Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
         6.4.8 Hardware Handshake Abort Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
         6.4.9 SYNC -- Request Timed Reference Pulse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  7

                         Rev 01.23
         6.4.10 Instruction Tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
         6.4.11 Instruction Tagging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
         6.4.12 Serial Communication Time-Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
         6.4.13 Operation in Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
         6.4.14 Operation in Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

                                               Chapter 7
                        Debug Module (DBGV1) Block Description

7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
         7.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
         7.1.2 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
         7.1.3 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

7.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
7.3 Memory Map and Register Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

         7.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
         7.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
7.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
         7.4.1 DBG Operating in BKP Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
         7.4.2 DBG Operating in DBG Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
         7.4.3 Breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
7.5 Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
7.6 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

                                               Chapter 8
                         Analog-to-Digital Converter (ATD10B8C)

                                         Block Description

8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
         8.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
         8.1.2 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
         8.1.3 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

8.2 Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
         8.2.1 AN7 / ETRIG / PAD7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
         8.2.2 AN6 / PAD6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
         8.2.3 AN5 / PAD5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
         8.2.4 AN4 / PAD4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
         8.2.5 AN3 / PAD3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
         8.2.6 AN2 / PAD2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
         8.2.7 AN1 / PAD1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
         8.2.8 AN0 / PAD0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
         8.2.9 VRH, VRL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
         8.2.10 VDDA, VSSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

8.3 Memory Map and Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
         8.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
         8.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

8  MC9S12C-Family / MC9S12GC-Family  Freescale Semiconductor

   Rev 01.23
8.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
         8.4.1 Analog Sub-block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
         8.4.2 Digital Sub-block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

8.5 Initialization/Application Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
         8.5.1 Setting up and starting an A/D conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
         8.5.2 Aborting an A/D conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

8.6 Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
8.7 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

                                               Chapter 9
              Clocks and Reset Generator (CRGV4) Block Description

9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
         9.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
         9.1.2 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
         9.1.3 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

9.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
         9.2.1 VDDPLL, VSSPLL -- PLL Operating Voltage, PLL Ground . . . . . . . . . . . . . . . . . . . . . . 253
         9.2.2 XFC -- PLL Loop Filter Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
         9.2.3 RESET -- Reset Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254

9.3 Memory Map and Register Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
         9.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
         9.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

9.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
         9.4.1 Phase Locked Loop (PLL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
         9.4.2 System Clocks Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
         9.4.3 Clock Monitor (CM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
         9.4.4 Clock Quality Checker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
         9.4.5 Computer Operating Properly Watchdog (COP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
         9.4.6 Real-Time Interrupt (RTI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
         9.4.7 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
         9.4.8 Low-Power Operation in Run Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
         9.4.9 Low-Power Operation in Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
         9.4.10 Low-Power Operation in Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278

9.5 Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
         9.5.1 Clock Monitor Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
         9.5.2 Computer Operating Properly Watchdog (COP) Reset . . . . . . . . . . . . . . . . . . . . . . . . . 284
         9.5.3 Power-On Reset, Low Voltage Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

9.6 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
         9.6.1 Real-Time Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
         9.6.2 PLL Lock Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
         9.6.3 Self-Clock Mode Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  9

                         Rev 01.23
                                              Chapter 10
          Freescale's Scalable Controller Area Network (S12MSCANV2)

10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
         10.1.1 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
         10.1.2 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
         10.1.3 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
         10.1.4 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

10.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
         10.2.1 RXCAN -- CAN Receiver Input Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
         10.2.2 TXCAN -- CAN Transmitter Output Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
         10.2.3 CAN System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

10.3 Memory Map and Register Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
         10.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
         10.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
         10.3.3 Programmer's Model of Message Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

10.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
         10.4.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
         10.4.2 Message Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
         10.4.3 Identifier Acceptance Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
         10.4.4 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
         10.4.5 Low-Power Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
         10.4.6 Reset Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
         10.4.7 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339

10.5 Initialization/Application Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
         10.5.1 MSCAN initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341

                                              Chapter 11
                           Oscillator (OSCV2) Block Description

11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
         11.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
         11.1.2 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343

11.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
         11.2.1 VDDPLL and VSSPLL -- PLL Operating Voltage, PLL Ground . . . . . . . . . . . . . . . . . . . 344
         11.2.2 EXTAL and XTAL -- Clock/Crystal Source Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
         11.2.3 XCLKS -- Colpitts/Pierce Oscillator Selection Signal . . . . . . . . . . . . . . . . . . . . . . . . . 345

11.3 Memory Map and Register Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
11.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

         11.4.1 Amplitude Limitation Control (ALC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
         11.4.2 Clock Monitor (CM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
11.5 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

                                              Chapter 12
             Pulse-Width Modulator (PWM8B6CV1) Block Description

12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

10  MC9S12C-Family / MC9S12GC-Family  Freescale Semiconductor

    Rev 01.23
         12.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
         12.1.2 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
         12.1.3 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
12.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
         12.2.1 PWM5 -- Pulse Width Modulator Channel 5 Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
         12.2.2 PWM4 -- Pulse Width Modulator Channel 4 Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
         12.2.3 PWM3 -- Pulse Width Modulator Channel 3 Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
         12.2.4 PWM2 -- Pulse Width Modulator Channel 2 Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
         12.2.5 PWM1 -- Pulse Width Modulator Channel 1 Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
         12.2.6 PWM0 -- Pulse Width Modulator Channel 0 Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
12.3 Memory Map and Register Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
         12.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
         12.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
12.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
         12.4.1 PWM Clock Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
         12.4.2 PWM Channel Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
12.5 Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
12.6 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381

                                              Chapter 13
                      Serial Communications Interface (S12SCIV2)

                                         Block Description

13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
         13.1.1 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
         13.1.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
         13.1.3 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
         13.1.4 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

13.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
         13.2.1 TXD-SCI Transmit Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
         13.2.2 RXD-SCI Receive Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

13.3 Memory Map and Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
         13.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
         13.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

13.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
         13.4.1 Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
         13.4.2 Baud Rate Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
         13.4.3 Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
         13.4.4 Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
         13.4.5 Single-Wire Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
         13.4.6 Loop Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409

13.5 Initialization Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
         13.5.1 Reset Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
         13.5.2 Interrupt Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
         13.5.3 Recovery from Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  11

                         Rev 01.23
                                              Chapter 14
                Serial Peripheral Interface (SPIV3) Block Description

14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
         14.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
         14.1.2 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
         14.1.3 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414

14.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
         14.2.1 MOSI -- Master Out/Slave In Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
         14.2.2 MISO -- Master In/Slave Out Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
         14.2.3 SS -- Slave Select Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
         14.2.4 SCK -- Serial Clock Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

14.3 Memory Map and Register Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
         14.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
         14.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416

14.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
         14.4.1 Master Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
         14.4.2 Slave Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
         14.4.3 Transmission Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
         14.4.4 SPI Baud Rate Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
         14.4.5 Special Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
         14.4.6 Error Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
         14.4.7 Operation in Run Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
         14.4.8 Operation in Wait Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
         14.4.9 Operation in Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432

14.5 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
14.6 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433

         14.6.1 MODF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
         14.6.2 SPIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
         14.6.3 SPTEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433

                                              Chapter 15
                    Timer Module (TIM16B8CV1) Block Description

15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
         15.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
         15.1.2 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
         15.1.3 Block Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436

15.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
         15.2.1 IOC7 -- Input Capture and Output Compare Channel 7 Pin . . . . . . . . . . . . . . . . . . . . 438
         15.2.2 IOC6 -- Input Capture and Output Compare Channel 6 Pin . . . . . . . . . . . . . . . . . . . . 438
         15.2.3 IOC5 -- Input Capture and Output Compare Channel 5 Pin . . . . . . . . . . . . . . . . . . . . 438
         15.2.4 IOC4 -- Input Capture and Output Compare Channel 4 Pin . . . . . . . . . . . . . . . . . . . . 438
         15.2.5 IOC3 -- Input Capture and Output Compare Channel 3 Pin . . . . . . . . . . . . . . . . . . . . 438
         15.2.6 IOC2 -- Input Capture and Output Compare Channel 2 Pin . . . . . . . . . . . . . . . . . . . . 439
         15.2.7 IOC1 -- Input Capture and Output Compare Channel 1 Pin . . . . . . . . . . . . . . . . . . . . 439

12  MC9S12C-Family / MC9S12GC-Family  Freescale Semiconductor

    Rev 01.23
         15.2.8 IOC0 -- Input Capture and Output Compare Channel 0 Pin . . . . . . . . . . . . . . . . . . . . 439
15.3 Memory Map and Register Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439

         15.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
         15.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
15.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
         15.4.1 Prescaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
         15.4.2 Input Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
         15.4.3 Output Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
         15.4.4 Pulse Accumulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
         15.4.5 Event Counter Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
         15.4.6 Gated Time Accumulation Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
15.5 Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
15.6 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
         15.6.1 Channel [7:0] Interrupt (C[7:0]F) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
         15.6.2 Pulse Accumulator Input Interrupt (PAOVI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
         15.6.3 Pulse Accumulator Overflow Interrupt (PAOVF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
         15.6.4 Timer Overflow Interrupt (TOF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459

                                              Chapter 16
                      Dual Output Voltage Regulator (VREG3V3V2)

                                         Block Description

16.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
         16.1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
         16.1.2 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
         16.1.3 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462

16.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
         16.2.1 VDDR -- Regulator Power Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
         16.2.2 VDDA, VSSA -- Regulator Reference Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
         16.2.3 VDD, VSS -- Regulator Output1 (Core Logic) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
         16.2.4 VDDPLL, VSSPLL -- Regulator Output2 (PLL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
         16.2.5 VREGEN -- Optional Regulator Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464

16.3 Memory Map and Register Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
         16.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
         16.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465

16.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
         16.4.1 REG -- Regulator Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
         16.4.2 Full-Performance Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
         16.4.3 Reduced-Power Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
         16.4.4 LVD -- Low-Voltage Detect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
         16.4.5 POR -- Power-On Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
         16.4.6 LVR -- Low-Voltage Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
         16.4.7 CTRL -- Regulator Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466

16.5 Resets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
         16.5.1 Power-On Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
         16.5.2 Low-Voltage Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  13

                         Rev 01.23
16.6 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
         16.6.1 LVI -- Low-Voltage Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467

                                              Chapter 17
                          16 Kbyte Flash Module (S12FTS16KV1)

17.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
         17.1.1 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
         17.1.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
         17.1.3 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
         17.1.4 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470

17.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
17.3 Memory Map and Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

         17.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
         17.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
17.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
         17.4.1 Flash Command Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
         17.4.2 Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
         17.4.3 Flash Module Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
         17.4.4 Flash Reset Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
         17.4.5 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506

                                              Chapter 18
                          32 Kbyte Flash Module (S12FTS32KV1)

18.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
         18.1.1 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
         18.1.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
         18.1.3 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
         18.1.4 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508

18.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
18.3 Memory Map and Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509

         18.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
         18.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
18.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
         18.4.1 Flash Command Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
         18.4.2 Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
         18.4.3 Flash Module Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
         18.4.4 Flash Reset Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
         18.4.5 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540

                                              Chapter 19
                          64 Kbyte Flash Module (S12FTS64KV4)

19.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
         19.1.1 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
         19.1.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541

14  MC9S12C-Family / MC9S12GC-Family  Freescale Semiconductor

    Rev 01.23
         19.1.3 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
         19.1.4 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
19.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
19.3 Memory Map and Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
         19.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
         19.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
19.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
         19.4.1 Flash Command Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
         19.4.2 Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
         19.4.3 Flash Module Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
         19.4.4 Flash Reset Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
         19.4.5 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577

                                              Chapter 20
                          96 Kbyte Flash Module (S12FTS96KV1)

20.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
         20.1.1 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
         20.1.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
         20.1.3 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
         20.1.4 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580

20.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
20.3 Memory Map and Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581

         20.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
         20.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
20.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
         20.4.1 Flash Command Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
         20.4.2 Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
         20.4.3 Flash Module Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
         20.4.4 Flash Reset Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
         20.4.5 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615

                                              Chapter 21
                       128 Kbyte Flash Module (S12FTS128K1V1)

21.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
         21.1.1 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
         21.1.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
         21.1.3 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
         21.1.4 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618

21.2 External Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
21.3 Memory Map and Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619

         21.3.1 Module Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
         21.3.2 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
21.4 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
         21.4.1 Flash Command Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  15

                         Rev 01.23
         21.4.2 Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
         21.4.3 Flash Module Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
         21.4.4 Flash Reset Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
         21.4.5 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650

                                              Appendix A
                                    Electrical Characteristics

A.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
A.2 ATD Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
A.3 MSCAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
A.4 Reset, Oscillator and PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
A.5 NVM, Flash, and EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
A.6 SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
A.7 Voltage Regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681

                                              Appendix B
                                      Emulation Information

B.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683

                                              Appendix C
                                       Package Information

C.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685

                                              Appendix D
                                      Derivative Differences

                                              Appendix E
                                       Ordering Information

16  MC9S12C-Family / MC9S12GC-Family  Freescale Semiconductor

    Rev 01.23
Chapter 1
MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.1 Introduction

The MC9S12C-Family / MC9S12GC-Family are 48/52/80 pin Flash-based MCU families, which deliver
the power and flexibility of the 16-bit core to a whole new range of cost and space sensitive, general
purpose industrial and automotive network applications. All MC9S12C-Family / MC9S12GC-Family
members feature standard on-chip peripherals including a 16-bit central processing unit (CPU12), up to
128K bytes of Flash EEPROM, up to 4K bytes of RAM, an asynchronous serial communications interface
(SCI), a serial peripheral interface (SPI), an 8-channel 16-bit timer module (TIM), a 6-channel 8-bit pulse
width modulator (PWM), an 8-channel, 10-bit analog-to-digital converter (ADC).

The MC9S12C128-Family members also feature a CAN 2.0 A, B software compatible module
(MSCAN12).

All MC9S12C-Family / MC9S12GC-Family devices feature full 16-bit data paths throughout. The
inclusion of a PLL circuit allows power consumption and performance to be adjusted to suit operational
requirements. In addition to the I/O ports available in each module, up to 10 dedicated I/O port bits are
available with wake-up capability from stop or wait mode. The devices are available in 48-, 52-, and 80-
pin QFP packages, with the 80-pin version pin compatible to the HCS12 A, B, and D Family derivatives.

1.1.1 Features

    16-bit HCS12 core:
         -- HCS12 CPU
             Upward compatible with M68HC11 instruction set
             Interrupt stacking and programmer's model identical to M68HC11
             Instruction queue
             Enhanced indexed addressing
         -- MMC (memory map and interface)
         -- INT (interrupt control)
         -- BDM (background debug mode)
         -- DBG12 (enhanced debug12 module, including breakpoints and change-of-flow trace buffer)
         -- MEBI (multiplexed expansion bus interface) available only in 80-pin package version

    Wake-up interrupt inputs:
         -- Up to 12 port bits available for wake up interrupt function with digital filtering

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  17

                         Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

    Memory options:
         -- 16K or 32Kbyte Flash EEPROM (erasable in 512-byte sectors)
             64K, 96K, or 128Kbyte Flash EEPROM (erasable in 1024-byte sectors)
         -- 1K, 2K or 4K Byte RAM

    Analog-to-digital converters:
         -- One 8-channel module with 10-bit resolution
         -- External conversion trigger capability

    Available on MC9S12C Family:
         -- One 1M bit per second, CAN 2.0 A, B software compatible module
         -- Five receive and three transmit buffers
         -- Flexible identifier filter programmable as 2 x 32 bit, 4 x 16 bit, or 8 x 8 bit
         -- Four separate interrupt channels for Rx, Tx, error, and wake-up
         -- Low-pass filter wake-up function
         -- Loop-back for self test operation

    Timer module (TIM):
         -- 8-channel timer
         -- Each channel configurable as either input capture or output compare
         -- Simple PWM mode
         -- Modulo reset of timer counter
         -- 16-bit pulse accumulator
         -- External event counting
         -- Gated time accumulation

    PWM module:
         -- Programmable period and duty cycle
         -- 8-bit 6-channel or 16-bit 3-channel
         -- Separate control for each pulse width and duty cycle
         -- Center-aligned or left-aligned outputs
         -- Programmable clock select logic with a wide range of frequencies
         -- Fast emergency shutdown input

    Serial interfaces:
         -- One asynchronous serial communications interface (SCI)
         -- One synchronous serial peripheral interface (SPI)

    CRG (clock reset generator module)
         -- Windowed COP watchdog
         -- Real time interrupt
         -- Clock monitor
         -- Pierce or low current Colpitts oscillator
         -- Phase-locked loop clock frequency multiplier
         -- Limp home mode in absence of external clock
         -- Low power 0.5MHz to 16MHz crystal oscillator reference clock

18  MC9S12C-Family / MC9S12GC-Family  Freescale Semiconductor

    Rev 01.23
                                                                                           Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

    Operating frequency:
         -- 32MHz equivalent to 16MHz bus speed for single chip
         -- 32MHz equivalent to 16MHz bus speed in expanded bus modes
         -- Option of 9S12C Family: 50MHz equivalent to 25MHz bus speed
         -- All 9S12GC Family members allow a 50MHz operating frequency.

    Internal 2.5V regulator:
         -- Supports an input voltage range from 2.97V to 5.5V
         -- Low power mode capability
         -- Includes low voltage reset (LVR) circuitry
         -- Includes low voltage interrupt (LVI) circuitry

    48-pin LQFP, 52-pin LQFP, or 80-pin QFP package:
         -- Up to 58 I/O lines with 5V input and drive capability (80-pin package)
         -- Up to 2 dedicated 5V input only lines (IRQ, XIRQ)
         -- 5V 8 A/D converter inputs and 5V I/O

    Development support:
         -- Single-wire background debugTM mode (BDM)
         -- On-chip hardware breakpoints
         -- Enhanced DBG12 debug features

1.1.2 Modes of Operation

User modes (expanded modes are only available in the 80-pin package version).
    Normal and emulation operating modes:
         -- Normal single-chip mode
         -- Normal expanded wide mode
         -- Normal expanded narrow mode
         -- Emulation expanded wide mode
         -- Emulation expanded narrow mode
    Special operating modes:
         -- Special single-chip mode with active background debug mode
         -- Special test mode (Freescale use only)
         -- Special peripheral mode (Freescale use only)
    Low power modes:
         -- Stop mode
         -- Pseudo stop mode
         -- Wait mode

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  19

                         Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.1.3 Block Diagram

         VSSR                       Voltage Regulator                                                             VDDA                     VDDA
         VDDR                                                                                                     VSSA                     VSSA
         VDDX                                                                                 ATD                  VRH                     VRH
         VSSX                                                                                                      VRL                     VRL
                    16K, 32K, 64K, 96K, 128K Byte Flash                                                            AN0   DDRAD
         VDD2                                                                                                      AN1        PTAD             PAD0
         VSS2                                                                                                      AN2                         PAD1
         VDD1                       1K, 2K, 4K Byte RAM                                                            AN3                         PAD2
         VSS1                                                                                                      AN4                         PAD3
        BKGD   MODC/TAGHI                        HCS12                                             IOC0            AN5                         PAD4
                                   BDM            CPU                                                              AN6                         PAD5
          XFC                                                                                      IOC1            AN7                         PAD6
       VDDPLL                                                                                                                                  PAD7
       VSSPLL                                                                                      IOC2             MUX
       EXTAL                                                                                                                                   PT0
                          Clock and                                                Timer           IOC3                  DDRT                  PT1
         XTAL                                                                                                                 PTT              PT2
       RESET   PLL          Reset                                                  Module IOC4                                                 PT3
                          Generation                                                                                                           PT4
          PE0                                    COP Watchdog                                      IOC5                                        PT5
          PE1                                     Clock Monitor                                                                                PT6
          PE2             Module                 Periodic Interrupt                                IOC6                                        PT7
          PE3
          PE4                                                                                      IOC7                                        PP0
          PE5                                                                                                                                  PP1
          PE6                       XIRQ                                                           PW0                                         PP2
          PE7                       IRQ                                                                                                        PP3
    TEST/VPP                        R/W                 System                                     PW1                                         PP4
                                    LSTRB/TAGLO        Integration                                                                             PP5
                                    ECLK                                                PWM        PW2                   Keypad Interrupt      PP6
                                    MODA/IPIPE0         Module                                                                DDRP             PP7
               PTE                  MODB/IPIPE1          (SIM)                     Module          PW3                             PTP
                    DDRE            NOACC/XCLKS                                                                                                PJ6
                                                                                                   PW4                                         PJ7

                                                                                                   PW5                                         PS0
                                                                                                                                               PS1
                                                                                                                         Key Int               PS2
                                                                                                                              DDRJ             PS3
                                                                                                                                   PTJ
                                                                                                                                               PM0
                          Multiplexed Address/Data Bus                             SCI                            RXD                          PM1
                                                                                                                  TXD                          PM2
                                                                                                                         DDRS                  PM3
                                                                                   MSCAN is not available on the              PTS              PM4
                                                                                   9S12GC Family Members                                       PM5
                          DDRA                         DDRB
                           PTA                          PTB                        MSCAN                          RXCAN
                                                                                                                  TXCAN
                                                                                                                         DDRM
               ADDR15 PA7                        ADDR7 PB7                                                        MISO        PTM
                  ADDR14 PA6                        ADDR6 PB6
                     ADDR13 PA5                        ADDR5 PB5                   SPI                              SS
                         ADDR12 PA4                        ADDR4 PB4                                              MOSI
                            ADDR11 PA3                        ADDR3 PB3
                                ADDR10 PA2                        ADDR2 PB2                                       SCK
                                   ADDR9 PA1                         ADDR1 PB1
                                      ADDR8 PA0                         ADDR0 PB0

               DATA15                            DATA7
                  DATA14                            DATA6
                     DATA13                            DATA5
                         DATA12                            DATA4
                            DATA11                            DATA3
                                DATA10                            DATA2
                                   DATA9                             DATA1
                                      DATA8                             DATA0
    Multiplexed                                                                    Signals shown in Bold are not available on the 52 or 48 Pin Package
    Wide Bus                                     I/O Driver 5V                     Signals shown in Bold Italic are available in the 52, but not the 48 Pin Package
                                                      VDDX
               Internal Logic 2.5V                    VSSX                              Voltage Regulator 5V & I/O
                   VDD1,2                                                                      VDDR
                    VSS1,2                       A/D Converter 5V                              VSSR
                                                      VDDA
               PLL 2.5V                               VSSA                                                   VRL is bonded internally to VSSA
                  VDDPLL                                                                                     for 52- and 48-Pin packages
                  VSSPLL

                    Figure 1-1. MC9S12C-Family / MC9S12GC-Family Block Diagram

20                                               MC9S12C-Family / MC9S12GC-Family                                        Freescale Semiconductor

                                                                                   Rev 01.23
1.2                                                                            Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

     Memory Map and Registers

1.2.1 Device Memory Map

Table 1-1 shows the device register map after reset. Figure 1-4 through Figure 1-8 illustrate the full device
memory map.

                                               Table 1-1. Device Register Map Overview

     Address                               Module               Size

     0x00000x0017 Core (ports A, B, E, modes, inits, test)     24

     0x0018              Reserved                               1

     0x0019              Voltage regulator (VREG)               1

     0x001A0x001B Device ID register                           2

     0x001C0x001F Core (MEMSIZ, IRQ, HPRIO)                    4

     0x00200x002F Core (DBG)                                   16

     0x00300x0033 Core (PPAGE(1))                              4

     0x00340x003F Clock and reset generator (CRG)              12

     0x00400x006F Standard timer module (TIM)                  48

     0x00700x007F Reserved                                     16

     0x00800x009F Analog-to-digital converter (ATD)            32

     0x00A00x00C7 Reserved                                     40

     0x00C80x00CF Serial communications interface (SCI)        8

     0x00D00x00D7 Reserved                                     8

     0x00D80x00DF Serial peripheral interface (SPI)            8

     0x00E00x00FF Pulse width modulator (PWM)                  32

     0x01000x010F Flash control register                       16

     0x01100x013F Reserved                                     48

     0x01400x017F Scalable controller area network (MSCAN)(2)  64

     0x01800x023F Reserved                                     192

     0x02400x027F Port integration module (PIM)                64

     0x02800x03FF Reserved                                     384

     1. External memory paging is not supported on this device (Section 1.7.1, "PPAGE").

     2. Not available on MC9S12GC Family devices

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family                                 21

                                       Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

                                                                          0x0000 1K Register Space

    0x0000                                                                0x03FF Mappable to any 2K Boundary           PAGE MAP
    0x0400                                                                                                               0x003D
    0x3000                                                                0x0000               16K Fixed Flash EEPROM
    0x4000                                                                                     4K Bytes RAM
                                                                          0x3FFF
    0x8000                                                                0x3000
                                                        EXT
                                                                          0x3FFF Mappable to any 4K Boundary
    0xC000                                                                0x4000

                                                                                               16K Fixed Flash EEPROM  0x003E

                                                                          0x7FFF                                       PPAGE
                                                                          0x8000

                                                                                        16K Page Window
                                                                                        8 * 16K Flash EEPROM Pages

                                                                          0xBFFF
                                                                          0xC000 16K Fixed Flash EEPROM

                                                                          0xFFFF                                       0x003F
                                                                          0xFF00
    0xFF00     VECTORS     VECTORS                              VECTORS                        BDM
    0xFFFF               EXPANDED                                         0xFFFF               (If Active)
               NORMAL                                           SPECIAL
            SINGLE CHIP                                      SINGLE CHIP

    The figure shows a useful map, which is not the map out of reset. After reset the map is:
         0x00000x03FF: Register Space
         0x00000x0FFF: 4K RAM (only 3K visible 0x04000x0FFF)

    Flash erase sector size is 1024 bytes

                  Figure 1-2. MC9S12C128 and MC9S12GC128 User Configurable Memory Map

22                                                           MC9S12C-Family / MC9S12GC-Family               Freescale Semiconductor

                                                             Rev 01.23
                                                         Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

                                                                                           0x0000  1K Register Space
                                                                                           0x03FF
                                                                                                                                PAGE MAP

0x0000                                                                                             Mappable to any 2K Boundary
0x0400
0x3000                                                                                     0x0000  16K Fixed Flash EEPROM       0x003D
0x4000                                                                                             4K Bytes RAM
                                                                                           0x3FFF
0x8000                                                                                     0x3000
                                                    EXT
                                                                                           0x3FFF Mappable to any 4K Boundary
0xC000                                                                                     0x4000

                                                                                                   16K Fixed Flash EEPROM       0x003E

                                                                                           0x7FFF
                                                                                           0x8000

                                                                                                   16K Page Window              PPAGE
                                                                                                   6 * 16K Flash EEPROM Pages

                                                                                           0xBFFF
                                                                                           0xC000 16K Fixed Flash EEPROM

                                                                                           0xFFFF                               0x003F
                                                                                           0xFF00
0xFF00    VECTORS        VECTORS                           VECTORS                                 BDM
0xFFFF                   EXPANDED                                                          0xFFFF  (If Active)
           NORMAL                                           SPECIAL
        SINGLE CHIP                                      SINGLE CHIP

The figure shows a useful map, which is not the map out of reset. After reset the map is:
      0x00000x03FF: Register Space
      0x00000x0FFF: 4K RAM (only 3K visible 0x04000x0FFF)

Flash erase sector size is 1024 bytes

        Figure 1-3. MC9S12C96 and MC9S12GC96 User Configurable Memory Map

Freescale Semiconductor                                  MC9S12C-Family / MC9S12GC-Family                                                 23

                                                         Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

                                                                                               0x0000 1K Register Space

    0x0000                                                                                     0x03FF Mappable to any 2K Boundary  PAGE MAP
    0x0400                                                                                                                           0x003D
    0x3000                                                                                     0x0000  16K Fixed Flash EEPROM
    0x4000                                                                                             4K Bytes RAM
                                                                                               0x3FFF
    0x8000                                                                                     0x3000
                                                        EXT
                                                                                               0x3FFF Mappable to any 4K Boundary
    0xC000                                                                                     0x4000

                                                                                                       16K Fixed Flash EEPROM      0x003E

                                                                                               0x7FFF
                                                                                               0x8000

                                                                                                       16K Page Window             PPAGE
                                                                                                       4 * 16K Flash EEPROM Pages

                                                                                               0xBFFF
                                                                                               0xC000 16K Fixed Flash EEPROM

                                                                                               0xFFFF                              0x003F
                                                                                               0xFF00
    0xFF00    VECTORS    VECTORS                               VECTORS                                 BDM
    0xFFFF               EXPANDED                                                              0xFFFF  (If Active)
               NORMAL                                           SPECIAL
            SINGLE CHIP                                      SINGLE CHIP

    The figure shows a useful map, which is not the map out of reset. After reset the map is:
           0x00000x03FF: Register space
           0x00000x0FFF: 4K RAM (only 3K visible 0x04000x0FFF)

    Flash erase sector size is 1024 Bytes

            Figure 1-4. MC9S12C64 and MC9S12GC64 User Configurable Memory Map

24                                                           MC9S12C-Family / MC9S12GC-Family                            Freescale Semiconductor

                                                             Rev 01.23
                                                         Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

                                                                      0x0000               1K Register Space
                                                                      0x03FF
                                                                                                                        PAGE MAP

0x0000                                                                                     Mappable to any 2K Boundary
0x0400
                                                                      0x3800 2K Bytes RAM
0x3800                                                                0x3FFF Mappable to any 2K Boundary
0x4000
                                                                                                                                   0x003E

0x8000                                                                0x8000
                                                    EXT
                                                                                    16K Page Window
0xC000                                                                              2 * 16K Flash EEPROM Pages PPAGE

                                                                      0xBFFF
                                                                      0xC000 16K Fixed Flash EEPROM

                                                                      0xFFFF                                            0x003F
                                                                      0xFF00
0xFF00    VECTORS        VECTORS                           VECTORS                         BDM
0xFFFF                   EXPANDED                                     0xFFFF               (If Active)
           NORMAL                                           SPECIAL
        SINGLE CHIP                                      SINGLE CHIP

The figure shows a useful map, which is not the map out of reset. After reset the map is:
          0x00000x03FF: Register space
          0x08000x0FFF: 2K RAM

Flash erase sector size is 512 bytes
The flash page 0x003E is visible at 0x40000x7FFF in the memory map if ROMHM = 0.
In the figure ROMHM = 1 removing page 0x003E from 0x40000x7FFF.

               Figure 1-5. MC9S12C32 and MC9S12GC32 User Configurable Memory Map

Freescale Semiconductor                                  MC9S12C-Family / MC9S12GC-Family                                                  25

                                                         Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)                                    0x0000  1K Register Space            PAGE MAP
                                                                                               0x03FF  Mappable to any 2K Boundary
           0x0000
           0x0400                                                                              0x3C00 1K Bytes RAM
          0x3C00                                                                               0x3FFF Mappable to any 2K Boundary
           0x4000

    0x8000                                                                                     0x8000                               PPAGE
                                                        EXT                                                  16K Page Window        0x003F

    0xC000                                                                                     0xBFFF
                                                                                               0xC000 16K Fixed Flash EEPROM

    0xFF00    VECTORS    VECTORS                               VECTORS                         0xFFFF  BDM
    0xFFFF               EXPANDED                                                              0xFF00  (If Active)
               NORMAL                                           SPECIAL
            SINGLE CHIP                                      SINGLE CHIP                       0xFFFF

    The figure shows a useful map, which is not the map out of reset. After reset the map is:
           0x00000x03FF: Register Space
           0x0C000x0FFF: 1K RAM

    The 16K flash array page 0x003F is also visible in the PPAGE window when PPAGE register contents are odd.
    Flash Erase Sector Size is 512 Bytes

                               Figure 1-6. MC9S12GC16 User Configurable Memory Map

26                                                           MC9S12C-Family / MC9S12GC-Family                       Freescale Semiconductor

                                                             Rev 01.23
                                                     Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.2.2 Detailed Register Map

The detailed register map of the MC9S12C128
is listed in address order below.

0x00000x000F MEBI Map 1 of 3 (HCS12 Multiplexed External Bus Interface)

Address    Name                       Bit 7   Bit 6  Bit 5      Bit 4  Bit 3   Bit 2   Bit 1    Bit 0
0x0000   PORTA                                 6      5          4      3       2       1      Bit 0
0x0001   PORTB          Read:                  6      5          4      3
0x0002    DDRA                       Bit 7     6      5          4      3     2       1        Bit 0
0x0003    DDRB                                 6      5          4      3
0x0004  Reserved        Write:                 0      0          0      0     2       1        Bit 0
0x0005  Reserved        Read:                  0      0          0      0
0x0006  Reserved                               0      0          0      0     2       1        Bit 0
0x0007  Reserved                     Bit 7     0      0          0      0
0x0008   PORTE          Write:                                                0       0        0
0x0009    DDRE          Read:                  6
0x000A     PEAR                                 6                              0       0        0
0x000B    MODE                        Bit 7     0
0x000C     PUCR          Write:                                                0       0        0
0x000D    RDRIV          Read:               MODB
0x000E    EBICTL                                0                              0       0        0
0x000F   Reserved                     Bit 7     0
                         Write:                 0    5          4      3          2      Bit 1   Bit 0
                         Read: 0                0                               Bit 2      0        0
                         Write:                      5          4      3       RDWE        0        0
                         Read: 0
                         Write:                      PIPOE      NECLK  LSTRE      0     EMK      EME
                         Read: 0                     MODA           0    IVIS     0    PUPBE    PUPAE
                         Write:                                            0      0    RDPB     RDPA
                         Read: 0                        0       PUPEE      0      0             ESTR
                         Write:                         0       RDPE       0      0        0
                         Read:                          0                                  0        0
                                                                    0
                                      Bit 7
                         Write:                      0          0      0
                         Read:

                                      Bit 7
                         Write:
                         Read:

                                   NOACCE
                         Write:
                         Read:

                                    MODC
                         Write:
                         Read:

                                    PUPKE
                         Write:
                         Read:

                                     RDPK
                         Write:
                         Read: 0
                         Write:
                         Read: 0
                         Write:

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family                                              27

                                                     Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x00100x0014 MMC Map 1 of 4 (HCS12 Module Mapping Control)

Address    Name            Bit 7   Bit 6   Bit 5             Bit 4   Bit 3  Bit 2  Bit 1     Bit 0
0x0010   INITRM                  RAM14   RAM13                               0      0    RAMHAL
0x0011   INITRG   Read:   RAM15  REG14   REG13              RAM12 RAM11
0x0012   INITEE   Write:      0   EE14    EE13
0x0013    MISC    Read:                                     REG12 REG11    0      0      0
0x0014  Reserved  Write:   EE15      0       0
                   Read:       0      0       0              EE12    EE11   0      0
                   Write:      0                                                              EEON
                   Read:
                   Write:                                    0
                   Read:                                               EXSTR1 EXSTR0 ROMHM ROMON
                   Write:
                                                             0       0      0      0      0

0x00150x0016      INT Map 1 of 2 (HCS12 Interrupt)

Address  Name              Bit 7  Bit 6   Bit 5               Bit 4  Bit 3  Bit 2  Bit 1  Bit 0
                             0      0       0                WRINT   ADR3   ADR2   ADR1   ADR0
0x0015   ITCR      Read:                                             INT6   INT4   INT2   INT0
                   Write:  INTE   INTC
0x0016   ITEST     Read:                  INTA               INT8
                   Write:

0x00170x0017 MMC Map 2 of 4 (HCS12 Module Mapping Control)

Address    Name    Read:   Bit 7  Bit 6   Bit 5              Bit 4   Bit 3  Bit 2  Bit 1  Bit 0
0x0017  Reserved  Write:    0      0       0                  0       0      0      0      0

0x00180x0018 Miscellaneous Peripherals (Device User Guide)

Address    Name    Read:   Bit 7  Bit 6   Bit 5              Bit 4   Bit 3  Bit 2  Bit 1  Bit 0
0x0018  Reserved  Write:    0      0       0                  0       0      0      0      0

0x00190x0019 VREG3V3 (Voltage Regulator)

Address  Name              Bit 7  Bit 6   Bit 5              Bit 4   Bit 3  Bit 2  Bit 1  Bit 0
                             0      0       0                  0       0    LVDS   LVIE   LVIF
$0019 VREGCTRL     Read:
                   Write:

28                                MC9S12C-Family / MC9S12GC-Family                 Freescale Semiconductor

                                          Rev 01.23
                                                      Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x001A0x001B Miscellaneous Peripherals (Device User Guide)

Address   Name                       Bit 7   Bit 6    Bit 5      Bit 4        Bit 3       Bit 2        Bit 1  Bit 0
0x001A  PARTIDH                             ID14     ID13       ID12         ID11        ID10          ID9    ID8
                         Read: ID15
0x001B PARTIDL           Write:               ID6      ID5        ID4          ID3         ID2          ID1    ID0
                         Read: ID7
                         Write:

0x001C0x001D MMC Map 3 of 4 (HCS12 Module Mapping Control, Device User Guide)

Address    Name                       Bit 7    Bit 6    Bit 5      Bit 4      Bit 3       Bit 2        Bit 1  Bit 0
0x001C   MEMSIZ0                                 0    eep_sw1    eep_sw0        0
                         Read: reg_sw0                                               ram_sw2 ram_sw1 ram_sw0
                         Write:              rom_sw0      0          0          0
0x001D MEMSIZ1           Read: rom_sw1                                                    0       pag_sw1 pag_sw0
                         Write:

0x001E0x001E MEBI Map 2 of 3 (HCS12 Multiplexed External Bus Interface)

Address  Name            Read:   Bit 7        Bit 6   Bit 5      Bit 4        Bit 3       Bit 2        Bit 1  Bit 0
0x001E   INTCR           Write:  IRQE        IRQEN      0          0            0           0            0      0

0x001F0x001F            INT Map 2 of 2 (HCS12 Interrupt)

Address  Name                    Bit 7       Bit 6    Bit 5      Bit 4        Bit 3       Bit 2        Bit 1  Bit 0
                                 PSEL7       PSEL6    PSEL5      PSEL4        PSEL3       PSEL2        PSEL1    0
0x001F   HPRIO           Read:
                         Write:

0x00200x002F DBG (Including BKP) Map 1 of 1 (HCS12 Debug)

Address    Name                  Bit 7       Bit 6      Bit 5    Bit 4        Bit 3       Bit 2        Bit 1  Bit 0
0x0020   DBGC1                                       TRGSEL                                0
0x0021   DBGSC          Read:   DBGEN       ARM                 BEGIN DBGBRK                          CAPMOD
0x0022  DBGTBH          Write:     AF        BF          CF
0x0023  DBGTBL          Read:                                   0                                TRG
0x0024  DBGCNT          Write:                         Bit 13
0x0025  DBGCCX          Read:   Bit 15 Bit 14                   Bit 12 Bit 11            Bit 10       Bit 9  Bit 8
                         Write:
                         Read:   Bit 7       Bit 6    Bit 5      Bit 4        Bit 3       Bit 2        Bit 1  Bit 0
                         Write:
                         Read:   TBF         0                                       CNT
                         Write:
                         Read:   PAGSEL                                       EXTCMP
                         Write:

Freescale Semiconductor                     MC9S12C-Family / MC9S12GC-Family                                         29

                                                      Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x00200x002F DBG (Including BKP) Map 1 of 1 (HCS12 Debug) (continued)

Address    Name            Bit 7       Bit 6  Bit 5          Bit 4       Bit 3                 Bit 2    Bit 1  Bit 0
0x0026                                                                   11                    10        9    Bit 8
0x0027  DBGCCH    Read:   Bit 15      14         13             12                                       1    Bit 0
0x0028                                            5              4                                            RWC
0x0029  DBGCCL    Write:                        BDM          TAGAB                                   RWCEN    RWB
0x002A                                        BKBMBH         BKBMBL                                   RWBEN
0x002B    DBGC2    Read:   Bit 7       6                                 3                     2               Bit 8
0x002C   BKPCT0                                   13             12                                       9    Bit 0
0x002D    DBGC3    Write:                          5              4                                       1
0x002E   BKPCT1                                                                                                Bit 8
0x002F   DBGCAX    Read:                          13             12  BKCEN TAGC                           9    Bit 0
          BKP0X              BKABEN FULL           5              4                                       1
         DBGCAH
          BKP0H    Write:
         DBGCAL
          BKP0L    Read:                                             RWAEN RWA
         DBGCBX              BKAMBH BKAMBL
          BKP1X
         DBGCBH    Write:
          BKP1H
         DBGCBL    Read:    PAGSEL                                          EXTCMP
          BKP1L    Write:

                   Read:   Bit 15      14                                11                    10

                   Write:

                   Read:   Bit 7       6                                 3                     2

                   Write:

                   Read:    PAGSEL                                          EXTCMP
                   Write:

                   Read:   Bit 15      14                                11                    10

                   Write:

                   Read:   Bit 7       6                                 3                     2

                   Write:

0x00300x0031 MMC Map 4 of 4 (HCS12 Module Mapping Control)

Address    Name    Read:   Bit 7       Bit 6  Bit 5          Bit 4       Bit 3                 Bit 2  Bit 1    Bit 0
0x0030   PPAGE    Write:    0           0    PIX5           PIX4        PIX3                  PIX2   PIX1     PIX0
0x0031  Reserved  Read:
                   Write:    0           0      0              0           0                     0      0        0

0x00320x0033 MEBI Map 3 of 3 (HCS12 Multiplexed External Bus Interface)

Address  Name              Bit 7       Bit 6  Bit 5          Bit 4       Bit 3                 Bit 2  Bit 1    Bit 0
                                                                                                        1      Bit 0
0x0032   PORTK(1)  Read:               6      5              4           3                     2
                                Bit 7                                                                   1      Bit 0
                   Write:                                                                             Bit 1    Bit 0

0x0033   DDRK1     Read:               6      5              4           3                     2        0        0
                                Bit 7
                   Write:                                                                               0        0

Address  Name              Bit 7       Bit 6  Bit 5          Bit 4       Bit 3                 Bit 2

$0032    Reserved  Read: 0             0      0              0           0                     0

                   Write:

$0033    Reserved  Read: 0             0      0              0           0                     0

                   Write:

1. Only applicable in special emulation-only bond outs, for emulation of extended memory map.

30                                     MC9S12C-Family / MC9S12GC-Family                               Freescale Semiconductor

                                              Rev 01.23
                                                    Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x00340x003F CRG (Clock and Reset Generator)

Address      Name                Bit 7       Bit 6    Bit 5      Bit 4    Bit 3    Bit 2    Bit 1    Bit 0
0x0034      SYNR                              0     SYN5       SYN4     SYN3     SYN2     SYN1      SYN0
0x0035                  Read:       0         0                        REFDV3   REFDV2   REFDV1   REFDV0
0x0036     REFDV        Write:      0                  0           0   TOUT3    TOUT2    TOUT1     TOUT0
0x0037     CTFLG        Read:   TOUT7     TOUT6    TOUT5       TOUT4    LOCK    TRACK               SCM
0x0038  TEST ONLY       Write:                                                            SCMIF
0x0039   CRGFLG         Read:     RTIF     PORF      LVRF     LOCKIF        0        0    SCMIE        0
0x003A                   Write:    RTIE        0        0      LOCKIE                     RTIWAI
0x003B     CRGINT        Read:   PLLSEL                        ROAWAI   PLLWAI    CWAI             COPWAI
0x003C                   Write:    CME      PSTP    SYSWAI                   0     PRE      PCE     SCME
0x003D     CLKSEL        Read:             PLLON     AUTO        ACQ              RTR2     RTR1      RTR0
0x003E                   Write:      0      RTR6     RTR5        RTR4    RTR3      CR2      CR1       CR0
0x003F     PLLCTL        Read:             RSBCK        0                    0              FCM         0
                         Write:  WCOP     COPBYP        0           0        0        0    TCTL1    TCTL0
           RTICTL        Read:   RTIBYP    TCTL6     TCTL5                        TCTL2                 0
                         Write:  TCTL7                  0      PLLBYP    TCLT3                 0      Bit 0
           COPCTL        Read:                 0        5       TCTL4        0        0        1
          FORBYP         Write:      0         6                             3        2
         TEST ONLY       Read:     Bit 7                            0
            CTCTL        Write:                                     4
         TEST ONLY       Read:
          ARMCOP         Write:
                         Read:
                         Write:
                         Read:
                         Write:

0x00400x006F TIM (Sheet 1 of 3)

Address    Name                  Bit 7     Bit 6     Bit 5      Bit 4    Bit 3    Bit 2    Bit 1    Bit 0
0x0040     TIOS                           IOS6      IOS5       IOS4     IOS3     IOS2     IOS1     IOS0
0x0041   CFORC          Read:    IOS7
0x0042    OC7M          Write:      0        0         0          0        0        0        0        0
0x0043    OC7D          Read:             FOC6      FOC5       FOC4     FOC3     FOC2     FOC1     FOC0
0x0044  TCNT (hi)       Write:   FOC7    OC7M6     OC7M5      OC7M4    OC7M3    OC7M2    OC7M1    OC7M0
0x0045  TCNT (lo)       Read:   OC7M7
0x0046   TSCR1          Write:           OC7D6     OC7D5      OC7D4    OC7D3    OC7D2    OC7D1    OC7D0
                         Read:   OC7D7       14        13         12       11       10        9      Bit 8
                         Write:   Bit 15
                         Read:                6         5          4        3        2        1      Bit 0
                         Write:    Bit 7
                         Read:            TSWAI     TSFRZ      TFFCA        0        0        0        0
                         Write:    TEN
                         Read:
                         Write:

Freescale Semiconductor                 MC9S12C-Family / MC9S12GC-Family                           31

                                                    Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x00400x006F TIM (Sheet 2 of 3)

Address   Name             Bit 7     Bit 6   Bit 5            Bit 4   Bit 3   Bit 2   Bit 1   Bit 0
0x0047   TTOV                       TOV6    TOV5             TOV4    TOV3    TOV2    TOV1    TOV0
0x0048  TCTL1     Read:    TOV7      OL7    OM6               OL6    OM5      OL5    OM4      OL4
0x0049  TCTL2     Write:   OM7       OL3    OM2               OL2    OM1      OL1    OM0      OL0
0x004A   TCTL3     Read:    OM3     EDG7A   EDG6B            EDG6A   EDG5B   EDG5A   EDG4B   EDG4A
0x004B   TCTL4     Write:  EDG7B    EDG3A   EDG2B            EDG2A   EDG1B   EDG1A   EDG0B   EDG0A
0x004C             Read:   EDG3B      C6I     C5I              C4I     C3I     C2I     C1I     C0I
0x004D      TIE    Write:    C7I                                      TCRE     PR2     PR1     PR0
0x004E   TSCR2     Read:     TOI        0       0                0     C3F     C2F     C1F     C0F
0x004F   TFLG1     Write:    C7F
0x0050  TFLG2     Read:     TOF      C6F     C5F              C4F       0       0       0       0
0x0051  TC0 (hi)  Write:   Bit 15      0       0                0
0x0052  TC0 (lo)  Read:     Bit 7                                      11      10       9     Bit 8
0x0053  TC1 (hi)  Write:   Bit 15     14      13               12       3       2       1     Bit 0
0x0054  TC1 (lo)  Read:     Bit 7      6       5                4      11      10       9     Bit 8
0x0055  TC2 (hi)  Write:   Bit 15     14      13               12       3       2       1     Bit 0
0x0056  TC2 (lo)  Read:     Bit 7      6       5                4      11      10       9     Bit 8
0x0057  TC3 (hi)  Write:   Bit 15     14      13               12       3       2       1     Bit 0
0x0058  TC3 (lo)  Read:     Bit 7      6       5                4      11      10       9     Bit 8
0x0059  TC4 (hi)  Write:   Bit 15     14      13               12       3       2       1     Bit 0
0x005A   TC4 (lo)  Read:     Bit 7      6       5                4      11      10       9     Bit 8
0x005B   TC5 (hi)  Write:   Bit 15     14      13               12       3       2       1     Bit 0
0x005C   TC5 (lo)  Read:     Bit 7      6       5                4      11      10       9     Bit 8
0x005D   TC6 (hi)  Write:   Bit 15     14      13               12       3       2       1     Bit 0
         TC6 (lo)  Read:     Bit 7      6       5                4      11      10       9     Bit 8
                   Write:              14      13               12       3       2       1     Bit 0
                   Read:                6       5                4
                   Write:
                   Read:
                   Write:
                   Read:
                   Write:
                   Read:
                   Write:
                   Read:
                   Write:
                   Read:
                   Write:
                   Read:
                   Write:
                   Read:
                   Write:
                   Read:
                   Write:
                   Read:
                   Write:
                   Read:
                   Write:

32                                MC9S12C-Family / MC9S12GC-Family           Freescale Semiconductor

                                            Rev 01.23
                                                Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x00400x006F TIM (Sheet 3 of 3)

Address     Name         Read:   Bit 7   Bit 6  Bit 5      Bit 4          Bit 3  Bit 2  Bit 1  Bit 0
0x005E     TC7 (hi)      Write:  Bit 15    14    13         12              11    10      9    Bit 8
0x005F     TC7 (lo)      Read:   Bit 7      6                               3                  Bit 0
0x0060    PACTL         Write:                 5          4                     2      1       PAI
0x0061    PAFLG         Read:      0    PAEN                             CLK1                 PAIF
0x0062  PACNT (hi)      Write:     0       0   PAMOD PEDGE                 0    CLK0   PAOVI  Bit 8
0x0063  PACNT (lo)      Read:                                                     0    PAOVF  Bit 0
0x0064   Reserved       Write:  Bit 15    14   0          0                11
0x0065   Reserved       Read:   Bit 7      6                               3                    0
0x0066   Reserved       Write:             0   13         12               0    10     9        0
0x0067   Reserved       Read:      0       0                               0                    0
0x0068   Reserved       Write:     0       0   5          4                0    2      1        0
0x0069   Reserved       Read:      0       0                               0                    0
0x006A    Reserved       Write:     0       0   0          0                0    0      0        0
0x006B    Reserved       Read:      0       0                               0                    0
0x006C    Reserved       Write:     0       0   0          0                0    0      0        0
0x006D    Reserved       Read:      0       0                               0                    0
0x006E    Reserved       Write:     0       0   0          0                0    0      0        0
0x006F    Reserved       Read:      0       0                               0                    0
                         Write:     0       0   0          0                0    0      0        0
                         Read:      0       0                               0
                         Write:     0           0          0                     0      0
                         Read:
                         Write:                 0          0                     0      0
                         Read:
                         Write:                 0          0                     0      0
                         Read:
                         Write:                 0          0                     0      0
                         Read:
                         Write:                 0          0                     0      0
                         Read:
                         Write:                 0          0                     0      0
                         Read:
                         Write:                 0          0                     0      0
                         Read:
                         Write:                 0          0                     0      0

0x00700x007F Reserved

Address    Name          Read:   Bit 7   Bit 6  Bit 5      Bit 4          Bit 3  Bit 2  Bit 1  Bit 0
         Reserved        Write:    0       0      0          0              0      0      0      0
0x0070
0x007F

Freescale Semiconductor                 MC9S12C-Family / MC9S12GC-Family                              33

                                                Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x00800x009F ATD (Analog-to-Digital Converter 10 Bit 8 Channel)

Address     Name            Bit 7    Bit 6  Bit 5            Bit 4   Bit 3  Bit 2   Bit 1   Bit 0
0x0080   ATDCTL0                      0      0                0       0      0       0       0
0x0081   ATDCTL1   Read:       0      0                                              0       0
0x0082   ATDCTL2   Write:      0             0                0       0      0
0x0083   ATDCTL3   Read:           AFFC                                           ASCIE   ASCIF
0x0084   ATDCTL4   Write:  ADPU     S8C    AWAI ETRIGLE ETRIGP ETRIG              FRZ1
0x0085   ATDCTL5   Read:       0   SMP1                                           PRS1    FRZ0
0x0086  ATDSTAT0   Write:          DSGN    S4C              S2C     S1C    FIFO           PRS0
0x0087   Reserved  Read:   SRES8                                                    CB
0x0088  ATDTEST0   Write:   DJM       0    SMP0 PRS4                PRS3   PRS2    CC1      CA
0x0089  ATDTEST1   Read:    SCF       0                                0    CC             CC0
0x008A    Reserved  Write:      0      0    SCAN MULT                   0   CC2       0
0x008B   ATDSTAT1   Read:       0      0                                0      0      0       0
0x008C    Reserved  Write:      0      0    ETORF            FIFOR                    0       0
0x008D    ATDDIEN   Read:       0   CCF6        0               0                     0
0x008E    Reserved  Write:   CCF7      0                                           CCF1      SC
0x008F    PORTAD    Read:       0           0                0       0      0         0       0
0x0090  ATDDR0H    Write:             6                                                   CCF0
0x0091  ATDDR0L    Read:    Bit 7     0    0                0       0      0         1       0
0x0092  ATDDR1H    Write:      0      6                                              0
0x0093  ATDDR1L    Read:             14    0                0       0      0         1     Bit 0
0x0094  ATDDR2H    Write:    Bit7   Bit6                                             9       0
0x0095  ATDDR2L    Read:    Bit15    14    CCF5 CCF4 CCF3 CCF2                       0
                    Write:    Bit7   Bit6                                             9    BIT 0
                    Read:    Bit15    14    0                0       0      0         0     Bit8
                    Write:    Bit7   Bit6                                             9
                    Read:    Bit15          5                4       3      2         0       0
                    Write:    Bit7                                                          Bit8
                    Read:                   0                0       0      0
                    Write:                                                                    0
                    Read:                   5                4       3      2               Bit8
                    Write:
                    Read:                   13               12      11     10                0
                    Write:
                    Read:                   0                0       0      0
                    Write:
                    Read:                   13               12      11     10
                    Write:
                    Read:                   0                0       0      0
                    Write:
                    Read:                   13               12      11     10
                    Write:
                    Read:                   0                0       0      0
                    Write:
                    Read:
                    Write:

34                                 MC9S12C-Family / MC9S12GC-Family                Freescale Semiconductor

                                            Rev 01.23
                                                   Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x00800x009F ATD (Analog-to-Digital Converter 10 Bit 8 Channel) (continued)

Address    Name          Read:   Bit 7   Bit 6     Bit 5      Bit 4       Bit 3   Bit 2   Bit 1  Bit 0
0x0096  ATDDR3H         Write:  Bit15    14        13         12          11      10       9    Bit8
0x0097  ATDDR3L         Read:   Bit7    Bit6        0          0           0       0       0
0x0098  ATDDR4H         Write:  Bit15    14        13         12          11      10       9      0
0x0099  ATDDR4L         Read:   Bit7    Bit6        0          0           0       0       0    Bit8
0x009A   ATDDR5H         Write:  Bit15    14        13         12          11      10       9
0x009B   ATDDR5L         Read:   Bit7    Bit6        0          0           0       0       0      0
0x009C   ATDDR6H         Write:  Bit15    14        13         12          11      10       9    Bit8
0x009D   ATDDR6L         Read:   Bit7    Bit6        0          0           0       0       0
0x009E   ATDDR7H         Write:  Bit15    14        13         12          11      10       9      0
0x009F   ATDDR7L         Read:   Bit7    Bit6        0          0           0       0       0    Bit8
                         Write:
                         Read:                                                                     0
                         Write:                                                                  Bit8
                         Read:
                         Write:                                                                    0
                         Read:
                         Write:
                         Read:
                         Write:

0x00A00x00C7 Reserved

Address   Name           Read:   Bit 7   Bit 6     Bit 5      Bit 4       Bit 3   Bit 2   Bit 1  Bit 0
         Reserved        Write:    0       0         0          0           0       0       0      0
0x00A0
0x00C7

0x00C80x00CF SCI (Asynchronous Serial Interface)

Address   Name           Read:    Bit 7     Bit 6   Bit 5      Bit 4       Bit 3   Bit 2  Bit 1  Bit 0
0x00C8   SCIBDH          Write:      0        0       0       SBR12       SBR11   SBR10   SBR9   SBR8
0x00C9   SCIBDL          Read:                                SBR4        SBR3    SBR2    SBR1   SBR0
0x00CA   SCICR1          Write:   SBR7     SBR6    SBR5                   WAKE
0x00CB   SCICR2          Read:   LOOPS   SCISWAI   RSRC          M                  ILT    PE      PT
0x00CC   SCISR1          Write:                                 ILIE        TE      RE    RWU    SBK
                         Read:     TIE     TCIE     RIE        IDLE         OR      NF             PF
                         Write:   TDRE       TC    RDRF                                     FE
                         Read:
                         Write:

Freescale Semiconductor                 MC9S12C-Family / MC9S12GC-Family                                35

                                                   Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x00C80x00CF SCI (Asynchronous Serial Interface) (continued)

Address   Name     Read:   Bit 7  Bit 6  Bit 5               Bit 4  Bit 3               Bit 2   Bit 1  Bit 0
0x00CD   SCISR2    Write:    0      0      0                   0      0                BRK13   TXDIR   RAF
0x00CE   SCIDRH    Read:
0x00CF   SCIDRL    Write:   R8     T8      0                   0      0                   0       0      0
                   Read:           R6
                   Write:   R7     T6     R5                  R4     R3                  R2      R1     R0
                            T7            T5                  T4     T3                   T2     T1     T0

0x00D00x00D7 Reserved

Address    Name    Read:   Bit 7  Bit 6  Bit 5               Bit 4  Bit 3              Bit 2   Bit 1   Bit 0
         Reserved  Write:    0      0      0                   0      0                  0       0       0
0x00D0
0x00D7

0x00D80x00DF SPI (Serial Peripheral Interface)

Address   Name             Bit 7  Bit 6  Bit 5               Bit 4  Bit 3              Bit 2   Bit 1   Bit 0
0x00D8   SPICR1            SPIE
                   Read:          SPE    SPTIE MSTR CPOL CPHA SSOE LSBFE
                   Write:    0
0x00D9   SPICR2    Read:     0    0      0                   MODFEN BIDIROE            0       SPISWAI SPC0
                   Write:  SPIF
0x00DA   SPIBR     Read:     0                                                      0  SPR2    SPR1    SPR0
                   Write:         SPPR2 SPPR1 SPPR0                                       0       0       0
                   Read:   Bit7
0x00DB   SPISR     Write:    0    0      SPTEF MODF                 0
                   Read:     0
0x00DC Reserved    Write:         0      0                   0      0                  0       0       0
                   Read:
0x00DD   SPIDR     Write:         6      5                   4      3                  2       1       Bit0
                   Read:
0x00DE Reserved    Write:         0      0                   0      0                  0       0       0
                   Read:
0x00DF Reserved    Write:         0      0                   0      0                  0       0       0

36                                MC9S12C-Family / MC9S12GC-Family                            Freescale Semiconductor

                                         Rev 01.23
                                               Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x00E00x00FF PWM (Pulse Width Modulator)

Address      Name                Bit 7  Bit 6  Bit 5      Bit 4           Bit 3  Bit 2  Bit 1  Bit 0
$00E0       PWME                  0      0
$00E1     PWMPOL        Read:                 PWME5 PWME4 PWME3 PWME2 PWME1 PWME0
$00E2     PWMCLK        Write:    0
$00E3   PWMPRCLK        Read:          0
$00E4     PWMCAE        Write:    0               PPOL5 PPOL4 PPOL3 PPOL2 PPOL1 PPOL0
$00E5     PWMCTL        Read:
$00E6     PWMTST        Write:    0    0
$00E7     Test Only     Read:                     PCLK5 PCLK4 PCLK3 PCLK2 PCLK1 PCLK0
$00E8   PWMPRSC         Write:    0
$00E9    PWMSCLA        Read:          PCKB2 PCKB1 PCKB0                 0      PCKA2 PCKA1 PCKA0
$00EA    PWMSCLB        Write:    0
$00EB   PWMSCNTA        Read:          0
$00EC   PWMSCNTB        Write:    0                CAE5 CAE4 CAE3 CAE2 CAE1 CAE0
$00ED    PWMCNT0        Read:
$00EE    PWMCNT1        Write:    0    CON45 CON23 CON01 PSWAI PFRZ                    0      0
$00EF    PWMCNT2        Read:
$00F0    PWMCNT3        Write:  Bit 7  0      0          0               0      0      0      0
$00F1    PWMCNT4        Read:
$00F2    PWMCNT5        Write:  Bit 7  0      0          0               0      0      0      0
$00F3    PWMPER0        Read:     0
$00F4    PWMPER1        Write:         6      5          4               3      2      1      Bit 0
$00F5    PWMPER2        Read:     0
          PWMPER3        Write:         6      5          4               3      2      1      Bit 0
                         Read:   Bit 7
                         Write:    0    0      0          0               0      0      0      0
                         Read:
                         Write:  Bit 7  0      0          0               0      0      0      0
                         Read:     0
                         Write:         6      5          4               3      2      1      Bit 0
                         Read:   Bit 7
                         Write:    0    0      0          0               0      0      0      0
                         Read:
                         Write:  Bit 7  6      5          4               3      2      1      Bit 0
                         Read:     0
                         Write:         0      0          0               0      0      0      0
                         Read:   Bit 7
                         Write:    0    6      5          4               3      2      1      Bit 0
                         Read:
                         Write:  Bit 7  0      0          0               0      0      0      0
                         Read:     0
                         Write:         6      5          4               3      2      1      Bit 0
                         Read:   Bit 7
                         Write:         0      0          0               0      0      0      0
                         Read:   Bit 7
                         Write:         6      5          4               3      2      1      Bit 0
                                 Bit 7
                                        0      0          0               0      0      0      0
                                 Bit 7
                                        6      5          4               3      2      1      Bit 0

                                        0      0          0               0      0      0      0

                                        6      5          4               3      2      1      Bit 0

                                        6      5          4               3      2      1      Bit 0

                                        6      5          4               3      2      1      Bit 0

                                        6      5          4               3      2      1      Bit 0

Freescale Semiconductor                 MC9S12C-Family / MC9S12GC-Family                              37

                                               Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x00E00x00FF PWM (Pulse Width Modulator) (continued)

Address  Name                   Bit 7    Bit 6   Bit 5       Bit 4      Bit 3   Bit 2    Bit 1   Bit 0
                                 Bit 7     6       5           4          3       2        1     Bit 0
$00F6 PWMPER4          Read:     Bit 7                                    3
                       Write:    Bit 7                                    3
$00F7 PWMPER5          Read:     Bit 7   6       5           4            3     2        1       Bit 0
                       Write:    Bit 7                                    3
$00F8 PWMDTY0          Read:     Bit 7   6       5           4            3     2        1       Bit 0
                       Write:    Bit 7                                    3
$00F9 PWMDTY1          Read:     Bit 7   6       5           4            3     2        1       Bit 0
                       Write:  PWMIF                                      0
$00FA PWMDTY2          Read:             6       5           4            0     2        1       Bit 0
                       Write:      0
$00FB PWMDTY3          Read:             6       5           4                  2        1       Bit 0
                       Write:
$00FC PWMDTY4          Read:             6       5           4                  2        1       Bit 0
                       Write:
$00FD PWMDTY5          Read:             6       5           4                  2        1       Bit 0
                       Write:
$00FE Reserved         Read:             PWMIE   0           PWMLVL             PWM5IN
                       Write:                                                                 PWM5INL PWM5ENA
                       Read:                     PWMRSTRT
                       Write:
$00FF Reserved                           0       0           0                  0        0       0

0x01000x010F Flash Control Register

Address      Name              Bit 7     Bit 6   Bit 5       Bit 4       Bit 3    Bit 2   Bit 1    Bit 0
0x0100    FCLKDIV                                                      FDIV3    FDIV2   FDIV1    FDIV0
0x0101                Read: FDIVLD      PRDIV8   FDIV5        FDIV4     NV3      NV2    SEC1     SEC0
0x0102      FSEC      Write:            KEYEN0     NV5         NV4
0x0103                Read: KEYEN1                                         0       0       0        0
0x0104   FTSTMOD      Write:                 0       0       WRALL         0       0       0        0
0x0105                Read:               CCIE  KEYACC           0
0x0106     FCNFG                           NV6  FPHDIS                 FPHS0   FPLDIS   FPLS1   FPLS0
0x0107                               0    CCIF               FPHS1         0   BLANK       0        0
0x0108     FPROT      Write:                     PVIOL      ACCERR         0   CMDB2       0
0x0109                Read:             CMDB6   CMDB5                      0               0    CMDB0
             FSTAT                            0                   0         0       0       0        0
                                  CBEIE       0       0           0         0       0       0        0
             FCMD      Write:                 0       0           0                 0                0
         Reserved for  Read:                          0           0
         Factory Test
         Reserved for            FPOPEN
         Factory Test  Write:
         Reserved for  Read:
         Factory Test
                                  CBEIF
                       Write:
                       Read: 0
                       Write:
                       Read: 0
                       Write:
                       Read: 0
                       Write:
                       Read: 0
                       Write:

38                                    MC9S12C-Family / MC9S12GC-Family                 Freescale Semiconductor

                                                 Rev 01.23
                                                Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x01000x010F Flash Control Register (continued)

Address      Name        Read:   Bit 7  Bit 6   Bit 5      Bit 4          Bit 3  Bit 2  Bit 1  Bit 0
0x010A   Reserved for    Write:    0      0       0          0              0      0      0      0
0x010B   Factory Test    Read:     0      0       0          0              0      0      0      0
0x010C   Reserved for    Write:    0      0       0          0              0      0      0      0
0x010D   Factory Test    Read:     0      0       0          0              0      0      0      0
0x010E                   Write:    0      0       0          0              0      0      0      0
0x010F     Reserved      Read:     0      0       0          0              0      0      0      0
                         Write:
           Reserved      Read:
                         Write:
           Reserved      Read:
                         Write:
           Reserved

0x01100x013F Reserved

Address    Name          Read:   Bit 7  Bit 6   Bit 5      Bit 4          Bit 3  Bit 2  Bit 1  Bit 0
         Reserved        Write:    0      0       0          0              0      0      0      0
0x0110
0x003F

0x01400x017F CAN (Scalable Controller Area Network -- MSCAN)(1)

Address     Name                 Bit 7   Bit 6   Bit 5       Bit 4        Bit 3  Bit 2  Bit 1  Bit 0
0x0140  CANCTL0                        RXACT   CSWAI      SYNCH          TIME
0x0141  CANCTL1         Read:   RXFRM                                           WUPE   SLPRQ  INITRQ
0x0142  CANBTR0         Write:   CANE  CLKSRC LOOPB LISTEN                 0    WUPM   SLPAK  INITAK
0x0143  CANBTR1         Read:    SJW1
0x0144  CANRFLG         Write:   SAMP  SJW0 BRP5 BRP4 BRP3 BRP2 BRP1 BRP0
0x0145  CANRIER         Read:   WUPIF
0x0146  CANTFLG         Write:  WUPIE  TSEG22 TSEG21 TSEG20 TSEG13 TSEG12 TSEG11 TSEG10
0x0147  CANTIER         Read:
0x0148  CANTARQ         Write:      0  CSCIF   RSTAT1 RSTAT0 TSTAT1 TSTAT0             OVRIF  RXF
0x0149  CANTAAK         Read:       0
                         Write:      0  CSCIE RSTATE1 RSTATE0 TSTATE1 TSTATE0 OVRIE RXFIE
                         Read:       0
                         Write:         0       0          0              0      TXE2 TXE1 TXE0
                         Read:
                         Write:         0       0          0              0      TXEIE2 TXEIE1 TXEIE0
                         Read:
                         Write:         0       0          0              0      ABTRQ2 ABTRQ1 ABTRQ0
                         Read:
                         Write:         0       0          0              0      ABTAK2 ABTAK1 ABTAK0
                         Read:
                         Write:

Freescale Semiconductor                 MC9S12C-Family / MC9S12GC-Family                              39

                                                Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x01400x017F CAN (Scalable Controller Area Network -- MSCAN)(1) (continued)

Address  Name                        Bit 7   Bit 6  Bit 5      Bit 4           Bit 3  Bit 2      Bit 1  Bit 0

0x014A CANTBSEL              Read: 0         0      0          0               0      TX2        TX1       TX0
                                                                                                         IDHIT0
                             Write:
                                                                                                             0
                                    Read: 0  0      IDAM1 IDAM0                0      IDHIT2 IDHIT1          0
0x014B CANIDAC                                                                                          RXERR0
                                                                                                        TXERR0
                                    Write:
                                                                                                           AC0
0x014C Reserved              Read: 0         0      0          0               0      0          0         AM0
                                                                                                           AC0
                             Write:                                                                        AM0

0x014D Reserved              Read: 0         0      0          0               0      0          0

                             Write:

                                    Read: RXERR7 RXERR6 RXERR5 RXERR4 RXERR3 RXERR2 RXERR1
0x014E CANRXERR

                                    Write:

                                    Read: TXERR7 TXERR6 TXERR5 TXERR4 TXERR3 TXERR2 TXERR1
0x014F CANTXERR

                                    Write:

0x0150 CANIDAR0 - Read:             AC7     AC6    AC5        AC4             AC3    AC2        AC1
0x0153 CANIDAR3 Write:

0x0154 CANIDMR0 - Read:             AM7     AM6    AM5        AM4             AM3    AM2        AM1
0x0157 CANIDMR3 Write:

0x0158 CANIDAR4 - Read:             AC7     AC6    AC5        AC4             AC3    AC2        AC1
0x015B CANIDAR7 Write:

0x015C CANIDMR4 - Read:             AM7     AM6    AM5        AM4             AM3    AM2        AM1
0x015F CANIDMR7 Write:

0x0160  CANRXFG             Read:                  FOREGROUND RECEIVE BUFFER see Table 1-2
0x016F                       Write:

0x0170  CANTXFG             Read:                FOREGROUND TRANSMIT BUFFER see Table 1-2
0x017F                       Write:

1. Not available on the MC9S12GC Family members. Those memory locations should not be accessed.

         Table 1-2. Detailed MSCAN Foreground Receive and Transmit Buffer Layout

Address  Name                        Bit 7   Bit 6  Bit 5      Bit 4           Bit 3  Bit 2      Bit 1  Bit 0
                                     ID28    ID27   ID26       ID25            ID24   ID23       ID22   ID21
                Extended ID  Read:   ID10    ID9    ID8        ID7             ID6    ID5        ID4     ID3
0xXXX0 Standard ID           Read:   ID20    ID19                                     ID17       ID16   ID15
                             Write:  ID2     ID1    ID18       SRR=1           IDE=1
                CANxRIDR0    Read:   ID14    ID13   ID0         RTR            IDE=0  ID9        ID8     ID7
                Extended ID  Read:
0xXXX1 Standard ID           Write:  ID6     ID5    ID12       ID11            ID10                     RTR
                CANxRIDR1    Read:
                Extended ID  Read:   DB7     DB6    ID4        ID3             ID2    ID1        ID0    DB0
0xXXX2 Standard ID           Write:                                                                     DLC0
                CANxRIDR2    Read:                  DB5        DB4             DB3    DB2        DB1
                Extended ID  Read:
0xXXX3 Standard ID           Write:                                            DLC3 DLC2 DLC1
                CANxRIDR3    Read:
0xXXX4 CANxRDSR0           Write:
0xXXXB CANxRDSR7             Read:
                             Write:
0xXXXC CANRxDLR

40                                           MC9S12C-Family / MC9S12GC-Family                Freescale Semiconductor

                                                    Rev 01.23
                                                 Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

         Table 1-2. Detailed MSCAN Foreground Receive and Transmit Buffer Layout (continued)

Address    Name                   Bit 7   Bit 6   Bit 5     Bit 4         Bit 3   Bit 2   Bit 1   Bit 0
0xXXXD   Reserved
                         Read:   TSR15   TSR14   TSR13                           TSR10   TSR9    TSR8
0xXXXE CANxRTSRH         Write:  TSR7    TSR6    TSR5       TSR12 TSR11          TSR2    TSR1    TSR0
                         Read:    ID28    ID27    ID26      TSR4 TSR3             ID23    ID22    ID21
0xXXXF CANxRTSRL         Write:   ID10     ID9     ID8                             ID5     ID4     ID3
                         Read:    ID20    ID19    ID18                            ID17    ID16    ID15
         Extended ID     Write:    ID2     ID1     ID0      ID25          ID24
         CANxTIDR0       Read:    ID14    ID13    ID12                             ID9     ID8     ID7
0xxx10                   Write:
         Standard ID     Read:     ID6     ID5     ID4                             ID1     ID0    RTR
                         Write:                             ID7           ID6
                         Read:    DB7     DB6     DB5                             DB2     DB1     DB0
         Extended ID     Write:                             SRR=1 IDE=1          DLC2    DLC1    DLC0
         CANxTIDR1       Read:   PRIO7   PRIO6   PRIO5                           PRIO2   PRIO1   PRIO0
0xxx11                   Write:  TSR15   TSR14   TSR13                           TSR10   TSR9    TSR8
         Standard ID     Read:   TSR7    TSR6    TSR5                            TSR2    TSR1    TSR0
                         Write:                             RTR           IDE=0
                         Read:
         Extended ID     Write:                             ID11          ID10
         CANxTIDR2       Read:
0xxx12                   Write:
         Standard ID     Read:
                         Write:
         Extended ID     Read:                              ID3           ID2
         CANxTIDR3       Write:
0xxx13                   Read:
         Standard ID     Write:
                         Read:
0xxx14 CANxTDSR0       Write:                             DB4           DB3
0xxx1B CANxTDSR7         Read:
                         Write:
0xxx1C CANxTDLR          Read:                                            DLC3
                         Write:
0xxx1D CONxTTBPR                                            PRIO4         PRIO3
                                                            TSR12         TSR11
0xxx1E CANxTTSRH

0xxx1F CANxTTSRL                                            TSR4 TSR3

0x01800x023F Reserved

Address    Name          Read:   Bit 7   Bit 6   Bit 5      Bit 4         Bit 3  Bit 2   Bit 1   Bit 0
         Reserved        Write:    0       0       0          0             0      0       0       0
0x0180
0x023F

Freescale Semiconductor                 MC9S12C-Family / MC9S12GC-Family                                41

                                                 Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x02400x027F PIM (Port Interface Module) (Sheet 1 of 3)

Address    Name            Bit 7   Bit 6  Bit 5              Bit 4  Bit 3  Bit 2  Bit 1  Bit 0
0x0240     PTT                    PTT6   PTT5               PTT4   PTT3   PTT2   PTT1   PTT0
0x0241     PTIT   Read:    PTT7  PTIT6   PTIT5              PTIT4  PTIT3  PTIT2  PTIT1  PTIT0
0x0242    DDRT    Write:  PTIT7
0x0243    RDRT    Read:          DDRT7   DDRT5 DDRT4 DDRT3 DDRT2 DDRT1 DDRT0
0x0244    PERT    Write:  DDRT7  RDRT6
0x0245    PPST    Read:   RDRT7  PERT6   RDRT5 RDRT4 RDRT3 RDRT2 RDRT1 RDRT0
0x0246  Reserved  Write:  PERT7  PPST6
0x0247  MODRR     Read:   PPST7          PERT5 PERT4 PERT3 PERT2 PERT1 PERT0
0x0248     PTS    Write:             0
0x0249     PTIS   Read:       0      0   PPST5              PPST4  PPST3  PPST2  PPST1  PPST0
0x024A     DDRS    Write:      0      0      0                  0      0      0      0      0
0x024B     RDRS    Read:       0      0
0x024C     PERS    Write:      0      0   0
0x024D     PPSS    Read:       0      0            MODRR4 MODRR3 MODRR2 MODRR1 MODRR0
0x024E    WOMS     Write:      0      0
0x024F   Reserved  Read:       0      0   0                  0      PTS3 PTS2 PTS1 PTS0
0x0250     PTM    Write:      0      0
0x0251    PTIM    Read:       0      0   0                  0      PTIS3 PTIS2 PTIS1 PTIS0
0x0252   DDRM     Write:      0      0
0x0253   RDRM     Read:       0      0   0                  0      DDRS3 DDRS2 DDRS1 DDRS0
0x0254    PERM    Write:      0      0
0x0255    PPSM    Read:       0      0   0                  0      RDRS3 RDRS2 RDRS1 RDRS0
                   Write:      0      0
                   Read:       0      0   0                  0      PERS3 PERS2 PERS1 PERS0
                   Write:      0
                   Read:                  0                  0      PPSS3 PPSS2 PPSS1 PPSS0
                   Write:
                   Read:                  0                  0      WOMS3 WOMS2 WOMS1 WOMS0
                   Write:
                   Read:                  0                  0      0      0      0      0
                   Write:
                   Read:                  PTM5               PTM4   PTM3   PTM2   PTM1   PTM0
                   Write:                 PTIM5              PTIM4  PTIM3  PTIM2  PTIM1  PTIM0
                   Read:
                   Write:                 DDRM5 DDRM4 DDRM3 DDRM2 DDRM1 DDRM0
                   Read:                  RDRM5 RDRM4 RDRM3 RDRM2 RDRM1 RDRM0
                   Write:                 PERM5 PERM4 PERM3 PERM2 PERM1 PERM0
                   Read:                  PPSM5 PPSM4 PPSM3 PPSM2 PPSM1 PPSM0
                   Write:
                   Read:
                   Write:
                   Read:
                   Write:
                   Read:
                   Write:

42                                MC9S12C-Family / MC9S12GC-Family            Freescale Semiconductor

                                          Rev 01.23
                                                Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x02400x027F PIM (Port Interface Module) (Sheet 2 of 3)

Address    Name                  Bit 7   Bit 6  Bit 5      Bit 4          Bit 3  Bit 2  Bit 1  Bit 0
0x0256   WOMM                             0
0x0257  Reserved        Read:       0          WOMM5 WOMM4 WOMM3 WOMM2 WOMM1 WOMM0
0x0258                  Write:      0     0
0x0259     PTP          Read:                  0          0              0      0      0      0
0x025A      PTIP         Write:   PTP7
0x025B     DDRP          Read:   PTIP7   PTP6   PTP5       PTP4           PTP3   PTP2   PTP1   PTP0
0x025C     RDRP          Write:          PTIP6  PTIP5      PTIP4          PTIP3  PTIP2  PTIP1  PTIP0
0x025D     PERP          Read:   DDRP7
0x025E     PPSP          Write:  RDRP7   DDRP7 DDRP5 DDRP4 DDRP3 DDRP2 DDRP1 DDRP0
0x025F      PIEP         Read:   PERP7
0x0260     PIFP         Write:  PPSP7   RDRP6 RDRP5 RDRP4 RDRP3 RDRP2 RDRP1 RDRP0
0x0261  Reserved        Read:   PIEP7
0x0262  Reserved        Write:  PIFP7   PERP6 PERP5 PERP4 PERP3 PERP2 PERP1 PERP0
0x0263  Reserved        Read:
0x0264  Reserved        Write:      0   PPSP6 PPSP5 PPSP4 PPSP3 PPSP2 PPSP1 PPSS0
0x0265  Reserved        Read:       0
0x0266  Reserved        Write:      0   PIEP6 PIEP5 PIEP4 PIEP3 PIEP2 PIEP1 PIEP0
0x0267  Reserved        Read:       0
0x0268  Reserved        Write:      0   PIFP6  PIFP5      PIFP4          PIFP3  PIFP2  PIFP1  PIFP0
0x0269     PTJ          Read:       0      0      0          0              0      0      0      0
0x026A      PTIJ         Write:      0
0x026B     DDRJ          Read:       0   0      0          0              0      0      0      0
0x026C     RDRJ          Write:
           PERJ          Read:    PTJ7   0      0          0              0      0      0      0
                         Write:   PTIJ7
                         Read:           0      0          0              0      0      0      0
                         Write:  DDRJ7
                         Read:   RDRJ7   0      0          0              0      0      0      0
                         Write:  PERJ7
                         Read:           0      0          0              0      0      0      0
                         Write:
                         Read:           0      0          0              0      0      0      0
                         Write:
                         Read:           0      0          0              0      0      0      0
                         Write:
                         Read:           PTJ6   0          0              0      0      0      0
                         Write:
                         Read:           PTIJ6  0          0              0      0      0      0
                         Write:
                         Read:           DDRJ7  0          0              0      0      0      0
                         Write:
                         Read:           RDRJ6  0          0              0      0      0      0
                         Write:
                         Read:           PERJ6  0          0              0      0      0      0
                         Write:
                         Read:
                         Write:

Freescale Semiconductor                 MC9S12C-Family / MC9S12GC-Family                              43

                                                Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

0x02400x027F PIM (Port Interface Module) (Sheet 3 of 3)

Address    Name                 Bit 7      Bit 6    Bit 5      Bit 4     Bit 3  Bit 2   Bit 1   Bit 0
0x026D     PPSJ
0x026E      PIEJ        Read:               PPSJ6        0          0       0        0       0       0
0x026F      PIFJ                   PPSJ7     PIEJ6       0          0       0        0       0       0
0x0270    PTAD                              PIFJ6       0          0       0        0       0       0
0x0271    PTIAD        Write:              PTAD6
0x0272   DDRAD         Read:              PTIAD6    PTAD5      PTAD4   PTAD3    PTAD2   PTAD1   PTAD0
0x0273   RDRAD                                     PTIAD5     PTIAD4  PTIAD3   PTIAD2  PTIAD1    PTIJ7
0x0274   PERAD                     PIEJ7  DDRAD6
0x0275   PPSAD         Write:             RDRAD6   DDRAD5     DDRAD4  DDRAD3   DDRAD2  DDRAD1  DDRAD0
0x0276-  Reserved       Read:              PERAD6   RDRAD5     RDRAD4  RDRAD3   RDRAD2  RDRAD1  RDRAD0
0x027F                                     PPSAD6   PERAD5     PERAD4  PERAD3   PERAD2  PERAD1  PERAD0
                                    PIFJ7           PPSAD5     PPSAD4  PPSAD3   PPSAD2  PPSAD1  PPSAD0
                        Write:                  0
                        Read:                            0          0       0        0       0       0

                                   PTAD7
                        Write:
                        Read: PTIAD7
                        Write:
                        Read:

                                  DDRAD7
                        Write:
                        Read:

                                  RDRAD7
                        Write:
                        Read:

                                  PERAD7
                        Write:
                        Read:

                                  PPSAD7
                        Write:
                        Read: 0
                        Write:

0x02800x03FF Reserved Space

Address  Name                   Bit 7      Bit 6    Bit 5      Bit 4     Bit 3  Bit 2   Bit 1   Bit 0
                                  0          0        0          0         0      0       0       0
0x0280  Reserved       Read:
0x2FF                  Write:    0          0        0          0         0      0       0       0

0x0300  Unimplemented  Read:
0x03FF                 Write:

44                                     MC9S12C-Family / MC9S12GC-Family                Freescale Semiconductor

                                                    Rev 01.23
                                                 Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.2.3 Part ID Assignments

The part ID is located in two 8-bit registers PARTIDH and PARTIDL (addresses 0x001A and ox001B after
reset). The read-only value is a unique part ID for each revision of the chip. Table 1-3 shows the assigned
part ID numbers for production mask sets.

                                 Table 1-3. Assigned Part ID Numbers

                         Device                             Mask Set Number         Part ID(1)

                      MC9S12C32                                  1L45J                $3300
                      MC9S12C32                                  2L45J                $3302
                      MC9S12C32                                  1M34C                $3311
                     MC9S12GC16                                  2L45J                $3302
                     MC9S12GC32                                  2L45J                $3302
                     MC9S12GC32                                  1M34C                $3311
   MC9S12C64,MC9S12C96,MC9S12C128                                2L09S                $3102
MC9S12GC64,MC9S12GC96,MC9S12GC128                                2L09S                $3102
   MC9S12C64,MC9S12C96,MC9S12C128                                0M66G                $3103
                                                                                      $3103
MC9S12GC64,MC9S12GC96,MC9S12GC128                                0M66G

1. The coding is as follows:

Bit 1512: Major family identifier

Bit 118: Minor family identifier

Bit 74: Major mask set revision number including FAB transfers

Bit 30: Minor -- non full -- mask set revision

The device memory sizes are located in two 8-bit registers MEMSIZ0 and MEMSIZ1 (addresses 0x001C
and 0x001D after reset). Table 1-4 shows the read-only values of these registers. Refer to Module Mapping
and Control (MMC) Block Guide for further details.

                                   Table 1-4. Memory Size Registers

                Device                           Register Name               Value
           MC9S12GC16
MC9S12C32, MC9S12GC32                              MEMSIZ0                   $00
MC9S12C64, MC9S12GC64                              MEMSIZ1                   $80
  MC9S12C96,MC9S12GC96                              MEMSIZ0                   $00
MC9S12C128, MC9S12GC128                             MEMSIZ1                   $80
                                                    MEMSIZ0                   $01
                                                    MEMSIZ1                   $C0
                                                    MEMSIZ0                   $01
                                                    MEMSIZ1                   $C0
                                                    MEMSIZ0                   $01
                                                    MEMSIZ1                   $C0

Freescale Semiconductor            MC9S12C-Family / MC9S12GC-Family                             45

                                                 Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.3 Signal Description
1.3.1 Device Pinouts

    80 PP4/KWP4/PW4                                                                    60 VRH
       79 PP5/KWP5/PW5                                                                 59 VDDA
           78 PP7/KWP7                                                                 58 PAD07/AN07
               77 VDDX                                                                 57 PAD06/AN06
                  76 VSSX                                                              56 PAD05/AN05
                      75 PM0/RXCAN                                                     55 PAD04/AN04
                          74 PM1/TXCAN                                                 54 PAD03/AN03
                              73 PM2/MISO                                              53 PAD02/AN02
                                 72 PM3/SS                                             52 PAD01/AN01
                                     71 PM4/MOSI                                       51 PAD00/AN00
                                         70 PM5/SCK                                    50 VSS2
                                            69 PJ6/KWJ6                                49 VDD2
                                                68 PJ7/KWJ7                            48 PA7/ADDR15/DATA15
                                                    67 PP6/KWP6/ROMCTL                 47 PA6/ADDR14/DATA14
                                                        66 PS3                         46 PA5/ADDR13/DATA13
                                                           65 PS2                      45 PA4/ADDR12/DATA12
                                                               64 PS1/TXD              44 PA3/ADDR11/DATA11
                                                                   63 PS0/RXD          43 PA2/ADDR10/DATA10
                                                                      62 VSSA          42 PA1/ADDR9/DATA9
                                                                          61 VRL       41 PA0/ADDR8/DATA8
        PW3/KWP3/PP3 1
        PW2/KWP2/PP2 2        MC9S12C-Family /
        PW1/KWP1/PP1 3        MC9S12GC-Family
        PW0/KWP0/PP0 4
          PW0/IOC0/PT0 5
          PW1/IOC1/PT1 6
          PW2/IOC2/PT2 7
          PW3/IOC3/PT3 8

                     VDD1 9
                     VSS1 10
          PW4/IOC4/PT4 11
                IOC5/PT5 12
                IOC6/PT6 13
                IOC7/PT7 14
    MODC/TAGHI/BKGD 15
    ADDR0/DATA0/PB0 16
    ADDR1/DATA1/PB1 17
    ADDR2/DATA2/PB2 18
    ADDR3/DATA3/PB3 19
     ADDR4/DATA4/PB4 20

    ADDR5/DATA5/PB5 21
       ADDR6/DATA6/PB6 22
           ADDR7/DATA7/PB7 23
               XCLKS/NOACC/PE7 24
                  MODB/IPIPE1/PE6 25
                      MODA/IPIPE0/PE5 26

                          ECLK/PE4 27
                             VSSR 28
                                 VDDR 29

                                     RESET 30
                                         VDDPLL 31

                                            XFC 32
                                                VSSPLL 33
                                                    EXTAL 34

                                                       XTAL 35
                                                           VPP/TEST 36
                                                               LSTRB/TAGLO/PE3 37
                                                                   R/W/PE2 38

                                                                      IRQ/PE1 39
                                                                          XIRQ/PE0 40

                                                  Signals shown in Bold are not available on the 52- or 48-pin package
                                                  Signals shown in Bold Italic are available in the 52-pin, but not the 48-pin package

                                             Figure 1-7. Pin Assignments in 80-Pin QFP

The MODRR register within the PIM allows for mapping of PWM channels to Port T in the absence of
Port P pins for the low pin count packages. For the 80QFP package option it is recommended not to use
MODRR since this is intended to support PWM channel availability in low pin count packages. Note that
when mapping PWM channels to Port T in an 80QFP option, the associated PWM channels are then
mapped to both Port P and Port T

46                            MC9S12C-Family / MC9S12GC-Family                         Freescale Semiconductor

                              Rev 01.23
                         Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

                         52 PP4/KWP4/PW4
                              51 PP5/KWP5/PW5
                                   50 VDDX
                                       49 VSSX
                                            48 PM0/RXCAN
                                                 47 PM1/TXCAN
                                                       46 PM2/MISO
                                                            45 PM3/SS
                                                                 44 PM4/MOSI
                                                                      43 PM5/SCK
                                                                           42 PS1/TXD
                                                                                41 PS0/RXD
                                                                                    40 VSSA
PW3/KWP3/PP3 1                                             39 VRH
PW0/IOC0/PT0 2          MC9S12C-Family /                  38 VDDA
PW1/IOC1/PT1 3          MC9S12GC-Family                   37 PAD07/AN07
PW2/IOC2/PT2 4                                            36 PAD06/AN06
PW3/IOC3/PT3 5                                            35 PAD05/AN05
             VDD1 6                                        34 PAD04/AN04
             VSS1 7                                        33 PAD03/AN03
       IOC4/PT4 8                                          32 PAD02/AN02
       IOC5/PT5 9                                          31 PAD01/AN01
       IOC6/PT6 10                                         30 PAD00/AN00
       IOC7/PT7 11                                         29 PA2
   MODC/BKGD 12                                            28 PA1
             PB4 13                                        27 PA0

                         XCLKS/PE7 14
                              ECLK/PE4 15
                                   VSSR 16
                                        VDDR 17
                                             RESET 18
                                                  VDDPLL 19
                                                       XFC 20
                                                            VSSPLL 21
                                                                 EXTAL 22
                                                                      XTAL 23
                                                                           VPP/TEST 24
                                                                                IRQ/PE1 25
                                                                                     XIRQ/PE0 26

                         * Signals shown in Bold italic are not available on the 48-pin package
                            Figure 1-8. Pin Assignments in 52-Pin LQFP

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family                                         47

                         Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

                        48 PP5/KWP5/PW5  VDDX  VSSX  45 PM0/RXCAN  44 PM1/TXCAN  43 PM2/MISO  42 PM3/SS  41 PM4/MOSI  40 PM5/SCK  39 PS1/TXD  38 PS0/RXD  37 VSSA

    PW0/IOC0/PT0 1                       47    46                                                                                                         36       VRH
    PW1/IOC1/PT1 2
    PW2/IOC2/PT2 3                                                                                                                                        35       VDDA
    PW3/IOC3/PT3 4
                                                                                                                                                          34 PAD07/AN07
               VDD1 5
               VSS1 6                                              MC9S12C-Family /                                                                       33 PAD06/AN06
          IOC4/PT4 7                                               MC9S12GC-Family                                                                        32 PAD05/AN05
          IOC5/PT5 8                                                                                                                                      31 PAD04/AN04
          IOC6/PT6 9
          IOC7/PT7 10                                                                                                                                     30 PAD03/AN03
     MODC/BKGD 11
                PB4 12                                                                                                                                    29 PAD02/AN02

                                                                                                                                                          28 PAD01/AN01

                                                                                                                                                          27 PAD00/AN00

                                                                                                                                                          26 PA0

                                                                                                                                                          25 XIRQ/PE0
                      XCLKS/PE7 13
                           ECLK/PE4 14
                                VSSR 15
                                     VDDR 16
                                          RESET 17
                                               VDDPLL 18
                                                    XFC 19
                                                         VSSPLL 20
                                                              EXTAL 21
                                                                   XTAL 22
                                                                        VPP/TEST 23
                                                                             IRQ/PE1 24

    Figure 1-9. Pin Assignments in 48-Pin LQFP

48                                       MC9S12C-Family / MC9S12GC-Family                                                                                                Freescale Semiconductor

                                                                   Rev 01.23
                                             Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.3.2 Signal Properties Summary

                                     Table 1-5. Signal Properties

Pin Name     Pin Name    Pin Name     Power  Internal Pull
Function 1  Function 2   Function 3  Domain    Resistor

   EXTAL          --           --                                               Description
    XTAL          --           --
  RESET           --           --            CTRL     Reset
    XFC           --           --                     State
   TEST          VPP           --
   BKGD        MODC         TAGHI    VDDPLL  NA         NA Oscillator pins
    PE7       NOACC        XCLKS     VDDPLL
    PE6                     MODB      VDDX   NA         NA
               IPIPE1                VDDPLL
    PE5                     MODA      VSSX   None     None External reset pin
               IPIPE0                 VDDX
    PE4                        --     VDDX   NA         NA PLL loop filter pin
                ECLK                  VDDX
    PE3                    TAGLO             NA         NA Test pin only
               LSTRB                  VDDX
    PE2                        --            Up         Up Background debug, mode pin, tag signal high
    PE1          R/W           --     VDDX
    PE0                        --            PUCR       Up Port E I/O pin, access, clock select
  PA[7:3]        IRQ           --     VDDX
                XIRQ                          While RESET Port E I/O pin and pipe status
  PA[2:1]   ADDR[15:1/         --     VDDX   pin is low: Down
            DATA[15:1]                VDDX
    PA[0]   ADDR[10:9/         --     VDDX    While RESET Port E I/O pin and pipe status
            DATA[10:9]                VDDX   pin is low: Down
  PB[7:5]    ADDR[8]/          --
              DATA[8]                        PUCR     Mode Port E I/O pin, bus clock output
   PB[4]    ADDR[7:5]/         --                     Dep(1)
             DATA[7:5]
  PB[3:0]    ADDR[4]/          --            PUCR     Mode Port E I/O pin, low strobe, tag signal low
              DATA[4]                                 Dep1
PAD[7:0]   ADDR[3:0]/         --
             DATA[3:0]                       PUCR     Mode Port E I/O pin, R/W in expanded modes
   PP[7]                       --                     Dep1
               AN[7:0]
   PP[6]                  ROMCTL             PUCR       Up Port E input, external interrupt pin
              KWP[7]
   PP[5]                     PW5             PUCR       Up Port E input, non-maskable interrupt pin
              KWP[6]
  PP[4:3]                  PW[4:3]           PUCR Disabled Port A I/O pin and multiplexed address/data
              KWP[5]
                                     VDDX    PUCR Disabled Port A I/O pin and multiplexed address/data
             KWP[4:3]
                                     VDDX    PUCR Disabled Port A I/O pin and multiplexed address/data

                                     VDDX    PUCR Disabled Port B I/O pin and multiplexed address/data

                                     VDDX    PUCR Disabled Port B I/O pin and multiplexed address/data

                                     VDDX    PUCR Disabled Port B I/O pin and multiplexed address/data

                                     VDDA    PERAD/P  Disabled  Port AD I/O pins and ATD inputs
                                     VDDX      PSAD   Disabled
                                     VDDX             Disabled  Port P I/O pins and keypad wake-up
                                     VDDX      PERP/  Disabled
                                     VDDX      PPSP   Disabled  Port P I/O pins, keypad wake-up, and ROMON
                                                                enable.
                                               PERP/            Port P I/O pin, keypad wake-up, PW5 output
                                               PPSP
                                                                Port P I/O pin, keypad wake-up, PWM output
                                               PERP/
                                               PPSP

                                               PERP/
                                               PPSP

Freescale Semiconductor              MC9S12C-Family / MC9S12GC-Family                                   49

                                             Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

                           Table 1-5. Signal Properties (continued)

Pin Name Pin Name Pin Name Power                       Internal Pull
Function 1 Function 2 Function 3 Domain                  Resistor

                                                                                      Description

                                                       CTRL   Reset
                                                              State

    PP[2:0]  KWP[2:0]  PW[2:0]  VDDX                   PERP/  Disabled Port P I/O pins, keypad wake-up, PWM outputs
                                                       PPSP

    PJ[7:6]  KWJ[7:6]  --       VDDX                   PERJ/  Disabled Port J I/O pins and keypad wake-up
                                                       PPSJ

    PM5      SCK       --       VDDX                   PERM/      Up Port M I/O pin and SPI SCK signal
                                                       PPSM

    PM4      MOSI      --       VDDX                   PERM/      Up Port M I/O pin and SPI MOSI signal
                                                       PPSM

    PM3      SS        --       VDDX                   PERM/      Up Port M I/O pin and SPI SS signal
                                                       PPSM

    PM2       MISO     --       VDDX                   PERM/      Up Port M I/O pin and SPI MISO signal
    PM1      TXCAN                                     PPSM
    PM0      RXCAN
                       --       VDDX                   PERM/      Up   Port M I/O pin and CAN transmit signal(2)
                                                       PPSM

                       --       VDDX                   PERM/      Up   Port M I/O pin and CAN receive signal2
                                                       PPSM

    PS[3:2]  --        --       VDDX                   PERS/      Up Port S I/O pins
                                                       PPSS

    PS1      TXD       --       VDDX                   PERS/      Up Port S I/O pin and SCI transmit signal
                                                       PPSS

    PS0      RXD       --       VDDX                   PERS/      Up Port S I/O pin and SCI receive signal
                                                       PPSS

    PT[7:5]  IOC[7:5]  --       VDDX                   PERT/  Disabled Port T I/O pins shared with timer (TIM)
                                                       PPST

    PT[4:0]  IOC[4:0]  PW[4:0]  VDDX                   PERT/  Disabled Port T I/O pins shared with timer and PWM
                                                       PPST

1. The Port E output buffer enable signal control at reset is determined by the PEAR register and is mode dependent. For

    example, in special test mode RDWE = LSTRE = 1 which enables the PE[3:2] output buffers and disables the pull-ups. Refer

    to S12_MEBI user guide for PEAR register details.

2. CAN functionality is not available on the MC9S12GC Family members.

1.3.3 Pin Initialization for 48- and 52-Pin LQFP Bond Out Versions

Not Bonded Pins:

         If the port pins are not bonded out in the chosen package the user should initialize the registers to
         be inputs with enabled pull resistance to avoid excess current consumption. This applies to the
         following pins:

             (48LQFP): Port A[7:1], Port B[7:5], Port B[3:0], PortE[6,5,3,2], Port P[7:6], PortP[4:0], Port
             J[7:6], PortS[3:2]
             (52LQFP): Port A[7:3], Port B[7:5], Port B[3:0], PortE[6,5,3,2], Port P[7:6], PortP[2:0], Port
             J[7:6], PortS[3:2]

50                              MC9S12C-Family / MC9S12GC-Family                      Freescale Semiconductor

                                                       Rev 01.23
1.3.4                                                                        Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

       Detailed Signal Descriptions

1.3.4.1 EXTAL, XTAL -- Oscillator Pins

EXTAL and XTAL are the crystal driver and external clock pins. On reset all the device clocks are derived
from the EXTAL input frequency. XTAL is the crystal output.

1.3.4.2 RESET -- External Reset Pin

RESET is an active low bidirectional control signal that acts as an input to initialize the MCU to a known
start-up state. It also acts as an open-drain output to indicate that an internal failure has been detected in
either the clock monitor or COP watchdog circuit. External circuitry connected to the RESET pin should
not include a large capacitance that would interfere with the ability of this signal to rise to a valid logic one
within 32 ECLK cycles after the low drive is released. Upon detection of any reset, an internal circuit
drives the RESET pin low and a clocked reset sequence controls when the MCU can begin normal
processing.

1.3.4.3 TEST / VPP -- Test Pin
This pin is reserved for test and must be tied to VSS in all applications.

1.3.4.4 XFC -- PLL Loop Filter Pin

Dedicated pin used to create the PLL loop filter. See CRG BUG for more detailed information.PLL loop
filter. Please ask your Motorola representative for the interactive application note to compute PLL loop
filter elements. Any current leakage on this pin must be avoided.

                              XFC

                         MCU       R0
                                                              CP

                                    CS

                                   VDDPLL     VDDPLL

                         Figure 1-10. PLL Loop Filter Connections

1.3.4.5 BKGD / TAGHI / MODC -- Background Debug, Tag High, and Mode Pin

The BKGD / TAGHI / MODC pin is used as a pseudo-open-drain pin for the background debug
communication. In MCU expanded modes of operation when instruction tagging is on, an input low on
this pin during the falling edge of E-clock tags the high half of the instruction word being read into the
instruction queue. It is also used as a MCU operating mode select pin at the rising edge during reset, when
the state of this pin is latched to the MODC bit.

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family          51

                                   Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.3.4.6 PA[7:0] / ADDR[15:8] / DATA[15:8] -- Port A I/O Pins

PA7PA0 are general purpose input or output pins,. In MCU expanded modes of operation, these pins are
used for the multiplexed external address and data bus. PA[7:1] pins are not available in the 48-pin package
version. PA[7:3] are not available in the 52-pin package version.

1.3.4.7 PB[7:0] / ADDR[7:0] / DATA[7:0] -- Port B I/O Pins

PB7PB0 are general purpose input or output pins. In MCU expanded modes of operation, these pins are
used for the multiplexed external address and data bus. PB[7:5] and PB[3:0] pins are not available in the
48-pin nor 52-pin package version.

1.3.4.8 PE7 / NOACC / XCLKS -- Port E I/O Pin 7

PE7 is a general purpose input or output pin. During MCU expanded modes of operation, the NOACC
signal, when enabled, is used to indicate that the current bus cycle is an unused or "free" cycle. This signal
will assert when the CPU is not using the bus.The XCLKS is an input signal which controls whether a
crystal in combination with the internal Colpitts (low power) oscillator is used or whether Pierce
oscillator/external clock circuitry is used. The state of this pin is latched at the rising edge of RESET. If
the input is a logic low the EXTAL pin is configured for an external clock drive or a Pierce oscillator. If
input is a logic high a Colpitts oscillator circuit is configured on EXTAL and XTAL. Since this pin is an
input with a pull-up device during reset, if the pin is left floating, the default configuration is a Colpitts
oscillator circuit on EXTAL and XTAL.

         EXTAL   CDC1
    MCU
                           C1              Crystal or
           XTAL              C2       Ceramic Resonator

                                                                      VSSPLL

    1. Due to the nature of a translated ground Colpitts oscillator a DC voltage
       bias is applied to the crystal. Please contact the crystal manufacturer for
       crystal DC.

      Figure 1-11. Colpitts Oscillator Connections (PE7 = 1)

    EXTAL

    MCU                RB                        C1
         XTAL    RS1
                                           Crystal or
                                      Ceramic Resonator

                                                                           C2
                                                                                         VSSPLL

    1. RS can be zero (shorted) when used with higher frequency crystals,
       refer to manufacturer's data.

    Figure 1-12. Pierce Oscillator Connections (PE7 = 0)

52               MC9S12C-Family / MC9S12GC-Family                                                Freescale Semiconductor

                           Rev 01.23
                                      Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

                              EXTAL                   CMOS Compatible
                         MCU                          External Oscillator
                                                      (VDDPLL Level)
                                XTAL
                                      Not Connected

                                        Figure 1-13. External Clock Connections (PE7 = 0)

1.3.4.9 PE6 / MODB / IPIPE1 -- Port E I/O Pin 6

PE6 is a general purpose input or output pin. It is used as a MCU operating mode select pin during reset.
The state of this pin is latched to the MODB bit at the rising edge of RESET. This pin is shared with the
instruction queue tracking signal IPIPE1. This pin is an input with a pull-down device which is only active
when RESET is low. PE[6] is not available in the 48- / 52-pin package versions.

1.3.4.10 PE5 / MODA / IPIPE0 -- Port E I/O Pin 5

PE5 is a general purpose input or output pin. It is used as a MCU operating mode select pin during reset.
The state of this pin is latched to the MODA bit at the rising edge of RESET. This pin is shared with the
instruction queue tracking signal IPIPE0. This pin is an input with a pull-down device which is only active
when RESET is low. This pin is not available in the 48- / 52-pin package versions.

1.3.4.11 PE4 / ECLK-- Port E I/O Pin [4] / E-Clock Output

ECLK is the output connection for the internal bus clock. It is used to demultiplex the address and data in
expanded modes and is used as a timing reference. ECLK frequency is equal to 1/2 the crystal frequency
out of reset. The ECLK pin is initially configured as ECLK output with stretch in all expanded modes. The
E clock output function depends upon the settings of the NECLK bit in the PEAR register, the IVIS bit in
the MODE register and the ESTR bit in the EBICTL register. All clocks, including the E clock, are halted
when the MCU is in stop mode. It is possible to configure the MCU to interface to slow external memory.
ECLK can be stretched for such accesses. Reference the MISC register (EXSTR[1:0] bits) for more
information. In normal expanded narrow mode, the E clock is available for use in external select decode
logic or as a constant speed clock for use in the external application system. Alternatively PE4 can be used
as a general purpose input or output pin.

1.3.4.12 PE3 / LSTRB -- Port E I/O Pin [3] / Low-Byte Strobe (LSTRB)

In all modes this pin can be used as a general-purpose I/O and is an input with an active pull-up out of
reset. If the strobe function is required, it should be enabled by setting the LSTRE bit in the PEAR register.
This signal is used in write operations. Therefore external low byte writes will not be possible until this
function is enabled. This pin is also used as TAGLO in special expanded modes and is multiplexed with
the LSTRB function. This pin is not available in the 48- / 52-pin package versions.

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family                  53

                                      Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.3.4.13 PE2 / R/W -- Port E I/O Pin [2] / Read/Write

In all modes this pin can be used as a general-purpose I/O and is an input with an active pull-up out of
reset. If the read/write function is required it should be enabled by setting the RDWE bit in the PEAR
register. External writes will not be possible until enabled. This pin is not available in the 48- / 52-pin
package versions.

1.3.4.14 PE1 / IRQ -- Port E Input Pin [1] / Maskable Interrupt Pin

The IRQ input provides a means of applying asynchronous interrupt requests to the MCU. Either falling
edge-sensitive triggering or level-sensitive triggering is program selectable (INTCR register). IRQ is
always enabled and configured to level-sensitive triggering out of reset. It can be disabled by clearing
IRQEN bit (INTCR register). When the MCU is reset the IRQ function is masked in the condition code
register. This pin is always an input and can always be read. There is an active pull-up on this pin while in
reset and immediately out of reset. The pull-up can be turned off by clearing PUPEE in the PUCR register.

1.3.4.15 PE0 / XIRQ -- Port E input Pin [0] / Non Maskable Interrupt Pin

The XIRQ input provides a means of requesting a non-maskable interrupt after reset initialization. During
reset, the X bit in the condition code register (CCR) is set and any interrupt is masked until MCU software
enables it. Because the XIRQ input is level sensitive, it can be connected to a multiple-source wired-OR
network. This pin is always an input and can always be read. There is an active pull-up on this pin while
in reset and immediately out of reset. The pull-up can be turned off by clearing PUPEE in the PUCR
register.

1.3.4.16 PAD[7:0] / AN[7:0] -- Port AD I/O Pins [7:0]

PAD7PAD0 are general purpose I/O pins and also analog inputs for the analog to digital converter. In
order to use a PAD pin as a standard input, the corresponding ATDDIEN register bit must be set. These
bits are cleared out of reset to configure the PAD pins for A/D operation.

When the A/D converter is active in multi-channel mode, port inputs are scanned and converted
irrespective of Port AD configuration. Thus Port AD pins that are configured as digital inputs or digital
outputs are also converted in the A/D conversion sequence.

1.3.4.17 PP[7] / KWP[7] -- Port P I/O Pin [7]

PP7 is a general purpose input or output pin, shared with the keypad interrupt function. When configured
as an input, it can generate interrupts causing the MCU to exit stop or wait mode. This pin is not available
in the 48- / 52-pin package versions.

1.3.4.18 PP[6] / KWP[6]/ROMCTL -- Port P I/O Pin [6]

PP6 is a general purpose input or output pin, shared with the keypad interrupt function. When configured
as an input, it can generate interrupts causing the MCU to exit stop or wait mode. This pin is not available
in the 48- / 52-pin package versions. During MCU expanded modes of operation, this pin is used to enable

54  MC9S12C-Family / MC9S12GC-Family  Freescale Semiconductor

    Rev 01.23
                                                                                           Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

the Flash EEPROM memory in the memory map (ROMCTL). At the rising edge of RESET, the state of
this pin is latched to the ROMON bit.

    PP6 = 1 in emulation modes equates to ROMON = 0 (ROM space externally mapped)
    PP6 = 0 in expanded modes equates to ROMON = 0 (ROM space externally mapped)

1.3.4.19 PP[5:0] / KWP[5:0] / PW[5:0] -- Port P I/O Pins [5:0]
PP[5:0] are general purpose input or output pins, shared with the keypad interrupt function. When
configured as inputs, they can generate interrupts causing the MCU to exit stop or wait mode.
PP[5:0] are also shared with the PWM output signals, PW[5:0]. Pins PP[2:0] are only available in the 80-
pin package version. Pins PP[4:3] are not available in the 48-pin package version.

1.3.4.20 PJ[7:6] / KWJ[7:6] -- Port J I/O Pins [7:6]
PJ[7:6] are general purpose input or output pins, shared with the keypad interrupt function. When
configured as inputs, they can generate interrupts causing the MCU to exit stop or wait mode. These pins
are not available in the 48-pin package version nor in the 52-pin package version.

1.3.4.21 PM5 / SCK -- Port M I/O Pin 5
PM5 is a general purpose input or output pin and also the serial clock pin SCK for the serial peripheral
interface (SPI).

1.3.4.22 PM4 / MOSI -- Port M I/O Pin 4
PM4 is a general purpose input or output pin and also the master output (during master mode) or slave
input (during slave mode) pin for the serial peripheral interface (SPI).

1.3.4.23 PM3 / SS -- Port M I/O Pin 3
PM3 is a general purpose input or output pin and also the slave select pin SS for the serial peripheral
interface (SPI).

1.3.4.24 PM2 / MISO -- Port M I/O Pin 2
PM2 is a general purpose input or output pin and also the master input (during master mode) or slave
output (during slave mode) pin for the serial peripheral interface (SPI).

1.3.4.25 PM1 / TXCAN -- Port M I/O Pin 1
PM1 is a general purpose input or output pin and the transmit pin, TXCAN, of the CAN module if
available.

1.3.4.26 PM0 / RXCAN -- Port M I/O Pin 0
PM0 is a general purpose input or output pin and the receive pin, RXCAN, of the CAN module if available.

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  55

                         Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.3.4.27 PS[3:2] -- Port S I/O Pins [3:2]
PS3 and PS2 are general purpose input or output pins. These pins are not available in the 48- / 52-pin
package versions.

1.3.4.28 PS1 / TXD -- Port S I/O Pin 1
PS1 is a general purpose input or output pin and the transmit pin, TXD, of serial communication interface
(SCI).

1.3.4.29 PS0 / RXD -- Port S I/O Pin 0
PS0 is a general purpose input or output pin and the receive pin, RXD, of serial communication interface
(SCI).

1.3.4.30 PT[7:5] / IOC[7:5] -- Port T I/O Pins [7:5]
PT7PT5 are general purpose input or output pins. They can also be configured as the timer system input
capture or output compare pins IOC7-IOC5.

1.3.4.31 PT[4:0] / IOC[4:0] / PW[4:0]-- Port T I/O Pins [4:0]
PT4PT0 are general purpose input or output pins. They can also be configured as the timer system input
capture or output compare pins IOC[n] or as the PWM outputs PW[n].

1.3.5 Power Supply Pins

1.3.5.1 VDDX,VSSX -- Power and Ground Pins for I/O Drivers
External power and ground for I/O drivers. Bypass requirements depend on how heavily the MCU pins are
loaded.

1.3.5.2 VDDR, VSSR -- Power and Ground Pins for I/O Drivers and for Internal
               Voltage Regulator

External power and ground for the internal voltage regulator. Connecting VDDR to ground disables the
internal voltage regulator.

1.3.5.3 VDD1, VDD2, VSS1, VSS2 -- Internal Logic Power Pins
Power is supplied to the MCU through VDD and VSS. This 2.5V supply is derived from the internal voltage
regulator. There is no static load on those pins allowed. The internal voltage regulator is turned off, if VDDR
is tied to ground.

56  MC9S12C-Family / MC9S12GC-Family  Freescale Semiconductor

    Rev 01.23
                                                                                           Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.3.5.4 VDDA, VSSA -- Power Supply Pins for ATD and VREG
VDDA, VSSA are the power supply and ground input pins for the voltage regulator reference and the analog
to digital converter.

1.3.5.5 VRH, VRL -- ATD Reference Voltage Input Pins
VRH and VRL are the reference voltage input pins for the analog to digital converter.

1.3.5.6 VDDPLL, VSSPLL -- Power Supply Pins for PLL

Provides operating voltage and ground for the oscillator and the phased-locked loop. This allows the
supply voltage to the oscillator and PLL to be bypassed independently. This 2.5V voltage is generated by
the internal voltage regulator.

                                       Table 1-6. Power and Ground Connection Summary

Mnemonic     Nominal                            Description
            Voltage (V)
VDD1, VDD2
            2.5          Internal power and ground generated by internal regulator. These also allow an external source
VSS1, VSS2
            0            to supply the core VDD/VSS voltages and bypass the internal voltage regulator.
   VDDR
   VSSR                  In the 48 and 52 LQFP packages VDD2 and VSS2 are not available.
   VDDX
    VSSX    5.0          External power and ground, supply to internal voltage regulator.
   VDDA
    VSSA    0
    VRH
    VRL     5.0          External power and ground, supply to pin drivers.
  VDDPLL
  VSSPLL    0

            5.0          Operating voltage and ground for the analog-to-digital converters and the reference for the

            0            internal voltage regulator, allows the supply voltage to the A/D to be bypassed independently.

            5.0          Reference voltage low for the ATD converter.

            0            In the 48 and 52 LQFP packages VRL is bonded to VSSA.

            2.5          Provides operating voltage and ground for the phased-locked loop. This allows the supply voltage

            0            to the PLL to be bypassed independently. Internal power and ground generated by internal

                         regulator.

                                                     NOTE

            All VSS pins must be connected together in the application. Because fast
            signal transitions place high, short-duration current demands on the power
            supply, use bypass capacitors with high-frequency characteristics and place
            them as close to the MCU as possible. Bypass requirements depend on
            MCU pin load.

Freescale Semiconductor              MC9S12C-Family / MC9S12GC-Family                                                    57

                                     Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.4 System Clock Description

The clock and reset generator provides the internal clock signals for the core and all peripheral modules.
Figure 1-14 shows the clock connections from the CRG to all modules. Consult the CRG Block User
Guide for details on clock generation.

                                                  S12_CORE

                                  Core Clock

                                                  Flash

    EXTAL  CRG  Bus Clock                                RAM
     XTAL       Oscillator Clock                          TIM
                                                         ATD
                                                         PIM
                                                          SCI
                                                          SPI

                                                       MSCAN
                                                  Not on 9S12GC

                                                        VREG
                                                         TPM

                Figure 1-14. Clock Connections

1.5 Modes of Operation

Eight possible modes determine the device operating configuration. Each mode has an associated default
memory map and external bus configuration controlled by a further pin.

Three low power modes exist for the device.

1.5.1 Chip Configuration Summary

The operating mode out of reset is determined by the states of the MODC, MODB, and MODA pins during
reset. The MODC, MODB, and MODA bits in the MODE register show the current operating mode and
provide limited mode switching during operation. The states of the MODC, MODB, and MODA pins are
latched into these bits on the rising edge of the reset signal. The ROMCTL signal allows the setting of the
ROMON bit in the MISC register thus controlling whether the internal Flash is visible in the memory map.
ROMON = 1 mean the Flash is visible in the memory map. The state of the ROMCTL pin is latched into
the ROMON bit in the MISC register on the rising edge of the reset signal.

58              MC9S12C-Family / MC9S12GC-Family         Freescale Semiconductor

                Rev 01.23
                                                 Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

                                         Table 1-7. Mode Selection

BKGD = PE6 = PE5 =            PP6 =      ROMON                         Mode Description
MODC MODB MODA             ROMCTL          Bit

                                 X               Special Single Chip, BDM allowed and ACTIVE. BDM is allowed in

0  0                     0       0       1       all other modes but a serial command is required to make BDM
                                 1
                                 X               active.
                                 0
0  0                     1       1       1       Emulation Expanded Narrow, BDM allowed
                                 X
                                 0       0
                                 1
0  1                     0               0       Special Test (Expanded Wide), BDM allowed
                                 X
0  1                     1               1       Emulation Expanded Wide, BDM allowed
                                 0
                                 1       0

1  0                     0               1       Normal Single Chip, BDM allowed

1  0                     1               0       Normal Expanded Narrow, BDM allowed

                                         1

1  1                     0               1       Peripheral; BDM allowed but bus operations would cause bus
                                                 conflicts (must not be used)

1  1                     1               0       Normal Expanded Wide, BDM allowed

                                         1

For further explanation on the modes refer to the S12_MEBI block guide.

                                               Table 1-8. Clock Selection Based on PE7

                            PE7 = XCLKS                   Description

                            1            Colpitts Oscillator selected

                            0            Pierce Oscillator/external clock selected

1.5.2 Security

The device will make available a security feature preventing the unauthorized read and write of the
memory contents. This feature allows:

    Protection of the contents of FLASH,
    Operation in single-chip mode,
    Operation from external memory with internal FLASH disabled.

The user must be reminded that part of the security must lie with the user's code. An extreme example
would be user's code that dumps the contents of the internal program. This code would defeat the purpose
of security. At the same time the user may also wish to put a back door in the user's program. An example
of this is the user downloads a key through the SCI which allows access to a programming routine that
updates parameters.

1.5.2.1 Securing the Microcontroller

Once the user has programmed the FLASH, the part can be secured by programming the security bits
located in the FLASH module. These non-volatile bits will keep the part secured through resetting the part
and through powering down the part.

Freescale Semiconductor        MC9S12C-Family / MC9S12GC-Family                                                59

                                                 Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

The security byte resides in a portion of the Flash array.
Check the Flash Block User Guide for more details on the security configuration.

1.5.2.2 Operation of the Secured Microcontroller

1.5.2.2.1 Normal Single Chip Mode
This will be the most common usage of the secured part. Everything will appear the same as if the part was
not secured with the exception of BDM operation. The BDM operation will be blocked.

1.5.2.2.2 Executing from External Memory
The user may wish to execute from external space with a secured microcontroller. This is accomplished
by resetting directly into expanded mode. The internal FLASH will be disabled. BDM operations will be
blocked.

1.5.2.3 Unsecuring the Microcontroller
In order to unsecure the microcontroller, the internal FLASH must be erased. This can be done through an
external program in expanded mode or via a sequence of BDM commands. Unsecuring is also possible via
the Backdoor Key Access. Refer to Flash Block Guide for details.
Once the user has erased the FLASH, the part can be reset into special single chip mode. This invokes a
program that verifies the erasure of the internal FLASH. Once this program completes, the user can erase
and program the FLASH security bits to the unsecured state. This is generally done through the BDM, but
the user could also change to expanded mode (by writing the mode bits through the BDM) and jumping to
an external program (again through BDM commands). Note that if the part goes through a reset before the
security bits are reprogrammed to the unsecure state, the part will be secured again.

1.5.3 Low-Power Modes

The microcontroller features three main low power modes. Consult the respective Block User Guide for
information on the module behavior in stop, pseudo stop, and wait mode. An important source of
information about the clock system is the Clock and Reset Generator User Guide (CRG).

1.5.3.1 Stop
Executing the CPU STOP instruction stops all clocks and the oscillator thus putting the chip in fully static
mode. Wake up from this mode can be done via reset or external interrupts.

1.5.3.2 Pseudo Stop
This mode is entered by executing the CPU STOP instruction. In this mode the oscillator is still running
and the real time interrupt (RTI) or watchdog (COP) sub module can stay active. Other peripherals are
turned off. This mode consumes more current than the full stop mode, but the wake up time from this mode
is significantly shorter.

60  MC9S12C-Family / MC9S12GC-Family  Freescale Semiconductor

    Rev 01.23
                                                                                           Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.5.3.3 Wait

This mode is entered by executing the CPU WAI instruction. In this mode the CPU will not execute
instructions. The internal CPU signals (address and data bus) will be fully static. All peripherals stay
active. For further power consumption reduction the peripherals can individually turn off their local clocks.

1.5.3.4 Run

Although this is not a low-power mode, unused peripheral modules should not be enabled in order to save
power.

1.6 Resets and Interrupts

Consult the Exception Processing section of the CPU12 Reference Manual for information.

1.6.1 Vectors

Table 1-9 lists interrupt sources and vectors in default order of priority.

                                                  Table 1-9. Interrupt Vector Locations

   Vector Address                    Interrupt Source          CCR                       Local Enable  HPRIO Value
                                                               Mask                                      to Elevate
   0xFFFE, 0xFFFF            External reset, power on reset,
                                    or low voltage reset       None                      None                 --
   0xFFFC, 0xFFFD
   0xFFFA, 0xFFFB        (see CRG flags register to determine  None COPCTL (CME, FCME)                        --
   0xFFF8, 0xFFF9                       reset source)                                                         --
   0xFFF6, 0xFFF7                                              None      COP rate select                      --
   0xFFF4, 0xFFF5                 Clock monitor fail reset                                                    --
   0xFFF2, 0xFFF3                     COP failure reset        None                      None                 --
   0xFFF0, 0xFFF1                                                                                          0x00F2
   0xFFEE, 0xFFEF           Unimplemented instruction trap     None                      None              0x00F0
  0xFFEC, 0xFFED                              SWI                                                         0x00EE
$FFEE, $FFEF                                  XIRQ             X-Bit                     None             0x00EC
$FFEC, $FFED                                   IRQ
   0xFFEA, 0xFFEB                                              I bit     INTCR (IRQEN)                    0x00EA
   0xFFE8, 0xFFE9                    Real time Interrupt                                                   0x00E8
   0xFFE6, 0xFFE7               Standard timer channel 0       I bit     CRGINT (RTIE)                     0x00E6
   0xFFE4, 0xFFE5               Standard timer channel 1                                                   0x00E4
   0xFFE2, 0xFFE3                                              I bit                     TIE (C0I)         0x00E2
   0xFFE0, 0xFFE1               Standard timer channel 2                                                   0x00E0
                                Standard timer channel 3       I bit                     TIE (C1I)
                                Standard timer channel 4
                                Standard timer channel 5       Reserved
                                Standard timer channel 6
                                Standard timer channel 7       Reserved

                                                               I bit                     TIE (C2I)

                                                               I bit                     TIE (C3I)

                                                               I bit                     TIE (C4I)

                                                               I bit                     TIE (C5I)

                                                               I bit                     TIE (C6I)

                                                               I bit                     TIE (C7I)

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family                                              61

                         Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

                    Table 1-9. Interrupt Vector Locations (continued)

    Vector Address  Interrupt Source                         CCR       Local Enable            HPRIO Value
                                                             Mask                                to Elevate
                                                                                                  0x00DE
    0xFFDE, 0xFFDF      Standard timer overflow              I bit     TMSK2 (TOI)                0x00DC
    0xFFDC, 0xFFDD  Pulse accumulator A overflow                                                  0x00DA
    0xFFDA, 0xFFDB  Pulse accumulator input edge             I bit     PACTL (PAOVI)              0x00D8
    0xFFD8, 0xFFD9                                                                                0x00D6
                                     SPI                     I bit     PACTL (PAI)
                                                                                                  0x00D2
                                                             I bit     SPICR1 (SPIE, SPTIE)
                                                                                                  0x00CE
    0xFFD6, 0xFFD7  SCI                                      I bit              SCICR2
                                                                       (TIE, TCIE, RIE, ILIE)     0x00C6
                                                                                                  0x00C4
    0xFFD4, 0xFFD5                                           Reserved
                                                                                                   0x00B8
    0xFFD2, 0xFFD3  ATD                                      I bit     ATDCTL2 (ASCIE)             0x00B6
                                                                                                   0x00B4
    0xFFD0, 0xFFD1                                           Reserved                              0x00B2
                                                                                                   0x00B0
    0xFFCE, 0xFFCF  Port J                                   I bit     PIEP (PIEP7-6)
                                                                                                   0x008E
    0xFFCC, 0xFFCD                                           Reserved
                                                                                                  0x008C
    0xFFCA, 0xFFCB                                           Reserved                              0x008A

    0xFFC8, 0xFFC9                                           Reserved

    0xFFC6, 0xFFC7  CRG PLL lock                             I bit     PLLCR (LOCKIE)

    0xFFC4, 0xFFC5  CRG self clock mode                      I bit     PLLCR (SCMIE)

0xFFBA to 0xFFC3                                             Reserved

    0xFFB8, 0xFFB9  FLASH                                    I bit     FCNFG (CCIE, CBEIE)

    0xFFB6, 0xFFB7  CAN wake-up(1)                           I bit     CANRIER (WUPIE)

    0xFFB4, 0xFFB5  CAN errors1                              I bit CANRIER (CSCIE, OVRIE)

    0xFFB2, 0xFFB3  CAN receive1                             I bit     CANRIER (RXFIE)

    0xFFB0, 0xFFB1  CAN transmit1                            I bit     CANTIER (TXEIE[2:0])

0xFF90 to 0xFFAF                                             Reserved
                                                             I bit
    0xFF8E, 0xFF8F  Port P                                   Reserved    PIEP (PIEP7-0)
                                                             I bit
    0xFF8C, 0xFF8D                                           I bit     PWMSDN(PWMIE)
                                                             Reserved     CTRL0 (LVIE)
    0xFF8C, 0xFF8D  PWM Emergency Shutdown

    0xFF8A, 0xFF8B  VREG LVI

   0xFF80 to 0xFF89
1. Not available on MC9S12GC Family members

62                  MC9S12C-Family / MC9S12GC-Family                                   Freescale Semiconductor

                                             Rev 01.23
                                                                                           Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.6.2 Resets

Resets are a subset of the interrupts featured in Table 1-9. The different sources capable of generating a
system reset are summarized in Table 1-10. When a reset occurs, MCU registers and control bits are
changed to known start-up states. Refer to the respective module Block User Guides for register reset
states.

1.6.2.1  Reset Summary Table

                               Table 1-10. Reset Summary

                   Reset       Priority      Source                     Vector

             Power-on Reset        1     CRG module              0xFFFE, 0xFFFF
             External Reset        1       RESET pin             0xFFFE, 0xFFFF
           Low Voltage Reset       1     VREG module             0xFFFE, 0xFFFF
          Clock Monitor Reset      2     CRG module              0xFFFC, 0xFFFD
         COP Watchdog Reset        3     CRG module              0xFFFA, 0xFFFB

1.6.2.2 Effects of Reset

When a reset occurs, MCU registers and control bits are changed to known start-up states. Refer to the
respective module Block User Guides for register reset states. Refer to the HCS12 Multiplexed External
Bus Interface (MEBI) Block Guide for mode dependent pin configuration of port A, B and E out of reset.

Refer to the PIM Block User Guide for reset configurations of all peripheral module ports.

Refer to Figure 1-2 to Figure 1-6 footnotes for locations of the memories depending on the operating mode
after reset.

The RAM array is not automatically initialized out of reset.

                                                           NOTE
                  For devices assembled in 48-pin or 52-pin LQFP packages all non-bonded
                  out pins should be configured as outputs after reset in order to avoid current
                  drawn from floating inputs. Refer to Table 1-5 for affected pins.

1.7 Device Specific Information and Module Dependencies

1.7.1 PPAGE

External paging is not supported on these devices. In order to access the 16K flash blocks in the address
range 0x80000xBFFF the PPAGE register must be loaded with the corresponding value for this range.
Refer to Table 1-11 for device specific page mapping.

For all devices Flash Page 3F is visible in the 0xC0000xFFFF range if ROMON is set. For all devices
(except MC9S12GC16) Page 3E is also visible in the 0x40000x7FFF range if ROMHM is cleared and
ROMON is set. For all devices apart from MC9S12C32 Flash Page 3D is visible in the 0x00000x3FFF
range if ROMON is set...

Freescale Semiconductor        MC9S12C-Family / MC9S12GC-Family                  63

                                         Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

     Device  PAGE    Table 1-11. Device Specific Flash PAGE Mapping
MC9S12GC16     3F
  MC9S12C32    3E                                      PAGE Visible with PPAGE Contents
MC9S12GC32                                    $01,$03,$05,$07,$09......$35,$37,$39,$3B,$3D,$3F
               3F  $00,$02,$04,$06,$08,$0A,$0C,$0E,$10,$12......$2C,$2E,$30,$32,$34,$36,$38,$3A,$3C,$3E
  MC9S12C64
MC9S12GC64     3C   $01,$03,$05,$07,$09,$0B,$0D,$0F,$11,$13.....$2D,$2F,$31,$33,$35,$37,$39,$3B,$3D,$3F
               3D
  MC9S12C96    3E                                        $04,$0C,$14,$1C,$24,$2C,$34,$3C
MC9S12GC96     3F                                        $05,$0D,$15,$1D,$25,$2D,$35,$3D
               3A                                        $06,$0E,$16,$1E,$26,$2E,$36,$3E
MC9S12C128    3B                                         $07,$0F,$17,$1F,$27,$2F,$37,$3F
MC9S12GC128    3C                                        $02,$0A,$12,$1A,$22,$2A,$32,$3A
               3D                                        $03,$0B,$13,$1B,$23,$2B,$33,$3B
               3E                                        $04,$0C,$14,$1C,$24,$2C,$34,$3C
               3F                                        $05,$0D,$15,$1D,$25,$2D,$35,$3D
               38                                        $06,$0E,$16,$1E,$26,$2E,$36,$3E
               39                                         $07,$0F,$17,$1F,$27,$2F,$37,$3F
               3A                                        $00,$08,$10,$18,$20,$28,$30,$38
               3B                                        $01,$09,$11,$19,$21,$29,$31,$39
               3C                                        $02,$0A,$12,$1A,$22,$2A,$32,$3A
               3D                                        $03,$0B,$13,$1B,$23,$2B,$33,$3B
               3E                                        $04,$0C,$14,$1C,$24,$2C,$34,$3C
               3F                                        $05,$0D,$15,$1D,$25,$2D,$35,$3D
                                                         $06,$0E,$16,$1E,$26,$2E,$36,$3E
                                                          $07,$0F,$17,$1F,$27,$2F,$37,$3F

1.7.2 BDM Alternate Clock

The BDM section reference to alternate clock is equivalent to the oscillator clock.

1.7.3 Extended Address Range Emulation Implications

In order to emulate the MC9S12GC or MC9S12C-Family / MC9S12GC-Family devices, external
addressing of a 128K memory map is required. This is provided in a 112 LQFP package version which
includes the 3 necessary extra external address bus signals via PortK[2:0]. This package version is for
emulation only and not provided as a general production package.

The reset state of DDRK is 0x0000, configuring the pins as inputs.

The reset state of PUPKE in the PUCR register is "1" enabling the internal Port K pullups.

In this reset state the pull-ups provide a defined state and prevent a floating input, thereby preventing
unnecessary current flow at the input stage.

To prevent unnecessary current flow in production package options, the states of DDRK and PUPKE
should not be changed by software.

64                 MC9S12C-Family / MC9S12GC-Family                                  Freescale Semiconductor

                   Rev 01.23
                                                                                           Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.7.4 VREGEN

The VREGEN input mentioned in the VREG section is device internal, connected internally to VDDR.

1.7.5 VDD1, VDD2, VSS1, VSS2

In the 80-pin QFP package versions, both internal VDD and VSS of the 2.5V domain are bonded out on 2
sides of the device as two pin pairs (VDD1, VSS1 & VDD2, VSS2). VDD1 and VDD2 are connected together
internally. VSS1 and VSS2 are connected together internally. The extra pin pair enables systems using the
80-pin package to employ better supply routing and further decoupling.

1.7.6 Clock Reset Generator And VREG Interface

The low voltage reset feature uses the low voltage reset signal from the VREG module as an input to the
CRG module. When the regulator output voltage supply to the internal chip logic falls below a specified
threshold the LVR signal from the VREG module causes the CRG module to generate a reset.

                                                           NOTE
                  If the voltage regulator is shut down by connecting VDDR to ground then the
                  LVRF flag in the CRG flags register (CRGFLG) is undefined.

1.7.7 Analog-to-Digital Converter

In the 48- and 52-pin package versions, the VRL pad is bonded internally to the VSSA pin.

1.7.8 MODRR Register Port T And Port P Mapping

The MODRR register within the PIM allows for mapping of PWM channels to port T in the absence of
port P pins for the low pin count packages. For the 80QFP package option it is recommended not to use
MODRR since this is intended to support PWM channel availability in low pin count packages. Note that
when mapping PWM channels to port T in an 80QFP option, the associated PWM channels are then
mapped to both port P and port T. .

1.7.9 Port AD Dependency On PIM And ATD Registers

The port AD pins interface to the PIM module. However, the port pin digital state can be read from either
the PORTAD register in the ATD register map or from the PTAD register in the PIM register map.

In order to read a digital pin value from PORTAD the corresponding ATDDIEN bit must be set and the
corresponding DDRDA bit cleared. If the corresponding ATDDIEN bit is cleared then the pin is configured
as an analog input and the PORTAD bit reads back as "1".

In order to read a digital pin value from PTAD, the corresponding DDRAD bit must be cleared, to
configure the pin as an input.

Furthermore in order to use a port AD pin as an analog input, the corresponding DDRAD bit must be
cleared to configure the pin as an input

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  65

                         Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

1.8 Recommended Printed Circuit Board Layout

The PCB must be carefully laid out to ensure proper operation of the voltage regulator as well as of the
MCU itself. The following rules must be observed:

    Every supply pair must be decoupled by a ceramic capacitor connected as near as possible to the
         corresponding pins.

    Central point of the ground star should be the VSSR pin.
    Use low ohmic low inductance connections between VSS1, VSS2, and VSSR.
    VSSPLL must be directly connected to VSSR.
    Keep traces of VSSPLL, EXTAL, and XTAL as short as possible and occupied board area for C6,

         C7, C11, and Q1 as small as possible.
    Do not place other signals or supplies underneath area occupied by C6, C7, C5, and Q1 and the

         connection area to the MCU.
    Central power input should be fed in at the VDDA/VSSA pins.

                                           Table 1-12. Recommended Component Values

    Component  Purpose                                       Type                    Value

    C1         VDD1 filter capacitor                         Ceramic X7R   220nF, 470nF(1)

    C2         VDDR filter capacitor                         X7R/tantalum  >=100nF

    C3         VDDPLL filter capacitor                       Ceramic X7R   100nF

    C4         PLL loop filter capacitor

                                                             See PLL specification chapter

    C5         PLL loop filter capacitor

    C6         OSC load capacitor

                                                             See PLL specification chapter

    C7         OSC load capacitor

    C8         VDD2 filter capacitor (80 QFP only)           Ceramic X7R   220nF

    C9         VDDA filter capacitor                         Ceramic X7R   100nF

    C10        VDDX filter capacitor                         X7R/tantalum  >=100nF

    C11        DC cutoff capacitor                           Colpitts mode only, if recommended by
                                                                         quartz manufacturer

    R1         Pierce Mode Select Pullup                           Pierce Mode Only

    R2         PLL loop filter resistor                      See PLL Specification chapter

    R3 / RB    PLL loop filter resistor                            Pierce mode only
    R4 / RS    PLL loop filter resistor

    Q1         Quartz                                        --                      --

    1. In 48LQFP and 52LQFP package versions, VDD2 is not available. Thus 470nF must be connected to
       VDD1.

66             MC9S12C-Family / MC9S12GC-Family                                      Freescale Semiconductor

                        Rev 01.23
                         Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

Figure 1-15. Recommended PCB Layout (48 LQFP) Colpitts Oscillator

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family          67

                         Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

    Figure 1-16. Recommended PCB Layout (52 LQFP) Colpitts Oscillator

68  MC9S12C-Family / MC9S12GC-Family                         Freescale Semiconductor

    Rev 01.23
                         Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

Figure 1-17. Recommended PCB Layout (80 QFP) Colpitts Oscillator

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family         69

                         Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

    Figure 1-18. Recommended PCB Layout for 48 LQFP Pierce Oscillator

70  MC9S12C-Family / MC9S12GC-Family                         Freescale Semiconductor

    Rev 01.23
                         Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

Figure 1-19. Recommended PCB Layout for 52 LQFP Pierce Oscillator

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family          71

                         Rev 01.23
Chapter 1 MC9S12C and MC9S12GC Device Overview (MC9S12C128)

    Figure 1-20. Recommended PCB Layout for 80QFP Pierce Oscillator

72  MC9S12C-Family / MC9S12GC-Family                         Freescale Semiconductor

    Rev 01.23
Chapter 2
Port Integration Module (PIM9C32) Block Description

2.1 Introduction

The Port Integration Module establishes the interface between the peripheral modules and the I/O pins for
all ports.

This chapter covers:
    Port A, B, and E related to the core logic and the multiplexed bus interface
    Port T connected to the TIM module (PWM module can be routed to port T as well)
    Port S connected to the SCI module
    Port M associated to the MSCAN and SPI module
    Port P connected to the PWM module, external interrupt sources available
    Port J pins can be used as external interrupt sources and standard I/O's

The following I/O pin configurations can be selected:
    Available on all I/O pins:
         -- Input/output selection
         -- Drive strength reduction
         -- Enable and select of pull resistors
    Available on all Port P and Port J pins:
         -- Interrupt enable and status flags

The implementation of the Port Integration Module is device dependent.

2.1.1 Features

A standard port has the following minimum features:
    Input/output selection
    5-V output drive with two selectable drive strength
    5-V digital and analog input
    Input with selectable pull-up or pull-down device

Optional features:
    Open drain for wired-OR connections
    Interrupt inputs with glitch filtering

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  73

                         Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.1.2 Block Diagram

  Figure 2-1 is a block diagram of the PIM.

                                                                            Port Integration Module

                                                                                                                     MUX

                                                                                                          TIM  IOC0       Port T           PT0
                                                                                                               IOC1                        PT1
                                                                                                               IOC2                        PT2
                                                                                                               IOC3                        PT3
                                                                                                               IOC4                        PT4
                                                                                                               IOC5                        PT5
                                                                                                               IOC6                        PT6
                                                                                                               IOC7                        PT7

                                                                                                               PWM0       Interrupt Logic  PP0
                                                                                                                                 Port P    PP1
                                                                                                          PWM  PWM1                        PP2
                                                                                                                                           PP3
                   IRQ Logic                                                                                   PWM2                        PP4
                                                                                                                                           PP5
           Port J                                                                                              PWM3                        PP6
                                                                                                                                           PP7
                                                                                                               PWM4
                                                                                                                                           PS0
    PJ6                                                                                                        PWM5                        PS1
                                                                                                                                           PS2
    PJ7                                                                                                                                    PS3

    PAD0                      AN0                                                                    SCI       RXD        Port S           PM0
    PAD1                      AN1                                                                              TXD                         PM1
    PAD2                      AN2                                                                                                          PM2
    PAD3   A/D                AN3                                                                    CAN  RXCAN           Port M           PM3
    PAD4                      AN4 ATD                                                                SPI  TXCAN                            PM4
    PAD5                      AN5                                                                                                          PM5
    PAD6                      AN6                                                                           MISO
    PAD7                      AN7                                                                           MOSI                           BKGD
                                                                                                              SCK                          PE0
     PB0                      ADDR0/DATA0                                                                                                  PE1
     PB1                      ADDR1/DATA1                                                                       SS                         PE2
     PB2                      ADDR2/DATA2                                                                                                  PE3
     PB3   Port B             ADDR3/DATA3          BKGD/MODC/TAGHI                                                                         PE4
     PB4                      ADDR4/DATA4                                                                                                  PE5
     PB5                      ADDR5/DATA5    CORE                      XIRQ                                               Port E           PE6
     PB6                      ADDR6/DATA6                                IRQ                                                               PE7
     PB7   Port A             ADDR7/DATA7                                R/W

      PA0                     ADDR8/DATA8                 LSTRB/TAGLO
      PA1                     ADDR9/DATA9                              ECLK
      PA2                     ADDR10/DATA10
      PA3                     ADDR11/DATA11                 IPIPE0/MODA
      PA4                     ADDR12/DATA12                IPIPE1/MODB
      PA5                     ADDR13/DATA13
      PA6                     ADDR14/DATA14              NOACC/XCLKS
      PA7                     ADDR15/DATA15

                                                      Figure 2-1. PIM Block Diagram

Note: The MODRR register within the PIM allows for mapping of PWM channels to Port T in the absence
of Port P pins for the low pin count packages. For the 80QFP package option it is recommended not to use
MODRR since this is intended to support PWM channel availability in low pin count packages. Note that

74                            MC9S12C-Family / MC9S12GC-Family                                                            Freescale Semiconductor

                                             Rev 01.23
                                                                                                    Chapter 2 Port Integration Module (PIM9C32) Block Description

when mapping PWM channels to Port T in an 80QFP option, the associated PWM channels are then
mapped to both Port P and Port T.

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  75

                         Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.2 Signal Description

This section lists and describes the signals that do connect off-chip.

Table 2-1 shows all pins and their functions that are controlled by the PIM module. If there is more than
one function associated to a pin, the priority is indicated by the position in the table from top (highest
priority) to down (lowest priority).

                                                Table 2-1. Pin Functions and Priorities

Port Pin Name     Pin Function                                Description                  Pin Function
Port T PT[7:0]                                                                               after Reset
                    PWM[4:0]     PWM outputs (only available if enabled in MODRR register)
                     IOC[7:0]    Standard timer channels                                         GPIO
                                 General-purpose I/O
Port S   PS3           GPIO      General-purpose I/O
                       GPIO      General purpose I/O
         PS2           GPIO      Serial communication interface transmit pin
                        TXD      General-purpose I/O
         PS1           GPIO      Serial communication interface receive pin
                        RXD      General-purpose I/O
         PS0           GPIO      SPI clock
                        SCK      SPI transmit pin
Port M    PM5          MOSI      SPI slave select line
Port P    PM4                    SPI receive pin
          PM3            SS      MSCAN transmit pin
          PM2          MISO      MSCAN receive pin
          PM1         TXCAN      PWM outputs
          PM0         RXCAN      General purpose I/O with interrupt
         PP[7:0]    PWM[5:0]     ROMON input signal
                    GPIO[7:0]    General purpose I/O with interrupt
Port J    PP[6]     ROMON       ATD analog inputs
Port AD   PJ[7:6]      GPIO      General purpose I/O
         PAD[7:0]    ATD[7:0]    Refer to MEBI Block Guide.
                    GPIO[7:0]
Port A PA[7:0]     ADDR[15:8]/   Refer to MEBI Block Guide.
                   DATA[15:8]/
Port B PB[7:0]         GPIO
                   ADDR[7:0]/
                    DATA[7:0]/
                       GPIO

76                               MC9S12C-Family / MC9S12GC-Family           Freescale Semiconductor

                                 Rev 01.23
                                                       Chapter 2 Port Integration Module (PIM9C32) Block Description

                                 Table 2-1. Pin Functions and Priorities (continued)

Port Pin Name           Pin Function                           Description                  Pin Function
                                                                                              after Reset
                 PE7        NOACC/
                            XCLKS/                              Refer to MEBI Block Guide.
                 PE6
                              GPIO
                 PE5
Port E                       IPIPE1/
                             MODB/
                 PE4          GPIO
                 PE3
                             IPIPE0/
                 PE2         MODA/
                 PE1          GPIO
                 PE0
                          ECLK/GPIO

                            LSTRB/
                            TAGLO/

                              GPIO

                              R/W/
                              GPIO

                            IRQ/GPI

                           XIRQ/GPI

2.3 Memory Map and Registers

This section provides a detailed description of all registers.

2.3.1 Module Memory Map

Figure 2-2 shows the register map of the Port Integration Module.

Address Name                  R   Bit 7      6      5          4       3                  2      1   Bit 0
                             W    PTT7    PTT6   PTT5       PTT4    PTT3               PTT2   PTT1   PTT0
0x0000 PTT                TIM    IOC7    IOC6   IOC5       IOC4    IOC3               IOC2   IOC1   IOC0
0x0001 PTIT             PWM     PTIT7   PTIT6  PTIT5      PWM4    PWM3               PWM2   PWM1   PWM0
0x0002 DDRT                  R                            PTIT4   PTIT3              PTIT2  PTIT1  PTIT0
0x0003 RDRT                 W   DDRT7   DDRT6  DDRT5
0x0004 PERT                  R  RDRT7   RDRT6  RDRT5      DDRT4   DDRT3              DDRT2  DDRT1  DDRT0
0x0005 PPST                 W   PERT7   PERT6  PERT5
                              R  PPST7   PPST6  PPST5      RDRT4   RDRT3              RDRT2  RDRT1  RDRT0
                             W
                              R                            PERT4   PERT3              PERT2  PERT1  PERT0
                             W
                              R                            PPST4   PPST3              PPST2  PPST1  PPST0
                             W

                                              = Unimplemented or Reserved
                         Figure 2-2. Quick Reference to PIM Registers (Sheet 1 of 3)

Freescale Semiconductor                  MC9S12C-Family / MC9S12GC-Family                           77

                                                Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

Address Name                   Bit 7  6                        5   4      3      2      1      Bit 0
0x0006 Reserved                  0
0x0007 MODRR             R       0   0                        0   0      0      0      0      0
0x0008 PTS               W       0
0x0009 PTIS              R      --   0                        0   MODRR4 MODRR3 MODRR2 MODRR1 MODRR0
0x000A DDRS               W       0
0x000B RDRS               R       0   0                        0   0      PTS3   PTS2   PTS1   PTS0
0x000C PERS               W       0
0x000D PPSS            SCI        0   --                       --  --     --     --     TXD    RXD
0x000E WOMS               R       0
0x000F Reserved           W       0   0                        0   0      PTIS3 PTIS2 PTIS1 PTIS0
                          R       0
0x0010 PTM               W       0   0                        0   0      DDRS3 DDRS2 DDRS1 DDRS0
                          R
0x0011 PTIM              W      --   0                        0   0      RDRS3 RDRS2 RDRS1 RDRS0
0x0012 DDRM              R       0
0x0013 RDRM              W       0   0                        0   0      PERS3 PERS2 PERS1 PERS0
0x0014 PERM              R       0
0x0015 PPSM              W       0   0                        0   0      PPSS3 PPSS2 PPSS1 PPSS0
0x0016 WOMM              R       0
0x0017 Reserved          W       0   0                        0   0      WOMS3 WOMS2 WOMS1 WOMS0
0x0018 PTP               R       0
0x0019 PTIP              W           0                        0   0      0      0      0      0
                          R    PTP7
                          W      --   0
                  MSCAN                           PTM5 PTM4 PTM3 PTM2 PTM1 PTM0
                               PTIP7
                            /         --     SCK                   MOSI   SS     MISO TXCAN RXCAN
                        SPI
                                      0      PTIM5 PTIM4 PTIM3 PTIM2 PTIM1 PTIM0
                          R
                          W           0
                          R                      DDRM5 DDRM4 DDRM3 DDRM2 DDRM1 DDRM0
                          W
                          R           0
                          W                      RDRM5 RDRM4 RDRM3 RDRM2 RDRM1 RDRM0
                          R
                          W           0
                          R                      PERM5 PERM4 PERM3 PERM2 PERM1 PERM0
                          W
                          R           0
                          W                      PPSM5 PPSM4 PPSM3 PPSM2 PPSM1 PPSM0
                          R
                          W           0
                          R                     WOMM5 WOMM4 WOMM3 WOMM2 WOMM1 WOMM0
                          W
                     PWM              0                        0   0      0      0      0      0
                          R
                          W           PTP6   PTP5                  PTP4   PTP3   PTP2   PTP1   PTP0

                                        --   PWM5                  PWM4   PWM3   PWM2   PWM1   PWM0
                                      PTIP6  PTIP5                 PTIP4  PTIP3  PTIP2  PTIP1  PTIP0

                                       = Unimplemented or Reserved
                  Figure 2-2. Quick Reference to PIM Registers (Sheet 2 of 3)

78                                    MC9S12C-Family / MC9S12GC-Family                  Freescale Semiconductor

                                             Rev 01.23
                                                         Chapter 2 Port Integration Module (PIM9C32) Block Description

Address Name                Bit 7           6        5          4        3        2        1     Bit 0
0x001A DDRP                             DDRP6    DDRP5      DDRP4    DDRP3    DDRP2    DDRP1    DDRP0
                         R              RDRP6    RDRP5      RDRP4    RDRP3    RDRP2    RDRP1    RDRP0
                               DDRP7    PERP6    PERP5      PERP4    PERP3    PERP2    PERP1    PERP0
                                        PPSP6    PPSP5      PPSP4    PPSP3    PPSP2    PPSP1    PPSP0
                         W              PIEP6    PIEP5      PIEP4    PIEP3    PIEP2    PIEP1    PIEP0
                                         PIFP6    PIFP5      PIFP4    PIFP3    PIFP2    PIFP1    PIFP0
0x001B RDRP              R
                               RDRP7        0        0          0        0        0        0        0
                                                     0          0        0        0        0        0
                         W               PTJ6        0          0        0        0        0        0
                                         PTIJ6       0          0        0        0        0        0
0x001C PERP              R                           0          0        0        0        0        0
                               PERP7    DDRJ6        0          0        0        0        0        0
                                        RDRJ6        0          0        0        0        0        0
                         W              PERJ6        0          0        0        0        0        0
                                        PPSJ6        0          0        0        0        0        0
0x001D PPSP              R               PIEJ6
                               PPSP7     PIFJ6   PTAD5      PTAD4    PTAD3    PTAD2    PTAD1    PTAD0
                                        PTAD6   PTIAD5     PTIAD4   PTIAD3   PTIAD2   PTIAD1   PTIAD0
                         W             PTIAD6
                                                DDRAD5     DDRAD4   DDRAD3   DDRAD2   DDRAD1   DDRAD0
0x001E PIEP              R             DDRAD6   RDRAD5     RDRAD4   RDRAD3   RDRAD2   RDRAD1   RDRAD0
                                PIEP7  RDRAD6   PERAD5     PERAD4   PERAD3   PERAD2   PERAD1   PERAD0
                                       PERAD6   PPSAD5     PPSAD4   PPSAD3   PPSAD2   PPSAD1   PPSAD0
                         W             PPSAD6
                                                     0          0        0        0        0        0
0x001F PIFP              R                  0
                                PIFP7

                         W

0x0020  Reserved        R  0
0x0027
                         W

0x0028 PTJ               R
                                 PTJ7

                         W

0x0029 PTIJ              R PTIJ7

                         W

0x002A DDRJ              R
                               DDRJ7

                         W

0x002B RDRJ              R
                               RDRJ7

                         W

0x002C PERJ              R
                                PERJ7

                         W

0x002D PPSJ              R
                                PPSJ7

                         W

0x002E PIEJ              R
                                PIEJ7

                         W

0x002F PIFJ              R
                                PIFJ7

                         W

0x0030 PTAD              R
                                PTAD7

                         W

0x0031 PTIAD             R PTIAD7

                         W

0x0032 DDRAD             R
                              DDRAD7

                         W

0x0033 RDRAD             R
                              RDRAD7

                         W

0x0034 PERAD             R
                              PERAD7

                         W

0x0035 PPSAD             R
                              PPSAD7

                         W

0x0036  Reserved        R  0
0x003F
                         W

                                              = Unimplemented or Reserved
                         Figure 2-2. Quick Reference to PIM Registers (Sheet 3 of 3)

Freescale Semiconductor                MC9S12C-Family / MC9S12GC-Family                        79

                                                Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2 Register Descriptions

Table 2-2 summarizes the effect on the various configuration bits -- data direction (DDR), input/output
level (I/O), reduced drive (RDR), pull enable (PE), pull select (PS), and interrupt enable (IE) for the ports.
The configuration bit PS is used for two purposes:

    1. Configure the sensitive interrupt edge (rising or falling), if interrupt is enabled.
    2. Select either a pull-up or pull-down device if PE is active.

                                         Table 2-2. Pin Configuration Summary

    DDR IO RDR PE PS IE(1)                                     Function        Pull Device   Interrupt
                                                                                 Disabled     Disabled
    0  X  X  0                        X  0                Input                   Pull up     Disabled
                                                          Input                 Pull down     Disabled
    0  X  X  1                        0  0                Input                  Disabled   Falling edge
                                                          Input                  Disabled   Rising edge
    0  X  X  1                        1  0                Input                   Pull up   Falling edge
                                                          Input                 Pull down   rising edge
    0  X  X  0                        0  1                Input                  Disabled     Disabled
                                               Output, full drive to 0           Disabled     Disabled
    0  X  X  0                        1  1     Output, full drive to 1           Disabled     Disabled
                                            Output, reduced drive to 0           Disabled     Disabled
    0  X  X  1                        0  1  Output, reduced drive to 1           Disabled   Falling edge
                                               Output, full drive to 0           Disabled   Rising edge
    0  X  X  1                        1  1     Output, full drive to 1           Disabled   Falling edge
                                            Output, reduced drive to 0           Disabled   Rising edge
    1  0  0  X                        X  0  Output, reduced drive to 1

    1  1  0  X                        X  0

    1  0  1  X                        X  0

    1  1  1  X                        X  0

    1  0  0  X                        0  1

    1  1  0  X                        1  1

    1  0  1  X                        0  1

    1  1  1  X                        1  1

1. Applicable only on ports P and J.

                                                   NOTE

          All bits of all registers in this module are completely synchronous to internal
          clocks during a register read.

80                                       MC9S12C-Family / MC9S12GC-Family      Freescale Semiconductor

                                            Rev 01.23
                                                         Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.1 Port T Registers

2.3.2.1.1 Port T I/O Register (PTT)

Module Base + 0x0000

     R     7                6         5               4          3                         2      1            0
     W
  TIM   PTT7             PTT6      PTT5            PTT4       PTT3                      PTT2  PTT1         PTT0
PWM     IOC7
Reset                    IOC6      IOC5            IOC4       IOC3                      IOC2   IOC1         IOC0
          0                                                                                   PWM1         PWM0
                                                   PWM4       PWM3                      PWM2
                                                                                                 0            0
                         0         0               0          0                         0

                      = Unimplemented or Reserved

                                   Figure 2-3. Port T I/O Register (PTT)

Read: Anytime.

Write: Anytime.

If the data direction bits of the associated I/O pins are set to 1, a read returns the value of the port register,
otherwise the value at the pins is read.

If a TIM-channel is defined as output, the related port T is assigned to IOC function.

In addition to the possible timer functionality of port T pins PWM channels can be routed to port T. For
this the Module Routing Register (MODRR) needs to be configured.

                         Table 2-3. Port T[4:0] Pin Functionality Configurations(1)

                         MODRR[x]  PWME[x]         TIMEN[x]      Port T[x] Output

                                                         (2)

                         0            0               0          General Purpose I/O

                         0            0               1              Timer

                         0            1               0          General Purpose I/O

                         0            1               1              Timer

                         1            0               0          General Purpose I/O

                         1            0               1              Timer

                         1            1               0              PWM

                         1            1               1              PWM

                      1. All fields in the that are not shaded are standard use cases.

                      2. TIMEN[x] means that the timer is enabled (TSCR1[7]), the related channel is
                         configured for output compare function (TIOS[x] or special output on a timer
                         overflow event -- configurable in TTOV[x]) and the timer output is routed to the
                         port pin (TCTL1/TCTL2).

Freescale Semiconductor            MC9S12C-Family / MC9S12GC-Family                                               81

                                                   Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.1.2 Port T Input Register (PTIT)

Module Base + 0x0001

         R      7         6       5                    4              3                     2       1       0
         W
    Reset   PTIT7     PTIT6   PTIT5                PTIT4          PTIT3                 PTIT2   PTIT1   PTIT0

              --      --      --                   --             --                    --        --      --

                      = Unimplemented or Reserved

                              Figure 2-4. Port T Input Register (PTIT)

Read: Anytime.
Write: Never, writes to this register have no effect.

                                                    Table 2-4. PTIT Field Descriptions

    Field                                                         Description

    70     Port T Input Register -- This register always reads back the status of the associated pins. This can also be

    PTIT[7:0] used to detect overload or short circuit conditions on output pins.

2.3.2.1.3 Port T Data Direction Register (DDRT)

Module Base + 0x0002

         R       7         6       5                    4              3                     2       1       0
         W
    Reset   DDRT7     DDRT6   DDRT5                DDRT4          DDRT3                 DDRT2   DDRT1   DDRT0
                0                                                                                   0       0
                      0       0                                0  0                     0

                          Figure 2-5. Port T Data Direction Register (DDRT)

Read: Anytime.
Write: Anytime.

                              Table 2-5. DDRT Field Descriptions

    Field                                                         Description

    70     Data Direction Port T -- This register configures each port T pin as either input or output.
DDRT[7:0]
            The standard TIM / PWM modules forces the I/O state to be an output for each standard TIM / PWM module port
            associated with an enabled output compare. In these cases the data direction bits will not change.

            The DDRT bits revert to controlling the I/O direction of a pin when the associated timer output compare is
            disabled.

            The timer input capture always monitors the state of the pin.
            0 Associated pin is configured as input.
            1 Associated pin is configured as output.
            Note: Due to internal synchronization circuits, it can take up to 2 bus cycles until the correct value is read on PTT

                    or PTIT registers, when changing the DDRT register.

82                            MC9S12C-Family / MC9S12GC-Family                                  Freescale Semiconductor

                                                   Rev 01.23
2.3.2.1.4                                                                          Chapter 2 Port Integration Module (PIM9C32) Block Description

           Port T Reduced Drive Register (RDRT)

Module Base + 0x0003

     R          7             6       5       4          3                2          1       0
     W
Reset      RDRT7         RDRT6   RDRT5   RDRT4      RDRT3            RDRT2      RDRT1   RDRT0
               0                                                                    0       0
                         0       0       0          0                0

                            Figure 2-6. Port T Reduced Drive Register (RDRT)

Read: Anytime.
Write: Anytime.

                                 Table 2-6. RDRT Field Descriptions

Field                                       Description

    70    Reduced Drive Port T -- This register configures the drive strength of each port T output pin as either full or
RDRT[7:0]  reduced. If the port is used as input this bit is ignored.
           0 Full drive strength at output.
           1 Associated pin drives at about 1/3 of the full drive strength.

2.3.2.1.5 Port T Pull Device Enable Register (PERT)

Module Base + 0x0004

     R          7             6       5       4          3                2          1       0
     W
Reset      PERT7         PERT6   PERT5   PERT4      PERT3            PERT2      PERT1   PERT0
              0                                                                    0       0
                         0       0       0          0                0

                         Figure 2-7. Port T Pull Device Enable Register (PERT)

Read: Anytime.
Write: Anytime.

                                 Table 2-7. PERT Field Descriptions

Field                                       Description

    70    Pull Device Enable -- This register configures whether a pull-up or a pull-down device is activated, if the port
PERT[7:0]  is used as input. This bit has no effect if the port is used as output. Out of reset no pull device is enabled.
           0 Pull-up or pull-down device is disabled.
           1 Either a pull-up or pull-down device is enabled.

Freescale Semiconductor          MC9S12C-Family / MC9S12GC-Family                                                           83

                                         Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.1.6 Port T Polarity Select Register (PTTST)

Module Base + 0x0005

         R       7         6       5                    4          3       2       1                      0
         W
    Reset   PPST7     PPST6   PPST5                PPST4      PPST3   PPST2   PPST1                  PPST0
               0                                                                 0                      0
                      0       0                    0           0      0

                          Figure 2-8. Port T Polarity Select Register (PPST)

Read: Anytime.
Write: Anytime.

                              Table 2-8. PPST Field Descriptions

    Field                                                Description

    70     Pull Select Port T -- This register selects whether a pull-down or a pull-up device is connected to the pin.
PPST[7:0]   0 A pull-up device is connected to the associated port T pin, if enabled by the associated bit in register PERT

               and if the port is used as input.
            1 A pull-down device is connected to the associated port T pin, if enabled by the associated bit in register PERT

               and if the port is used as input.

2.3.2.1.7 Port T Module Routing Register (MODRR)

Module Base + 0x0007

            7         6       5                    4           3      2           1                         0

    R       0         0       0                                                                      MODRR0
                                                                                                          0
                                                   MODRR4 MODRR3 MODRR2 MODRR1

    W

    Reset   --        --      --                   0           0      0           0

                      = Unimplemented or Reserved

                      Figure 2-9. Port T Module Routing Register (MODRR)

Read: Anytime.

Write: Anytime.

                                                        NOTE
               MODRR[4] must be kept clear on devices featuring a 4 channel PWM.

                              Table 2-9. MODRR Field Descriptions

    Field                                                Description

    40     Module Routing Register Port T -- This register selects the module connected to port T.

MODRR[4:0] 0 Associated pin is connected to TIM module

            1 Associated pin is connected to PWM module

84                            MC9S12C-Family / MC9S12GC-Family                Freescale Semiconductor

                                                   Rev 01.23
                                                       Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.2 Port S Registers

2.3.2.2.1 Port S I/O Register (PTS)

Module Base + 0x0008

       7                 6   5                     4          3                         2         1      0

R      0                 0   0                     0                                           PTS1   PTS0
                                                                                               TXD    RXD
                                                              PTS3                      PTS2
                                                                                                 0      0
W

SCI    --                --  --                    --         --                        --

Reset  0                 0   0                     0          0                         0

                      = Unimplemented or Reserved

                             Figure 2-10. Port S I/O Register (PTS)

Read: Anytime.

Write: Anytime.

If the data direction bits of the associated I/O pins are set to 1, a read returns the value of the port register,
otherwise the value at the pins is read.

The SCI port associated with transmit pin 1 is configured as output if the transmitter is enabled and the
SCI pin associated with receive pin 0 is configured as input if the receiver is enabled. Please refer to SCI
Block User Guide for details.

2.3.2.2.2 Port S Input Register (PTIS)

Module Base + 0x0009

       7                 6   5                     4          3                         2          1      0

R      0                 0   0                     0          PTIS3                     PTIS2  PTIS1  PTIS0

W                                                                                                 0      0

Reset  0                 0   0                     0          0                         0

                      = Unimplemented or Reserved

                             Figure 2-11. Port S Input Register (PTIS)

Read: Anytime.

Write: Never, writes to this register have no effect.

                                                   Table 2-10. PTIS Field Descriptions

Field                                                  Description

30    Port S Input Register -- This register always reads back the status of the associated pins. This also can be

PTIS[3:0] used to detect overload or short circuit conditions on output pins.

Freescale Semiconductor      MC9S12C-Family / MC9S12GC-Family                                                        85

                                                   Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.2.3 Port S Data Direction Register (DDRS)

Module Base + 0x000A

           7          6  5                         4           3     2       1      0

    R      0          0  0                         0

                                                              DDRS3  DDRS2   DDRS1  DDRS0

    W

    Reset  0          0  0                         0           0     0       0      0

                      = Unimplemented or Reserved

                         Figure 2-12. Port S Data Direction Register (DDRS)

Read: Anytime.
Write: Anytime.

                         Table 2-11. DDRS Field Descriptions

    Field                                             Description

    30    Direction Register Port S -- This register configures each port S pin as either input or output.
DDRS[3:0]
           If the associated SCI transmit or receive channel is enabled this register has no effect on the pins. The pin is
           forced to be an output if the SCI transmit channel is enabled, it is forced to be an input if the SCI receive channel
           is enabled.

           The DDRS bits revert to controlling the I/O direction of a pin when the associated channel is disabled.
           0 Associated pin is configured as input.
           1 Associated pin is configured as output.
           Note: Due to internal synchronization circuits, it can take up to 2 bus cycles until the correct value is read on PTS

                   or PTIS registers, when changing the DDRS register.

86                       MC9S12C-Family / MC9S12GC-Family                    Freescale Semiconductor

                                                   Rev 01.23
2.3.2.2.4                                                                             Chapter 2 Port Integration Module (PIM9C32) Block Description

              Port S Reduced Drive Register (RDRS)

Module Base + 0x000B

           7             6  5                      4          3      2           1       0

R          0             0  0                      0

                                                              RDRS3  RDRS2       RDRS1   RDRS0

W

Reset      0             0  0                      0          0      0           0       0

                      = Unimplemented or Reserved

                            Figure 2-13. Port S Reduced Drive Register (RDRS)

Read: Anytime.
Write: Anytime.

                            Table 2-12. RDRS Field Descriptions

Field                                                 Description

    30    Reduced Drive Port S -- This register configures the drive strength of each port S output pin as either full or
RDRS[3:0]  reduced. If the port is used as input this bit is ignored.
           0 Full drive strength at output.
           1 Associated pin drives at about 1/3 of the full drive strength.

2.3.2.2.5 Port S Pull Device Enable Register (PERS)

Module Base + 0x000C

           7             6  5                      4          3      2                1       0

R          0             0  0                      0                             PERS1   PERS0
                                                                                     1       1
                                                              PERS3  PERS2

W

Reset      0             0  0                      0          1      1

                      = Unimplemented or Reserved

                         Figure 2-14. Port S Pull Device Enable Register (PERS)

Read: Anytime.
Write: Anytime.

                            Table 2-13. PERS Field Descriptions

Field                                                 Description

    30    Reduced Drive Port S -- This register configures whether a pull-up or a pull-down device is activated, if the port
PERS[3:0]  is used as input or as output in wired-or (open drain) mode. This bit has no effect if the port is used as push-pull
           output. Out of reset a pull-up device is enabled.
           0 Pull-up or pull-down device is disabled.
           1 Either a pull-up or pull-down device is enabled.

Freescale Semiconductor     MC9S12C-Family / MC9S12GC-Family                                     87

                                                   Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.2.6 Port S Polarity Select Register (PPSS)

Module Base + 0x000D

           7          6  5                         4           3     2        1        0

    R      0          0  0                         0

                                                              PPSS3  PPSS2    PPSS1    PPSS0

    W

    Reset  0          0  0                         0           0     0        0        0

                      = Unimplemented or Reserved

                         Figure 2-15. Port S Polarity Select Register (PPSS)

Read: Anytime.
Write: Anytime.

                         Table 2-14. PPSS Field Descriptions

    Field                                             Description

    30    Pull Select Port S -- This register selects whether a pull-down or a pull-up device is connected to the pin.
PPSS[3:0]  0 A pull-up device is connected to the associated port S pin, if enabled by the associated bit in register PERS

              and if the port is used as input or as wired-or output.
           1 A pull-down device is connected to the associated port S pin, if enabled by the associated bit in register PERS

              and if the port is used as input.

2.3.2.2.7 Port S Wired-OR Mode Register (WOMS)

Module Base + 0x000E

           7          6  5                         4           3     2              1        0

    R      0          0  0                         0                          WOMS1    WOMS0
                                                                                  0        0
                                                              WOMS3  WOMS2

    W

    Reset  0          0  0                         0           0     0

                      = Unimplemented or Reserved

                      Figure 2-16. Port S Wired-Or Mode Register (WOMS)

Read: Anytime.
Write: Anytime.

                         Table 2-15. WOMS Field Descriptions

    Field                                             Description

     30   Wired-OR Mode Port S -- This register configures the output pins as wired-or. If enabled the output is driven
WOMS[3:0]  active low only (open-drain). A logic level of "1" is not driven. This bit has no influence on pins used as inputs.
           0 Output buffers operate as push-pull outputs.
           1 Output buffers operate as open-drain outputs.

88                       MC9S12C-Family / MC9S12GC-Family                     Freescale Semiconductor

                                                   Rev 01.23
                                                          Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.3 Port M Registers

2.3.2.3.1 Port M I/O Register (PTM)

Module Base + 0x0010

           7             6   5                     4          3                         2          1      0

R          0             0                                                                     PTM1   PTM0

                             PTM5                  PTM4       PTM3                      PTM2

W

MSCAN/     --            --  SCK                   MOSI       SS                        MISO   TXCAN  RXCAN
      SPI                                                                                          0      0

Reset      0             0   0                     0          0                         0

                      = Unimplemented or Reserved

                             Figure 2-17. Port M I/O Register (PTM)

Read: Anytime.

Write: Anytime.

If the data direction bits of the associated I/O pins are set to 1, a read returns the value of the port register,
otherwise the value at the pins is read.

The SPI pin configurations (PM[5:2]) is determined by several status bits in the SPI module. Please refer
to the SPI Block User Guide for details.

2.3.2.3.2 Port M Input Register (PTIM)

Module Base + 0x0011

           7             6   5                     4          3                         2          1      0

R          0             0   PTIM5                 PTIM4      PTIM3                     PTIM2  PTIM1  PTIM0

W                                                                                                --     --

Reset      --            --  --                    --         --                        --

                      = Unimplemented or Reserved

                             Figure 2-18. Port M Input Register (PTIM)

Read: Anytime.

Write: Never, writes to this register have no effect.

                                                   Table 2-16. PTIM Field Descriptions

Field                                                    Description

50        Port M Input Register -- This register always reads back the status of the associated pins. This also can be

PTIM[5:0] used to detect overload or short circuit conditions on output pins.

Freescale Semiconductor      MC9S12C-Family / MC9S12GC-Family                                                            89

                                                   Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.3.3 Port M Data Direction Register (DDRM)

Module Base + 0x0012

           7          6   5                        4           3     2       1      0

    R      0          0

                          DDRM5                    DDRM4      DDRM3  DDRM2   DDRM1  DDRM0

    W

    Reset  --         --  0                        0           0     0       0      0

                      = Unimplemented or Reserved

                         Figure 2-19. Port M Data Direction Register (DDRM)

Read: Anytime.
Write: Anytime.

                          Table 2-17. DDRM Field Descriptions

    Field                                             Description

    50    Data Direction Port M -- This register configures each port S pin as either input or output
DDRM[5:0]  If SPI or MSCAN is enabled, the SPI and MSCAN modules determines the pin directions. Please refer to the SPI
           and MSCAN Block User Guides for details.

           If the associated SCI or MSCAN transmit or receive channels are enabled, this register has no effect on the pins.
           The pins are forced to be outputs if the SCI or MSCAN transmit channels are enabled, they are forced to be inputs
           if the SCI or MSCAN receive channels are enabled.

           The DDRS bits revert to controlling the I/O direction of a pin when the associated channel is disabled.
           0 Associated pin is configured as input.
           1 Associated pin is configured as output.
           Note: Due to internal synchronization circuits, it can take up to 2 bus cycles until the correct value is read on PTM

                   or PTIM registers, when changing the DDRM register.

90                        MC9S12C-Family / MC9S12GC-Family                   Freescale Semiconductor

                                                   Rev 01.23
2.3.2.3.4                                                                             Chapter 2 Port Integration Module (PIM9C32) Block Description

              Port M Reduced Drive Register (RDRM)

Module Base + 0x0013

           7             6  5                      4          3      2           1      0

R          0             0

                            RDRM5                  RDRM4      RDRM3  RDRM2       RDRM1  RDRM0

W

Reset      0             0  0                      0          0      0           0      0

                      = Unimplemented or Reserved

                            Figure 2-20. Port M Reduced Drive Register (RDRM)

Read: Anytime.
Write: Anytime.

                            Table 2-18. RDRM Field Descriptions

Field                                                 Description

    50    Reduced Drive Port M -- This register configures the drive strength of each port M output pin as either full or
RDRM[5:0]  reduced. If the port is used as input this bit is ignored.
           0 Full drive strength at output.
           1 Associated pin drives at about 1/3 of the full drive strength.

2.3.2.3.5 Port M Pull Device Enable Register (PERM)

Module Base + 0x0014

           7             6  5                      4          3      2           1           0

R          0             0                                                              PERM0
                                                                                            1
                            PERM5                  PERM4      PERM3  PERM2       PERM1

W

Reset      0             0  1                      1          1      1           1

                      = Unimplemented or Reserved

                         Figure 2-21. Port M Pull Device Enable Register (PERM)

Read: Anytime.
Write: Anytime.

                            Table 2-19. PERM Field Descriptions

Field                                                 Description

    50    Pull Device Enable Port M -- This register configures whether a pull-up or a pull-down device is activated, if
PERM[5:0]  the port is used as input or as output in wired-or (open drain) mode. This bit has no effect if the port is used as
           push-pull output. Out of reset a pull-up device is enabled.
           0 Pull-up or pull-down device is disabled.
           1 Either a pull-up or pull-down device is enabled.

Freescale Semiconductor     MC9S12C-Family / MC9S12GC-Family                                    91

                                                   Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.3.6 Port M Polarity Select Register (PPSM)

Module Base + 0x0015

           7          6  5                         4           3         2      1      0

    R      0          0

                         PPSM5                     PPSM4      PPSM3      PPSM2  PPSM1  PPSM0

    W

    Reset  0          0  0                         0           0         0      0      0

                      = Unimplemented or Reserved

                         Figure 2-22. Port M Polarity Select Register (PPSM)

Read: Anytime.
Write: Anytime.

                         Table 2-20. PPSM Field Descriptions

    Field                                                   Description

    50    Polarity Select Port M -- This register selects whether a pull-down or a pull-up device is connected to the pin.
PPSM[5:0]  0 A pull-up device is connected to the associated port M pin, if enabled by the associated bit in register PERM

              and if the port is used as input or as wired-or output.
           1 A pull-down device is connected to the associated port M pin, if enabled by the associated bit in register PERM

              and if the port is used as input.

2.3.2.3.7 Port M Wired-OR Mode Register (WOMM)

Module Base + 0x0016

           7          6  5                         4           3         2      1            0

    R      0          0                                                                WOMM0
                                    WOMM5 WOMM4 WOMM3 WOMM2 WOMM1                           0

    W

    Reset  0          0  0                         0           0         0      0

                      = Unimplemented or Reserved

                      Figure 2-23. Port M Wired-OR Mode Register (WOMM)

Read: Anytime.
Write: Anytime.

                         Table 2-21. WOMM Field Descriptions

    Field                                                   Description

    50    Wired-OR Mode Port M -- This register configures the output pins as wired-or. If enabled the output is driven

WOMM[5:0] active low only (open-drain). A logic level of "1" is not driven. This bit has no influence on pins used as inputs.

           0 Output buffers operate as push-pull outputs.

           1 Output buffers operate as open-drain outputs.

92                       MC9S12C-Family / MC9S12GC-Family                       Freescale Semiconductor

                                                   Rev 01.23
                                                          Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.4 Port P Registers

2.3.2.4.1 Port P I/O Register (PTP)

Module Base + 0x0018

     R     7                6      5                  4          3            2      1      0
     W
PWM     PTP7             PTP6   PTP5               PTP4       PTP3         PTP2  PTP1   PTP0
Reset     --               --                                                    PWM1   PWM0
          0                0    PWM5               PWM4       PWM3      PWM2
                                                                                    0      0
                                0                  0          0            0

                                Figure 2-24. Port P I/O Register (PTP)

Read: Anytime.

Write: Anytime.

If the data direction bits of the associated I/O pins are set to 1, a read returns the value of the port register,
otherwise the value at the pins is read.

2.3.2.4.2 Port P Input Register (PTIP)

Module Base + 0x0019

     R      7                6      5                  4          3         2        1      0
     W
Reset   PTIP7            PTIP6  PTIP5              PTIP4      PTIP3     PTIP2    PTIP1  PTIP0

          --             --     --                 --         --           --      --     --

                      = Unimplemented or Reserved

                                Figure 2-25. Port P Input Register (PTIP)

Read: Anytime.

Write: Never, writes to this register have no effect.

This register always reads back the status of the associated pins. This can be also used to detect overload
or short circuit conditions on output pins.

Freescale Semiconductor         MC9S12C-Family / MC9S12GC-Family                               93

                                                   Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.4.3 Port P Data Direction Register (DDRP)

Module Base + 0x001A

         R       7         6       5       4          3                 2         1       0
         W
    Reset   DDRP7     DDRP6   DDRP5   DDRP4      DDRP3             DDRP2     DDRP1   DDRP0
                0                                                                0       0
                      0       0       0                        0   0

                         Figure 2-26. Port P Data Direction Register (DDRP)

Read: Anytime.
Write: Anytime.

                              Table 2-22. DDRP Field Descriptions

    Field                                Description

    70     Data Direction Port P -- This register configures each port P pin as either input or output.
DDRP[7:0]   0 Associated pin is configured as input.
            1 Associated pin is configured as output.
            Note: Due to internal synchronization circuits, it can take up to 2 bus cycles until the correct value is read on PTP

                    or PTIP registers, when changing the DDRP register.

2.3.2.4.4 Port P Reduced Drive Register (RDRP)

Module Base + 0x001B

         R       7         6       5       4          3                 2         1       0
         W
    Reset   RDRP7     RDRP6   RDRP5   RDRP4      RDRP3             RDRP2     RDRP1   RDRP0
                0                                                                0       0
                      0       0       0                        0   0

                         Figure 2-27. Port P Reduced Drive Register (RDRP)

Read: Anytime.
Write: Anytime.

                              Table 2-23. RDRP Field Descriptions

    Field                                Description

    70     Reduced Drive Port P -- This register configures the drive strength of each port P output pin as either full or
RDRP[7:0]   reduced. If the port is used as input this bit is ignored.
            0 Full drive strength at output.
            1 Associated pin drives at about 1/3 of the full drive strength.

94                            MC9S12C-Family / MC9S12GC-Family               Freescale Semiconductor

                                      Rev 01.23
2.3.2.4.5                                                                          Chapter 2 Port Integration Module (PIM9C32) Block Description

           Port P Pull Device Enable Register (PERP)

Module Base + 0x001C

     R          7             6       5       4          3                 2          1       0
     W
Reset      PERP7         PERP6   PERP5   PERP4      PERP3             PERP2      PERP1   PERP0
               0                                                                             0
                         0       0       0          0                 0          0

                         Figure 2-28. Port P Pull Device Enable Register (PERP)

Read: Anytime.
Write: Anytime.

                                 Table 2-24. PERP Field Descriptions

Field                                       Description

    70    Pull Device Enable Port P -- This register configures whether a pull-up or a pull-down device is activated, if the
PERP[7:0]  port is used as input. This bit has no effect if the port is used as output. Out of reset no pull device is enabled.
           0 Pull-up or pull-down device is disabled.
           1 Either a pull-up or pull-down device is enabled.

2.3.2.4.6 Port P Polarity Select Register (PPSP)

Module Base + 0x001D

     R          7             6       5       4          3                 2          1       0
     W
Reset      PPSP7         PPSP6   PPSP5   PPSP4      PPSP3             PPSP2      PPSP1   PPSP0
               0                                                                     0       0
                         0       0       0          0                 0

                            Figure 2-29. Port P Polarity Select Register (PPSP)

Read: Anytime.
Write: Anytime.

                                 Table 2-25. PPSP Field Descriptions

Field                                       Description

    70    Pull Select Port P -- This register serves a dual purpose by selecting the polarity of the active interrupt edge
PPSP[7:0]  as well as selecting a pull-up or pull-down device if enabled.
           0 Falling edge on the associated port P pin sets the associated flag bit in the PIFP register.A pull-up device is

              connected to the associated port P pin, if enabled by the associated bit in register PERP and if the port is used
              as input.
           1 Rising edge on the associated port P pin sets the associated flag bit in the PIFP register.A pull-down device
              is connected to the associated port P pin, if enabled by the associated bit in register PERP and if the port is
              used as input.

Freescale Semiconductor          MC9S12C-Family / MC9S12GC-Family                                95

                                         Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.4.7 Port P Interrupt Enable Register (PIEP)

Module Base + 0x001E

         R         7      6      5      4            3                2            1      0
         W
    Reset      PIEP7  PIEP6  PIEP5  PIEP4        PIEP3            PIEP2        PIEP1  PIEP0
                  0                                                               0      0
                      0      0      0                          0  0

                         Figure 2-30. Port P Interrupt Enable Register (PIEP)

Read: Anytime.
Write: Anytime.

                             Table 2-26. PIEP Field Descriptions

    Field                                  Description

   70         Pull Select Port P -- This register disables or enables on a per pin basis the edge sensitive external interrupt
PIEP[7:0]      associated with port P.
               0 Interrupt is disabled (interrupt flag masked).
               1 Interrupt is enabled.

2.3.2.4.8 Port P Interrupt Flag Register (PIFP)

Module Base + 0x001F

         R         7      6      5      4            3                2            1      0
         W
    Reset      PIFP7  PIFP6  PIFP5  PIFP4        PIFP3            PIFP2        PIFP1  PIFP0
                  0                                                               0      0
                      0      0      0                          0  0

                         Figure 2-31. Port P Interrupt Flag Register (PIFP)

Read: Anytime.
Write: Anytime.

                             Table 2-27. PIFP Field Descriptions

    Field                                  Description

       70     Interrupt Flags Port P -- Each flag is set by an active edge on the associated input pin. This could be a rising
    PIFP[7:0]  or a falling edge based on the state of the PPSP register. To clear this flag, write a "1" to the corresponding bit
               in the PIFP register. Writing a "0" has no effect.
               0 No active edge pending.

                  Writing a "0" has no effect.
               1 Active edge on the associated bit has occurred (an interrupt will occur if the associated enable bit is set).

                  Writing a "1" clears the associated flag.

96                           MC9S12C-Family / MC9S12GC-Family                  Freescale Semiconductor

                                    Rev 01.23
                                                       Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.5 Port J Registers

2.3.2.5.1 Port J I/O Register (PTJ)

Module Base + 0x0028

       7                 6      5                  4          3            2   1   0

R                               0                  0          0            0   0   0

       PTJ7              PTJ6

W

Reset  0                 0      --                 --         --           --  --  --

                      = Unimplemented or Reserved

                                Figure 2-32. Port J I/O Register (PTJ)

Read: Anytime.

Write: Anytime.

If the data direction bits of the associated I/O pins are set to 1, a read returns the value of the port register,
otherwise the value at the pins is read.

2.3.2.5.2 Port J Input Register (PTIJ)

Module Base + 0x0029

       7                 6      5                  4          3            2   1   0

R PTIJ7                  PTIJ6  0                  0          0            0   0   0

W

Reset  0                 0      --                 --         --           --  --  --

                      = Unimplemented or Reserved

                                Figure 2-33. Port J Input Register (PTIJ)

Read: Anytime.

Write: Never, writes to this register have no effect.

This register always reads back the status of the associated pins. This can be used to detect overload or
short circuit conditions on output pins.

Freescale Semiconductor         MC9S12C-Family / MC9S12GC-Family                                           97

                                                   Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.5.3 Port J Data Direction Register (DDRJ)

Module Base + 0x002A

           7          6      5                     4           3    2        1   0

    R                        0                     0           0    0        0   0

           DDRJ7      DDRJ6

    W

    Reset  0          0      --                    --          --   --       --  --

                      = Unimplemented or Reserved

                         Figure 2-34. Port J Data Direction Register (DDRJ)

Read: Anytime.
Write: Anytime.

                             Table 2-28. DDRJ Field Descriptions

    Field                                              Description

    76    Data Direction Port J -- This register configures port pins J[7:6] as either input or output.
DDRJ[7:6]  DDRJ[7:6] -- Data Direction Port J
           0 Associated pin is configured as input.
           1 Associated pin is configured as output.
           Note: Due to internal synchronization circuits, it can take up to 2 bus cycles until the correct value is read on PTJ

                   or PTIJ registers, when changing the DDRJ register.

2.3.2.5.4 Port J Reduced Drive Register (RDRJ)

Module Base + 0x002B

           7          6      5                     4           3    2        1   0

    R                        0                     0           0    0        0   0

           RDRJ7      RDRJ6

    W

    Reset  0          0      --                    --          --   --       --  --

                      = Unimplemented or Reserved

                         Figure 2-35. Port J Reduced Drive Register (RDRJ)

Read: Anytime.

Write: Anytime.

                             Table 2-29. RDRJ Field Descriptions

    Field                                              Description

    76    Reduced Drive Port J -- This register configures the drive strength of each port J output pin as either full or
RDRJ[7:6]  reduced. If the port is used as input this bit is ignored.
           0 Full drive strength at output.
           1 Associated pin drives at about 1/3 of the full drive strength.

98                           MC9S12C-Family / MC9S12GC-Family                Freescale Semiconductor

                                                   Rev 01.23
2.3.2.5.5                                                                             Chapter 2 Port Integration Module (PIM9C32) Block Description

              Port J Pull Device Enable Register (PERJ)

Module Base + 0x002C

           7             6      5                  4          3      2           1   0

R                               0                  0          0      0           0   0

           PERJ7         PERJ6

W

Reset      0             0      --                 --         --     --          --  --

                      = Unimplemented or Reserved

                         Figure 2-36. Port J Pull Device Enable Register (PERJ)

Read: Anytime.
Write: Anytime.

                                Table 2-30. PERJ Field Descriptions

Field                                                  Description

    76    Reduced Drive Port J -- This register configures whether a pull-up or a pull-down device is activated, if the port
PERJ[7:6]  is used as input or as wired-or output. This bit has no effect if the port is used as push-pull output.
           0 Pull-up or pull-down device is disabled.
           1 Either a pull-up or pull-down device is enabled.

2.3.2.5.6 Port J Polarity Select Register (PPSJ)

Module Base + 0x002D

           7             6      5                  4          3      2           1   0

R                               0                  0          0      0           0   0

           PPSJ7         PPSJ6

W

Reset      0             0      --                 --         --     --          --  --

                      = Unimplemented or Reserved

                            Figure 2-37. Port J Polarity Select Register (PPSJ)

Read: Anytime.

Write: Anytime.

                                Table 2-31. PPSJ Field Descriptions

Field                                                  Description

    76    Reduced Drive Port J -- This register serves a dual purpose by selecting the polarity of the active interrupt edge
PPSJ[7:6]  as well as selecting a pull-up or pull-down device if enabled.
           0 Falling edge on the associated port J pin sets the associated flag bit in the PIFJ register.

              A pull-up device is connected to the associated port J pin, if enabled by the associated bit in register PERJ
              and if the port is used as general purpose input.
           1 Rising edge on the associated port J pin sets the associated flag bit in the PIFJ register.
              A pull-down device is connected to the associated port J pin, if enabled by the associated bit in register PERJ
              and if the port is used as input.

Freescale Semiconductor         MC9S12C-Family / MC9S12GC-Family                         99

                                                   Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.5.7 Port J Interrupt Enable Register (PIEJ)

Module Base + 0x002E

            7         6      5                     4           3    2          1   0

     R                       0                     0           0    0          0   0

            PIEJ7     PIEJ6

     W

     Reset  0         0      --                    --          --   --         --  --

                      = Unimplemented or Reserved

                         Figure 2-38. Port J Interrupt Enable Register (PIEJ)

Read: Anytime.
Write: Anytime.

                             Table 2-32. PIEJ Field Descriptions

     Field                                             Description

   76      Interrupt Enable Port J -- This register disables or enables on a per pin basis the edge sensitive external
PIEJ[7:6]   interrupt associated with port J.
            0 Interrupt is disabled (interrupt flag masked).
            1 Interrupt is enabled.

2.3.2.5.8 Port J Interrupt Flag Register (PIFJ)

Module Base + 0x002F

            7         6      5                     4           3    2          1   0

     R                       0                     0           0    0          0   0

            PIFJ7     PIFJ6

     W

     Reset  0         0      --                    --          --   --         --  --

                      = Unimplemented or Reserved

                         Figure 2-39. Port J Interrupt Flag Register (PIFJ)

Read: Anytime.

Write: Anytime.

                             Table 2-33. PIFJ Field Descriptions

     Field                                             Description

   76      Interrupt Flags Port J -- Each flag is set by an active edge on the associated input pin. This could be a rising
PIFJ[7:6]   or a falling edge based on the state of the PPSJ register. To clear this flag, write "1" to the corresponding bit in
            the PIFJ register. Writing a "0" has no effect.
            0 No active edge pending.

               Writing a "0" has no effect.
            1 Active edge on the associated bit has occurred (an interrupt will occur if the associated enable bit is set).

               Writing a "1" clears the associated flag.

100                          MC9S12C-Family / MC9S12GC-Family                  Freescale Semiconductor

                                                   Rev 01.23
                                                           Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.6 Port AD Registers

2.3.2.6.1 Port AD I/O Register (PTAD)

Module Base + 0x0030

     R       7                6       5                 4          3       2          1       0
     W
Reset   PTAD7            PTAD6   PTAD5             PTAD4      PTAD3   PTAD2      PTAD1   PTAD0
           0                                                                        0       0
                         0       0                 0          0               0

                                 Figure 2-40. Port AD I/O Register (PTAD)

Read: Anytime.

Write: Anytime.

If the data direction bits of the associated I/O pins are set to 1, a read returns the value of the port register,
otherwise the value at the pins is read.

2.3.2.6.2 Port AD Input Register (PTIAD)

Module Base + 0x0031

     R       7                6       5                 4          3       2          1       0
     W
Reset   PTIAD7           PTIAD6  PTIAD5            PTIAD4     PTIAD3  PTIAD2     PTIAD1  PTIAD0

           --            --      --                --         --           --       --      --

                      = Unimplemented or Reserved

                                 Figure 2-41. Port AD Input Register (PTIAD)

Read: Anytime.

Write: Never, writes to this register have no effect.

This register always reads back the status of the associated pins. This can be used to detect overload or
short circuit conditions on output pins.

Freescale Semiconductor          MC9S12C-Family / MC9S12GC-Family                                101

                                                   Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.3.2.6.3 Port AD Data Direction Register (DDRAD)

Module Base + 0x0032

                    7        6        5                    4            3           2        1                     0

     R                 DDRAD6   DDRAD5               DDRAD4       DDRAD3      DDRAD2   DDRAD1                DDRAD0
            DDRAD7                                                                          0                     0

     W

     Reset  0          0                      0        0                  0   0

                       Figure 2-42. Port AD Data Direction Register (DDRAD)

Read: Anytime.
Write: Anytime.

                                Table 2-34. DDRAD Field Descriptions

     Field                                                Description

     70    Data Direction Port AD -- This register configures port pins AD[7:0] as either input or output.

DDRAD[7:0] 0 Associated pin is configured as input.

            1 Associated pin is configured as output.

            Note: Due to internal synchronization circuits, it can take up to 2 bus cycles until the correct value is read on

                 PTAD or PTIAD registers, when changing the DDRAD register.

2.3.2.6.4 Port AD Reduced Drive Register (RDRAD)

Module Base + 0x0033

                    7        6        5                    4            3           2        1                     0

     R                 RDRAD6   RDRAD5               RDRAD4       RDRAD3      RDRAD2   RDRAD1                RDRAD0
            RDRAD7                                                                                                0

     W

     Reset  0          0                      0        0                  0   0        0

                       Figure 2-43. Port AD Reduced Drive Register (RDRAD)

Read: Anytime.
Write: Anytime.

                                Table 2-35. RDRAD Field Descriptions

     Field                                                Description

     70    Reduced Drive Port AD -- This register configures the drive strength of each port AD output pin as either full

RDRAD[7:0] or reduced. If the port is used as input this bit is ignored.

            0 Full drive strength at output.

            1 Associated pin drives at about 1/3 of the full drive strength.

102                             MC9S12C-Family / MC9S12GC-Family                       Freescale Semiconductor

                                                       Rev 01.23
2.3.2.6.5                                                                          Chapter 2 Port Integration Module (PIM9C32) Block Description

           Port AD Pull Device Enable Register (PERAD)

Module Base + 0x0034

     R           7             6        5           4                3        2          1                           0
     W
Reset      PERAD7        PERAD6   PERAD5      PERAD4           PERAD3   PERAD2     PERAD1                      PERAD0
                0                                                                                                   0
                         0        0                 0          0        0          0

                         Figure 2-44. Port AD Pull Device Enable Register (PERAD)

Read: Anytime.
Write: Anytime.

                                  Table 2-36. PERAD Field Descriptions

Field                                                  Description

70        Pull Device Enable Port AD -- This register configures whether a pull-up or a pull-down device is activated, if

PERAD[7:0] the port is used as input. This bit has no effect if the port is used as output. Out of reset no pull device is enabled.

           It is not possible to enable pull devices when a associated ATD channel is enabled simultaneously.
           0 Pull-up or pull-down device is disabled.
           1 Either a pull-up or pull-down device is enabled.

2.3.2.6.6 Port AD Polarity Select Register (PPSAD)

Module Base + 0x0035

     R           7             6        5           4                3        2          1                           0
     W
Reset      PPSAD7        PPSAD6   PPSAD5      PPSAD4           PPSAD3   PPSAD2     PPSAD1                      PPSAD0
                0                                                                                                   0
                         0        0                 0          0        0          0

                         Figure 2-45. Port AD Polarity Select Register (PPSAD)

Read: Anytime.
Write: Anytime.

                                  Table 2-37. PPSAD Field Descriptions

Field                                                  Description

70        Pull Select Port AD -- This register selects whether a pull-down or a pull-up device is connected to the pin.

PPSAD[7:0] 0 A pull-up device is connected to the associated port AD pin, if enabled by the associated bit in register PERAD

           and if the port is used as input.

           1 A pull-down device is connected to the associated port AD pin, if enabled by the associated bit in register

           PERAD and if the port is used as input.

Freescale Semiconductor           MC9S12C-Family / MC9S12GC-Family                                                        103

                                                    Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.4 Functional Description

Each pin can act as general purpose I/O. In addition the pin can act as an output from a peripheral module
or an input to a peripheral module.
A set of configuration registers is common to all ports. All registers can be written at any time, however a
specific configuration might not become active.
Example: Selecting a pull-up resistor. This resistor does not become active while the port is used as a push-
pull output.

2.4.1 Registers

2.4.1.1 I/O Register
This register holds the value driven out to the pin if the port is used as a general purpose I/O. Writing to
this register has only an effect on the pin if the port is used as general purpose output. When reading this
address, the value of the pins are returned if the data direction register bits are set to 0.
If the data direction register bits are set to 1, the contents of the I/O register is returned. This is independent
of any other configuration (Figure 2-46).

     PTI

             0
             1

                            0                  PAD

     PT

                            1

     DDR                    0

                            1

     Module  Data Out
             Output Enable
             Module Enable

     Figure 2-46. Illustration of I/O Pin Functionality

2.4.1.2 Input Register
This is a read-only register and always returns the value of the pin (Figure 2-46).

2.4.1.3 Data Direction Register

This register defines whether the pin is used as an input or an output. If a peripheral module controls the
pin the contents of the data direction register is ignored (Figure 2-46).

104          MC9S12C-Family / MC9S12GC-Family                                        Freescale Semiconductor

                Rev 01.23
                                                                                                    Chapter 2 Port Integration Module (PIM9C32) Block Description

2.4.1.4 Reduced Drive Register
If the port is used as an output the register allows the configuration of the drive strength.

2.4.1.5 Pull Device Enable Register
This register turns on a pull-up or pull-down device. It becomes only active if the pin is used as an input
or as a wired-or output.

2.4.1.6 Polarity Select Register
This register selects either a pull-up or pull-down device if enabled. It becomes only active if the pin is
used as an input. A pull-up device can be activated if the pin is used as a wired-OR output.

2.4.2 Port Descriptions

2.4.2.1 Port T
This port is associated with the Standard Capture Timer. PWM output channels can be rerouted from port
P to port pins T. In all modes, port T pins can be used for either general-purpose I/O, Standard Capture
Timer I/O or as PWM channels module, if so configured by MODRR.
During reset, port T pins are configured as high-impedance inputs.

2.4.2.2 Port S
This port is associated with the serial SCI module. Port S pins PS[3:0] can be used either for general-
purpose I/O, or with the SCI subsystem.
During reset, port S pins are configured as inputs with pull-up.

2.4.2.3 Port M
This port is associated with the MSCAN and SPI module. Port M pins PM[5:0] can be used either for
general-purpose I/O, with the MSCAN or SPI subsystems.
During reset, port M pins are configured as inputs with pull-up.

2.4.2.4 Port AD
This port is associated with the ATD module. Port AD pins can be used either for general-purpose I/O, or
for the ATD subsystem. There are 2 data port registers associated with the Port AD: PTAD[7:0], located
in the PIM and PORTAD[7:0] located in the ATD.
To use PTAD[n] as a standard input port, the corresponding DDRD[n] must be cleared. To use PTAD[n]
as a standard output port, the corresponding DDRD[n] must be set
NOTE: To use PORTAD[n], located in the ATD as an input port register, DDRD[n] must be cleared and
ATDDIEN[n] must be set. Please refer to ATD Block Guide for details.

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  105

                         Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

2.4.2.5 Port P

The PWM module is connected to port P. Port P pins can be used as PWM outputs. Further the Keypad
Wake-Up function is implemented on pins PP[7:0]. During reset, port P pins are configured as high-
impedance inputs.

Port P offers 8 general purpose I/O pins with edge triggered interrupt capability in wired-or fashion. The
interrupt enable as well as the sensitivity to rising or falling edges can be individually configured on per
pin basis. All 8 bits/pins share the same interrupt vector. Interrupts can be used with the pins configured
as inputs or outputs.

An interrupt is generated when a bit in the port interrupt flag register and its corresponding port interrupt
enable bit are both set. This external interrupt feature is capable to wake up the CPU when it is in STOP
or WAIT mode.

A digital filter on each pin prevents pulses (Figure 2-48) shorter than a specified time from generating an
interrupt. The minimum time varies over process conditions, temperature and voltage (Figure 2-47 and
Table 2-38).

                           Glitch, filtered out, no interrupt flag set

     Valid pulse, interrupt flag set

                           tpign
                                 tpval

     Figure 2-47. Interrupt Glitch Filter on Port P and J (PPS = 0)

                Table 2-38. Pulse Detection Criteria

                           STOP Mode                        STOP(1) Mode

     Pulse

                           Value       Unit                 Value         Unit

     Ignored               tpign <= 3  Bus clocks  tpign <= 3.2           s

     Uncertain  3 < tpulse < 4 Bus clocks 3.2 < tpulse < 10               s

     Valid                 tpval >= 4  Bus clocks           tpval >= 10   s

     1. These values include the spread of the oscillator frequency over temperature,

     voltage and process.

                                             tpulse
                           Figure 2-48. Pulse Illustration

106             MC9S12C-Family / MC9S12GC-Family                                       Freescale Semiconductor

                                       Rev 01.23
                                                                                                    Chapter 2 Port Integration Module (PIM9C32) Block Description

A valid edge on input is detected if 4 consecutive samples of a passive level are followed by 4 consecutive
samples of an active level directly or indirectly.
The filters are continuously clocked by the bus clock in RUN and WAIT mode. In STOP mode the clock
is generated by a single RC oscillator in the Port Integration Module. To maximize current saving the RC
oscillator runs only if the following condition is true on any pin:
Sample count <= 4 and port interrupt enabled (PIE=1) and port interrupt flag not set (PIF=0).

2.4.2.6 Port J
In all modes, port J pins PJ[7:6] can be used for general purpose I/O or interrupt driven general purpose
I/O's. During reset, port J pins are configured as inputs.
Port J offers 2 I/O ports with the same interrupt features as on port P.

2.4.3 Port A, B, E and BKGD Pin

All port and pin logic is located in the core module. Please refer to S12_mebi Block User Guide for details.

2.4.4 External Pin Descriptions

All ports start up as general purpose inputs on reset.

2.4.5 Low Power Options

2.4.5.1 Run Mode
No low power options exist for this module in run mode.

2.4.5.2 Wait Mode
No low power options exist for this module in wait mode.

2.4.5.3 Stop Mode
All clocks are stopped. There are asynchronous paths to generate interrupts from STOP on port P and J.

2.5 Initialization Information

The reset values of all registers are given in Section 2.3.2, "Register Descriptions".

2.5.1 Reset Initialization

All registers including the data registers get set/reset asynchronously. Table 2-39 summarizes the port
properties after reset initialization.

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  107

                         Rev 01.23
Chapter 2 Port Integration Module (PIM9C32) Block Description

                         Table 2-39. Port Reset State Summary

                                                                         Reset States
       Port

                       Data Direction Pull Mode Reduced Drive Wired-OR Mode Interrupt

       T         Input    Hi-z                                 Disabled                        n/a  n/a

       S         Input    Pull up                              Disabled      Disabled               n/a

       M         Input    Pull up                              Disabled      Disabled               n/a

       P         Input    Hi-z                                 Disabled                        n/a  Disabled

       J         Input    Hi-z                                 Disabled                        n/a  Disabled

       A
       B

                                                       Refer to MEBI Block Guide for details.
       E

       BKGD pin           Refer to BDM Block Guide for details.

2.6 Interrupts

Port P and J generate a separate edge sensitive interrupt if enabled.

2.6.1  Interrupt Sources

                 Table 2-40. Port Integration Module Interrupt Sources

       Interrupt Source  Interrupt Flag                        Local Enable                    Global (CCR) Mask
              Port P        PIFP[7:0]                            PIEP[7:0]                                I Bit
              Port J        PIFJ[7:6]                             PIEJ[7:6]                               I Bit

                                                   NOTE

          Vector addresses and their relative interrupt priority are determined at the
          MCU level.

2.6.2 Recovery from STOP

The PIM can generate wake-up interrupts from STOP on port P and J. For other sources of external
interrupts please refer to the respective Block User Guide.

2.7 Application Information

It is not recommended to write PORTx and DDRx in a word access. When changing the register pins from
inputs to outputs, the data may have extra transitions during the write access. Initialize the port data register
before enabling the outputs.

Power consumption will increase the more the voltages on general purpose input pins deviate from the
supply voltages towards mid-range because the digital input buffers operate in the linear region.

108                       MC9S12C-Family / MC9S12GC-Family                                          Freescale Semiconductor

                                         Rev 01.23
Chapter 3
Module Mapping Control (MMCV4) Block Description

3.1 Introduction

This section describes the functionality of the module mapping control (MMC) sub-block of the S12 core
platform.

The block diagram of the MMC is shown in Figure 3-1.

     SECURE                                 MMC                        MMC_SECURE
BDM_UNSECURE                             SECURITY

   STOP, WAIT

     READ & WRITE ENABLES     REGISTERS               ADDRESS DECODE
          CLOCKS, RESET
                                                      INTERNAL MEMORY            PORT K INTERFACE
       MODE INFORMATION                                   EXPANSION         MEMORY SPACE SELECT(S)

EBI ALTERNATE ADDRESS BUS               BUS CONTROL                            PERIPHERAL SELECT
EBI ALTERNATE WRITE DATA BUS                                                      CORE SELECT (S)
EBI ALTERNATE READ DATA BUS
                                                                         ALTERNATE ADDRESS BUS (BDM)
        CPU ADDRESS BUS                                                ALTERNATE WRITE DATA BUS (BDM)
       CPU READ DATA BUS                                               ALTERNATE READ DATA BUS (BDM)
       CPU WRITE DATA BUS

           CPU CONTROL

                                                     Figure 3-1. MMC Block Diagram

The MMC is the sub-module which controls memory map assignment and selection of internal resources
and external space. Internal buses between the core and memories and between the core and peripherals is
controlled in this module. The memory expansion is generated in this module.

Freescale Semiconductor       MC9S12C-Family / MC9S12GC-Family                                         109

                                         Rev 01.23
Chapter 3 Module Mapping Control (MMCV4) Block Description

3.1.1 Features

    Registers for mapping of address space for on-chip RAM, EEPROM, and FLASH (or ROM)
         memory blocks and associated registers

    Memory mapping control and selection based upon address decode and system operating mode
    Core address bus control
    Core data bus control and multiplexing
    Core security state decoding
    Emulation chip select signal generation (ECS)
    External chip select signal generation (XCS)
    Internal memory expansion
    External stretch and ROM mapping control functions via the MISC register
    Reserved registers for test purposes
    Configurable system memory options defined at integration of core into the system-on-a-chip

         (SoC).

3.1.2 Modes of Operation

Some of the registers operate differently depending on the mode of operation (i.e., normal expanded wide,
special single chip, etc.). This is best understood from the register descriptions.

3.2 External Signal Description

All interfacing with the MMC sub-block is done within the core, it has no external signals.

3.3 Memory Map and Register Definition

A summary of the registers associated with the MMC sub-block is shown in Figure 3-2. Detailed
descriptions of the registers and bits are given in the subsections that follow.

3.3.1 Module Memory Map

              Table 3-1. MMC Memory Map

     Address             Register                                              Access
      Offset
                                                                                 R/W
     0x0010   Initialization of Internal RAM Position Register (INITRM)          R/W
     0x0011   Initialization of Internal Registers Position Register (INITRG)    R/W
     0x0012   Initialization of Internal EEPROM Position Register (INITEE)       R/W
     0x0013   Miscellaneous System Control Register (MISC)                        --
     0x0014   Reserved                                                            --

         .                                                       .
         .                                                       .

110           MC9S12C-Family / MC9S12GC-Family                                 Freescale Semiconductor

                         Rev 01.23
                                                               Chapter 3 Module Mapping Control (MMCV4) Block Description

                         Table 3-1. MMC Memory Map (continued)

Address                  Register                               Access
Offset                                                            --
                                                                   --
0x0017   Reserved                                                   R
    .                                                       .       R
    .                                                       .
                                                                  R/W
0x001C   Memory Size Register 0 (MEMSIZ0)                          --
0x001D   Memory Size Register 1 (MEMSIZ1)

    .                                                       .
    .                                                       .
0x0030   Program Page Index Register (PPAGE)
0x0031   Reserved

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family               111

                         Rev 01.23
Chapter 3 Module Mapping Control (MMCV4) Block Description

3.3.2 Register Descriptions

      Name             Bit 7      6      5                  4     3      2                          1     Bit 0
     0x0010    R              RAM14  RAM13
     INITRM                   REG14  REG13                                                       0  0
                     RAM15     EE14   EE13                  RAM12 RAM11                                        RAMHAL
     0x0011    W
     INITRG                       0      0
               R  0               6      5                  REG12 REG11  0                          0     0
     0x0012
     INITEE    W

     0x0013    R                                            EE12  EE11   0                          0
      MISC             EE15                                                                                      EEON

     0x0014    W
     MTSTO
               R  0                                         0
                                                                       EXSTR1 EXSTR0 ROMHM ROMON
               W

               R Bit 7                                      4     3      2                          1     Bit 0
               W

     0x0017    R Bit 7        6      5                      4     3      2                          1     Bit 0

     MTST1     W

      0x001C   R REG_SW0      0      EEP_SW1 EEP_SW0              0      RAM_SW2 RAM_SW1 RAM_SW0
     MEMSIZ0
               W
      0x001D
     MEMSIZ1   R ROM_SW1 ROM_SW0     0                      0     0      0                          PAG_SW1 PAG_SW0

               W

      0x0030   R  0           0      PIX5                   PIX4  PIX3   PIX2                       PIX1  PIX0
      PPAGE                                                                0                          0     0
               W
      0x0031
     Reserved  R  0           0      0                      0     0

               W

                              = Unimplemented
                                 Figure 3-2. MMC Register Summary

112                           MC9S12C-Family / MC9S12GC-Family                                      Freescale Semiconductor

                                        Rev 01.23
3.3.2.1                                                                             Chapter 3 Module Mapping Control (MMCV4) Block Description

         Initialization of Internal RAM Position Register (INITRM)

Module Base + 0x0010
Starting address location affected by INITRG register setting.

         7               6      5            4                  3            2         1          0

R                                                                            0         0
                                                                                                     RAMHAL
         RAM15           RAM14  RAM13        RAM12              RAM11

W

Reset    0               0      0            0                  1            0         0          1

                = Unimplemented or Reserved

                Figure 3-3. Initialization of Internal RAM Position Register (INITRM)

Read: Anytime

Write: Once in normal and emulation modes, anytime in special modes

                                                     NOTE
            Writes to this register take one cycle to go into effect.

This register initializes the position of the internal RAM within the on-chip system memory map.

                                Table 3-2. INITRM Field Descriptions

Field                                                           Description

7:3      Internal RAM Map Position -- These bits determine the upper five bits of the base address for the system's

RAM[15:11] internal RAM array.

     0   RAM High-Align -- RAMHAL specifies the alignment of the internal RAM array.
RAMHAL   0 Aligns the RAM to the lowest address (0x0000) of the mappable space
         1 Aligns the RAM to the higher address (0xFFFF) of the mappable space

Freescale Semiconductor         MC9S12C-Family / MC9S12GC-Family                                     113

                                             Rev 01.23
Chapter 3 Module Mapping Control (MMCV4) Block Description

3.3.2.2 Initialization of Internal Registers Position Register (INITRG)

Module Base + 0x0011
Starting address location affected by INITRG register setting.

            7  6      5                     4                   3            2  1           0

     R      0                                                                0  0           0

               REG14  REG13                 REG12               REG11

     W

     Reset  0  0      0                     0                   0            0  0           0

               = Unimplemented or Reserved

               Figure 3-4. Initialization of Internal Registers Position Register (INITRG)

Read: Anytime

Write: Once in normal and emulation modes and anytime in special modes

This register initializes the position of the internal registers within the on-chip system memory map. The
registers occupy either a 1K byte or 2K byte space and can be mapped to any 2K byte space within the first
32K bytes of the system's address space.

                      Table 3-3. INITRG Field Descriptions

     Field                                                      Description

     6:3    Internal Register Map Position -- These four bits in combination with the leading zero supplied by bit 7 of

REG[14:11] INITRG determine the upper five bits of the base address for the system's internal registers (i.e., the minimum

            base address is 0x0000 and the maximum is 0x7FFF).

114                   MC9S12C-Family / MC9S12GC-Family                          Freescale Semiconductor

                                            Rev 01.23
3.3.2.3                                                                               Chapter 3 Module Mapping Control (MMCV4) Block Description

           Initialization of Internal EEPROM Position Register (INITEE)

Module Base + 0x0012
Starting address location affected by INITRG register setting.

           7             6     5              4                 3            2   1         0

R                                                                            0   0
                                                                                                 EEON
           EE15          EE14  EE13           EE12              EE11

W

Reset1     --            --    --             --                --           --  --        --

1. The reset state of this register is controlled at chip integration. Please refer to the device overview section to determine the
   actual reset state of this register.

                 = Unimplemented or Reserved

                 Figure 3-5. Initialization of Internal EEPROM Position Register (INITEE)

Read: Anytime

Write: The EEON bit can be written to any time on all devices. Bits E[11:15] are "write anytime in all
modes" on most devices. On some devices, bits E[11:15] are "write once in normal and emulation modes
and write anytime in special modes". See device overview chapter to determine the actual write access
rights.

                                                           NOTE
                  Writes to this register take one cycle to go into effect.

This register initializes the position of the internal EEPROM within the on-chip system memory map.

                                                  Table 3-4. INITEE Field Descriptions

Field                                                           Description

    7:3    Internal EEPROM Map Position -- These bits determine the upper five bits of the base address for the system's
EE[15:11]  internal EEPROM array.

     0     Enable EEPROM -- This bit is used to enable the EEPROM memory in the memory map.
  EEON     0 Disables the EEPROM from the memory map.
           1 Enables the EEPROM in the memory map at the address selected by EE[15:11].

Freescale Semiconductor        MC9S12C-Family / MC9S12GC-Family                                        115

                                              Rev 01.23
Chapter 3 Module Mapping Control (MMCV4) Block Description

3.3.2.4 Miscellaneous System Control Register (MISC)

Module Base + 0x0013
Starting address location affected by INITRG register setting.

                     7  6                 5                     4            3          2         1        0

               R     0  0                 0                     0                           ROMHM    ROMON
                                                                                                        --1
                                                                             EXSTR1 EXSTR0       0       1
                                                                                                 0       0
               W                                                                                 0

Reset: Expanded      0  0                 0                     0            1          1
      or Emulation

Reset: Peripheral    0  0                 0                     0            1          1
    or Single Chip

Reset: Special Test  0  0                 0                     0            1          1

1. The reset state of this bit is determined at the chip integration level.

                        = Unimplemented or Reserved

                        Figure 3-6. Miscellaneous System Control Register (MISC)

Read: Anytime

Write: As stated in each bit description

                                                     NOTE
            Writes to this register take one cycle to go into effect.

This register initializes miscellaneous control functions.

                                                  Table 3-5. INITEE Field Descriptions

     Field                                                      Description

     3:2    External Access Stretch Bits 1 and 0
EXSTR[1:0]  Write: once in normal and emulation modes and anytime in special modes
            This two-bit field determines the amount of clock stretch on accesses to the external address space as shown in
            Table 3-6. In single chip and peripheral modes these bits have no meaning or effect.

     1      FLASH EEPROM or ROM Only in Second Half of Memory Map
ROMHM       Write: once in normal and emulation modes and anytime in special modes
            0 The fixed page(s) of FLASH EEPROM or ROM in the lower half of the memory map can be accessed.
            1 Disables direct access to the FLASH EEPROM or ROM in the lower half of the memory map. These physical

               locations of the FLASH EEPROM or ROM remain accessible through the program page window.

    0       ROMON -- Enable FLASH EEPROM or ROM
ROMON       Write: once in normal and emulation modes and anytime in special modes
            This bit is used to enable the FLASH EEPROM or ROM memory in the memory map.
            0 Disables the FLASH EEPROM or ROM from the memory map.
            1 Enables the FLASH EEPROM or ROM in the memory map.

116                        MC9S12C-Family / MC9S12GC-Family                                 Freescale Semiconductor

                                             Rev 01.23
                                                                Chapter 3 Module Mapping Control (MMCV4) Block Description

                            Table 3-6. External Stretch Bit Definition

            Stretch Bit EXSTR1  Stretch Bit EXSTR0              Number of E Clocks Stretched
                         0                   0                                      0
                         0                   1                                      1
                         1                   0                                      2
                         1                   1                                      3

3.3.2.5  Reserved Test Register 0 (MTST0)

Module Base + 0x0014
Starting address location affected by INITRG register setting.

         7               6      5        4                      3               2             1  0

R        0               0      0        0                      0               0             0  0

W

Reset    0               0      0        0                      0               0             0  0

            = Unimplemented or Reserved

                            Figure 3-7. Reserved Test Register 0 (MTST0)

Read: Anytime
Write: No effect -- this register location is used for internal test purposes.

3.3.2.6 Reserved Test Register 1 (MTST1)

Module Base + 0x0017
Starting address location affected by INITRG register setting.

         7               6      5        4                      3               2             1  0

R        0               0      0        0                      0               0             0  0

W

Reset    0               0      0        1                      0               0             0  0

            = Unimplemented or Reserved

                            Figure 3-8. Reserved Test Register 1 (MTST1)

Read: Anytime
Write: No effect -- this register location is used for internal test purposes.

Freescale Semiconductor     MC9S12C-Family / MC9S12GC-Family                                        117

                                         Rev 01.23
Chapter 3 Module Mapping Control (MMCV4) Block Description

3.3.2.7 Memory Size Register 0 (MEMSIZ0)

Module Base + 0x001C
Starting address location affected by INITRG register setting.

            7           6               5          4            3            2           1   0

     R REG_SW0          0        EEP_SW1 EEP_SW0                0            RAM_SW2 RAM_SW1 RAM_SW0

     W

     Reset  --          --       --                --           --           --          --  --

                      = Unimplemented or Reserved

                                 Figure 3-9. Memory Size Register 0 (MEMSIZ0)

Read: Anytime

Write: Writes have no effect

Reset: Defined at chip integration, see device overview section.

The MEMSIZ0 register reflects the state of the register, EEPROM and RAM memory space configuration
switches at the core boundary which are configured at system integration. This register allows read
visibility to the state of these switches.

                                 Table 3-7. MEMSIZ0 Field Descriptions

     Field                                                      Description

      7     Allocated System Register Space
REG_SW0     0 Allocated system register space size is 1K byte
            1 Allocated system register space size is 2K byte

     5:4    Allocated System EEPROM Memory Space -- The allocated system EEPROM memory space size is as

EEP_SW[1:0] given in Table 3-8.

     2      Allocated System RAM Memory Space -- The allocated system RAM memory space size is as given in

RAM_SW[2:0] Table 3-9.

                                 Table 3-8. Allocated EEPROM Memory Space

                        eep_sw1:eep_sw0                         Allocated EEPROM Space
                                   00                                        0K byte
                                   01                                       2K bytes
                                   10                                       4K bytes
                                   11                                       8K bytes

                                 Table 3-9. Allocated RAM Memory Space

     ram_sw2:ram_sw0         Allocated              RAM                        INITRM       RAM Reset
                            RAM Space      Mappable Region                    Bits Used  Base Address(1)
               000
               001            2K bytes           2K bytes                    RAM[15:11]        0x0800
               010            4K bytes           4K bytes                    RAM[15:12]        0x0000
                              6K bytes          8K bytes(2)                  RAM[15:13]        0x0800

118                              MC9S12C-Family / MC9S12GC-Family                        Freescale Semiconductor

                                                   Rev 01.23
                                                                Chapter 3 Module Mapping Control (MMCV4) Block Description

                         Table 3-9. Allocated RAM Memory Space (continued)

ram_sw2:ram_sw0               Allocated              RAM             INITRM                   RAM Reset
                             RAM Space      Mappable Region         Bits Used              Base Address(1)

       011                   8K bytes       8K bytes                RAM[15:13]                 0x0000

       100                   10K bytes      16K bytes 2             RAM[15:14]                 0x1800

       101                   12K bytes      16K bytes 2             RAM[15:14]                 0x1000

       110                   14K bytes      16K bytes 2             RAM[15:14]                 0x0800

       111                   16K bytes      16K bytes               RAM[15:14]                 0x0000

1. The RAM Reset BASE Address is based on the reset value of the INITRM register, 0x0009.

2. Alignment of the Allocated RAM space within the RAM mappable region is dependent on the value of RAMHAL.

                                                        NOTE

               As stated, the bits in this register provide read visibility to the system
               physical memory space allocations defined at system integration. The actual
               array size for any given type of memory block may differ from the allocated
               size. Please refer to the device overview chapter for actual sizes.

3.3.2.8 Memory Size Register 1 (MEMSIZ1)

Module Base + 0x001D
Starting address location affected by INITRG register setting.

            7            6               5  4                   3   2                      1                 0

R ROM_SW1 ROM_SW0                       0   0                   0   0                      PAG_SW1 PAG_SW0

W

Reset  --                --             --  --                  --  --                     --                --

                                 = Unimplemented or Reserved
                                          Figure 3-10. Memory Size Register 1 (MEMSIZ1)

Read: Anytime
Write: Writes have no effect
Reset: Defined at chip integration, see device overview section.
The MEMSIZ1 register reflects the state of the FLASH or ROM physical memory space and paging
switches at the core boundary which are configured at system integration. This register allows read
visibility to the state of these switches.

Freescale Semiconductor      MC9S12C-Family / MC9S12GC-Family                                                    119

                                            Rev 01.23
Chapter 3 Module Mapping Control (MMCV4) Block Description

            Table 3-10. MEMSIZ0 Field Descriptions

     Field                                                  Description

     7:6    Allocated System FLASH or ROM Physical Memory Space -- The allocated system FLASH or ROM

ROM_SW[1:0] physical memory space is as given in Table 3-11.

     1:0    Allocated Off-Chip FLASH or ROM Memory Space -- The allocated off-chip FLASH or ROM memory space

PAG_SW[1:0] size is as given in Table 3-12.

            Table 3-11. Allocated FLASH/ROM Physical Memory Space

            rom_sw1:rom_sw0                                   Allocated FLASH
                                                               or ROM Space

            00                                                           0K byte

            01                                                           16K bytes

            10                                                           48K bytes(1)

            11                                                           64K bytes(1)

            NOTES:

            1. The ROMHM software bit in the MISC register determines the accessibility of the
               FLASH/ROM memory space. Please refer to Section 3.3.2.8, "Memory Size Register 1
               (MEMSIZ1)," for a detailed functional description of the ROMHM bit.

            Table 3-12. Allocated Off-Chip Memory Options

            pag_sw1:pag_sw0                  Off-Chip Space              On-Chip Space
                       00                       876K bytes                  128K bytes
                       01                       768K bytes                  256K bytes
                       10                       512K bytes                  512K bytes
                       11                         0K byte                     1M byte

                                                     NOTE

            As stated, the bits in this register provide read visibility to the system
            memory space and on-chip/off-chip partitioning allocations defined at
            system integration. The actual array size for any given type of memory
            block may differ from the allocated size. Please refer to the device overview
            chapter for actual sizes.

120                          MC9S12C-Family / MC9S12GC-Family                          Freescale Semiconductor

                                             Rev 01.23
3.3.2.9                                                                              Chapter 3 Module Mapping Control (MMCV4) Block Description

          Program Page Index Register (PPAGE)

Module Base + 0x0030
Starting address location affected by INITRG register setting.

          7              6   5              4                   3     2       1               0

R         0              0

                             PIX5           PIX4                PIX3  PIX2    PIX1            PIX0

W

Reset1    --             --  --             --                  --    --      --              --

1. The reset state of this register is controlled at chip integration. Please refer to the device overview section to determine the
   actual reset state of this register.

               = Unimplemented or Reserved

                            Figure 3-11. Program Page Index Register (PPAGE)

Read: Anytime

Write: Determined at chip integration. Generally it's: "write anytime in all modes;" on some devices it will
be: "write only in special modes." Check specific device documentation to determine which applies.

Reset: Defined at chip integration as either 0x00 (paired with write in any mode) or 0x3C (paired with
write only in special modes), see device overview chapter.

The HCS12 core architecture limits the physical address space available to 64K bytes. The program page
index register allows for integrating up to 1M byte of FLASH or ROM into the system by using the six
page index bits to page 16K byte blocks into the program page window located from 0x8000 to 0xBFFF
as defined in Table 3-14. CALL and RTC instructions have special access to read and write this register
without using the address bus.

                                                      NOTE

             Normal writes to this register take one cycle to go into effect. Writes to this
             register using the special access of the CALL and RTC instructions will be
             complete before the end of the associated instruction.

                             Table 3-13. MEMSIZ0 Field Descriptions

Field                                                                    Description

   5:0    Program Page Index Bits 5:0 -- These page index bits are used to select which of the 64 FLASH or ROM
PIX[5:0]  array pages is to be accessed in the program page window as shown in Table 3-14.

Freescale Semiconductor      MC9S12C-Family / MC9S12GC-Family                                       121

                                            Rev 01.23
Chapter 3 Module Mapping Control (MMCV4) Block Description

           Table 3-14. Program Page Index Register Bits

     PIX5  PIX4  PIX3  PIX2                                 PIX1  PIX0  Program Space
                                                                            Selected
       0     0     0     0                                    0     0
       0     0     0     0                                    0     1      16K page 0
       0     0     0     0                                    1     0      16K page 1
       0     0     0     0                                    1     1      16K page 2
                   .                                                       16K page 3
       .     .     .     .                                    .     .
       .     .     .     .                                    .     .             .
       .     .           .                                    .     .             .
       .     .     .     .                                    .     .             .
       .     .     1     .                                    .     .             .
                   1                                                              .
       1     1     1     1                                    0     0
       1     1     1     1                                    0     1     16K page 60
       1     1           1                                    1     0     16K page 61
       1     1           1                                    1     1     16K page 62
                                                                          16K page 63

3.4 Functional Description

The MMC sub-block performs four basic functions of the core operation: bus control, address decoding
and select signal generation, memory expansion, and security decoding for the system. Each aspect is
described in the following subsections.

3.4.1 Bus Control

The MMC controls the address bus and data buses that interface the core with the rest of the system. This
includes the multiplexing of the input data buses to the core onto the main CPU read data bus and control
of data flow from the CPU to the output address and data buses of the core. In addition, the MMC manages
all CPU read data bus swapping operations.

3.4.2 Address Decoding

As data flows on the core address bus, the MMC decodes the address information, determines whether the
internal core register or firmware space, the peripheral space or a memory register or array space is being
addressed and generates the correct select signal. This decoding operation also interprets the mode of
operation of the system and the state of the mapping control registers in order to generate the proper select.
The MMC also generates two external chip select signals, emulation chip select (ECS) and external chip
select (XCS).

3.4.2.1 Select Priority and Mode Considerations

Although internal resources such as control registers and on-chip memory have default addresses, each can
be relocated by changing the default values in control registers. Normally, I/O addresses, control registers,

122              MC9S12C-Family / MC9S12GC-Family                       Freescale Semiconductor

                             Rev 01.23
                                   Chapter 3 Module Mapping Control (MMCV4) Block Description

vector spaces, expansion windows, and on-chip memory are mapped so that their address ranges do not
overlap. The MMC will make only one select signal active at any given time. This activation is based upon
the priority outlined in Table 3-15. If two or more blocks share the same address space, only the select
signal for the block with the highest priority will become active. An example of this is if the registers and
the RAM are mapped to the same space, the registers will have priority over the RAM and the portion of
RAM mapped in this shared space will not be accessible. The expansion windows have the lowest priority.
This means that registers, vectors, and on-chip memory are always visible to a program regardless of the
values in the page select registers.

                                                     Table 3-15. Select Signal Priority

                         Priority                       Address Space
                         Highest   BDM (internal to core) firmware or register space

                             ...                    Internal register space
                             ...                      RAM memory block
                             ...
                             ...                   EEPROM memory block
                         Lowest                    On-chip FLASH or ROM
                                                  Remaining external space

In expanded modes, all address space not used by internal resources is by default external memory space.
The data registers and data direction registers for ports A and B are removed from the on-chip memory
map and become external accesses. If the EME bit in the MODE register (see MEBI block description
chapter) is set, the data and data direction registers for port E are also removed from the on-chip memory
map and become external accesses.

In special peripheral mode, the first 16 registers associated with bus expansion are removed from the on-
chip memory map (PORTA, PORTB, DDRA, DDRB, PORTE, DDRE, PEAR, MODE, PUCR, RDRIV,
and the EBI reserved registers).

In emulation modes, if the EMK bit in the MODE register (see MEBI block description chapter) is set, the
data and data direction registers for port K are removed from the on-chip memory map and become
external accesses.

3.4.2.2 Emulation Chip Select Signal

When the EMK bit in the MODE register (see MEBI block description chapter) is set, port K bit 7 is used
as an active-low emulation chip select signal, ECS. This signal is active when the system is in emulation
mode, the EMK bit is set and the FLASH or ROM space is being addressed subject to the conditions
outlined in Section 3.4.3.2, "Extended Address (XAB19:14) and ECS Signal Functionality." When the
EMK bit is clear, this pin is used for general purpose I/O.

3.4.2.3 External Chip Select Signal

When the EMK bit in the MODE register (see MEBI block description chapter) is set, port K bit 6 is used
as an active-low external chip select signal, XCS. This signal is active only when the ECS signal described
above is not active and when the system is addressing the external address space. Accesses to

Freescale Semiconductor            MC9S12C-Family / MC9S12GC-Family                   123

                                   Rev 01.23
Chapter 3 Module Mapping Control (MMCV4) Block Description

unimplemented locations within the register space or to locations that are removed from the map (i.e., ports
A and B in expanded modes) will not cause this signal to become active. When the EMK bit is clear, this
pin is used for general purpose I/O.

3.4.3 Memory Expansion

The HCS12 core architecture limits the physical address space available to 64K bytes. The program page
index register allows for integrating up to 1M byte of FLASH or ROM into the system by using the six
page index bits to page 16K byte blocks into the program page window located from 0x8000 to 0xBFFF
in the physical memory space. The paged memory space can consist of solely on-chip memory or a
combination of on-chip and off-chip memory. This partitioning is configured at system integration through
the use of the paging configuration switches (pag_sw1:pag_sw0) at the core boundary. The options
available to the integrator are as given in Table 3-16 (this table matches Table 3-12 but is repeated here for
easy reference).

                                          Table 3-16. Allocated Off-Chip Memory Options

     pag_sw1:pag_sw0  Off-Chip Space                    On-Chip Space
                00       876K bytes                        128K bytes
                01       768K bytes                        256K bytes
                10       512K bytes                        512K bytes
                11         0K byte                           1M byte

Based upon the system configuration, the program page window will consider its access to be either
internal or external as defined in Table 3-17.

                                        Table 3-17. External/Internal Page Window Access

     pag_sw1:pag_sw0   Partitioning    PIX5:0 Value     Page Window
                00                                          Access
                01    876K off-Chip,  0x00000x0037
                10    128K on-Chip    0x00380x003F         External
                11                    0x00000x002F         Internal
                      768K off-chip,  0x00300x003F         External
                      256K on-chip    0x00000x001F         Internal
                                      0x00200x003F         External
                      512K off-chip,                        Internal
                      512K on-chip            N/A           External
                                      0x00000x003F         Internal
                        0K off-chip,
                        1M on-chip

                                              NOTE

     The partitioning as defined in Table 3-17 applies only to the allocated
     memory space and the actual on-chip memory sizes implemented in the
     system may differ. Please refer to the device overview chapter for actual
     sizes.

124                   MC9S12C-Family / MC9S12GC-Family  Freescale Semiconductor

                      Rev 01.23
                                                                                                    Chapter 3 Module Mapping Control (MMCV4) Block Description

The PPAGE register holds the page select value for the program page window. The value of the PPAGE
register can be manipulated by normal read and write (some devices don't allow writes in some modes)
instructions as well as the CALL and RTC instructions.

Control registers, vector spaces, and a portion of on-chip memory are located in unpaged portions of the
64K byte physical address space. The stack and I/O addresses should also be in unpaged memory to make
them accessible from any page.

The starting address of a service routine must be located in unpaged memory because the 16-bit exception
vectors cannot point to addresses in paged memory. However, a service routine can call other routines that
are in paged memory. The upper 16K byte block of memory space (0xC0000xFFFF) is unpaged. It is
recommended that all reset and interrupt vectors point to locations in this area.

3.4.3.1 CALL and Return from Call Instructions

CALL and RTC are uninterruptable instructions that automate page switching in the program expansion
window. CALL is similar to a JSR instruction, but the subroutine that is called can be located anywhere in
the normal 64K byte address space or on any page of program expansion memory. CALL calculates and
stacks a return address, stacks the current PPAGE value, and writes a new instruction-supplied value to
PPAGE. The PPAGE value controls which of the 64 possible pages is visible through the 16K byte
expansion window in the 64K byte memory map. Execution then begins at the address of the called
subroutine.

During the execution of a CALL instruction, the CPU:

    Writes the old PPAGE value into an internal temporary register and writes the new instruction-
         supplied PPAGE value into the PPAGE register.

    Calculates the address of the next instruction after the CALL instruction (the return address), and
         pushes this 16-bit value onto the stack.

    Pushes the old PPAGE value onto the stack.
    Calculates the effective address of the subroutine, refills the queue, and begins execution at the new

         address on the selected page of the expansion window.

This sequence is uninterruptable; there is no need to inhibit interrupts during CALL execution. A CALL
can be performed from any address in memory to any other address.

The PPAGE value supplied by the instruction is part of the effective address. For all addressing mode
variations except indexed-indirect modes, the new page value is provided by an immediate operand in the
instruction. In indexed-indirect variations of CALL, a pointer specifies memory locations where the new
page value and the address of the called subroutine are stored. Using indirect addressing for both the new
page value and the address within the page allows values calculated at run time rather than immediate
values that must be known at the time of assembly.

The RTC instruction terminates subroutines invoked by a CALL instruction. RTC unstacks the PPAGE
value and the return address and refills the queue. Execution resumes with the next instruction after the
CALL.

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  125

                         Rev 01.23
Chapter 3 Module Mapping Control (MMCV4) Block Description

During the execution of an RTC instruction, the CPU:
    Pulls the old PPAGE value from the stack
    Pulls the 16-bit return address from the stack and loads it into the PC
    Writes the old PPAGE value into the PPAGE register
    Refills the queue and resumes execution at the return address

This sequence is uninterruptable; an RTC can be executed from anywhere in memory, even from a different
page of extended memory in the expansion window.

The CALL and RTC instructions behave like JSR and RTS, except they use more execution cycles.
Therefore, routinely substituting CALL/RTC for JSR/RTS is not recommended. JSR and RTS can be used
to access subroutines that are on the same page in expanded memory. However, a subroutine in expanded
memory that can be called from other pages must be terminated with an RTC. And the RTC unstacks a
PPAGE value. So any access to the subroutine, even from the same page, must use a CALL instruction so
that the correct PPAGE value is in the stack.

3.4.3.2 Extended Address (XAB19:14) and ECS Signal Functionality

If the EMK bit in the MODE register is set (see MEBI block description chapter) the PIX5:0 values will
be output on XAB19:14 respectively (port K bits 5:0) when the system is addressing within the physical
program page window address space (0x80000xBFFF) and is in an expanded mode. When addressing
anywhere else within the physical address space (outside of the paging space), the XAB19:14 signals will
be assigned a constant value based upon the physical address space selected. In addition, the active-low
emulation chip select signal, ECS, will likewise function based upon the assigned memory allocation. In
the cases of 48K byte and 64K byte allocated physical FLASH/ROM space, the operation of the ECS
signal will additionally depend upon the state of the ROMHM bit (see Section 3.3.2.4, "Miscellaneous
System Control Register (MISC)") in the MISC register. Table 3-18, Table 3-19, Table 3-20, and Table 3-
21 summarize the functionality of these signals based upon the allocated memory configuration. Again,
this signal information is only available externally when the EMK bit is set and the system is in an
expanded mode.

     Table 3-18. 0K Byte Physical FLASH/ROM Allocated

     Address Space  Page Window Access  ROMHM         ECS  XAB19:14
     0x00000x3FFF              N/A        N/A          1     0x3D
     0x40000x7FFF              N/A        N/A          1     0x3E
     0x80000xBFFF              N/A        N/A          0
     0xC0000xFFFF              N/A        N/A          0   PIX[5:0]
                                                              0x3F

     Table 3-19. 16K Byte Physical FLASH/ROM Allocated

     Address Space  Page Window Access  ROMHM         ECS  XAB19:14
     0x00000x3FFF              N/A        N/A          1     0x3D
     0x40000x7FFF              N/A        N/A          1     0x3E
     0x80000xBFFF              N/A        N/A          1
     0xC0000xFFFF              N/A        N/A          0   PIX[5:0]
                                                              0x3F

126                 MC9S12C-Family / MC9S12GC-Family       Freescale Semiconductor

                    Rev 01.23
                         Chapter 3 Module Mapping Control (MMCV4) Block Description

                         Table 3-20. 48K Byte Physical FLASH/ROM Allocated

Address Space            Page Window Access  ROMHM         ECS              XAB19:14
0x00000x3FFF                        N/A        N/A          1                 0x3D
0x40000x7FFF                        N/A          0          0                 0x3E
                                     N/A          1          1
0x80000xBFFF                                   N/A          1               PIX[5:0]
                                  External      N/A          0
0xC0000xFFFF                      Internal     N/A          0                 0x3F

                                     N/A

                         Table 3-21. 64K Byte Physical FLASH/ROM Allocated

Address Space            Page Window Access  ROMHM         ECS              XAB19:14
0x00000x3FFF                        N/A          0          0                 0x3D
0x40000x7FFF                        N/A          1          1                 0x3E
0x80000xBFFF                        N/A          0          0
0xC0000xFFFF                        N/A          1          1               PIX[5:0]
                                                             1                 0x3F
                                  External      N/A          0
                                   Internal     N/A          0
                                                N/A
                                     N/A

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family                              127

                         Rev 01.23
Chapter 3 Module Mapping Control (MMCV4) Block Description

A graphical example of a memory paging for a system configured as 1M byte on-chip FLASH/ROM with
64K allocated physical space is given in Figure 3-12.

                             0x0000
                                                   61

                                        16K FLASH
                                        (UNPAGED)

     0x4000
                           62

             16K FLASH
             (UNPAGED)

                                  ONE 16K FLASH/ROM PAGE ACCESSIBLE AT A TIME
                                             (SELECTED BY PPAGE = 0 TO 63)

     0x8000

                               0  12 3                              59 60 61 62 63

             16K FLASH
              (PAGED)

     0xC000
                           63

                               These 16K FLASH/ROM pages accessible from 0x0000 to 0x7FFF if selected
                               by the ROMHM bit in the MISC register.

             16K FLASH
             (UNPAGED)

              0xFF00
                          VECTORS

              0xFFFF
                           NORMAL

                        SINGLE CHIP

     Figure 3-12. Memory Paging Example: 1M Byte On-Chip FLASH/ROM, 64K Allocation

128                               MC9S12C-Family / MC9S12GC-Family             Freescale Semiconductor

                                  Rev 01.23
Chapter 4
Multiplexed External Bus Interface (MEBIV3)

4.1 Introduction

This section describes the functionality of the multiplexed external bus interface (MEBI) sub-block of the
S12 core platform. The functionality of the module is closely coupled with the S12 CPU and the memory
map controller (MMC) sub-blocks.

Figure 4-1 is a block diagram of the MEBI. In Figure 4-1, the signals on the right hand side represent pins
that are accessible externally. On some chips, these may not all be bonded out.

The MEBI sub-block of the core serves to provide access and/or visibility to internal core data
manipulation operations including timing reference information at the external boundary of the core and/or
system. Depending upon the system operating mode and the state of bits within the control registers of the
MEBI, the internal 16-bit read and write data operations will be represented in 8-bit or 16-bit accesses
externally. Using control information from other blocks within the system, the MEBI will determine the
appropriate type of data access to be generated.

4.1.1 Features

The block name includes these distinctive features:
    External bus controller with four 8-bit ports A,B, E, and K
    Data and data direction registers for ports A, B, E, and K when used as general-purpose I/O
    Control register to enable/disable alternate functions on ports E and K
    Mode control register
    Control register to enable/disable pull resistors on ports A, B, E, and K
    Control register to enable/disable reduced output drive on ports A, B, E, and K
    Control register to configure external clock behavior
    Control register to configure IRQ pin operation
    Logic to capture and synchronize external interrupt pin inputs

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  129

                         Rev 01.23
Chapter 4 Multiplexed External Bus Interface (MEBIV3)

                                 REGS                                               Port K  PK[7:0]/ECS/XCS/X[19:14]

                                                                              ADDR

     Internal Bus    Addr[19:0]                        EXT ADDR                     Port A  PA[7:0]/A[15:8]/
                     Data[15:0]                                                             D[15:8]/D[7:0]
                     (Control)                         BUS   DATA
                                                        I/F                                 PB[7:0]/A[7:0]/
                 CPU pipe info                                                              D[7:0]
                 IRQ interrupt                         CTL
                 XIRQ interrupt                                                             PE[7:2]/NOACC/
                 BDM tag info                                ADDR                   Port B  IPIPE1/MODB/CLKTO
                                                             DATA                           IPIPE0/MODA/
                                                                                            ECLK/
                                                ECLK CTL                            Port E  LSTRB/TAGLO
                                                 PIPE CTL                                   R/W
                                                                                    BKGD    PE1/IRQ
                                                 IRQ CTL                                    PE0/XIRQ

                                                 TAG CTL                                    BKGD/MODC/TAGHI
                                 mode

                                 Control signal(s)
                                 Data signal (unidirectional)
                                 Data signal (bidirectional)
                                 Data bus (unidirectional)
                                 Data bus (bidirectional)

                                            Figure 4-1. MEBI Block Diagram

130                              MC9S12C-Family / MC9S12GC-Family                           Freescale Semiconductor

                                                       Rev 01.23
                                                                                                                Chapter 4 Multiplexed External Bus Interface (MEBIV3)

4.1.2 Modes of Operation

    Normal expanded wide mode
         Ports A and B are configured as a 16-bit multiplexed address and data bus and port E provides bus
         control and status signals. This mode allows 16-bit external memory and peripheral devices to be
         interfaced to the system.

    Normal expanded narrow mode
         Ports A and B are configured as a 16-bit address bus and port A is multiplexed with 8-bit data.
         Port E provides bus control and status signals. This mode allows 8-bit external memory and
         peripheral devices to be interfaced to the system.

    Normal single-chip mode
         There is no external expansion bus in this mode. The processor program is executed from internal
         memory. Ports A, B, K, and most of E are available as general-purpose I/O.

    Special single-chip mode
         This mode is generally used for debugging single-chip operation, boot-strapping, or security
         related operations. The active background mode is in control of CPU execution and BDM firmware
         is waiting for additional serial commands through the BKGD pin. There is no external expansion
         bus after reset in this mode.

    Emulation expanded wide mode
         Developers use this mode for emulation systems in which the users target application is normal
         expanded wide mode.

    Emulation expanded narrow mode
         Developers use this mode for emulation systems in which the users target application is normal
         expanded narrow mode.

    Special test mode
         Ports A and B are configured as a 16-bit multiplexed address and data bus and port E provides bus
         control and status signals. In special test mode, the write protection of many control bits is lifted
         so that they can be thoroughly tested without needing to go through reset.

    Special peripheral mode
         This mode is intended for Freescale Semiconductor factory testing of the system. The CPU is
         inactive and an external (tester) bus master drives address, data, and bus control signals.

4.2 External Signal Description

In typical implementations, the MEBI sub-block of the core interfaces directly with external system pins.
Some pins may not be bonded out in all implementations.

Table 4-1 outlines the pin names and functions and gives a brief description of their operation reset state
of these pins and associated pull-ups or pull-downs is dependent on the mode of operation and on the
integration of this block at the chip level (chip dependent).

Freescale Semiconductor  MC9S12C-Family / MC9S12GC-Family  131

                         Rev 01.23
Chapter 4 Multiplexed External Bus Interface (MEBIV3)

.

                                  Table 4-1. External System Pins Associated With MEBI

       Pin Name    Pin Functions                                             Description
BKGD/MODC/       MODC
TAGHI            BKGD             At the rising edge on RESET, the state of this pin is registered into the MODC
                 TAGHI            bit to set the mode. (This pin always has an internal pullup.)
PA7/A15/D15/D7   PA7PA0
thru             A15A8           Pseudo open-drain communication pin for the single-wire background debug
PA0/A8/D8/D0     D15D8           mode. There is an internal pull-up resistor on this pin.

PB7/A7/D7        D15/D7           When instruction tagging is on, a 0 at the falling edge of E tags the high half of
thru             thru             the instruction word being read into the instruction queue.
PB0/A0/D0        D8/D0
                 PB7PB0          General-purpose I/O pins, see PORTA and DDRA registers.
PE7/NOACC        A7A0
PE6/IPIPE1/      D7D0            High-order address lines multiplexed during ECLK low. Outputs except in
MODB/CLKTO                        special peripheral mode where they are inputs from an external tester system.
                 PE7
PE5/IPIPE0/MODA  NOACC            High-order bidirectional data lines multiplexed during ECLK high in expanded
                 MODB             wide modes, special peripheral mode, and visible internal accesses (IVIS = 1)
                 PE6              in emulation expanded narrow mode. Direction of data transfer is generally
                 IPIPE1           indicated by R/W.
                 CLKTO
                 MODA             Alternate high-order and low-order bytes of the bidirectional data lines
                 PE5              multiplexed during ECLK high in expanded narrow modes and narrow accesses
                 IPIPE0           in wide modes. Direction of data transfer is generally indicated by R/W.

                                  General-purpose I/O pins, see PORTB and DDRB registers.

                                  Low-order address lines multiplexed during ECLK low. Outputs except in
                                  special peripheral mode where they are inputs from an external tester system.

                                  Low-order bidirectional data lines multiplexed during ECLK high in expanded
                                  wide modes, special peripheral mode, and visible internal accesses (with
                                  IVIS = 1) in emulation expanded narrow mode. Direction of data transfer is
                                  generally indicated by R/W.

                                  General-purpose I/O pin, see PORTE and DDRE registers.

                                  CPU No Access output. Indicates whether the current cycle is a free cycle. Only
                                  available in expanded modes.

                                  At the rising edge of RESET, the state of this pin is registered into the MODB
                                  bit to set the mode.

                                  General-purpose I/O pin, see PORTE and DDRE registers.

                                  Instruction pipe status bit 1, enabled by PIPOE bit in PEAR.

                                  System clock test output. Only available in special modes. PIPOE = 1 overrides
                                  this function. The enable for this function is in the clock module.

                                  At the rising edge on RESET, the state of this pin is registered into the MODA
                                  bit to set the mode.

                                  General-purpose I/O pin, see PORTE and DDRE registers.

                                  Instruction pipe status bit 0, enabled by PIPOE bit in PEAR.

132                               MC9S12C-Family / MC9S12GC-Family                      Freescale Semiconductor

                                                       Rev 01.23
                                                     Chapter 4 Multiplexed External Bus Interface (MEBIV3)

                 Table 4-1. External System Pins Associated With MEBI (continued)

       Pin Name            Pin Functions                                             Description
PE4/ECLK                 PE4
                         ECLK             General-purpose I/O pin, see PORTE and DDRE registers.

PE3/LSTRB/ TAGLO PE3                      Bus timing reference clock, can operate as a free-running clock at the system
                                LSTRB     clock rate or to produce one low-high clock per visible access, with the high
                                SZ8       period stretched for slow accesses. ECLK is controlled by the NECLK bit in
                                          PEAR, the IVIS bit in MODE, and the ESTR bit in EBICTL.
                                TAGLO
                                          General-purpose I/O pin, see PORTE and DDRE registers.
PE2/R/W                  PE2
                         R/W              Low strobe bar, 0 indicates valid data on D7D0.
PE1/IRQ
                         PE1              In special peripheral mode, this pin is an input indicating the size of the data
PE0/XIRQ                 IRQ              transfer (0 = 16-bit; 1 = 8-bit).
                         PE0
PK7/ECS                  XIRQ             In expanded wide mode or emulation narrow modes, when instruction tagging
                         PK7              is on and low strobe is enabled, a 0 at the falling edge of E tags the low half of
PK6/XCS                  ECS              the instruction word being read into the instruction queue.
                         PK6
PK5/X19                  XCS              General-purpose I/O pin, see PORTE and DDRE registers.
thru                     PK5PK0
PK0/X14                  X19X14          Read/write, indicates the direction of internal data transfers. This is an output
                                          except in special peripheral mode where it is an input.

                                          General-purpose input-only pin, can be read even if IRQ enabled.

                                          Maskable interrupt request, can be level sensitive or edge sensitive.

                                          General-purpose input-only pin.

                                          Non-maskable interrupt input.

                                          General-purpose I/O pin, see PORTK and DDRK registers.

                                          Emulation chip select

                                          General-purpose I/O pin, see PORTK and DDRK registers.

                                          External data chip select

                                          General-purpose I/O pins, see PORTK and DDRK registers.

                                          Memory expansion addresses

Detailed descriptions of these pins can be found in the device overview chapter.

4.3 Memory Map and Register Definition

A summary of the registers associated with the MEBI sub-block is shown in Table 4-2. Detailed
descriptions of the registers and bits are given in the subsections that follow. On most chips the registers
are mappable. Therefore, the upper bits may not be all 0s as shown in the table and descriptions.

Freescale Semiconductor                   MC9S12C-Family / MC9S12GC-Family         133

                                          Rev 01.23
Chapter 4 Multiplexed External Bus Interface (MEBIV3)

4.3.1 Module Memory Map

                                  Table 4-2. MEBI Memory Map

     Address                                                   Use                         Access
      Offset
              Port A Data Register (PORTA)                                                   R/W
      0x0000  Port B Data Register (PORTB)                                                   R/W
      0x0001  Data Direction Register A (DDRA)                                               R/W
      0x0002  Data Direction Register B (DDRB)                                               R/W
      0x0003  Reserved
      0x0004  Reserved                                                                         R
      0x0005  Reserved                                                                         R
      0x0006  Reserved                                                                         R
      0x0007  Port E Data Register (PORTE)                                                     R
      0x0008  Data Direction Register E (DDRE)                                               R/W
      0x0009  Port E Assignment Register (PEAR)                                              R/W
     0x000A   Mode Register (MODE)                                                           R/W
     0x000B   Pull Control Register (PUCR)                                                   R/W
     0x000C   Reduced Drive Register (RDRIV)                                                 R/W
     0x000D   External Bus Interface Control Register (EBICTL)                               R/W
     0x000E   Reserved                                                                       R/W
     0x000F   IRQ Control Register (IRQCR)                                                     R
     0x001E   Port K Data Register (PORTK)                                                   R/W
     0x00032  Data Direction Register K (DDRK)                                               R/W
     0x00033                                                                                 R/W

4.3.2 Register Descriptions

4.3.2.1 Port A Data Register (PORTA)

Module Base + 0x0000
Starting address location affected by INITRG register setting.

                 7             6                       5             4   3        2        1              0

              R                                                                                       Bit 0

                 Bit 7         6                       5             4   3        2        1            0
                                                                                                      PA0
              W
                                                                                                   AB/DB8
     Reset       0             0                       0             0   0        0        0
                                                                                                   AB8 and
     Single Chip PA7           PA6                     PA5      PA4      PA3      PA2      PA1     DB8/DB0

        Expanded Wide,         AB/DB14                 AB/DB13  AB/DB12  AB/DB11  AB/DB10  AB/DB9
Emulation Narrow with AB/DB15

   IVIS, and Peripheral

     Expanded Narrow AB15 and AB14 and AB13 and AB12 and AB11 and AB10 and AB9 and
                               DB15/DB7 DB14/DB6 DB13/DB5 DB12/DB4 DB11/DB3 DB10/DB2 DB9/DB1

                               Figure 4-2. Port A Data Register (PORTA)

134                            MC9S12C-Family / MC9S12GC-Family                            Freescale Semiconductor

                                                          Rev 01.23
                                                                                                                Chapter 4 Multiplexed External Bus Interface (MEBIV3)

Read: Anytime when register is in the map

Write: Anytime when register is in the map

Port A bits 7 through 0 are associated with address lines A15 through A8 respectively and data lines
D15/D7 through D8/D0 respectively. When this port is not used for external addresses such as in single-
chip mode, these pins can be used as general-purpose I/O. Data direction register A (DDRA) determines
the primary direction of each pin. DDRA also determines the source of data for a read of PORTA.

This register is not in the on-chip memory map in expanded and special peripheral modes. Therefore, these
accesses will be echoed externally.

                                                           NOTE
                  To ensure that you read the value present on the PORTA pins, always wait
                  at least one cycle after writing to the DDRA register before reading from the
                  PORTA register.

4.3.2.2 Port B Data Register (PORTB)

Module Base + 0x0001
Starting address location affected by INITRG register setting.

                                    7   6    5                  4    3                 2       1       0

                            R    Bit 7  6    5                  4    3                2       1     Bit 0
                                   0                                                  0       0       0
                           W            0    0                  0    0              PB2     PB1
                                 PB7                                              AB/DB2  AB/DB1    PB0
                      Reset    AB/DB7   PB6  PB5                PB4  PB3            AB2     AB1   AB/DB0

              Single Chip        AB7    AB/DB6 AB/DB5 AB/DB4 AB/DB3                                 AB0

        Expanded Wide,                  AB6  AB5                AB4  AB3
Emulation Narrow with

   IVIS, and Peripheral

      Expanded Narrow

                                        Figure 4-3. Port A Data Register (PORTB)

Read: Anytime when register is in the map

Write: Anytime when register is in the map

Port B bits 7 through 0 are associated with address lines A7 through A0 respectively and data lines D7
through D0 respectively. When this port is not used for external addresses, such as in single-chip mode,
these pins can be used as general-purpose I/O. Data direction register B (DDRB) determines the primary
direction of each pin. DDRB also determines the source of data for a read of PORTB.

This register is not in the on-chip memory map in expanded and special peripheral modes. Therefore, these
accesses will be echoed externally.

                                                           NOTE

                  To ensure that you read the value present on the PORTB pins, always wait
                  at least one cycle after writing to the DDRB register before reading from the
                  PORTB register.

Freescale Semiconductor                 MC9S12C-Family / MC9S12GC-Family                          135

                                                Rev 01.23
Chapter 4 Multiplexed External Bus Interface (MEBIV3)

4.3.2.3 Data Direction Register A (DDRA)

Module Base + 0x0002
Starting address location affected by INITRG register setting.

               7    6  5                   4                    3                          2  1  0

          R  Bit 7  6  5                   4                    3                          2  1  Bit 0
          W    0
     Reset          0  0                   0                    0                          0  0  0

                       Figure 4-4. Data Direction Register A (DDRA)

Read: Anytime when register is in the map

Write: Anytime when register is in the map

This register controls the data direction for port A. When port A is operating as a general-purpose I/O port,
DDRA determines the primary direction for each port A pin. A 1 causes the associated port pin to be an
output and a 0 causes the associated pin to be a high-impedance input. The value in a DDR bit also affects
the source of data for reads of the corresponding PORTA register. If the DDR bit is 0 (input) the buffered
pin input state is read. If the DDR bit is 1 (output) the associated port data register bit state is read.

This register is not in the on-chip memory map in expanded and special peripheral modes. Therefore, these
accesses will be echoed externally. It is reset to 0x00 so the DDR does not override the three-state control
signals.

                                                   Table 4-3. DDRA Field Descriptions

     Field                                                                    Description

       7:0   Data Direction Port A
     DDRA    0 Configure the corresponding I/O pin as an input
             1 Configure the corresponding I/O pin as an output

136                    MC9S12C-Family / MC9S12GC-Family                                       Freescale Semiconductor

                                           Rev 01.23
                                                                Chapter 4 Multiplexed External Bus Interface (MEBIV3)

4.3.2.4  Data Direction Register B (DDRB)

Module Base + 0x0003
Starting address location affected by INITRG register setting.

           7             6  5              4                    3                      2  1  0

     R   Bit 7           6  5              4                    3                      2  1  Bit 0
     W     0
Reset                    0  0              0                    0                      0  0  0

                            Figure 4-5. Data Direction Register B (DDRB)

Read: Anytime when register is in the map

Write: Anytime when register is in the map

This register controls the data direction for port B. When port B is operating as a general-purpose I/O port,
DDRB determines the primary direction for each port B pin. A 1 causes the associated port pin to be an
output and a 0 causes the associated pin to be a high-impedance input. The value in a DDR bit also affects
the source of data for reads of the corresponding PORTB register. If the DDR bit is 0 (input) the buffered
pin input state is read. If the DDR bit is 1 (output) the associated port data register bit state is read.

This register is not in the on-chip memory map in expanded and special peripheral modes. Therefore, these
accesses will be echoed externally. It is reset to 0x00 so the DDR does not override the three-state control
signals.

                                                   Table 4-4. DDRB Field Descriptions

Field                                                                     Description

  7:0    Data Direction Port B
DDRB     0 Configure the corresponding I/O pin as an input
         1 Configure the corresponding I/O pin as an output

Freescale Semiconductor     MC9S12C-Family / MC9S12GC-Family                                        137

                                           Rev 01.23
Chapter 4 Multiplexed External Bus Interface (MEBIV3)

4.3.2.5 Reserved Registers

Module Base + 0x0004
Starting address location affected by INITRG register setting.

            7  6  5                                    4          3  2  1  0

     R      0  0  0                                    0          0  0  0  0

     W

     Reset  0  0  0                                    0          0  0  0  0

               = Unimplemented or Reserved

                  Figure 4-6. Reserved Register

Module Base + 0x0005
Starting address location affected by INITRG register setting.

            7  6  5                                    4          3  2  1  0

     R      0  0  0                                    0          0  0  0  0

     W

     Reset  0  0  0                                    0          0  0  0  0

               = Unimplemented or Reserved

                  Figure 4-7. Reserved Register

Module Base + 0x0006
Starting address location affected by INITRG register setting.

            7  6  5                                    4          3  2  1  0

     R      0  0  0                                    0          0  0  0  0

     W

     Reset  0  0  0                                    0          0  0  0  0

               = Unimplemented or Reserved

                  Figure 4-8. Reserved Register

Module Base + 0x0007
Starting address location affected by INITRG register setting.

            7  6  5                                    4          3  2  1  0

     R      0  0  0                                    0          0  0  0  0

     W

     Reset  0  0  0                                    0          0  0  0  0

               = Unimplemented or Reserved

                  Figure 4-9. Reserved Register

138               MC9S12C-Family / MC9S12GC-Family                      Freescale Semiconductor

                                                       Rev 01.23
                                                                                                                Chapter 4 Multiplexed External Bus Interface (MEBIV3)

These register locations are not used (reserved). All unused registers and bits in this block return logic 0s
when read. Writes to these registers have no effect.
These registers are not in the on-chip map in special peripheral mode.

4.3.2.6 Port E Data Register (PORTE)

Module Base + 0x0008
Starting address location affected by INITRG register setting.

                      7   6          5                          4  3         2                1       0

              R    Bit 7  6          5                          4  3         2              Bit 1  Bit 0
             W       0
                          0          0                          0  0         0                u      u
        Reset    NOACC                                                                      IRQ    XIRQ
    Alternate               MODB      MODA             ECLK         LSTRB    R/W
Pin Function              or IPIPE1  or IPIPE0                     or TAGLO
                          or CLKTO

                          = Unimplemented or Reserved              u = Unaffected by reset

                             Figure 4-10. Port E Data Register (PORTE)

Read: Anytime when register is in the map

Write: Anytime when register is in the map

Port E is associated with external bus control signals and interrupt inputs. These include mode select
(MODB/IPIPE1, MODA/IPIPE0), E clock, size (LSTRB/TAGLO), read/write (R/W), IRQ, and XIRQ.
When not used for one of these specific functions, port E pins 7:2 can be used as general-purpose I/O and
pins 1:0 can be used as general-purpose input. The port E assignment register (PEAR) selects the function
of each pin and DDRE determines whether each pin is an input or output when it is configured to be
general-purpose I/O. DDRE also determines the source of data for a read of PORTE.

Some of these pins have software selectable pull resistors. IRQ and XIRQ can only be pulled up whereas
the polarity of the PE7, PE4, PE3, and PE2 pull resistors are determined by chip integration. Please refer
to the device overview chapter (Signal Property Summary) to determine the polarity of these resistors.
A single control bit enables the pull devices for all of these pins when they are configured as inputs.

This register is not in the on-chip map in special peripheral mode or in expanded modes when the EME
bit is set. Therefore, these accesses will be echoed externally.

                                                           NOTE

                  It is unwise to write PORTE and DDRE as a word access. If you are
                  changing port E pins from being inputs to outputs, the data may have extra
                  transitions during the write. It is best to initialize PORTE before enabling as
                  outputs.

Freescale Semiconductor              MC9S12C-Family / MC9S12GC-Family                                     139

                                                Rev 01.23
Chapter 4 Multiplexed External Bus Interface (MEBIV3)

                                                           NOTE
                  To ensure that you read the value present on the PORTE pins, always wait
                  at least one cycle after writing to the DDRE register before reading from the
                  PORTE register.

4.3.2.7 Data Direction Register E (DDRE)

Module Base + 0x0009
Starting address location affected by INITRG register setting.

            7      6  5                         4               3  2      1                      0

     R                                                                    0                      0

            Bit 7  6  5                         4               3  Bit 2

     W

     Reset  0      0  0                         0               0  0      0                      0

                   = Unimplemented or Reserved

                      Figure 4-11. Data Direction Register E (DDRE)

Read: Anytime when register is in the map

Write: Anytime when register is in the map

Data direction register E is associated with port E. For bits in port E that are configured as general-purpose
I/O lines, DDRE determines the primary direction of each of these pins. A 1 causes the associated bit to
be an output and a 0 causes the associated bit to be an input. Port E bit 1 (associated with IRQ) and bit 0
(associated with XIRQ) cannot be configured as outputs. Port E, bits 1 and 0, can be read regardless of
whether the alternate interrupt function is enabled. The value in a DDR bit also affects the source of data
for reads of the corresponding PORTE register. If the DDR bit is 0 (input) the buffered pin input state is
read. If the DDR bit is 1 (output) the associated port data register bit state is read.

This register is not in the on-chip memory map in expanded and special peripheral modes. Therefore, these
accesses will be echoed externally. Also, it is not in the map in expanded modes while the EME control bit
is set.

                                                   Table 4-5. DDRE Field Descriptions

     Field                                                                   Description

       7:2  Data Direction Port E
     DDRE   0 Configure the corresponding I/O pin as an input
            1 Configure the corresponding I/O pin as an output
            Note: It is unwise to write PORTE and DDRE as a word access. If you are changing port E pins from inputs to

                    outputs, the data may have extra transitions during the write. It is best to initialize PORTE before enabling
                    as outputs.

140                   MC9S12C-Family / MC9S12GC-Family                    Freescale Semiconductor

                                                Rev 01.23
4.3.2.8                                                                                         Chapter 4 Multiplexed External Bus Interface (MEBIV3)

         Port E Assignment Register (PEAR)

Module Base + 0x000A
Starting address location affected by INITRG register setting.

                           7       6  5                         4  3          2  1  0

         R                         0                                             0  0

                           NOACCE     PIPOE NECLK LSTRE RDWE

         W

         Reset

Special Single Chip        0       0  0                         0  0          0  0  0

         Special Test      0       0  1                         0  1          1  0  0

         Peripheral        0       0  0                         0  0          0  0  0

Emulation Expanded         1       0  1                         0  1          1  0  0
                  Narrow

Emulation Expanded         1       0  1                         0  1          1  0  0
                     Wide

Normal Single Chip         0       0  0                         1  0          0  0  0

Normal Expanded            0       0  0                         0  0          0  0  0
              Narrow

Normal Expanded Wide       0       0  0                         0  0          0  0  0

                                   = Unimplemented or Reserved

                              Figure 4-12. Port E Assignment Register (PEAR)

Read: Anytime (provided this register is in the map).

Write: Each bit has specific write conditions. Please refer to the descriptions of each bit on the following
pages.

Port E serves as general-purpose I/O or as system and bus control signals. The PEAR register is used to
choose between the general-purpose I/O function and the alternate control functions. When an alternate
control function is selected, the associated DDRE bits are overridden.

The reset condition of this register depends on the mode of operation because bus control signals are
needed immediately after reset in some modes. In normal single-chip mode, no external bus control signals
are needed so all of port E is configured for general-purpose I/O. In normal expanded modes, only the E
clock is configured for its alternate bus control function and the other bits of port E are configured for
general-purpose I/O. As the reset vector is located in external memory, the E clock is required for this
access. R/W is only needed by the system when there are external writable resources. If the normal
expanded system needs any other bus control signals, PEAR would need to be written before any access
that needed the additional signals. In special test and emulation modes, IPIPE1, IPIPE0, E, LSTRB, and
R/W are configured out of reset as bus control signals.

This register is not in the on-chip memory map in expanded and special peripheral modes. Therefore, these
accesses will be echoed externally.

Freescale Semiconductor            MC9S12C-Family / MC9S12GC-Family                    141

                                         Rev 01.23
Chapter 4 Multiplexed External Bus Interface (MEBIV3)

            Table 4-6. PEAR Field Descriptions

     Field                                             Description

     7      CPU No Access Output Enable
NOACCE      Normal: write once
            Emulation: write never
     5      Special: write anytime
PIPOE      1 The associated pin (port E, bit 7) is general-purpose I/O.
            0 The associated pin (port E, bit 7) is output and indicates whether the cycle is a CPU free cycle.
     4      This bit has no effect in single-chip or special peripheral modes.
NECLK
            Pipe Status Signal Output Enable
     3      Normal: write once
LSTRE      Emulation: write never
            Special: write anytime.
     2      0 The associated pins (port E, bits 6:5) are general-purpose I/O.
RDWE       1 The associated pins (port E, bits 6:5) are outputs and indicate the state of the instruction queue
            This bit has no effect in single-chip or special peripheral modes.

            No External E Clock
            Normal and special: write anytime
            Emulation: write never
            0 The associated pin (port E, bit 4) is the external E clock pin. External E clock is free-running if ESTR = 0
            1 The associated pin (port E, bit 4) is a general-purpose I/O pin.
            External E clock is available as an output in all modes.

            Low Strobe (LSTRB) Enable
            Normal: write once
            Emulation: write never
            Special: write anytime.
            0 The associated pin (port E, bit 3) is a general-purpose I/O pin.
            1 The associated pin (port E, bit 3) is configured as the LSTRB bus control output. If BDM tagging is enabled,

               TAGLO is multiplexed in on the rising edge of ECLK and LSTRB is driven out on the falling edge of ECLK.
            This bit has no effect in single-chip, peripheral, or normal expanded narrow modes.
            Note: LSTRB is used during external writes. After reset in normal expanded mode, LSTRB is disabled to provide

                    an extra I/O pin. If LSTRB is needed, it should be enabled before any external writes. External reads do
                    not normally need LSTRB because all 16 data bits can be driven even if the system only needs 8 bits of
                    data.

            Read/Write Enable
            Normal: write once
            Emulation: write never
            Special: write anytime
            0 The associated pin (port E, bit 2) is a general-purpose I/O pin.
            1 The associated pin (port E, bit 2) is configured as the R/W pin
            This bit has no effect in single-chip or special peripheral modes.
            Note: R/W is used for external writes. After reset in normal expanded mode, R/W is disabled to provide an extra

                    I/O pin. If R/W is needed it should be enabled before any external writes.

142         MC9S12C-Family / MC9S12GC-Family                        Freescale Semiconductor

                                                       Rev 01.23
                                                                   Chapter 4 Multiplexed External Bus Interface (MEBIV3)

4.3.2.9 Mode Register (MODE)

Module Base + 0x000B
Starting address location affected by INITRG register setting.

                           7     6     5                        4  3     2  1    0

R                                                               0        0

                           MODC  MODB  MODA                        IVIS     EMK  EME

W

Reset

Special Single Chip        0     0     0                        0  0     0  0    0

Emulation Expanded         0     0     1                        0  1     0  1    1
                  Narrow

Special Test               0     1     0                        0  1     0  0    0

Emulation Expanded         0     1     1                        0  1     0  1    1
                     Wide

Normal Single Chip         1     0     0                        0  0     0  0    0

Normal Expanded            1     0     1                        0  0     0  0    0
              Narrow

Peripheral                 1     1     0                        0  0     0  0    0

Normal Expanded Wide       1     1     1                        0  0     0  0    0

                                 = Unimplemented or Reserved

                                 Figure 4-13. Mode Register (MODE)

Read: Anytime (provided this register is in the map).

Write: Each bit has specific write conditions. Please refer to the descriptions of each bit on the following
pages.

The MODE register is used to establish the operating mode and other miscellaneous functions (i.e.,
internal visibility and emulation of port E and K).

In special peripheral mode, this register is not accessible but it is reset as shown to system configuration
features. Changes to bits in the MODE register are delayed one cycle after the write.

This register is not in the on-chip memory map in expanded and special peripheral modes. Therefore, these
accesses will be echoed externally.

Freescale Semiconductor          MC9S12C-Family / MC9S12GC-Family                     143

                                          Rev 01.23
Chapter 4 Multiplexed External Bus Interface (MEBIV3)

                                    Table 4-7. MODE Field Descriptions

     Field                                             Description

    7:5     Mode Select Bits -- These bits indicate the current operating mode.
MOD[C:A]    If MODA = 1, then MODC, MODB, and MODA are write never.
            If MODC = MODA = 0, then MODC, MODB, and MODA are writable with the exception that you cannot change
            to or from special peripheral mode
            If MODC = 1, MODB = 0, and MODA = 0, then MODC is write never. MODB and MODA are write once, except
            that you cannot change to special peripheral mode. From normal single-chip, only normal expanded narrow and
            normal expanded wide modes are available.

            See Table 4-8 and Table 4-16.

     3      Internal Visibility (for both read and write accesses) -- This bit determines whether internal accesses

     IVIS   generate a bus cycle that is visible on the external bus.

            Normal: write once

            Emulation: write never

            Special: write anytime

            0 No visibility of internal bus operations on external bus.

            1 Internal bus operations are visible on external bus.

       1    Emulate Port K
     EMK    Normal: write once
            Emulation: write never
            Special: write anytime
            0 PORTK and DDRK are in the memory map so port K can be used for general-purpose I/O.
            1 If in any expanded mode, PORTK and DDRK are removed from the memory map.
            In single-chip modes, PORTK and DDRK are always in the map regardless of the state of this bit.

            In special peripheral mode, PORTK and DDRK are never in the map regardless of the state of this bit.

       0    Emulate Port E
     EME    Normal and Emulation: write never
            Special: write anytime
            0 PORTE and DDRE are in the memory map so port E can be used for general-purpose I/O.
            1 If in any expanded mode or special peripheral mode, PORTE and DDRE are removed from the memory map.

               Removing the registers from the map allows the user to emulate the function of these registers externally.
            In single-chip modes, PORTE and DDRE are always in the map regardless of the state of this bit.

144                                 MC9S12C-Family / MC9S12GC-Family     Freescale Semiconductor

                                                       Rev 01.23
                                                                   Chapter 4 Multiplexed External Bus Interface (MEBIV3)

                         Table 4-8. MODC, MODB, and MODA Write Capability(1)

MODC MODB MODA                         Mode                           MODx Write Capability

0         0              0          Special single chip                MODC, MODB, and MODA
                                                                      write anytime but not to 110(2)

0         0              1          Emulation narrow                                No write
                                       Special test
0         1              0                                             MODC, MODB, and MODA
                                                                      write anytime but not to 110(2)

0         1              1            Emulation wide                                No write
                                    Normal single chip
1         0              0                                                   MODC write never,
                                                                      MODB and MODA write once
1         0              1          Normal expanded narrow
                                                                                but not to 110
1         1              0          Special peripheral
                                                                                    No write

                                                                                    No write

1         1              1          Normal expanded wide                          No write

1. No writes to the MOD bits are allowed while operating in a secure mode. For more details, refer to the device over-

   view chapter.

2. If you are in a special single-chip or special test mode and you write to this register, changing to normal single-chip

   mode, then one allowed write to this register remains. If you write to normal expanded or emulation mode, then no

   writes remain.

4.3.2.10 Pull Control Register (PUCR)

Module Base + 0x000C
Starting address location affected by INITRG register setting.

             7              6       5                           4  3           2            1          0

       R                         0  0                              0           0
      W   PUPKE
Reset1                                                PUPEE                       PUPBE                PUPAE

             1              0       0                           1  0           0            0          0

          NOTES:
          1. The default value of this parameter is shown. Please refer to the device overview chapter to deter-

             mine the actual reset state of this register.

                         = Unimplemented or Reserved

                                    Figure 4-14. Pull Control Register (PUCR)

Read: Anytime (provided this register is in the map).

Write: Anytime (provided this register is in the map).

This register is used to select pull resistors for the pins associated with the core ports. Pull resistors are
assigned on a per-port basis and apply to any pin in the corresponding port that is currently configured as
an input. The polarity of these pull resistors is determined by chip integration. Please refer to the device
overview chapter to determine the polarity of these resistors.

Freescale Semiconductor             MC9S12C-Family / MC9S12GC-Family                                                        145

                                             Rev 01.23
Chapter 4 Multiplexed External Bus Interface (MEBIV3)

This register is not in the on-chip memory map in expanded and special peripheral modes. Therefore, these
accesses will be echoed externally.

                                                           NOTE
                  These bits have no effect when the associated pin(s) are outputs. (The pull
                  resistors are inactive.)

                                                   Table 4-9. PUCR Field Descriptions

Field                                                                        Description
    7
             Pull resistors Port K Enable
PUPKE        0 Port K pull resistors are disabled.
             1 Enable pull resistors for port K input pins.
    4
PUPEE        Pull resistors Port E Enable
             0 Port E pull resistors on bits 7, 4:0 are disabled.
    1        1 Enable pull resistors for port E input pins bits 7, 4:0.
PUPBE        Note: Pins 5 and 6 of port E have pull resistors which are only enabled during reset. This bit has no effect on

    0                these pins.
PUPAE
             Pull resistors Port B Enable
             0 Port B pull resistors are disabled.
             1 Enable pull resistors for all port B input pins.

             Pull resistors Port A Enable
             0 Port A pull resistors are disabled.
             1 Enable pull resistors for all port A input pins.

4.3.2.11 Reduced Drive Register (RDRIV)

Module Base + 0x000D
Starting address location affected by INITRG register setting.

                 7  6  5                                        4  3  2      1      0

          R  RDRK   0  0                                           0  0  RDPB   RDPA
          W     0                                                           0      0
     Reset                                             RDPE

                    0  0                                        0  0  0

                    = Unimplemented or Reserved

                       Figure 4-15. Reduced Drive Register (RDRIV)

Read: Anytime (provided this register is in the map)

Write: Anytime (provided this register is in the map)

This register is used to select reduced drive for the pins associated with the core ports. This gives reduced
power consumption and reduced RFI with a slight increase in transition time (depending on loading). This
feature would be used on ports which have a light loading. The reduced drive function is independent of
which function is being used on a particular port.

This register is not in the on-chip memory map in expanded and special peripheral modes. Therefore, these
accesses will be echoed externally.

146                    MC9S12C-Family / MC9S12GC-Family                  Freescale Semiconductor

                                                       Rev 01.23
                                                                   Chapter 4 Multiplexed External Bus Interface (MEBIV3)

Field                                 Table 4-10. RDRIV Field Descriptions
   7
                                                                        Description
RDRK
       Reduced Drive of Port K
   4   0 All port K output pins have full drive enabled.
RDPE   1 All port K output pins have reduced drive enabled.

   1   Reduced Drive of Port E
RDPB   0 All port E output pins have full drive enabled.
       1 All port E output pins have reduced drive enabled.
   0
RDPA   Reduced Drive of Port B
       0 All port B output pins have full drive enabled.
       1 All port B output pins have reduced drive enabled.

       Reduced Drive of Ports A
       0 All port A output pins have full drive enabled.
       1 All port A output pins have reduced drive enabled.

4.3.2.12 External Bus Interface Control Register (EBICTL)

Module Base + 0x000E
Starting address location affected by INITRG register setting.

                     7   6  5                                   4  3                 2  1      0

                  R  0   0  0                                   0  0                 0  0  ESTR

                  W  0   0  0                                   0  0                 0  0     0
                                                                                              1
            Reset:   0   0  0                                   0  0                 0  0
       Peripheral
All other modes

                         = Unimplemented or Reserved

                         Figure 4-16. External Bus Interface Control Register (EBICTL)

Read: Anytime (provided this register is in the map)

Write: Refer to individual bit descriptions below
The EBICTL register is used to control miscellaneous functions (i.e., stretching of external E clock).

This register is not in the on-chip memory map in expanded and special peripheral modes. Therefore, these
accesses will be echoed externally.

                                                 Table 4-11. EBICTL Field Descriptions

Field                                                                   Description

   0   E Clock Stretches -- This control bit determines whether the E clock behaves as a simple free-running clock or
ESTR   as a bus control signal that is active only for external bus cycles.
       Normal and Emulation: write once
       Special: write anytime
       0 E never stretches (always free running).
       1 E stretches high during stretched external accesses and remains low during non-visible internal accesses.
       This bit has no effect in single-chip modes.

Freescale Semiconductor     MC9S12C-Family / MC9S12GC-Family                                      147

                               Rev 01.23
Chapter 4 Multiplexed External Bus Interface (MEBIV3)

4.3.2.13 Reserved Register

Module Base + 0x000F
Starting address location affected by INITRG register setting.

            7     6      5                                      4  3                   2  1  0

        R   0     0      0                                      0  0                   0  0  0

        W

     Reset  0     0      0                                      0  0                   0  0  0

                  = Unimplemented or Reserved

                         Figure 4-17. Reserved Register

This register location is not used (reserved). All bits in this register return logic 0s when read. Writes to
this register have no effect.

This register is not in the on-chip memory map in expanded and special peripheral modes. Therefore, these
accesses will be echoed externally.

4.3.2.14 IRQ Control Register (IRQCR)

Module Base + 0x001E
Starting address location affected by INITRG register setting.

            7     6      5                                      4  3                   2  1  0

        R                0                                      0  0                   0  0  0

            IRQE  IRQEN

        W

     Reset  0     1      0                                      0  0                   0  0  0

                  = Unimplemented or Reserved

                     Figure 4-18. IRQ Control Register (IRQCR)

Read: See individual bit descriptions below

Write: See individual bit descriptions below

                                                 Table 4-12. IRQCR Field Descriptions

Field                                                                   Description
   7
        IRQ Select Edge Sensitive Only
IRQE   Special modes: read or write anytime
        Normal and Emulation modes: read anytime, write once
   6    0 IRQ configured for low level recognition.
IRQEN   1 IRQ configured to respond only to falling edges. Falling edges on the IRQ pin will be detected anytime

           IRQE = 1 and will be cleared only upon a reset or the servicing of the IRQ interrupt.

        External IRQ Enable
        Normal, emulation, and special modes: read or write anytime
        0 External IRQ pin is disconnected from interrupt logic.
        1 External IRQ pin is connected to interrupt logic.
        Note: When IRQEN = 0, the edge detect latch is disabled.

148                      MC9S12C-Family / MC9S12GC-Family                                 Freescale Semiconductor

                              &