Šio LCD ekraniuko paleidimas užtrūko. Ir dėl kinų kaltės. Aprašyme buvo parašyta- maitinimas 5 arba 3V. Apžiūrėjau PCB- tikrai, stovi nedidelis reguliatorius, pajungus maitinimą viskas gerai- 3.3V stabilizuotas. Panašiai kaip ir mažesniam ekranėlyje kurį jau aprašiau. Tačiau viena subtilybė- kai gamino mažesnį ekraną, duomenų laiduose sumontavo rezistorius, todėl jungiant prie 5V MCU signalų lygiai daugmaž susitvarko. Ant didesnio ekrano PCB tų rezistorių nėra, todėl per duomenų šyną ir apsauginius diodus, ekrano kontroleris “užsimaitina” iki maždaug 5V. Kas baisiausia, kontroleris veikia- iš jo galima nuskaityti registrus. Netgi mano surastas softas nuskaito kontrolerio modelį ir programa praeina check-point. Bet taigi vaizdo tai nėra! Gal atitinkamai perprogramavus kontrolerį koks nors vaizdas ir atsirastu, bet datašytas sako- 5V niu-niu. Teko sudeginti milijardą nervinių ląstelių ir staiga ekranas pradėjo dirbti:
Tas didesnis ekranas, su raudona plokštele tai 320×240 pix SPI ekraniukas su ILI9341 kontroleriu. Palyginkit seno straipsnio nuotrauką ir šią nuotrauką. Iškarto matosi, kad rezoliucija šio ekraniuko žymiai geresnė.
Aišku source kodas AVR šeimos procesoriukams, ir sukompiliuotas HEX skirtas mano universaliai PCB ir ATMEGA16 @12MHz. SPI dažnis maksimalus- 6MHz (Kiek parodė vėlesnis eksperimentas SPI dažnis galimas ir didesnis, LCD ekraniukas dirba ir su ~24MHz CLK dažniu. Todėl čia dažnis maksimalus kokį išspjauna mano ATMEGA16 plokštė). Naudojamas hardwarinis SPI.
ILI9341 LCD SPI source code AVR-ATMEGA16 ir hex.
Gėris ir grožis!
va
Čia per USB užsipumpavo. Bet perdavimo greitis labai mažas. Apie 12 kilobaitų per sekundę.
Tokiam paveiksliukui galima būtų pritaikyti RLE kompresiją, AVR procesorius lengvai ją pavežtų. Ir sparčiau persiduotų. Na, bet čia šiaip, mintis.
Galima tik ar verta. Softwarinis USB yra iš esmės lėtas, o ir SPI interfeisas neturbininis. 6MHz clock tai ne kiek mano naudojamo procesoriaus top dažnis, bet pačio ekraniuko riba. Pats ekraniukas turi ir kitokius, daugialaidžius informacijos perdavimo metodus, bet čia jau reikėtu viską perlituoti.
Šis paveiksliukas yra 320x240x 2 baitai spalvom (vienas baitas kaip ir jau išmestas). Kažkada bandžiau RLE, tai tokie netgi “animaciniai” paveiksliukai sunkiai spaudėsi. O “gyvas” paveiksliukas išviso nesispaudė.
Nu jo, lėtokai paišo. Bet kaip koks skaitmeninis fotorėmelis sueitų 🙂 Tik mažokas.
Tačiau paišant tik ekranėlio zonas lėtumas kaip ir netrukdo.