OldComp.cz
http://oldcomp.cz/

TFT LCD displej
http://oldcomp.cz/viewtopic.php?f=122&t=8543
Stránka 11

Autor:  Martin1 [ 05.05.2020, 21:38 ]
Předmět příspěvku:  TFT LCD displej

Po pár neúspešných pokusoch sa mi podarilo rozbehnúť prvý modul displeja, ktorý sa predáva v hojnom množstve v Číne.
Pekná periféria aj k 8bitom, ak sa nájde rozumné využitie.
Podelím sa o pár postrehov, ku ktorým som sa ťažko dopracoval.
Na trhu sú hojne zastúpené dva modely, paralelný (s konektormi pre Arduino) a SPI (tomu stačí pár signálov MOSI, MISO, CLK, RESET, D/C, CS). Cena do 10$, kúpil som aj za cca 3,5$. Väčšina má logo MCUFRIEND, aj keď veľa z nich budú iba klony parazitujúce na značke.
Najčastejšími osadenými radičmi sú ILI9341 a HX8347G. Problémom je, že na máloktorom module je typ radiča uvedený.
Typ radiča by sa mal dať zistiť vhodným príkazom (žiaľ môj posledný modul dáva odozvu, podľa ktorej sa typ radiča nedá určiť, akceptuje však všetky príkazy ako ILI9341).
5V compatible znamená že sa dá napájať 5V, logika však musí byť 3,3V, pokiaľ nie je na doske vhodný prevodník úrovní, mnoho modulov je osadených nevhodným obvodom 74HC245 (namiesto LVC, LVX, VHC). Tu odporúčam predradné odpory.
Oba radiče sa dajú prenúť do viacerých farebných módov, základné dva sú 18bitová farebná hĺbka a 16bitová. Teda na vysvietenie jedného bodu treba odoslať dva lebo tri bajty. Vyplnenie celého displeja teda 320x240x2 t. j. 153kB dát.
SPI modul je principiálne pomalší, vyplnenie displeja mi trvá asi 8 sekúnd (Z80 s taktom 10MHz). Záleží na tom, ako je postavený port, či treba maskovať bity a pod. Hardvérový SPI by to poriadne zrýchlil. Alebo siahnuť po paralelnom (už sú na ceste z Číny).
Font 8x8 je bez lupy ťažko čitateľný a treba sa uchýliť k 16x16 (t. j. 20 znakov na riadok, 15 riadkov).
Ovládače pre Arduino a Pi sa dajú nájsť na nete. Pre Z80/8051 som nenašiel a tak som musel napísať vlastné.
M1
(...to be continued...)

Přílohy:
TFT-16x16.jpg
TFT-16x16.jpg [ 19.94 KiB | Zobrazeno 7996 krát ]
TFT-8x8.jpg
TFT-8x8.jpg [ 30.67 KiB | Zobrazeno 7996 krát ]

Autor:  danhard [ 06.05.2020, 07:27 ]
Předmět příspěvku:  Re: TFT LCD displej

Kolik to má uhlopříčku ?

Autor:  Martin1 [ 06.05.2020, 07:37 ]
Předmět příspěvku:  Re: TFT LCD displej

danhard píše:
Kolik to má uhlopříčku ?

Tento konkrétny má 2,4", ale obdobné sú na e-bayi aj 2,8 a 3,5"
Menšie už majú aj slabšie rozlíšenie, napr. 128x160 (1,8") alebo 176x220 (2,0")
M1

Autor:  Martin1 [ 15.05.2020, 17:30 ]
Předmět příspěvku:  Re: TFT LCD displej

Update 1
Druhým cieľom bola vektorová grafika. Hoci pri troche obmedzení by sa dali súradnice vtesnať do 8 bitov (256x240), predsa len som sa rozhodol napísať rutiny pre 16bitové súradnice (z Číny už cestuje displej 640x480). To bola celkom výzva, lebo na to už nestačia 3 registrové páry procesora, medzvýsledky sú teda v pamäti a rutina na vykreslenie čiary už nie je taká týchla. Tak či tak je najpomalšie odosielanie dát do displeja. Na jeden bod je treba odoslať 12 bajtov. Vykreslenie demo obrázku trvalo asi 7,5 sek. (Z80, 10MHz).
M1

Přílohy:
TFT-vector-gr.jpg
TFT-vector-gr.jpg [ 44.84 KiB | Zobrazeno 7751 krát ]

Autor:  Martin8bity [ 16.05.2020, 08:13 ]
Předmět příspěvku:  Re: TFT LCD displej

Co takhle si pomoct nějakým malým CPLD a případně DMA, aby se to posílání zrychlilo?

Autor:  danhard [ 16.05.2020, 11:29 ]
Předmět příspěvku:  Re: TFT LCD displej

Když rychlost omezuje, tak je HW SPI základ.

SPI DMA řadič není špatnej nápad :)

Autor:  Martin1 [ 17.05.2020, 10:00 ]
Předmět příspěvku:  Re: TFT LCD displej

Martin8bity píše:
Co takhle si pomoct nějakým malým CPLD a případně DMA, aby se to posílání zrychlilo?

Na to som síce pomyslel, ale ja som stará škola, v jednoduchosti je krása.
Toto beriem ako laboratórne cvičenia, nemá to (práve pre rýchlosť) praktické použitie. Tieto sériové displeje sú vhodné pre moderné MCU.
Na reálnejšie použitie so Z80 je vhodný modul s paralelným rozhraním.
Hardvérové SPI by bolo fajn, i tak treba ešte použiť signál C/D, ktorý snáď už používajú všetky radiče a zdá sa mi tak trochu zbytočný, lebo stačilo definovať, že prvý bajt v sekvencii bude vždy príkaz a ostatné data - to by zjednodušilo komunikáciu.
M1

phpBB [video]

Autor:  danhard [ 17.05.2020, 15:42 ]
Předmět příspěvku:  Re: TFT LCD displej

Jenže potřebuješ něčím říct, že je to ten první :)

Autor:  Martin1 [ 17.05.2020, 19:35 ]
Předmět příspěvku:  Re: TFT LCD displej

danhard píše:
Jenže potřebuješ něčím říct, že je to ten první :)

na to je tam /CS

Autor:  danhard [ 17.05.2020, 19:46 ]
Předmět příspěvku:  Re: TFT LCD displej

A jsou ty příkazy vždy stejně dlouhé ?

Autor:  Martin1 [ 17.05.2020, 21:02 ]
Předmět příspěvku:  Re: TFT LCD displej

danhard píše:
A jsou ty příkazy vždy stejně dlouhé ?

ILI9341 má za príkazom 0-5 parametrov, HX8347 má za príkazom vždy len jeden parameter.

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