Po kažkiek tai eksperimentų ir vienos mikroschemos mirties padaryta 1/5 mano LCD kontrolerio projekto. Kol kas veikia tik beveik visi timing’ai, duomenys kol kas perduodami iš flash ROM mikroschemos. Kol kas yra šie bugai: dešinėje ekrano truksta 4 stulpelių (dingo vienas baitas informacijos), truksta 3 eilučių apačioje (ir dėl to pasidaro brukšnys per vidurį ekrano), visas vaizdas pasislinkęs per vieną eilutę (o čia jau ne bugas, o displėjaus ypatybė: jis pirmąja eilutę rodo prieš kadrų sinchroimpulsą).
Čia bendras darbo lauko vaizdas: impulsinis maitblokis (+5V ir ~-15V), 20.48MHz osciliatorius (čia nesvarbu, nes dažnis vistiek padalinamas ar tai 4 ar 8 kartus), ATMEL 29C010A “Video ROMas” ir ALTERA FLEX EPF10K10TC144-3 FPGA kuris ir viską daro. Raudoni brūkšneliai ant “breadboard” tai 47K rezistorių rinkiniai “patempti” duomenų ar adresų linijas link 1 ar 0.
Kiek didesnis ekrano vaizdas. Kai kurie bugai yra ne FPGA “schemoje”, bet kiek itariu MS Visual Basic programoje kuri apdoroja vaizdą ir generuoja Video bitmap.
To be done: išgaudyti bugus (ir pridaryti naujų 🙂 ), sukurti kompiuterio interfeisą (dar nežinau kokį), pritaikyti vietoje ROM RAMą (iš pradžių statinį RAMą, o vėliau kokį dinaminį, kad pamažinti laidų skaičių). Dar vėliau- padaryti spalvotą vaizdą.
Tarpas tarp vaizdų pamažėjo iki vieno pixelio, dešinėje tarpelis iš keturių pikselių dingo. Tai buvo Visual Basic programos klaida. Liko tik panelės “ypatybė” t.y. kad ekranas prasideda nuo antros eilutės. Tas tarpelis irgi kažkiek šviesesnis. Neaišku kodėl…
Ir versija be klaidų:
Čia vienas iš darbinių LCD kontrolerio schemų kuri sukišta į FPGA čipą.
O čia gabaliukas simuliacijos:
Oho, naudojat mano projektuotą breadboard’ą FPGA’ui 🙂
Jaučiuosi toks pagerbtas.. ;))
[…] daiktus (čia retas reiškinys), radau savo seną eksperimentą su FPGA/CPLD ir LCD (tik ekranas jau buvo kitas). Tas eksperimentas buvo nedabaigtas dėl žinių, noro ir kantrybės […]