Mikrocontroller

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Version vom 27. November 2007, 12:01 Uhr von FalkB (Diskussion | Beiträge) (Kleine Artikel importiert, Design vereinheitlicht, Letzter Schliff)
Wechseln zu: Navigation, Suche

Was ist ein Mikrocontroller?

Ein Mikrocontroller ist ein Prozessor plus Zusatzmodule. Der Unterschied zu Mikroprozessoren besteht darin, dass bei einem Mikrocontroller Speicher, Digital- und Analog- Ein- und Ausgänge, Timer, UART etc. meist auf einem einzigen Chip integriert sind, so dass eine Mikrocontroller-Anwendung oft mit ein paar wenigen Bauteilen auskommt.

Mikrocontroller werden häufig zuerst an der Bit-Zahl des internen Datenbusses unterschieden: 4/8/16 oder 32 Bit. Diese Bit-Zahl kann man als die Länge der Daten interpretieren, die der Controller in einem Befehl verarbeiten kann. Die größte in 8 Bit (= 1 Byte) darstellbare Zahl ist die 255, somit kann ein 8 Bit-Mikrocontroller z.B. in einem Additionsbefehl immer nur Zahlen bis 255 verarbeiten. Zur Bearbeitung von größeren Zahlen werden dann mehrere Befehle hintereinander benötigt, was natürlich länger dauert.

Ein Mikrocontroller braucht, wie jeder andere Prozessor auch, zum Betrieb einen Takt. Dieser kann extern zugeführt werden (Taktgenerator, Quarzoszillator), mittels externem Quarz erzeugt, oder von einem internen Taktgeber (RC-Oszillator) abgeleitet werden. Die maximale Frequenz mit der ein Controller betrieben werden kann reicht von 1 MHz bei alten Controllern bis über 100 MHz bei großen 32-"Bittern". Diese Taktfrequenz sagt jedoch noch nicht viel über die tatsächliche Geschwindigkeit eines Prozessors aus. So wird z.B. bei den meisten 8051-Controllern die Frequenz intern durch 12 geteilt (Maschinentakt), ein mit 24 MHz getakteter 8051 arbeitet also eigentlich nur mit 2 MHz. Benötigt dieser dann für einen Befehl durchschnittlich 2 Taktzyklen, so bleiben "nur" noch 1 Millionen Befehle pro Sekunde übrig. Ein AVR, der ungeteilt mit 8MHz arbeitet und für die viele Befehle nur einen Zyklus braucht, schafft dagegen fast 8 Millionen Befehle pro Sekunde.

Wozu ist ein Mikrocontroller gut?

Hier ein paar Beispiele, für welche Aufgaben Mikrocontroller verwendet werden (können):

  • Ladegeräte
  • Motorsteuerungen (z.B. Schrittmotor-Controller (Stepper))
  • Roboter
  • Meßwerterfassung (z.B. Drehzahlmessung im Auto)
  • Temperaturregelung
  • MP3- und DVD-Player
  • Schaltuhren
  • ...

Welchen Mikrocontroller soll ich verwenden?

Ein Mikrocontroller für Hobbyanwender sollte idealerweise folgende Voraussetzungen erfüllen:

  • gute Beschaffbarkeit
  • niedriger Preis spielt bei den kleinen Stückzahlen keine so große Rolle
  • handliche Bauform: ein Controller mit 20 Pins ist leichter handzuhaben als einer mit 128
  • Flash-ROM: der Controller sollte mindestens 1000 mal neu programmiert werden können
  • In-System-Programmierbarkeit (ISP): man benötigt kein teures Programmiergerät und muss den Controller zur Programmierung nicht aus der Schaltung entfernen
  • kostenlose Software verfügbar: Assembler bekommt man praktisch immer kostenlos vom Hersteller des Controllers, C-Compiler seltener

Eine ausführliche Beschreibung der Entscheidungskriterien gibt es auf der Seite Entscheidung Mikrocontroller.

Verbreitete Mikrocontrollerfamilien

  • 1 Bit
    • MC14500B (Motorola, historisch!)
  • 4 Bit
  • 8 Bit
    • MicroConverter® (Analog Devices)
    • AVR (Atmel)
    • PIC (Microchip)
    • 8048 (Intel)
    • 8051 (Intel, versch. Hersteller)
    • H8 (Renesas, früher Hitachi)
    • 68HC05 (Freescale, früher Motorola)
    • 68HC08 (Freescale, früher Motorola)
    • 68HC11 (Freescale, früher Motorola)
    • ST62 (SGS-Thomson)
    • 78K0S (NEC)
    • Z8 (Zilog)
    • PSoC (Cypress)
  • 16 Bit
    • C16x (Infineon)
    • M16C (Renesas, früher Mitsubishi)
    • R8C (Renesas)
    • H8 (Renesas, früher Hitachi)
    • 68HC12 (Freescale, früher Motorola)
    • 68HC16 (Freescale, früher Motorola)
    • dsPIC (Microchip)
    • MSP430 (Texas Instruments)

6502

Der 6502 - Prozessor war einer der ersten Prozessoren, die in Heimcomputern verwendet wurden, und existiert seit dem Jahr 1976 (?)

Er wurde eingesetzt in:

  • KIM-1 (MOS technology)
  • AIM-65 (Rockwell)
  • EMUF Einplatinencomputer mit universeller Festprogrammierung mit 6504 (Franzis-Verlag "mc")
  • Elektor Junior Computer
  • Apple II
  • Commodore PET und folgende
  • Atari 400 /800
  • Atari 2600
  • Atari 7800
  • Nintendo Entertainment System - beste Spielekonsole aller Zeiten

auch der Prozessor im VIC20 und C64 gehört zur 6502-Familie.

Es gibt heute noch Mikrocontroller mit 6502 Kern.

68HC05

  • Hersteller: Freescale (http://www.freescale.com)
  • Meistverkaufter 8-bit Controller weltweit (2001 wurde der 5. milliardste Chip verkauft)
  • CPU basierend auf dem 6800
  • Von Neumann-Architektur. Code und Daten können in jedem Speicherbereich liegen.
  • Akkumulator und 8 Bit Indexregister
  • 8-Bit Stackpointer
  • Typischerweise OTP oder EPROM Typen, selten auch EEPROM - kein Flash-ROM
  • Große Typenvielfalt mit etlichen Peripherieoptionen.
  • Externer Takt wird intern durch 2 geteilt. Man spricht bei der Taktung üblicherweise vom Bustakt.
  • Bustakt bis 4 MHz
  • Schlechte Compilerunterstützung
  • Verwendet in der C-Control 1
  • Auslauftyp; Nachfolger: 68HC08

Software

  • MCUEZ von Freescale
  • AS und Ultraedit Unterstützung

68HC08

  • Hersteller Freescale [1]
  • Nachfolger des 68HC05, des meistverkauften 8-bit Controllers weltweit
  • Befehlserweiterung gegenüber dem 68HC05 zur besseren Compilerunterstützung
  • Von Neumann-Architektur. Code und Daten können in jedem Speicherbereich liegen
  • In System Programmierung und Debugging über Eindrahtschnittstelle
  • Akkumulator und 16 Bit Indexregister
  • 1 - 60 KB Flash-ROM, maximal 2KB RAM bei einigen Typen zusätzlich EEPROM
  • Große Typenvielfalt mit etlichen Peripherieoptionen
  • Typen in 8 bis 64 Pin Gehäusen
  • Low Voltage Reset
  • Illegal Opcode Reset
  • Illegal Address Reset
  • WAIT und STOP Stromsparmodi
  • Externer Takt wird intern durch 4 geteilt. Man spricht bei der Taktung üblicherweise vom Bustakt.
  • Bustakt bis 8 MHz

Basierend auf dem 68HC08 ist jetzt auch die HCS08 Familie erhältlich:

  • Erweiterter Befehlssatz gegenüber dem HC08.
  • Low power MCU mit 1,8 - 3,3V Betriebspannung
  • 3 Stromsparmodi
  • Debugging via BDM unabhängig vom CPU Core

Es existieren eine Reihe von Derivaten an Controllern, die auf einem HC08 basieren, wie z.B. die MCU908, welche weitere Timer, onboard flash und einen CAN-Controller implementiert hat. Ebenso existieren einige HC05/08-basierte Soft Cores für FPGA-Entwicklungen.

Software

  • Kostenlose Entwicklungsumgebung inkl. Assembler, Debugger, Programmiersoftware und Simulator von P&E Micro erhältlich
  • C-Compiler bis 16 KB Code (Assembler unlimited) von Metrowerks erhältlich

68HC12

  • Hersteller Freescale Semiconductors, ehemals Motorola.
  • Weitestgehend Befehlskompatibel zum 68HC11
  • 16-Bit-Datenbus (nach aussen 8 oder 16 Bit)
  • Internes RAM und Flash- EEPROM
  • 2 8-Bit Akkumulatoren, zu einem 16 Bit Akkumulator kombinierbar
  • I²C, SPI, AD-Wandler, mehrere Ports, Timer
  • Multiplikation und Division Fuzzy Befehle
  • BDM12 Interface für Flash Programmierung und Debugging unabhängig vom CPU Kern.
  • Zwischenzeitlich durch die kompatible HCS12- (bzw. S12X-)Familie abgelöst.
  • Unterstützung GNU Toolchain ( GCC,GDB etc).
  • Metrowerks Codewarrior Entwicklungsumgebung (IDE, Compiler bis 32k und Debugger) frei verfügbar
  • Sehr guter C-Compliler ist ICC12, leicht zu bedienen und preiswert

Links

8051

Die 8051-Familie (besser: MCS-51) ist eine Prozessorarchitektur von Intel. Der Original 8051 ist mittlerweile veraltet, aber es gibt hunderte Varianten (Derivate) davon, die teilweise durchaus auf dem aktuellen Stand der Technik sind.

Kenndaten des Original 8051:

  • jeweils bis zu 64 kB externer Daten- und Programmspeicher adressierbar
  • 128 Byte internes RAM (8052: 256 Byte)
  • 2 Timer/Counter (8052: 3 Timer/Counter)
  • 2 externe Interrupts
  • 4 8-bit I/O Ports, zwei davon für den Zugriff auf externen Speicher
  • Hardware UART

Der Original 8051 ist ein maskenprogrammierter Mikrocontroller; die ROM-lose Variante heißt 8031. Für einen Befehl benötigt er mindestens 12 Takte. Befehls- und Datenspeicher sind logisch getrennt, auch wenn diese über einen einzigen gemultiplexten externen Bus adressiert werden - sofern externe Speicher verwendet werden. Ob es sich hierbei um eine Harvard-Architektur oder eine Von Neumann-Architektur handelt, ist umstritten (siehe Diskussion:8051). In der Standardbeschaltung ist kein Code im Datenspeicher als Programmcode ausführbar. Dieses lässt sich jedoch durch Verschalten von PSEN und RD per AND-Gatter erreichen. Diese Methode wird während der Programmentwicklung gerne verwendet, siehe BOOT-51.

Ein bekannter Vertreter diese Familie ist der 80C535 von Infineon. Der ist zwar mittlerweile ebenfalls veraltet, wird allerdings gerne noch im Schulunterricht verwendet. Mittlerweile heißt er C515 und wird ab Juli 2005 von Firma Infineon nicht mehr produziert.

Aktuellere Vertreter dieser Familie sind z.B. die MicroConverter® von Analog Devices, die AT89-Familie von Atmel, die MSC12-Familie von Texas Instruments oder die DS89C430 von Maxim (Dallas).

Moderne 8051-Derivate warten unter anderem neben höherer Taktfrequenz, I2C-Bus, DA-Wandler und AD-Wandler mit einer geringeren Taktteilung auf. Dadurch werden zur Ausführung eines Befehls nicht mehr 12, sondern nur noch 6, 4 Takte oder sogar nur noch ein Takt benötigt. Durch einen internen Flash-ROM als Programmspeicher entfällt die Notwendigkeit ein externes EPROM anzuschließen. Darüber hinaus verwenden einige USB-Mikrocontroller einen 8051-Kern, beispielsweise die EzUSB von Cypress, die TUSBxxxx-Serie von Texas Instruments oder der AT89C5131A-M von Atmel.

Links

AT91SAM

Die AT91SAM-Reihe von Atmel basiert auf dem ARM7TDMI-Kern (AT91SAM7) bzw. auf dem ARM926EJ-S-Kern (AT91SAM9). Innerhalb der AT91SAM7 gibt es eine weitere Unterteilung in AT91SAM7S, AT91SAM7X und AT91SAM7A. Die Ausstattung des AT91SAM7S ähnelt der der LPC2000-Reihe, speziell der des LPC2148 (USB), es gibt aber ein paar wichtige Unterschiede:

  • Der Flash-Speicher des AT91SAM7 ist langsamer als der des LPC2000. Deshalb beschleunigt es die Ausführung häufig, Thumb- statt ARM-Code zu verwenden, da letzterer längere Befehlswörter besitzt und deshalb der Ladevorgang aus dem Speicher mehr Zeit benötigt. Um maximale Performance zu erzielen führt man zeitkritische Funktionen aus dem (schnelleren) RAM aus und compiliert diese im ARM-Modus.
  • Der AT91SAM7 hat einen DMA-Controller, von Atmel "PDC" genannt, mit dem die Übertragung größerer Datenmengen von und zur Peripherie sehr viel schneller und einfacher wird. Weitere Informationen im Artikel DMA.
  • Der AT91SAM7 hat ein synchrones serielles Interface (SSC), mit dem sich z.B. Audio-DACs und -ADCs ansteuern lassen.

Das Hauptmerkmal der AT91SAM7X sind die zusätzlich integrierten Ethernet- und CAN-Interfaces.

Die AT91SAM7A sind für Steuerungsanwendungen gedacht. Sie besitzen weniger RAM als die AT91SAM7S aber dafür gleich mehrere CAN-Interfaces.

Links

Projekte:

C166

Dieser 16Bit Controller ist ein Mitglied der C16x Familie von Siemens/Infineon aus den 1980er Jahren. Er ist relativ leistungsfähig, gut zu programmieren und wurde ursprünglich für die Automobilindustrie entwickelt. Er hat deshalb umfangreiche Peripherie-Baugruppen on Chip, wie zb. einen CAN-Bus Controller. Internen Programmspeicher besitzt er nicht, das Speicherbus-Interface erlaubt dafür verschiedene Multiplexbetriebsarten um Controllerpins zu sparen.

Quasi Industriestandard (=Euphemismus für veraltete Technik zu Fantasiepreisen, aus de.sci.electronics).

Merkmale:

  • üblicherweise 25 MHz Taktfrequenz, ca. 2 Takte pro Befehl
  • Von-Neumann-Architektur, 16 MByte Adressraum
  • Externer schneller Bus, gut adressabhängig skalierbar
  • massig Capture/Compare-Einheiten
  • AD-Wandler (10 bit), SPI, I²C, CAN je nach Ausbaustufe verfügbar
  • Bitadressierbarer Speicher
  • Registersätze
  • DMA-Einheit integriert (nennt sich nur anders)
  • Bootloader über serielle Schnittstelle (ziemlich lahm)
  • ca. 50 mA bei 5V

Übliche Mankos:

  • Segmentierung (an 80x86 erinnernd, nur noch ungünstiger)
  • Für Hochsprache viel zu wenig interner RAM, fast immer extern
  • Zu wenig oder kein interner Flash, fast immer extern
  • Ein PWM-Ausgang verbraucht mehrere Timer
  • Teurer und fehlerhafter(!) C-Compiler und Assembler
  • Nur eine serielle (UART-)Schnittstelle

Links

ElanSC520

Der ElanSC520 ist ein x86-kompatibler Prozessor von AMD. Er läuft mit bis zu 133Mhz und enthält viel PC-Funktionalität bereits On-Chip. Er ist nur im PBGA-Gehäuse mit 388 Pins erhältlich und deswegen für Hobbybastler nicht zum Selberlöten geeignet.

H8

H8 ist eine Mikrocontroller-Familie von Renesas, die es in vielen verschiedenen Ausprägungen gibt. So sind Modelle mit 8, 16 und 32Bit Busbreite verfügbar. Laut Hersteller sind dabei die größeren Modelle abwärtskompatibel zu den kleineren Ausführungen.

  • 8-Bit, H8/300L SLP (Super Low Power)
    • Mit Flash, OTP-ROM und maskenprogrammiert erhältlich
    • Strombedarf: 200µA bei 1,8V@1MHz, 1,8µA bei 1,8V@32kHz
    • Versorgungsspannung: 1,8-5,5V
    • ROM/Flash: 8-60KB
    • RAM: 0,5-2KB
    • Takt: bis zu 8MHz
  • 16-Bit, H8 Tiny, H8/300H, H8S/2100-2600
    • Mit Flash, OTP-ROM, maskenprogrammiert und ohne ROM erhältlich
    • Versorgungsspannung: 2,7-5,5V
    • ROM/Flash: 2KB-512KB
    • RAM: 0,5-32KB RAM
    • Takt: bis zu 33MHz
    • Features: IrDA, USB, CAN, LIN, DRAM-Interface, DMA
  • 32-Bit, H8SX 1650
    • kein ROM/Flash
    • RAM: 24KB
    • Takt: 35MHz

MARC4

Marc4 ist eine 4-Bit Microcontrollerfamilie von Atmel. 4-Bit Controller sind nicht so leistungsfähig wie die 8-Bit-Controller und werden diesen hauptsächlich aus Kostengründen (bei großen Stückzahlen) vorgezogen und sind deswegen im Hobbybereich praktisch nicht zu finden.

Merkmale:

  • Harvard-Architektur
  • Versorgungsspannung 1,8-6,5V
  • sehr geringer Stromverbrauch (bei 3V@1MHz typ. 220µA, selbst ein MSP430 braucht doppelt so viel)
  • Sleep Strom bei 3V typ. 300nA im Temperaturbereich -40°C bis +85°C
  • 12 Bit Addresscounter, bei mehr als 4KB Speicher wird mit Bankswitching gearbeitet
  • bis zu 8KByte ROM
  • mit ROM oder Flash-ROM erhältlich
  • 256x4 Bit SRAM
  • manche Modelle haben ein EEPROM

Eine Besonderheit dieser Microcontrollerfamilie ist ihre Auslegung für eine Programmierung in Forth.

Links

MAXQ

MAXQ ist eine Mikrocontrollerfamilie von Maxim, ungefähr in der PIC/AVR/MSP430-Klasse. Ungewöhnlich ist allerdings die Architektur, in mehrerlei Hinsicht.

Es gibt nur einen einzigen Befehl im klassischen Sinne. Das Befehlswort ist 16 Bit breit und besteht aus:

  • einer 7 Bit breiten Zieladresse
  • einer 8 Bit breiten Quelladresse oder einer 8 Bit breiten Konstante
  • einem Bit das angibt ob es sich um eine Quelladresse oder eine Konstante handelt.

Rechenoperationen werden durch den Zugriff auf spezielle Steuerregister realisiert, Sprünge durch Schreibzugriffe auf die Adresse des Program Counters, für Speicherzugriffe kann man z.B. einen Teil des Speichers in den Befehls-Adressbereich einblenden.

Weitere Besonderheiten:

  • Sowohl byte- als auch wortadressierend. Bytes werden byteweise, Worte wortweise adressiert, daher ist nur die erste Hälfte des 64KW grossen Datenadressraums byteweise verwendbar und um ein Wort byteweise adressieren zu können, muss die Adresse umgerechnet werden.
  • Wird RAM im Codeadressraum eingeblendet, liegt es an einer andere Adresse als im Datenadressraum. Das gilt umgekehrt auch für Flash-ROM im Datenadressraum.
  • Code im Flash-ROM kann nicht auf Daten im Flash-ROM zugreifen, Code im RAM nicht auf Daten im RAM. Deshalb existiert ein separater ROM-Speicher mit Hilfsfunktionen für Datenzugriffe.

Links

MC68332

Der MC68332 ist ein Microcontroller von Freescale Semiconductor. Er enthält einen 68000-Kern mit kleineren Erweiterungen und ist somit ein echter 32bit-Controller. Sein Einsatzzweck sind Automotiveumgebungen mit einer Vielzahl von Steuerungs- und Regelungsaufgaben. Der MC68332 besitzt eine umfangreiche On-Chip-Peripherie, so dass in den meisten Fällen keine Zusatzbausteine benötigt werden. Eine Ausnahme bilden Arbeits- und Programmspeicher.

  • Flash/EEPROM : Der MC68332 besitzt keinen nichtflüchtigen Speicher
  • RAM : Es exisitieren 2 kB RAM on-chip, die zwar als normaler RAM addressiert werden können, aber eigentlich dazu gedacht sind, die TPU (s.u.) mit selbstgeschriebenen Routinen zu versorgen. Ansonsten muss immer externer Speicher zur Verfügung gestellt werden.
  • CPU : Der 68000 Kern ist eine CISC-Einheit, die 32 Bit Daten und 32 Bit Adressen verwalten kann. Die Erweiterungen der Architektur sind:
    • Virtuelle Speicherbereiche
    • Table Lookup und Interpolation
    • Verbesserte Exceptionverarbeitung
    • Hardware Breakpoint Signal
    • Statischer Betrieb
  • TPU : Die Time Processor Unit ist ein mikroprogrammierbarer Spezialprozessor, der die Kontrolle über 16 I/O-Pins hat. Jedem Pin ist ein Channel zugeordnet, der unterschiedliche Aufgaben wahrnehmen kann. Es handelt sich bei jedem Channel in der Grundstruktur um einen Zähler, dessen Set, Count- und Enable- Gates jedoch beliebigen Ein- und Ausgängen innerhalb der TPU zugeordnet werden können, und der über viele weitere Steuerungsmöglichkeiten verfügt. Durch ein Mikroprogramm können die Channels beliebig miteinander verknüpft werden. Das Bemerkenswerte ist, dass diese Funktionen jedem Channel individuell zugeordnet werden können und dass die Funktionen ohne jede CPU-Belastung autonom durchgeführt werden. Zu den werksseitig vorprogrammierten Funktionen der Channels zählen:
    • Input Capture/Input Transition Counter
    • Output Compare
    • Pulse Width Modulation
    • Stepper Motor Control
    • Quadrature Decode.
  • QSM : Das Queued Serial Module ist ein Funktionsblock, der mehrere serielle Schnittstellentypen unterstützt. Neben einer selbstverständlichen UART/USART-Schnittstelle wird noch SPI und SCI unterstützt, mit denen sich Übertragungsraten bis zu 2 MiBit/s realisieren lassen.
  • BDM : Die BDM-Schnittstelle ermöglicht den Zugriff auf den eingebauten Hardware-Debugger. Über die BDM-Schnittstelle können alle Debuggingoperationen, die sonst nur im Emulator durchführbar wären auf der Zielarchitektur in Echtzeit durchgeführt werden. Zu diesem Zweck wird lediglich eine entsprechende Software auf der Workstation und ein kostengünstiges Kabel für den Parallelport benötigt.
  • Entwicklungsumgebungen : Die wichtigsten Aufgaben übernimmt die BDM-Schnittstelle. über sie kann jeder Debugger, der 68k-Code debuggen kann und über einen entsprechenden Patch zum Ansprechen des BDM-Interfaces verfügt, die Software ferngesteuert auf der Zielarchitektur debuggen. Weiterhin ist es möglich, die zu testende Software über das BDM-Interface auf die Zielhardware (in RAM) zu laden, was die Entwicklungszyklen deutlich verkürzt. Das BDM wird unterstützt von:
    • Codewarrior (Win)
    • GCC/GDB (Linux, Kernel > 2.1)

Parallax Propeller

Der Propeller von Parallax ist ein Mikrocontroller der acht 32-Bit Prozessorkerne enthält. Die Idee dahinter ist, dass statt spezialisierten IO-Komponenten (Timer, PWM, UART) einer der Kerne diese Aufgabe übernehmen kann, was mehr Flexibilität erlaubt, da man nicht auf die Funktionen angewiesen ist die der Hersteller eingebaut hat. Die Kerne kommunizieren über einen gemeinsamen Speicherbereich auf den von allen Kernen nacheinander zugegriffen werden darf. Programmieren kann man den Propeller in Assembler und mit der Sprache Spin, die von einem im ROM des Controllers enthaltenen Interpreter ausgeführt wird.

Links

PIC

  • Hersteller: Microchip
  • 8 Bit
  • Grunddesign von 1975
  • als IO-Controller für größere Prozessoren entwickelt
  • Harvard-Architektur (getrennter Befehls- und Datenspeicher)
  • RISC, nur wenige Befehle
  • sehr viele Varianten verfügbar ((EP)ROM, Flash-ROM, ADC, I²C, ISP)
  • Hardware-Stack, kann vom Programm nicht gelesen werden
  • Befehlsdauer 4 Takte, bei Sprungbefehlen 8
  • Akkumulator für arithmetische Operationen ("W-Register")
  • schlecht für Hochsprachen (C, Basic) geeignet
  • keine guten kostenlosen Compiler (außer CC5X)
  • Bank-Switching bei RAM über 128 Byte notwendig
  • geringer Stromverbrauch, robust
  • PIC10XXX-Serie: Low-Range, 6-8 Pins
  • PIC12X5X-Serie: Low-Range, 8 Pins
  • PIC16X5X-Serie: Low-Range
  • PIC12XXX-Serie: Mid-Range, 8 Pins
  • PIC16XXX-Serie: Mid-Range
  • PIC17/18: High-Range (mit erweitertem Befehlssatz - 77 Befehle)

PSoC

Programmable System on a Chip ist ein 8 Bit-Mikrocontroller der Firma Cypress Micosystems. Er zeichnet sich durch folgende Merkmale aus:

  • 8 Bit-Kern: M8C
  • 4 MIPS (93.7 kHz bis 24 MHz Systemtakt)
  • Konfigurierbare Peripherieblöcke. Sowohl digital, als auch analog!
  • Harvard-Architektur (getrennter Befehls- und Datenspeicher)
  • Akkumulator (wenig Register)
  • In-System progammierbar

Besonderheit sind die vom Programmierer konfigurierbaren Peripherieblöcke. Darin können sowohl digitale (z.B. Timer, Zähler, PWM, SPI, UART), als auch analoge (z.B. AD-Wandler, DA-Wandler, Filter, Komparator) Funktionen umgesetzt und externe Bauteile wie Operationsverstärker eingespart werden.

Entwicklungsumgebung

Die Entwicklungsumgebung "PSoC Designer" wird kostenlos auf der Herstellerhomepage zur Verfügung gestellt. Damit kann man auch die Peripherieblöcke konfigurieren und in Code umsetzen lassen. Bei der kostenlosen Version können nur Assembler-Programme übersetzt werden; für den C-Compiler muss eine Lizenz erworben werden.

Die Controller sind über ISP programmierbar. Im PSoCDeveloper.com-Forum wurde ein Freeware-Programmer vorgestellt, der über den Druckerport mit dem Controller verbunden wird.

Links


SuperH

SuperH ist eine Mikrocontrollerfamilie von Renesas.

Features (SH4):

  • bis zu 240MHz (430MIPS, 1,7GFlops)
  • kein internes ROM/RAM (außer Cache)
  • 15 Interruptlevel
  • enthält FPU (Single und Double Precision)
  • enthält MMU
  • DMA-Controller
  • RTC
  • 8-64 Bit externe Busse

TriCore

Tricore ist der Kern der 32Bit Mikrocontrollerfamilie von Infineon. Die Tricore 1-Architektur läuft mit bis zu 300MHz, die Tricore 2 mit bis zu 600MHz. Ein konkretes Produkt ist z.B. der TC1775. Der TriCore ist kein reiner Mikrocontroller, sondern enthält auch DSP-Funktionalität und wird gerne im Automotive-Bereich eingesetzt.

Links

Z8

  • 8 Bit
  • Hersteller ZiLOG
  • Eine der ältesten Controllerfamilien überhaupt, aber weiterhin aktuell gehalten
  • Ursprüngliche Z8 hatten keinen RAM, aber 125 universell verwendbare Register (keinen Akkumulator, keine ausgezeichneten Pointer-Register)
  • Aktuelle Typen mit SRAM und Flash-ROM erhältlich

Z80

Der Mikroprozessor Z80 wurde von Zilog als rückwärts kompatible Erweiterung des 8080 von Intel entwickelt und ist einer der erfolgreichsten Mikroprozessoren. Vom Z80 abgeleitete Produkte sind bis heute erhältlich.