You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.4 KiB
53 lines
1.4 KiB
The PWM Driver(bare-bone)
|
|
=========================
|
|
|
|
Pulse-width modulation (PWM) is used to create an analog behavior
|
|
digitally by controlling the amount of power transferred to the
|
|
connected peripheral. This is achieved by controlling the high period
|
|
(duty-cycle) of a periodic signal.
|
|
|
|
User can change the period or duty cycle whenever PWM is running. The
|
|
function pwm_set_parameters is used to configure these two parameters.
|
|
Note these are raw register values and the parameter duty_cycle means
|
|
the period of first half during one cycle, which should be not beyond
|
|
total period value.
|
|
|
|
In addition, user can also get multi PWM channels output from different
|
|
peripherals at the same time, which is implemented more flexible by the
|
|
function pointers.
|
|
|
|
Features
|
|
--------
|
|
|
|
* Initialization/de-initialization
|
|
* Enabling/disabling
|
|
* Run-time control of PWM duty-cycle and period
|
|
* Notifications about errors and one PWM cycle is done
|
|
|
|
Applications
|
|
------------
|
|
|
|
Motor control, ballast, LED, H-bridge, power converters, and
|
|
other types of power control applications.
|
|
|
|
Dependencies
|
|
------------
|
|
|
|
The peripheral which can perform waveform generation like frequency
|
|
generation and pulse-width modulation, such as Timer/Counter.
|
|
|
|
Concurrency
|
|
-----------
|
|
|
|
N/A
|
|
|
|
Limitations
|
|
-----------
|
|
|
|
The current driver doesn't support the features like recoverable,
|
|
non-recoverable faults, dithering, dead-time insertion.
|
|
|
|
Known issues and workarounds
|
|
----------------------------
|
|
|
|
N/A
|
|
|