XE166 family
# XE166 family

The Infineon XE166 family is a 16-bit microcontroller family, first introduced in 2007. The XE166 can be found in applications like servo drivers, appliance motors, industrial pumps, transportation and power supplies.

## Key features

The XE166 family uses the Infineon/STMicroelectronics proprietary C166 16-bit core in a version which also contains a 32-bit MAC unit. Core frequency ranges from 40 to 100 MHz, embedded flash from 32 KB to 1.6 MB, and RAM up to 138 KB. The microcontroller, containing an embedded voltage regulator, can run from a single power supply between 3 and 5 V.

## Architecture

### CPU

The central processing unit (CPU) of the XE166 microcontroller family is principally fetching and decoding instructions, to supply, perform operations and store calculated result on the operands for the arithmetic logic unit (ALU) and the MAC unit.

As the CPU is the main engine of the XE166 microcontroller, it is also affected by certain actions of the peripheral subsystem. Because a five-stage processing pipeline (plus two-stage fetch pipeline) is implemented in the XE166, up to five instructions can be processed in parallel. Most instructions of the XE166 are executed in a single clock cycle due to this parallelism.

### Peripherals

* One or two analog to digital converters with up to 30 channels, 600 ns conversion time, up to 10 or 12-bit resolution
* up to four units for PWM generation (CCU6) with 16-bit resolution
* up to 6 CAN nodes with up to 256 message objects
* up to 10 Universal Serial Interface Controller channels for software-defined serial interfaces (SPI, UART, I2C, I2S...)
* External bus unit

## Development tools

### Evaluation kits

There are "Easy Kits" for evaluation of the controller features and "Application Kits" as a quick start for specific applications available. The main applications are in the industrial field, like electric motor control, automation and solar inverters.

### Free tools

* DAVE ("Digital Application virtual Engineer") is a free tool to configure low-level drivers and automatically generate source code.
* DAVE Drive is a free tool for automated motor control generation which generates motor-specific control codes like field-oriented control, sinusoidal or block commutation or V/Hz speed control.

### Third-party tools

* Tasking compiler toolset
* Hitex debugger
* PLS debugger
