20 lines
1.1 KiB
ReStructuredText
20 lines
1.1 KiB
ReStructuredText
Note on the LED modulation
|
|
==========================
|
|
|
|
To control LED brightness, this project uses a modulation technique known as
|
|
"Binary Code Modulation" (BCM) or "Bit Angle Modulation" (BAM). The base idea is
|
|
to clock out all outputs in parallel bit-by-bit, then modulate this with a
|
|
precisely timed output enable signal. In contrast to PWM this allows almost
|
|
arbitrarily high channel counts and configurable modulation resolution at low
|
|
CPU overhead and high frame rates. In this project that is needed due to the
|
|
large number of channels (32) and the medium oversampling rate (1:8).
|
|
|
|
A good article explaining BCM can be found on batsocks.co.uk_ and a nice video
|
|
explaining has been published by mikeselectricstuff_. A possible optimization
|
|
for even smoother brightness fading (probably mostly in unmultiplexed
|
|
applications) has been discussed in the forums at picbasic.co.uk_.
|
|
|
|
.. _mikeselectricstuff: https://www.youtube.com/watch?v=Sq8SxVDO5wE
|
|
.. _`picbasic.co.uk`: http://www.picbasic.co.uk/forum/showthread.php?t=7393
|
|
.. _batsocks.co.uk: http://www.batsocks.co.uk/readme/art_bcm_1.htm
|
|
|