missing title picture

Projekt DLM3232

(Digital Led Matrix 32 x 32)

DLM3232 je maticový jednofarebný led display s rozlíšením 1024 bodov, ktorý je kompatibilný s rastrom vývojových polí. Vďaka tomu môže byť aplikovaný nielen do nového zariadenia, ale aj ako vývojový kit pri experimentálnych aplikáciach. Jeho hardverová architektúra je navrhnutá tak, aby umožňovala vykreslovať obraz pomocou 8-bit zbernice. Architektúra je vybavená stabilizátormi napájacieho napätia a ako plus prináša vstup pre analógovú reguláciu jasu.

missing picture pcb DLM3232 missing picture pcb DLM3232

Čo ma viedlo k vývoju?

Pôvodne išlo o pokus vytvoriť vlastnú a úplne novú architektúru ovládania vysokého počtu bodov. Už dávnejšie som sa trochu zaoberal digitálnym obrazom a mal pripravený funkčný hardvér, ktorý stačilo len "doklepnúť" do konca. Vďaka tomu vznikol systém dosiek, ktoré fungujú podobne ako plug-and-play a je možné ich od seba oddeľovať a používať každú samostatne. To ma priviedlo k myšlienke pokračovať ďalej.

missing picture Ivan Mahdík and DLM3232 photo

Pokračovaním projektu DLM3232 mal byť návrh vlastného mikroprocesorového osciloskopu, ktorý by bol kompatibilný so sadou dosiek DLM3232 a mohol by tak slúžiť nielen ako hotový produkt, alebo stavebnica, ale aj ako rozšírenie vývojového kitu, podobne ako funguje Arduino.

Nič zložité.

missing photo free PCB DLM3232

V návrhu som vychádzal z toho, že potrebujem funkčnú viacbodovú led maticu s vysokým počtom bodov. K dispozícií sa mi naskytli led matice LM-1616O15-CC dodávané u TME, z ktorých som vyskladal 32x32 bodovú väčšiu led maticu. Toto bola prvá časť, ktorá nesie označenie DLM3232. Návrh obslužného hardvéru, bolo to na čo som sa tešil najviac. Rozhodol som sa, že navrhnem architektúru, ktorá bude čo najmenej náročná na výpočtový čas procesorov. Druhou požiadavkov bolo to, aby výstupy, ktoré budú riadiť led, boli dimenzované na vyššie zaťažovacie výkony. To malo umožniť spínať aj led matice vyššieho výkonu. Experimentálnou myšlienkou bolo dokonca spínanie motorov, alebo elektromagnetov.

Základný princíp.

- pomocou modelu HAS1 SRD-3L4L
(Hardware Architecture Standard 1 Shift Registers Drivers - 3 Latches 4 Latches)

missing picture of diagram hardware architecture

Tento diagram znázorňuje zjednodušený princíp ovládania riadkov, stĺpcov a dávkovania dát do pamätí. V prvom kroku sa zresetuje posuvný register, aby sa obraz začal vykresľovať od prvého riadku. Procesor zresetuje posuvný register tak, že skontroluje a nastaví jeho polohu pomocou výstupu aligment a hodinového vstupu CL (Clock). V druhom kroku procesor rozdá prvú trojcu 8-bit obrazových dát do prvej vrstvy Latchov 1-3 pomocou dátovej zbernice 8bit data bus. Zapisovanie príslušných dát procesor nasmerováva pomocou vstupov En. (Enable). V treťom kroku procesor odošle štvrté 8-bit dáta do Latch 7. V tom istom čase spustí druhú vrstvu latchov pomocou spoločného vtupu En. a posunie register do druhého riadku. Pre vykreslenie celej matice sa tento algoritmus zopakuje 32 krát a musí pokračovať po celú dobu potrebnú na zobrazenie statického obrazu. Tento základný model nedokáže korektne zobrazovať obraz a regulovať jas led. To zabezpečuje až verzia HAS1 SRD-3L4LDR (Hardware Architecture Standard 1 Shift Registers Drivers - 3 Latches 4 Latches Drivers regulator).

S assemblerom za 5 minút.

missing picture of assembler code

Na ovládanie hardvéru hravo postačí AT89C2051. Na obsluhu som navrhol rýchly a jednoduchý program. Zobrazený príklad obsahuje len dve z 32 častí dát, ale algoritmus je funkčný. V prvej časti som nastavil východzie hodnoty portov a potrebných bitov. Potom som pomocou P3.1 sledoval stav výstupu registra a v prípade jeho nesprávneho nastavenia som pomocou P3.2 vytváral hodinový impulz, ktorý postupne posunul register do referenčnej polohy. V ďalšom kroku som na port P1 pravidelne posielal obrazové dáta a volal podprogram, ktorý príslušné dáta smeroval pomocou P3.4 až P3.7 do požadovaného latchu. Na konci jednoho balíčka (1 balíček = 4x 8bit dáta) som vždy zavolal podprogram hodiny, ktorý pomocou P3.3 posunul registre do nového riadka na displeji. Takto som pokračoval, až kým nebolo plných všetkých 32 riadkov na displeji.

A keď som sa ešte trochu viac posnažil, takto to fungovalo:

Hotový model HAS1 SRD-3L4LDR.

missing picture PCB model AS1 SRD-3L4LDR missing picture PCB model AS1 SRD-3L4LDR

V prípade záujmu o zakúpenie dosiek DLM3232, alebo HAS1 SRD-3L4LDR ma neváhajte kontaktovať.