Intel MCS-48

     Intel 8048   >>
KL Intel P8048H.jpg
Intel P8048H
Produktion:1976 bis 1990er
Produzenten:
Prozessortakt:6 MHz
Befehlssatz:8 Bit
Sockel:40-pin DIP

MCS-48 ist die Bezeichnung einer 1976 von Intel vorgestellten Familie von 8-Bit-Mikrocontrollern. Bei einem Mikrocontroller sind im Optimalfall alle Teile eines Computersystems (Prozessor, Programmspeicher, Datenspeicher und Ein-/Ausgabeeinheiten) in einem einzigen Baustein zusammengefasst. Die MCS-48-Baureihe zählt zu den ersten derartigen Systemen. Zu Beginn hatte sie nur drei Mitglieder mit den Bezeichnungen 8048, 8035 und 8748. Beim 8035 befindet sich das Anwendungsprogramm in einem externen Baustein, wohingegen sich beim 8048 und 8748 das Anwendungsprogramm im Baustein selbst befindet – entweder in einem maskenprogrammierten ROM (8048) oder in einem EPROM (8748).[1]

Bereits 1980 wurde mit Einführung des Intel 8051 eine leistungsfähigere Nachfolgefamilie vorgestellt, die unter dem Namen MCS-51 bekannt wurde. Der Erfolg der 8048-Serie in vielen Anwendungsbereichen sorgte aber dafür, dass er auch später noch massiv verwendet wurde und sogar bis heute Verwendung findet.

Geschichte und Verwendung

Im Jahr 1976 erschienen der 8048, 8035 und 8748. Im Jahr 1978 folgten die „Low-cost“-Varianten 8020, 8021 und 8022, die weniger Anschlüsse hatten und deshalb nur mit internem Programmspeicher betrieben werden konnten.[1][2] Gleichfalls 1978 wurden die entsprechenden Varianten 8039 und 8049, im Jahr 1981 der 8749 mit jeweils doppeltem ROM und RAM vorgestellt.[1]

Im Jahr 1978 wurde auch die ergänzende Bausteinreihe UPI-41 (Universal Peripheral Interface) vorgestellt. Hier ist der 8-Bit-Datenbus direkt herausgeführt, so dass der Prozessor als Slave-Prozessor verwendet werden kann. Im Vergleich zum 8048 mit 96 Befehlen besitzt der 8041 nur 90 Befehle. Zu Beginn bestand die Reihe nur aus den beiden Mitgliedern mit den Bezeichnungen 8041 und 8741, der bekannteste Einsatz dürfte der des später erschienenen 8042 als Tastaturcontroller im 1984 vorgestellten IBM PC AT sein.[3]

Intel D8749
UdSSR-Klon eines Intel 8748

Die Familie wurde zunächst in NMOS-Technologie, ab Beginn der 1980er-Jahre dann auch in der heute üblichen CMOS-Technologie hergestellt.

Philips Semiconductors (heute NXP) hatte eine Lizenz, diese Familie herzustellen und hat auf Basis der Architektur die eigene MAB8400-Familie entwickelt, die u. a. das erste I²C-Interface enthielt und in den ersten Philips CD-Spielern (z. B. CD-100) eingesetzt wurde.[4]

Auch für die in den 1980er-Jahren verbreiteten Genius-Computer-Mäuse wurde ein 8048 verwendet, ebenso wie er auch im Sinclair QL als Co-Prozessor Verwendung fand. Unsichtbar sind MCS-48-Bausteine auch heute noch in einer Unzahl von Geräten von der Nachttischuhr, über den Videorekorder bis hin zur Waschmaschine zu finden.

Architektur

Die MCS-48-Baureihe ist grundsätzlich entsprechend der Harvard-Architektur aufgebaut, wobei zum Programm- und zum Datenadressraum noch ein eigener Ein-/Ausgabeadressraum hinzukommt. Die Länge der Programmadresse beträgt 12 Bit, womit 4 KByte adressiert werden können. Diese sind als zwei unabhängige 2-KByte-Programmbänke organisiert. Da Bank 2 immer extern liegt (Ausnahme 8050), kann durch Benutzung von Ausgabeleitungen zusätzlicher Programmspeicher adressiert werden.

Der interne Datenspeicher (64–256 Bytes) kann extern durch weitere 256 Bytes erweitert werden. Die Speicherzellen sind statisch ausgeführt, sie können über eine Standby-Versorgungsleitung auch im abgeschalteten Zustand mit Strom versorgt werden und so die Daten erhalten.

Eine Erweiterung der Ein-/Ausgabeleitungen erfolgt im einfachsten Fall über den Portextender-Baustein 8243, der vier 4-Bit-Ports zur Verfügung stellt. Dabei wird der 8243 mit speziell dafür vorgesehenen Befehlen in das Gesamtsystem eingebunden. Außerdem können Standard-MCS-80/85-I/O-Bausteine im Datenadressraum betrieben werden.

Bei der Entwicklung wurde besonders auf einen Befehlssatz geachtet, der leistungsfähige Bitbefehle bietet, andererseits aber auch so kompakt wie möglich ist. Die meisten Befehle sind nur 1 Byte lang mit implizitem Operanden, einige wenige haben einen Operanden in einem zweiten Byte codiert. Dadurch ergeben sich sehr kurze Programme, die auf die vorgegebene Speichergröße abgestimmt sind.

Ein großer Nachteil der Architektur war, dass bedingte Sprünge nur absolut innerhalb einer 256-Byte-Seite durchgeführt werden konnten. Dies führte bei Programmerweiterungen zu Nachjustierung nachfolgender bedingter Sprünge durch Nachschaltung direkter langer Sprünge, um die 256-Byte-Seitengrenze zu überwinden, was in der Folge zu weiteren Codeverschiebungen mit Korrekturen führte. Mehrere Eingriffe im Assemblercode und anschließende Assemblierungen waren die Folge. Beim nachfolgenden MCS-51 wurde dieser Nachteil beseitigt, indem die bedingen Sprünge relativ ± 127 Byte zum Sprungbefehl durchgeführt werden konnten und nicht an Seitengrenzen gebunden waren.

Gemeinsamkeiten aller MCS-48-Bausteine:

Varianten

Blick auf den 8749H
MCS-48-Varianten
TypROM internRAM internBemerkung
8020102464maskenprogrammierte Low-Cost-CPU: keine Interrupts, kein externer Programmspeicher, abgespeckter 8048-Befehlssatz, 20 Anschlüsse, 13 Ein-/Ausgänge
8021102464maskenprogrammierte Low-Cost-CPU: keine Interrupts, kein externer Programmspeicher, abgespeckter 8048-Befehlssatz, 28 Anschlüsse, 21 Ein-/Ausgänge[5]
8022204864maskenprogrammierte Low-Cost-CPU: A/D-Wandler, Spannungskomparator-Eingänge, kein externer Programmspeicher, abgespeckter 8048-Befehlssatz[6]
803564ROM-lose Version des 8048, Programm in externem Baustein[7]
8039128ROM-lose Version des 8049, Programm in externem Baustein[8]
8040256ROM-lose Version des 8050, Programm in externem Baustein[9]
8048102464erster Mikrocontroller von Intel, begründete die MCS-48-Familie[7]
80492048128Weiterentwicklung des 8048 mit größerem Daten- und Programmspeicher[8]
80504096256Weiterentwicklung des 8049 mit größerem Daten- und Programmspeicher[9]
8648102464einmalig programmierbarer 8048, Factory OTP
8748102464reprogrammierbarer 8048, EPROM statt ROM[7]
87492048128reprogrammierbarer 8049, EPROM statt ROM[9]
87P50256Piggyback(Huckepack)-Version, bei der im Chipgehäuse ein Sockel für ein 2716-EPROM (2 KB) vorhanden ist
Blick auf den 8741
UPI-41-Varianten
TypROM internRAM internBemerkung
8041102464vom 8048 abgeleiteter Slave-Prozessor mit asynchronem Datenregister zur Kommunikation mit einem Master-Prozessor (bspw. 8048/49/50)[10]
80422048128vom 8049 abgeleiteter Slave-Prozessor mit asynchronem Datenregister zur Kommunikation mit einem Master-Prozessor (bspw. 8048/49/50)[11]
8641102464einmalig programmierbarer 8041, Factory OTP[10]
8741102464reprogrammierbarer 8041, EPROM statt ROM[12]
87422048128reprogrammierbarer 8042, EPROM statt ROM[13]
8271Programmierbarer Floppy-Disk-Steuerbaustein (festprogrammierter Schnittstellenbaustein auf Basis 8041)
8273Programmierbarer HDLC/SDLC-Steuerbaustein (festprogrammierter Schnittstellenbaustein auf Basis 8041)
8278Programmierbarer Tastatur-Schnittstellenbaustein (festprogrammierter Schnittstellenbaustein auf Basis 8041)
8292IEC-Steuerbaustein (festprogrammierter Schnittstellenbaustein auf Basis 8041)
8294Datenverschlüsselungs-Baustein (festprogrammierter Schnittstellenbaustein auf Basis 8041)
8295Steuerbaustein für Punktmatrix-Drucker (festprogrammierter Schnittstellenbaustein auf Basis 8041)

Bekannte Geräte mit MCS-48-Bausteinen

  • Philips G7000, Spielkonsole (1978), als Hauptprozessor
  • Sinclair QL, Homecomputer (1984), als Coprozessor für Peripherie
  • IMSAI 8080, Computer (1979), zur Abfrage des Bedienpanels
  • Nintendo Donkey Kong, Spielautomat (8035-Clone MB8884 als Sound-Prozessor)
  • Kosmos CP1, Lerncomputer
  • Entex Adventure Vision, Spielkonsole (1982)
  • Motorsteuergerät Digijet VW T3 (2,1 Liter Einspritzmotor Kennbuchstabe: DJ)
  • Roland CR-78, Drumcomputer (1978), arbeitet mit einem 8048
  • Roland Jupiter-4, Synthesizer (1978), arbeitet mit zwei 8048 zur Parametersteuerung und Keyboard-Abfrage
  • Roland ProMars, Synthesizer (1979), arbeitet mit zwei 8048 zur Parametersteuerung und Keyboard-Abfrage
  • Korg Poly-61, Synthesizer (1982), arbeitet mit zwei 8049 zur Parametersteuerung und Keyboard-Abfrage
  • Korg Polysix, Synthesizer (1981), arbeitet mit einem 8048 zur Parametersteuerung und einem 8049 zur Keyboard-Abfrage
  • Sequential Circuits Pro One, Synthesizer (1981), arbeitet mit einem 8021, u. a. für den Sequenzer

Literatur

MCS-48

  • Horst Pelka: Der Ein-Chip-Mikrocomputer. Franzis-Verlag, München 1981, 141 S., ISBN 3-7723-6831-X.
  • Microcontroller Handbook. Intel 1984, Order number 210918-002.
  • J. Koch (Bearb.): Die Mikrocomputer-Familie MCS-48, Befehlsvorrat. Philips / Valvo, 1979, ISBN 3-8709-250-4.
  • Phil Dahm, Stuart Rosenberg: Intel MCS-48™ and UPI-41A™ Microcontrollers. Reliability Report RR-25, December 1979, Intel Corporation.
  • 8-Bit Embedded Controllers. Intel 1991, Order number 270645-003.
  • J. Koch (Bearb.): Die Mikrocomputer-Familie MCS-48, Eigenschaften und Anwendungen. Philips / Valvo, 1980, ISBN 3-87095-253-9.
  • A High-Speed Emulator for Intel MCS-48™ Microcomputers. Application Note AP-55A, August 1979, Intel Corporation.
  • Lionel Smith, Cecil Moore: Serial I/O and Math Utilities for the 8049 Microcomputer. Application Note AP-49, January 1979, Intel Corporation.
  • Mikrocomputer SAB 8048/8049 Befehlsliste. Hrsg. von der Siemens AG, Bereich Bauelemente, Balanstraße 73, 8000 München 80 (Bestell-Nr. B/2516).
  • Helmut Steffen: Steuern/Prozeßdatenverarbeitung im Technikunterricht, Funktionsmodelle mit dem INTEL-Einchip-Computer 8048. Ferd. Dümmler Verlag, Bonn 1995, 103 S., ISBN 3-427-53411-1.
  • MCS-48™ Microcomputer User's Manual (PDF; 7,2 MB), 1978, Intel Corporation.
  • MCS-48™ Single Component Microcomputer. Applications Seminar Notebook, 1978, Intel Corporation.

UPI-41

  • Microprocessor Peripherals UPI-41A/41AH/42/42AH User’s Manual (PDF; 718 kB) Oktober 1993, Order number 231318-006, Intel Corporation.
  • Johan Beaston, Jim Kahn: An 8741A/8041A Digital Cassette Controller. Application Note AP-90, May 1980, Intel Corporation.
  • UPI-41A User’s Manual. Intel 1980, Order number 9800504-02 Rev. B.

Weblinks

Commons: MCS-48 – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. a b c Intel’s CPU family trees (Memento vom 14. März 2011 im Internet Archive)
  2. MCS-48™ Microcomputer User's Manual. (Memento des Originals vom 21. Juli 2011 im Internet Archive; PDF; 7,2 MB)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.sharpmz.org Intel Corporation, 1978.
  3. Technische Universität Chemnitz: Das Motherboard des AT (Memento des Originals vom 6. Januar 2012 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.tu-chemnitz.de.
  4. Datenblatt. (Memento des Originals vom 15. Mai 2016; PDF)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.datasheetarchive.com Philips MAB8400-Familie.
  5. 8021 Single-Component 8-Bit Microcontroller; Intel Fair Applications Handbook (archive.org)
  6. 8022 Single-Component 8-Bit Microcontroller With On Chip A/D Converter; Intel Fair Applications Handbook (archive.org)
  7. a b c 8048/8748/8035 Single-Component 8-Bit Microcontroller; Intel Fair Applications Handbook (archive.org)
  8. a b New High Performance 8049/8039/8039-6 Single-Component 8-Bit Microcontroller; Intel Fair Applications Handbook (archive.org)
  9. a b c P8748H/P8749H/8048AH/8035AHL/8049AH/8039AHL/8050AH/8040AHL HMOS Single-Component 8-Bit Microcontroller; Intel Fair Applications Handbook (archive.org)
  10. a b 8041AH/8041AH-2/8641A/8741A Universal Peripheral Interface 8-Bit Microcontroller; Intel Fair Applications Handbook (archive.org)
  11. UPI-41AH/42AH Universal Peripheral Interface 8-Bit Slave Microcontroller; Intel Fair Applications Handbook (archive.org)
  12. 8741A Universal Peripheral Interface 8-Bit Microcomputer. (PDF; 214 kB), Oktober 1989, Order number 290241-001, Intel Corporation; Intel Fair Applications Handbook (archive.org)
  13. 8742 Universal Peripheral Interface 8-Bit Slave Microcomputer. (PDF; 216 kB), November 1991, Order number 290256-001, Intel Corporation; Intel Fair Applications Handbook (archive.org)

Auf dieser Seite verwendete Medien

Microcontroller NEC 8741 (chip detail) - (1) (2).jpg
Autor/Urheber: yellowcloud from Germany, Lizenz: CC BY 2.0
Microcontroller NEC 8741
KL Intel P8048H.jpg
Autor/Urheber: Konstantin Lanzet, Lizenz: CC-BY-SA-3.0
MCU Intel P8048H.
KL Intel D8749.jpg
Autor/Urheber: Konstantin Lanzet, Lizenz: CC-BY-SA-3.0
MCU Intel 8749 (MCS-48)
EPROM-Microcontroller Intel 8749H (chip) - (1).jpg
Autor/Urheber: yellowcloud from Germany, Lizenz: CC BY 2.0
EPROM-Microcontroller Intel 8749H
KL USSR Intel 8748 clone.jpg
Autor/Urheber: Konstantin Lanzet, Lizenz: CC-BY-SA-3.0
USSR MCU KM1816VE48 (Intel 8748 clone).