OldComp.cz
https://oldcomp.cz/

NeoPixel Module – 8×8 Matrix
https://oldcomp.cz/viewtopic.php?f=155&t=11741
Stránka 11

Autor:  flyingbird [ 15.02.2023, 10:12 ]
Předmět příspěvku:  NeoPixel Module – 8×8 Matrix

https://z80kits.com/shop/neopixel-module-8x8-matrix/

Nová hračka pro RC2014. Řízení NeoPixel modulů Z80tkou je kvůli brutálnímu časování docela 'čelendž' ale Shirley to zvládla:

https://newstuffforoldstuff.blogspot.com/2023/01/driving-neopixels-with-z80.html

Autor:  Martin1 [ 15.02.2023, 13:10 ]
Předmět příspěvku:  Re: NeoPixel Module – 8×8 Matrix

flyingbird píše:
Nová hračka pro RC2014. Řízení NeoPixel modulů Z80tkou je kvůli brutálnímu časování docela 'čelendž' ale Shirley to zvládla:

Úplne super sú videá, na ktorých môže byť teoreticky čokoľvek, bez akéhokoľvek popisu SW a HW.

Poďme si to rozobrať teoreticky...
Na jedenu LED musia byť odvysielané tri bajty nesúce informáciu o farbe RGB, t. j. 24 bitov
Hraničné hodnoty časovanie sú
Bit 0, úroveň H 200-500ns (350±150), úroveň L 650 - 950ns (800±150)
Bit 1, úroveň H 550-850ns (700±150), úroveň L 450 - 750ns (600±150)
úroveň L však môže byť v extrémnom prípade taká dlhá, aby celý bit netrval dlhšie ako cca 5500ns (a nebol vyhodnotený ako reset)
reset úroveň L 6000ns

Z uvedeného vyplýva že ňa každý bit treba max 5500 ns, teda 19 cyklov na ZXS.

Najrýchlešia možnosť opakovaného uloženia hodnoty z RAM na port, inštrukcia OTIR/OTDR má 21 cyklov, teda na ZXS 5 985ns, čo sa už nedá použiť. RC2014 má však 8MHz, teda je to menej ako polovica.

Čiže ak si do RAM pripravíme dáta, že bity rozdelíme do za sebou idúcich bajtov, teda na jednu LED bude treba 24 bajtov, na maticu 8x8 to máme 1536 bajtov (8x8x24), potom ich odvysielame príkazom OTIR/OTDR, a následne tvar signálu upravíme dvomi MKO (jeden pre Log. 0 a druhý pre Log. 1) podľa stavu bitu, je možné splniť hodnoty časovania, ale len na RC2014.

Záver: Na to, aby bolo ovládať takéto LED cez ZXS, bude treba oveľa komplikovanejší HW ovládač, ktorý bude musieť obsahovať posuvné registre na prevod paralelných dát na sériové.
M1

Autor:  flyingbird [ 16.02.2023, 13:03 ]
Předmět příspěvku:  Re: NeoPixel Module – 8×8 Matrix

https://www.hackster.io/news/driving-neopixels-with-the-z80-ecd044974e96

3.5 MHz ZX Spectrum

Autor:  Martin1 [ 17.02.2023, 12:11 ]
Předmět příspěvku:  Re: NeoPixel Module – 8×8 Matrix

Podľa info z netu, nová rada WS2812 je viac "odolnejšia", takže by mala fungovať aj na ZXS.

Tu je moja úvaha, ako by to mohlo byť.
Log. 0 pulz by bol vytvorený počas jedného T cyklu IO zápisu (285ns)
Log. 1 pulz by bol vytvorený počas celého IO cyklu (cca 2,5 T, 712ns)

Žiadne RC členy, čisté časovanie, len 3 púzdra IO.

M1

Přílohy:
ZXNeo.png
ZXNeo.png [ 41.55 KiB | Zobrazeno 2814 krát ]
neotiming.PNG
neotiming.PNG [ 26.85 KiB | Zobrazeno 2814 krát ]

Autor:  flyingbird [ 17.02.2023, 12:29 ]
Předmět příspěvku:  Re: NeoPixel Module – 8×8 Matrix

Já jsem tu desku dnes objednal. Ale je na ní jen 74138 (adresní dekodér), 7404 a 7432.

Autor:  Martin1 [ 17.02.2023, 12:34 ]
Předmět příspěvku:  Re: NeoPixel Module – 8×8 Matrix

flyingbird píše:
Já jsem tu desku dnes objednal. Ale je na ní jen 74138 (adresní dekodér), 7404 a 7432.

Tam to vyzerá, že časovanie je doladené RC členom.

Autor:  flyingbird [ 21.02.2023, 18:50 ]
Předmět příspěvku:  Re: NeoPixel Module – 8×8 Matrix

Měl jsi pravdu.

https://twitter.com/shieladixon/status/1628072772239781888

Autor:  flyingbird [ 27.02.2023, 13:39 ]
Předmět příspěvku:  Re: NeoPixel Module – 8×8 Matrix

https://twitter.com/l_vanek/status/1629163392815583233
https://twitter.com/l_vanek/status/1629146467821670403

K desce není schéma. K dispozici je SDK a pár příkladů v ASM (ZASM a Z88dk), BASICu a C (opět Z88dk).
L.V.

Stránka 11 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/