Betere LED’s via DMA

, terwijl regelmatige hackaday-lezers al weten hoe ze een LED met een microcontroller kunnen knipperen en op iets uitdagende projecten zijn verhuisd, zoals het oplossen van de Navier-Stokes-vergelijkingen in 6502 Assembly, dat betekent niet dat dat niet betekent ruimte voor nieuwkomers. [RIK] heeft een geweldige tutorial gepubliceerd over misbruikende DMA voor knippeur gloeide dingen. Waarom zou iemand willen leren over DMA-technieken? Voor knippeur gloeiende dingen, natuurlijk.

Deze tutorial veronderstelt kennis van LED-multiplexing en LED-matrices, of in feite een stel LED’s die aan elkaar zijn verbonden op een XY-raster. De naïeve manier om een ​​8 × 8-rooster van LED’s te besturen, bevestigt acht kathoden aan GPIO-pinnen op een microcontroller en bevestigt de acht anodes aan een andere set van GPIO-pinnen en sourcing en zinkende stroom zoals vereist. De PIN-telling kan worden verminderd met schakelregisters en LED-dimmen kunnen worden geïmplementeerd met PWM. Dit concludeert onze intensieve arduino-cursus van acht weken.

Dankzij microcontrollers die niet in de jaren tachtig zijn vastzitten, kunnen nieuwe technieken worden gebruikt om deze LED-matrices te besturen. De meeste van de krachtigere armmicrocontrollers worden geleverd met DMA, een perifere voor directe geheugentoegang. In plaats van de CPU al het werk te hebben, kan de DMA-controller gewoon rondbits schudden tussen geheugen en pinnen. Dit betekent knipperprojecten en Glowier-LED’s.

[RIK] ‘S-methode voor DMAING LED’s omvat het instellen van een grote’ OL-array in de code, initialiseert de DMA-randapparatuur correct en bedrad de LED-matrix op een paar van de pinnen. Deze techniek kan worden uitgebreid naar animaties met 64 niveaus van helderheid, iets dat een ongelooflijke hoeveelheid verwerkingskracht zou hebben (voor een microcontroller, tenminste) als het niet voor de DMA-controller zou zijn.

De setup die in deze experimenten wordt gebruikt, is een STM32F103-kernbord samen met de Openstm32 IDE. [RIK] heeft alle code op GitHub uitgebracht en u bent natuurlijk aangemoedigd om rond te spelen.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post