- Freescale 68HC12
-
The 68HC12 (6812 or HC12 for short) is a microcontroller family from Freescale Semiconductor with an 8-bit ALU and 16-bit linear addressing. Originally introduced in the mid 1990s, the architecture is an enhancement of the Freescale 68HC11. Programs written for the HC11 are usually compatible with the HC12, which has a few extra instructions. The first 68HC12 derivatives had a maximum bus speed of 8MHz and flash memory sizes up to 128 kB.
Contents
Architecture of the 68HC12
Like the 68HC11, the 68HC12 has 2 8-bit accumulators A and B (referred to as a single 16-bit accumulator, D, when A & B are cascaded so as to allow for operations involving 16 bits), 2 16-bit registers X and Y, a 16-bit program counter, a 16-bit stack pointer and an 8 bit Condition Code Register.
HCS12/MC9S12 derivatives
Beginning in 2000 the family was extended with the introduction of the MC9S12 derivatives which have bus speeds of up to 25 MHz and flash sizes up to 512 kB.
The MC9S12NE64 was introduced by Freescale in September 2004, claiming to be the "industry's first single-chip fast-Ethernet Flash microcontroller." It features a 25 MHz HCS12 CPU, 64 kB of FLASH EEPROM, 8 kB of RAM, and an Ethernet 10/100 Mbit/s controller.
MC9S12X derivatives
The MC9S12XDP512 which was introduced in 2004 has a bus speed of 40 MHz and a peripheral co-processor known as the XGATE which allows for some tasks to be offloaded from the CPU. The CPU of the S12X derivative also features several new instructions to increase performance.
Freescale announced the MC9S12XEP100 in May 2006 to further extend the S12X family to 50MHz bus speed and add a Memory protection unit (based on segmentation) and a hardware scheme to provide Emulated EEPROM. HCS12 products contain a single processor, the HCS12X feature the additional XGATE peripheral processor.
The XGATE co-processor is a 16-bit RISC processor operating at twice the main bus clock. It offloads work from the HC12 core by handling interrupts only and does not run a background loop. The first versions of the XGATE do not allow for higher priority interrupts to pre-empt a currently handled interrupt, but the "XGATEV3" as featured in the 9S12XEP100 does allow this. The HC12 can trigger software interrupts on the XGATE core. A semaphore system is implemented to allow the S12X and XGATE cores to share peripherals.
External links
- Free real-time kernel source code for HCS12 with sample apps
- Freescale's official OpenTCP project on SourceForge for MC9S12NE family
- http://hc12text.com/
- http://ee.cleversoul.com/hc12.html
- http://hc12web.de/
- DRAGON12-Plus HCS12/9S12 Trainer, EVB and Development Board
- MiniIDE development environment that works with both 68HC11 and 68HC12
- Open source editor with syntax highlighting for the HCS12(X)
- 68HC12 Discussion Group
- 68HC12 Development and training system
but HCS12X contains XGATE peripheral processor
Categories:- Microcomputer stubs
- Microcontrollers
Wikimedia Foundation. 2010.