C167

from Wikipedia, the free encyclopedia

The C167 is a 16-bit - microcontroller from Infineon . It is a further development of the C166 that Siemens brought onto the market in 1993 as a controller for measurement, control and regulation tasks. In terms of computer architecture, like the C166, it is more likely to be assigned to the RISC family.

The C167 has a 16-bit computer core, data and program memory, as well as a pipeline architecture with four stages (fetch, decode, execute and writeback). Since there are always four commands in progress, one command is completed with each cycle. In order to be able to optimally utilize the idle cycles resulting from data dependencies, a jump cache was implemented so that jump commands are recognized earlier. In order to keep the power consumption as low as possible (e.g. battery operation), the C167 has an idle and power down mode.

As the C161 and C164, there are two more variants of the C167 that have the same command set, but in some cases different peripheral variants and housing shapes. The C161 is designed more for processor applications with few peripheral modules, while the C164 has fewer address lines and port pins and is supplied in a smaller housing.

Differences to the predecessor

The most serious differences to the C166 concern the command set. Since the C166 was initially intended as an alternative to 8-bit controllers with an 8051 core, only a relatively cumbersome type of addressing memory over 64 KiByte was used in the machine  code (using so-called "data page pointers", a type of segment register), while jump addressing supported more than 16 bits for absolute addresses from the start. The C167 expanded the addressing types for the memory by a so-called segment prefix, that is, the addressing takes place, as is typical with 16-bit microprocessors, via segment + offset. The segment prefix is ​​a separate opcode and applies to up to 4 subsequent assembler commands.

In addition, some new peripheral modules were added with the C167. These are:

  • SSC interface for serial, clock-controlled communication with e.g. B. ADCs and DACs.
  • CAN bus controller with two channels

The internal program and data memory has also been enlarged. The cycle time of most commands has been halved compared to the C166, so that a C167 works twice as fast with the same cycle as its predecessor. The C167 is also available in a PROM version, which avoids the use of an external program memory for small quantities.

specification

  • A total of up to 111 I / O channels
  • 16-channel / 10-bit analog-digital converter (procedure with the C167: successive approximation)
  • 9 timers
  • Capture / Compare unit for time measurement and PWM generation
  • 4-way PWM module, e.g. B. for inverters
  • 2 ASC modules for asynchronous or synchronous serial communication (2 lines per module)
  • SSC module for synchronous serial communication (3 lines)
  • CAN controller

The C167 is popular and widespread because of its relatively low price and great functionality.

The successor is the XC167 .