127
ATmega16M1/32M1/64M1 [DATASHEET]
8209E–AVR–11/2012
17. PSC – power stage controller
17.1
Features
PWM waveform generating function with six complementary programmable outputs (able to control three half-
bridges)
Programmable dead time control
PWM up to 12-bit resolution
PWM clock frequency up to 64MHz (via PLL)
Programmable ADC trigger
Automatic Overlap protection
Failsafe emergency inputs - 3 (to force all outputs to high impedance or in inactive state - fuse configurable)
Center aligned and edge aligned modes synchronization
17.2
Overview
The Power Stage Controller is a high performance waveform controller.
Many register and bit references in this section are written in general form.
A lower case “n” replaces the PSC module number, in this case 0, 1 or 2. However, when using the register or
bit defines in a program, the precise form must be used, that is, POCR0SAH for accessing module 0
POCRnSAH register and so on
A lower case “x” replaces the PSC part , in this case A or B. However, when using the register or bit defines in a
program, the precise form must be used, that is, OCR0SAH for accessing part A OCR0SxH register and so on
The purpose of the Power Stage Controller (PSC) is to control an external power interface. It has six outputs to
drive for example a three half-bridge. This feature allows you to generate three phase waveforms for applications
such as Asynchronous or BLDC motor drives, lighting systems...
The PSC also has three inputs, the purpose of which is to provide fast emergency stop capability.
The PSC outputs are programmable as “active high” or “active low”. All the timing diagrams in the following exam-
ples are given in the “active high” polarity.
17.3
Accessing 16-bit registers
Some PSC registers are 16-bit registers. These registers can be accessed by the AVR CPU via the 8-bit data bus.
The 16-bit registers must be byte accessed using two read or write operations. The PSC has a single 8-bit register
for temporary storing of the high byte of the 16-bit access. The same temporary register is shared between all PSC
16-bit registers. Accessing the low byte triggers the 16-bit read or write operation. When the low byte of a 16-bit
register is written by the CPU, the high byte stored in the temporary register, and the low byte written are both cop-
ied into the 16-bit register in the same clock cycle. When the low byte of a 16-bit register is read by the CPU, the
high byte of the 16-bit register is copied into the temporary register in the same clock cycle as the low byte is read.
To do a 16-bit write, the high byte must be written before the low byte. For a 16-bit read, the low byte must be read
before the high byte.