Mikrocontroller

C167

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche

Der C167 ist ein 16-Bit Mikrocontroller von Infineon. Er ist eine Weiterentwicklung des C166, den Siemens 1993 als Controller für Mess-, Steuer- und Regelungsaufgaben auf den Markt gebracht hat. Er ist von der Rechnerarchitektur, wie der C166 auch, eher der RISC-Familie zuzuordnen.

Der Mikrokontroller C167 besitzt einen 16-Bit-Rechnerkern, Daten- und Programmspeicher. Außerdem besitzt der C167 eine Pipeline-Architektur mit vier Stufen (Fetch, Decode, Execute und Writeback). Da immer vier Befehle in Arbeit sind, wird bei jedem Takt ein Befehl abgeschlossen. Um dabei die durch Datenabhängigkeiten entstehenden Leerzyklen optimal ausnutzen zu können, wurde beim C167 ein Jump Cache realisiert, damit Sprungbefehle früher erkannt werden. Damit die Leistungsaufnahme so gering wie nur möglich gehalten wird (z.B. Batteriebetrieb), verfügt der C167 noch über einen Idle und Power Down Mode.

Es gibt als C161 und C164 zwei Varianten des C167, die den gleichen Befehlssatz, aber teilweise andere Peripherievarianten sowie Gehäuseformen aufweisen. Der C161 ist dabei eher für Prozessor-Applikationen mit wenigen Peripheriemodulen ausgelegt, während der C164 in der Anzahl Adressleitungen und Portpins reduziert in einem kleineren Gehäuse geliefert wird.

[Bearbeiten] Unterschiede zum Vorgänger

Die gravierendsten Unterschiede zum C166 betreffen den Befehlssatz. Da der C166 zunächst als Alternative zu 8-Bit-Controllern mit 8051-Kern gedacht war, wurde im Maschinencode nur eine relativ umständliche Art der Adressierung von Speicher über 64 KiByte Größe verwendet (mittels sogenannter "Data Page Pointers", einer Art Segmentregister), während die Sprungadressierung von Anfang an mehr als 16 Bit für absolute Adressen unterstützte. Der C167 erweiterte die Adressierungsarten für den Speicher um einen sogenannten Segmentpräfix, das heißt, die Adressierung erfolgt wie für andere 16-Bit-Mikroprozessoren typisch über Segment+Offset. Der Segmentpräfix ist ein eigener Opcode und gilt für bis zu 4 nachfolgende Assemblerbefehle.

Daneben wurden mit dem C167 auch einige neue Peripherie-Module eingefügt. Dies sind:

  • SSC-Schnittstelle für die serielle, taktgesteuerte Kommunikation mit z.B. ADCs und DACs.
  • es wurde ein CAN-Buscontroller mit zwei Kanälen integriert

Ebenfalls wurden der interne Programm- und Datenspeicher vergrößert. Die Zykluszeit der meisten Befehle wurde gegenüber dem alten Design des C166 halbiert, so daß ein C167 mit gleichem Takt doppelt so schnell arbeitet wie ein C166. Den C167 gibt es auch in einer PROM-Version, die für kleine Stückzahlen die Verwendung eines externen Programmspeichers vermeidet.

[Bearbeiten] Spezifikation

  • Insgesamt bis zu 111 I/O-Kanäle
  • 16-Kanal / 10-Bit Analog-Digital-Umsetzer (Verfahren beim C167: Sukzessive Approximation)
  • 9 Timer
  • Capture/Compare-Einheit für Zeitmessung und PWM-Erzeugung
  • 4-fach PWM-Modul für z.B. Wechselrichter
  • 2 ASC-Module für asynchrone oder synchrone serielle Kommunikation (2 Leitungen je Modul)
  • SSC-Modul für synchrone serielle Kommunikation (3 Leitungen)
  • CAN-Controller

Der C167 ist wegen seines relativ geringen Preises und seiner großen Funktionalität beliebt und verbreitet.

Der Nachfolger ist der XC167.

[Bearbeiten] Weblinks

Copyright © 2005-2010 Hardware-Aktuell. Alle Rechte vorbehalten.