Lepšie LED diódy prostredníctvom DMA

, zatiaľ čo bežné čitatelia Hackaday už vedia, ako blikať LED diódu s mikrokontrolérom a presťahovali sa na mierne náročnejšie projekty, ako je riešenie námorníkov-Stokes rovnice v 6502 zostavy, to neznamená priestor pre nováčikov. [RIK] zverejnil úžasný návod na zneužívaní DMA pre Blinkier Glowy veci. Prečo by sa niekto chcel dozvedieť o technikách DMA? Pre blinkier glowy veci, samozrejme.

Tento tutoriál predpokladá znalosť LED multiplexovania a matríc LED, alebo v podstate veľa LED diódy spojených spoločne na xy mriežke. Naivná cesta k pohonu 8 × 8 mriežky LED diódy sa pripája osem katód na GPIO kolíky na mikrokontroléri, pričom sa pripojil osem anód do inej sady GPIO pinov a získavanie prúdu a potopenie prúdu podľa potreby. Počet pinov sa môže znížiť s registračnými registrami a LED stmievanie môže byť implementovaný s PWM. To uzatvára náš intenzívny osemtýždňový kurz Arduino.

Vďaka mikrokontrolérom, ktoré nie sú uväznení v 80-tych rokoch, môžu byť použité nové techniky na riadenie týchto LED matríc. Väčšina silnejších mikrokontrolérov ramien prichádza s DMA, periférnem pre priamy prístup k pamäti. Namiesto toho, aby ste mali CPU všetky práce, DMA Controller môže jednoducho zamiešať okolo bitov medzi pamäťou a kolíkmi. To znamená Blinkerové projekty a žiarivé LED diódy.

[RIK] metóda pre DMAINT LED diódy zahŕňa nastavenie veľkého ‘OL pole v kóde, správne inicializácia DMA periféru a zapojenie LED matricu na niekoľko kolíkov. Táto technika je možné rozšíriť na animácie so 64 úrovňami jasu, niečo, čo by trvalo neuveriteľné množstvo spracovateľského výkonu (aspoň pre mikrokontrolér, aspoň), ak nie je pre DMA regulátor.

Nastavenie používané v týchto experimentoch je nukleo doska STM32F103 spolu s OpenSTM32 IDE. [RIK] vydal všetok kód na Github, a ste, samozrejme, povzbudzované, aby ste hrali.

You may also like...

Leave a Reply

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