XC167
# XC167

Der XC167 ist der erste Vertreter der C166V2-Mikrocontroller-Architektur von Infineon. Er stellt die Weiterentwicklung des vielfach eingesetzten C167 dar.
Als erster frei verfügbarer Controller der 16-Bit-Baureihe von Infineon enthält er einen Flash-Speicher für den Programmcode.
Durch die Verwendung der C166V2-CPU-Architektur ist die Rechenleistung des Controllers sehr hoch. Bei der Ausführung aus dem internen Flash können fast alle Befehle (mit Ausnahme der Division) in einem Taktzyklus (minimal 25 ns) abgearbeitet werden. Durch die integrierten Peripherieeinheiten werden viele Arbeiten in Hardware erledigt, die bei einfacheren Mikrocontrollern wie einem 8051 in Software erledigt werden müssen.

## Unterschiede zum Vorgänger

Gegenüber dem C167 CS, seinem direkten Vorgänger, hat der XC167 vor allem drei deutliche Erweiterungen:
* Mit der sogenannten MAC-Unit (Multiply and ACcumulate-Unit) wurde ein 16-Bit-DSP in die RISC-CPU implementiert.
* Durch das integrierte OCDS wird das Debugging, die Fehlersuche in der Software, wesentlich erleichtert, auch ist keine auf den individuellen Controller-Subtyp angepasste Debug-Version des Chips mehr nötig.
* Der im Controller integrierte Flash-Speicher erlaubt es, die Firmware auch in der Applikation zu verändern.
Daneben wurden die einzelnen Peripheriekomponenten z. T. deutlich überarbeitet. Wie alle Controller der XC16x-Serie von Infineon wird für den CPU-Kern eine Versorgungsspannung von 2,5 V verwendet, während der Controller selbst nach außen mit 5-V-Logik arbeitet.

## Varianten

Mit dem XC161 gibt es noch eine Variante ohne die speziell für Umrichterzwecke oder Motorsteuerungen konzipierte PWM-Einheit CCU6. Da deren Pins bei Verwendung eines externen Busses ohne Adressmultiplex auch beim XC167 nicht zugänglich sind, kann man diesen Controller als eher auf hohe Rechenleistungen optimiert ansehen. Es gibt auch eine Variante des XC161 mit einem SDLM (Serial Data Link Module) für die Ansteuerung z. B. serieller Multiprozessorsysteme.
Der XC164 ist eine Variante, die in einem kleineren Gehäuse (64 oder 100 Pin TQFP statt 144 Pin bei XC167 und XC161) ausgeliefert wird und den es auch mit mehr Varianten bei der Peripheriebestückung gibt. Er eignet sich für Applikationen, bei denen der verfügbare Platz auf der Leiterkarte eher der begrenzende Faktor ist als die Anzahl verfügbarer Portpins oder Peripherieeinheiten. Dem XC164 fehlt allerdings der I²C-Controller.
Alle drei Controllertypen gibt es zumindest in Varianten mit 20 oder 40 MHz maximaler Taktfrequenz sowie 64 KiByte, 128 KiByte oder 256 KiByte integriertem Flash-Speicher. Daneben gibt es von einzelnen Typen oft auch noch Varianten, bei denen mit Ziel auf bestimmte Applikationen sonst für diesen Typ verfügbare Peripherieeinheiten nicht vorhanden sind.
Nachfolger sind der auf dem gleichen Kern basierende XE167 sowie die ebenfalls auf diesem Kern basierende, auf Automobilanwendungen spezialisierte XC2000-Familie.