Po ilgo laiko tarpo, pagaliau prisėdau prie savo RGB LED matricos. Kiek pavargau ir perrašiau visą matricos “taimingo” schemą į vieną Verilog modulį. Testinė schema buvo padaryta iš atskirų loginių elementų. Pakeliui išsisprendė keletas (bent jau teorinių) “gliukų” oscilogramose ir šiaip, schema užima mažiau vietos FGPA viduriuose.
Kol kas organizuotas vieno bito “frame” buferis (kadro atminties buferis). Duomenys iš FPGA vidinės atminties pastoviai pumpuojama į RGB matricą. Pakeliui išprestas rebusas dėl skirtingo RGB LEDų išsidėstymo ir “logiškos” video atminties. LEDai sulituoti kiek kitaip, ir video atmintis gaunasi kiek iškreipta, panašiai kaip ZX Spectrum kompiuteryje. Geriau jau schemoje viską išburti, nei ateityje vargti su paveikslėlio paruošimo softu.

(Tie snukučiai jau iš pradžių buvo su pasuktom burnom, va paveiksliuko “source”:
. Dar įtariu nesklandumus Basic’o programoje).
Pakeliui teko pasirašyti softą MS Visual Basic’e, kuris paruošia video buferio atminties “dump’ą” kurį galima užkrauti į FPGA naudojant Quartus programinę įrangą.
Iškilo kelios naujos problemos:
- Raudona spalva žymiai prislobsta jei uždegami visi 16 diodų ant tos pačios mikroschemos.
- Skirtingų mikroschemų “blokai” turi skirtingus baltos spalvos balansus- matosi “siūlės” kai spalva pereina iš vieno bloko į kitą.
- Ir jau minėta bėda su žalia spalva- ji linkusi geltonuoti prie didesnio intensyvumo.
- Pastebliu mikro “gliukus” mėlynoje spalvoje- kažkokie, vos įžiūrimi, mėlynos spalvos vaiduokliukai.
Šiaip, aš išradinėju dviratį, bet užsienėtis kuris paliko komentarą mano puslapiuose kad jis irgi turi tokias pat matricas net nesiruošia pasidalinti kodu. Spaudžia. Nu ir eina jis peklon, man savo lameriško kodo negaila. Todėl viska skelbiu kaip “freeware”. 🙂
FPGA source code: RGB matricos 1bito buferis Quartus archyvas ir frame buferio turinys.
Bendras vaizdelis kaip atrodo schema: Matricos sujungimo schema pdf dokumentas.
Sekantis etapas ir planai:
Pilnas RGB, bet jau kelių bitų spalvų lygiai, nes su aštuoniom spalvom 21 amžiuje kiek primityvu… 🙂
























