Sponsored Link

Thursday, October 16, 2008

Intel 8048

The Intel 8048 microcontroller (µC) (MCS-48), Intel's first microcontroller, was used in the Magnavox Odyssey² video game console, the Roland Jupiter-4 and Roland ProMars analog synthesizers, and (in its 8042 variant) in the original IBM PC keyboard. The 8048 is probably the most prominent member of Intel's MCS-48 family of microcontrollers. It was inspired by, and is somewhat similar to, the Fairchild F8 microprocessor.

The 8048 has a Modified Harvard architecture, with internal or external program ROM and 64–256 bytes of internal (on-chip) RAM. The I/O is mapped into its own address space, separate from programs and data. Though the 8048 was eventually replaced by the very popular Intel 8051/8031, even at the turn of the millennium it remains quite popular, due to its low cost, wide availability, memory efficient one-byte instruction set, and mature development tools. Because of this it is much used in high-volume consumer electronics devices such as TV sets, TV remotes, toys, and other gadgets where cost-cutting is essential.

The 8049 has 2 KiB of masked ROM (the 8748 and 8749 had EPROM) that can be replaced with a 4 KiB external ROM, as well as 128 bytes of RAM and 27 I/O ports. The µC's oscillator block divides the incoming clock into 15 internal phases, thus with its 11 MHz max. crystal one gets 0.73 MIPS (of one-clock instructions). Some instructions are single byte/cycle ones, but a large amount of opcodes need two cycles and/or two bytes, so the raw performance would be closer to 0.5 MIPS.

Reportedly, most if not all IBM PC AT and PS/2 keyboards contain a variant of the 8049AH microcontroller. An 8042 is located in the PC, and can be accessed through port 0x60 and 0x64 (PII+ PCs have it built into the chipset Super I/O). Also 8042 controls A20 line and "soft boot" to switch Intel 80286 from protected to real mode.

Another variant, the ROM-less 8035, was used in Nintendo's arcade game Donkey Kong. Although not being a typical application for a microcontroller, its purpose was to generate the background music of the game.

No comments: