MC9S12DG128CPV - 16-Bit HCS12 MCU, 128KB Flash | NXP
MPN: MC9S12DG128CPV ✓ Active| Qty | Unit Price | Extended |
|---|---|---|
| 1 | $28.5 | $28.50 |
| 10 | $25.8 | $258.00 |
| 100 | $22.4 | $2,240.00 |
| 500 | $19.9 | $9,950.00 |
| 1,000 | $17.85 | $17,850.00 |
MC9S12DG128CPV Overview
What is an HCS12 microcontroller? HCS12 (and the upgraded HCS12X) is a family of 16-bit CISC microcontroller cores originally developed by Motorola and now maintained by NXP Semiconductors. Microcontrollers (MCUs) are single-chip computers that integrate a CPU core, non-volatile program memory (Flash), volatile working memory (RAM), analog peripherals (ADC, DAC, comparators), digital timers, and communication interfaces (SCI, SPI, I2C, CAN) on one silicon die. Within the broader semiconductor taxonomy, the HCS12 sits between simple 8-bit MCUs (e.g. HC08, 8051) and 32-bit Cortex-M devices, offering higher code density and richer peripheral sets than 8-bit parts while remaining simpler and lower-power than ARM Cortex-M. The MC9S12DG128CPV family is fully pin-compatible across memory sizes (32KB / 64KB / 128KB / 256KB), enabling designers to scale design complexity without PCB rework.
Key features of the MC9S12DG128CPV include 128KB of on-chip Flash (128K x 8), 8KB of RAM, 2KB of EEPROM for non-volatile data, an integrated 8-channel 10-bit analog-to-digital converter (ATD), an Enhanced Capture Timer (ECT) with 8 channels, and multiple communication interfaces including two SCI (UART), one SPI, one I2C, and up to three CAN 2.0A/B modules (MSCAN). The device operates from a single 5V supply (extended 4.5V-5.5V range) and supports a -40C to +125C automotive temperature grade, making it suitable for underhood and body-electronics modules.
Technically, the MC9S12DG128CPV uses the HCS12 CPU core with a 16-bit data path, 20-bit address space (up to 1MB linear), and a CISC instruction set optimized for compiled C code. Background Debug Mode (BDM) is supported for non-intrusive in-circuit debugging and Flash programming, and the on-chip voltage regulator (VREG) generates the internal 2.5V core logic supply from the external 5V VDD.
Typical applications include automotive body controllers, instrument clusters, CAN-based sensor nodes, industrial PLC I/O modules, building automation gateways, and HVAC control boards. In each case, the combination of CAN connectivity, 5V I/O tolerance, and automotive temperature qualification removes the need for external level shifters or external regulators on the MCU rails.
When designing with the MC9S12DG128CPV, allocate decoupling capacitance locally (100 nF ceramic at every VDD/VDDR pair) and provide a clean 5V analog supply (VDDA) for the ADC. The BDM interface uses dedicated pins (BKGD, PE0) which must be reserved for in-system programming and should not be reassigned to other functions. Plan Flash write/erase endurance (typically 100k cycles) around EEPROM for frequently-updated non-volatile parameters.
This page synthesizes live distributor pricing, HCS12-family drop-in alternatives, and practical design notes not consolidated in the manufacturer datasheet, giving procurement engineers and firmware developers a single source for evaluating the MC9S12DG128CPV for new designs and field replacements.
Drop-in alternatives for MC9S12DG128CPV — same package, pin-to-pin compatible. Different-package parts requiring PCB rework are excluded.
Variants in this series
Same-series models that are drop-in compatible with MC9S12DG128CPV (same form factor and footprint) — differing in ADC, Package, Supply Voltage, EEPROM, Core.
Quick Comparison Tool — Select alternative parts for side-by-side comparison:
MC9S12DG128CPVE
✅ Drop-In📋 Reference alternative (not in catalog)
MC9S12DT256CPV
✅ Drop-In📋 Reference alternative (not in catalog)
MC9S12DP512CPVE
✅ Drop-In✓ In Stock
Contact for price
View Datasheet →MC9S12XDP512MAG
✅ Drop-In✓ In Stock
Contact for price
View Datasheet →MC9S12A128BCFU
✅ Drop-In✓ In Stock
$18.2 / Unit
View Datasheet →MC9S12DG128CPV Maximum Ratings & Electrical Characteristics
| Core Architecture | HCS12 (16-bit CISC) |
| Maximum CPU Clock | 25 MHz |
| Program Memory (Flash) | 128 KB (128K x 8) |
| Data Memory (RAM) | 8 KB |
| EEPROM | 2 KB |
| Number of I/O Pins | 91 |
| Package / Case | 112-LQFP (20 x 20 mm) |
| Analog-to-Digital Converter | 8-channel, 10-bit ATD |
| CAN Modules | Up to 3 x MSCAN (CAN 2.0A/B) |
| Serial Interfaces | 2 x SCI (UART), 1 x SPI, 1 x I2C |
| Timer | Enhanced Capture Timer (ECT), 8 channels |
| Operating Voltage | 4.5 V to 5.5 V (single 5V supply) |
| Operating Temperature | -40 C to +125 C (automotive) |
| Mounting Type | Surface Mount |
| MSL Level | 3 (168 hours) |
| Debug Interface | Background Debug Mode (BDM) |
| Flash Endurance | 100,000 write/erase cycles (typical) |
MC9S12DG128CPV Pin Configuration
| Pin 1 | PP0/KWP0/PWM0 — General I/O, PWM channel 0 |
| Pin 2 | PP1/KWP1/PWM1 — General I/O, PWM channel 1 |
| Pin 3 | PP2/KWP2/PWM2 — General I/O, PWM channel 2 |
| Pin 4 | PP3/KWP3/PWM3 — General I/O, PWM channel 3 |
| Pin 5 | PP4/KWP4/PWM4 — General I/O, PWM channel 4 |
| Pin 6 | PP5/KWP5/PWM5 — General I/O, PWM channel 5 |
| Pin 7 | PP6/KWP6/PWM6 — General I/O, PWM channel 6 |
| Pin 8 | PP7/KWP7/PWM7 — General I/O, PWM channel 7 |
| Pin 9 | VDDR — Voltage regulator power supply (5V) |
| Pin 10 | VDD — Digital 5V supply input |
| Pin 11 | VSS — Digital ground |
| Pin 12 | VDDX — External 5V I/O driver supply |
| Pin 13 | VSSX — External I/O driver ground |
| Pin 14 | BKGD — Background Debug Mode data line |
| Pin 15 | PE0/MODC — General I/O / Mode select |
| Pin 16 | RESET — External reset input (active low) |
| Pin 17 | TEST — Test mode input (must be tied high for normal operation) |
| Pin 18 | PA0/ATD0 — Port A bit 0 / ATD analog input 0 |
| Pin 19 | PA1/ATD1 — Port A bit 1 / ATD analog input 1 |
| Pin 20 | PA2/ATD2 — Port A bit 2 / ATD analog input 2 |
| Pin 21 | PA3/ATD3 — Port A bit 3 / ATD analog input 3 |
| Pin 22 | PA4/ATD4 — Port A bit 4 / ATD analog input 4 |
| Pin 23 | PA5/ATD5 — Port A bit 5 / ATD analog input 5 |
| Pin 24 | PA6/ATD6 — Port A bit 6 / ATD analog input 6 |
| Pin 25 | PA7/ATD7 — Port A bit 7 / ATD analog input 7 |
| Pin 26 | VDDA — Analog 5V supply (filter from VDD) |
| Pin 27 | VSSA — Analog ground |
| Pin 28 | VRH — ADC high reference voltage |
| Pin 29 | VRL — ADC low reference voltage |
| Pin 30 | PE1/IRQ — General I/O / External interrupt request |
| Pin 31 | PE2/XIRQ — General I/O / Non-maskable interrupt |
| Pin 32 | PE3 — General I/O (Port E bit 3) |
| Pin 33 | PE4/ECLK — General I/O / E-clock output |
| Pin 34 | PE5 — General I/O (Port E bit 5) |
| Pin 35 | PE6 — General I/O (Port E bit 6) |
| Pin 36 | PE7 — General I/O (Port E bit 7) |
| Pin 37 | PK0/XADDR0 — General I/O / External address 0 |
| Pin 38 | PK1/XADDR1 — General I/O / External address 1 |
| Pin 39 | PK2/XADDR2 — General I/O / External address 2 |
| Pin 40 | PK3/XADDR3 — General I/O / External address 3 |
| Pin 41 | PK4/XADDR4 — General I/O / External address 4 |
| Pin 42 | PK5/XADDR5 — General I/O / External address 5 |
| Pin 43 | PK6/XADDR6 — General I/O / External address 6 |
| Pin 44 | PK7/XADDR7 — General I/O / External address 7 |
| Pin 45 | PJ0 — Port J bit 0 (general I/O) |
| Pin 46 | PJ1 — Port J bit 1 |
| Pin 47 | PJ2 — Port J bit 2 |
| Pin 48 | PJ3 — Port J bit 3 |
| Pin 49 | PJ4 — Port J bit 4 |
| Pin 50 | PJ5 — Port J bit 5 |
| Pin 51 | PJ6 — Port J bit 6 |
| Pin 52 | PJ7 — Port J bit 7 |
| Pin 53 | PM0/CAN0TX — Port M bit 0 / CAN0 transmit |
| Pin 54 | PM1/CAN0RX — Port M bit 1 / CAN0 receive |
| Pin 55 | PM2/CAN1TX — Port M bit 2 / CAN1 transmit |
| Pin 56 | PM3/CAN1RX — Port M bit 3 / CAN1 receive |
| Pin 57 | PM4/CAN2TX — Port M bit 4 / CAN2 transmit |
| Pin 58 | PM5/CAN2RX — Port M bit 5 / CAN2 receive |
| Pin 59 | PM6 — Port M bit 6 |
| Pin 60 | PM7 — Port M bit 7 |
| Pin 61 | PH0 — Port H bit 0 |
| Pin 62 | PH1 — Port H bit 1 |
| Pin 63 | PH2 — Port H bit 2 |
| Pin 64 | PH3 — Port H bit 3 |
| Pin 65 | PH4 — Port H bit 4 |
| Pin 66 | PH5 — Port H bit 5 |
| Pin 67 | PH6 — Port H bit 6 |
| Pin 68 | PH7 — Port H bit 7 |
| Pin 69 | PG0 — Port G bit 0 |
| Pin 70 | PG1 — Port G bit 1 |
| Pin 71 | PG2 — Port G bit 2 |
| Pin 72 | PG3 — Port G bit 3 |
| Pin 73 | PG4 — Port G bit 4 |
| Pin 74 | PG5 — Port G bit 5 |
| Pin 75 | PG6 — Port G bit 6 |
| Pin 76 | PG7 — Port G bit 7 |
| Pin 77 | PF0/ADDR0 — Port F bit 0 / External address 0 |
| Pin 78 | PF1/ADDR1 — Port F bit 1 / External address 1 |
| Pin 79 | PF2/ADDR2 — Port F bit 2 / External address 2 |
| Pin 80 | PF3/ADDR3 — Port F bit 3 / External address 3 |
| Pin 81 | PF4/ADDR4 — Port F bit 4 / External address 4 |
| Pin 82 | PF5/ADDR5 — Port F bit 5 / External address 5 |
| Pin 83 | PF6/ADDR6 — Port F bit 6 / External address 6 |
| Pin 84 | PF7/ADDR7 — Port F bit 7 / External address 7 |
| Pin 85 | PB0 — Port B bit 0 |
| Pin 86 | PB1 — Port B bit 1 |
| Pin 87 | PB2 — Port B bit 2 |
| Pin 88 | PB3 — Port B bit 3 |
| Pin 89 | PB4 — Port B bit 4 |
| Pin 90 | PB5 — Port B bit 5 |
| Pin 91 | PB6 — Port B bit 6 |
| Pin 92 | PB7 — Port B bit 7 |
| Pin 93 | PC0 — Port C bit 0 |
| Pin 94 | PC1 — Port C bit 1 |
| Pin 95 | PC2 — Port C bit 2 |
| Pin 96 | PC3 — Port C bit 3 |
| Pin 97 | PC4 — Port C bit 4 |
| Pin 98 | PC5 — Port C bit 5 |
| Pin 99 | PC6 — Port C bit 6 |
| Pin 100 | PC7 — Port C bit 7 |
| Pin 101 | PD0/SS0 — Port D bit 0 / SPI slave select 0 |
| Pin 102 | PD1/MOSI0 — Port D bit 1 / SPI MOSI 0 |
| Pin 103 | PD2/MISO0 — Port D bit 2 / SPI MISO 0 |
| Pin 104 | PD3/SCK0 — Port D bit 3 / SPI clock 0 |
| Pin 105 | PD4/SS1 — Port D bit 4 / SPI slave select 1 |
| Pin 106 | PD5/MOSI1 — Port D bit 5 / SPI MOSI 1 |
| Pin 107 | PD6/MISO1 — Port D bit 6 / SPI MISO 1 |
| Pin 108 | PD7/SCK1 — Port D bit 7 / SPI clock 1 |
| Pin 109 | PAD0/AN0 — General I/O / analog input 0 (alternate mapping) |
| Pin 110 | PAD1/AN1 — General I/O / analog input 1 |
| Pin 111 | PAD2/AN2 — General I/O / analog input 2 |
| Pin 112 | PAD3/AN3 — General I/O / analog input 3 |
Typical Applications
MC9S12DG128CPV is suitable for 6 applications: Automotive Body Control Module (BCM), Industrial CAN Node / PLC I/O Module, Automotive Instrument Cluster, HVAC & Climate Control Board, Building Automation Gateway, CAN-Connected Sensor Node.
Automotive Body Control Module (BCM)
The MC9S12DG128CPV's 91 GPIO lines, dual SCI, SPI, I2C, and three MSCAN interfaces make it a strong fit for central body controllers that aggregate door, lighting, and wiper switches while driving actuators over CAN. Its 25 MHz HCS12 core runs deterministic CAN 2.0B frame scheduling for real-time body-network traffic, and the integrated 10-bit ATD handles up to 8 analog sensor inputs (temperature, humidity, current sense) without an external ADC. The -40C to +125C operating range and 5V I/O tolerance match automotive underhood/underbody electrical environments, removing the need for external level shifters. Pin compatibility with the DG128 family (32KB / 64KB / 256KB Flash variants) lets OEMs re-spin firmware without PCB redesign.
Recommended
Industrial CAN Node / PLC I/O Module
In factory-automation CANopen or DeviceNet slave nodes, the MC9S12DG128CPV combines an industrial-temperature HCS12 core with deterministic interrupt response for cyclic process-data exchange. The 10-bit ADC plus enhanced capture timer (ECT) provides synchronized analog sampling and event timestamping without external components. Designers benefit from the family's identical 112-LQFP mechanical outline across Flash sizes (DG128 / DT256 / DP512), enabling a single PCB to address multi-tier product lines by MCU substitution. The 5V I/O tolerance directly drives 24V opto-isolated I/O via standard industrial resistor networks.
Recommended
Automotive Instrument Cluster
The MC9S12DG128CPV's 91 I/O and dual SCI/SPI channels give instrument-cluster designs direct drive for stepper motors, gauge pointers, LCD backlights, and warning LEDs without external mux ICs. Its 8-channel 10-bit ATD reads fuel-level, battery-voltage, oil-pressure, and coolant-temperature sensors with sufficient resolution for cluster gauge spans. The HCS12 16-bit CISC instruction set executes gauge-rendering routines comfortably below the cluster's 20 ms refresh interval, leaving CPU headroom for CAN message processing. Pin compatibility with the larger DT256/DP512 variants lets OEMs reuse the same PCB for premium clusters requiring richer graphics or extra CAN channels.
Recommended
HVAC & Climate Control Board
The MC9S12DG128CPV suits HVAC controllers by combining eight 10-bit ADC inputs for cabin/blend-door/air-quality sensors, SCI for the user-interface keypad, and three MSCAN channels for inter-module body-network traffic. Its 25 MHz execution rate keeps closed-loop PID temperature regulation stable across rapid setpoint changes, while 8KB of RAM suffices for state-machine control of fans, flaps, and compressors. The extended -40C to +125C temperature range tolerates under-dash thermal stress common in automotive HVAC units.
Recommended
Building Automation Gateway
The MC9S12DG128CPV's combination of CAN, I2C, SPI, and dual SCI fits building-automation gateways that bridge Modbus, BACnet, and proprietary sensor networks. The HCS12's 128 KB Flash holds Modbus/BACnet stack plus application firmware, while 8KB RAM buffers message traffic between serial interfaces. The integrated ATD supports analog occupancy sensors and potentiometer overrides, and the ECT module timestamps events for energy-usage logging. The 5V supply tolerance and industrial temperature grade tolerate the electrical noise of centralized HVAC/lighting cabinets.
Recommended
CAN-Connected Sensor Node
Distributed sensor nodes on automotive CAN buses (battery monitoring, wheel-speed, ride-height) fit the MC9S12DG128CPV footprint: a single MCU captures analog wheel-speed or strain-gauge data via the 10-bit ATD, packages it into MSCAN frames, and synchronizes sampling via CAN time-triggered triggers. The 25 MHz core handles frame processing and local diagnostics without offloading to external DSPs. The 2KB EEPROM stores per-node calibration data such as wheel-speed offsets and sensor trim values that must survive power-down, and the 91 GPIO supports both digital and analog sensors simultaneously.
Recommended
Recommended Products Summary
Engineering reference data for MC9S12DG128CPV — comparison, design guidance, and compliance information.
Selection Guide
Comparison with Alternatives
| Parameter | This Product | MC9S12DG128CPVE | MC9S12DT256CPV | MC9S12DP512CPVE | MC9S12XDP512MAG | MC9S12A128BCFU |
|---|---|---|---|---|---|---|
| Package | 112-LQFP (20x20 mm) | 112-LQFP (20x20 mm) - same | 112-LQFP (20x20 mm) - same | 112-LQFP (20x20 mm) - same | 112-LQFP (20x20 mm) - same | 112-LQFP (20x20 mm) - same |
| Brand | NXP Semiconductors | NXP Semiconductors | NXP Semiconductors | NXP Semiconductors | NXP Semiconductors | NXP Semiconductors |
| Flash Memory | 128 KB | 128 KB | 256 KB | 512 KB | 512 KB | 128 KB |
| RAM | 8 KB | 8 KB | 12 KB | 32 KB | 32 KB | 8 KB |
| CPU Clock | 25 MHz (HCS12) | 25 MHz (HCS12) | 25 MHz (HCS12) | 25 MHz (HCS12) | 40 MHz (HCS12X) | 25 MHz (HCS12) |
| CAN Modules | 3 x MSCAN | 3 x MSCAN | 3 x MSCAN | 5 x MSCAN | 5 x MSCAN | 2 x MSCAN |
| ADC | 8-ch, 10-bit ATD | 8-ch, 10-bit ATD | 8-ch, 10-bit ATD | 8-ch, 10-bit ATD | 8-ch, 10-bit ATD | 8-ch, 10-bit ATD |
| Operating Temperature | -40C to +125C | -40C to +125C | -40C to +125C | -40C to +125C | -40C to +125C | -40C to +85C |
Key Differentiators
- Drop-in 128KB Flash mid-density option in the HCS12 family (vs MC9S12DT256CPV)
- Flash-based in-application reprogrammability (vs MC9S12A128BCFU)
- Three MSCAN controllers (vs MC9S12DP512CPVE)
Design Notes
The MC9S12DG128CPV integrates an internal 2.5V voltage regulator for the HCS12 core. Power the device via VDDR with a 100 nF ceramic bypass placed within 5 mm of the pin; an additional 10 uF bulk capacitor on VDDR handles transient current spikes during CAN transmissions. Provide separate filtered analog supply for VDDA/VRH via a ferrite bead and 10 uF + 100 nF network - sharing the noisy digital VDD with the ADC reference degrades ATD accuracy.
Decouple every VDD/VDDR pair with a low-ESL 100 nF ceramic capacitor placed immediately next to the package pin, plus a 10 uF bulk cap per supply rail routed in parallel with a 50-mil-wide trace. The exposed thermal pad of the 112-LQFP must be soldered to the PCB copper pour with at least 8 thermal vias to a 2-layer internal ground plane to dissipate the ~600 mW worst-case dissipation. Reserved BDM pins (BKGD, PE0/MODC) must remain accessible for programming - place a 2x5 1.27 mm BDM header on every production and prototype board.
Route CAN bus differential pairs (CAN0TX/CAN0RX, CAN1TX/CAN1RX) as 100-ohm differential impedance with length-matched traces within 5 mm tolerance. Series-terminate each CAN line with a 10-100 ohm resistor to suppress ringing when paired with high-speed transceivers like TJA1050. Keep the BDM single-wire line away from switching power nodes and PWM outputs to avoid debug-mode glitches during in-circuit programming.
Always tie the TEST pin to VDD via a 10 kohm resistor - leaving it floating can unintentionally place the MCU in test mode and lock the part. The RESET pin requires an open-drain driver (4.7 kohm pullup to VDD); do not drive it as a totem-pole CMOS output. Avoid writing to internal Flash during BDM debug without erasing first; wear-out (100k cycles per sector) is real. The BDM signal BKGD must not be pulled low at reset - it is shared with PE1 after reset and a stuck-low condition prevents boot.
Compliance Information
RoHS, REACH, lead-free and halogen-free status were not present in the verified web data; one secondary listing referenced 'RoHS non-compliant' but this is unverified distributor metadata. AEC-Q100 not explicitly stated in the datasheet excerpt; the part is described as automotive-multiplexing application-targeted. Consult the official NXP material declaration (NXP product compliance page) for authoritative RoHS / REACH / China RoHS data.