![FTDI FT51A Application Note Download Page 107](http://html1.mh-extra.com/html/ftdi/ft51a/ft51a_application-note_2341158107.webp)
Application Note
AN_289 FT51A Programming Guide
Version 1.0
Document Reference No.: FT_000962 Clearance No.: FTDI# 483
106
Copyright © 2015 Future Technology Devices International Limited
2.12
Pulse Width Modulation
The Pulse Width Modulation (PWM) module provides a number of PWM outputs individually
controlled by the FT51A CPU.
The main purpose is to generate PWM signals which can be used to control motors, DC/DC
converters, AC/DC supplies, etc.
The PWM block can generate pulse width modulated signals where parameters such as period and
duty cycle are controlled by the CPU writing to memory mapped registers. All PWM outputs use a
common pre-scaler block and 16-bit counter. The PWM module has eight 16-bit comparators to
control up to eight toggles (four pulses where each period and duty cycle is individually set) of the
generated signals. The additional clr signal sets output to the initial state. The module also consists
of an output control block which enables PWM outputs (once, twice .... 255 times, forever) and
generates an interrupt.
The registers associated with the Pulse Width Modulation (PWM) are outlined below.
I/O
Address
Register Name
Description
0x80
PWM top level control register
0x81
PWM control register
0x82
System clock pre-scaler register
0x83
PWM counter LSB register
0x84
PWM counter MSB register
0x85
PWM comparator LSB register 0
0x86
PWM comparator MSB register 0
0x87
PWM comparator LSB register 1
0x88
PWM comparator MSB register 1
0x89
PWM comparator LSB register 2
0x8A
PWM comparator MSB register 2
0x8B
PWM comparator LSB register 3
0x8C
PWM comparator MSB register 3
0x8D
PWM comparator LSB register 4
0x8E
PWM comparator MSB register 4
0x8F
PWM comparator LSB register 5
0x90
PWM comparator MSB register 5
0x91
PWM comparator LSB register 6