Sida 1 av 1
Grafisk LCD, PIC och extern RAM
Postat: 23 november 2012, 08:52:40
av sir88alex
Har tidigare gjort lite enkla småprojekt med PIC processorer innehållande bl.a. 2x16 tecken LCD displayer. Nu skulle jag vilja lära mig lite mer och har siktat in mig på att lära mig använda externt RAM och grafiska displayer. Tänker mig sätta ihop något kort med en PIC, ett RAM, en grafisk display och några I/O-pinnar för utökade funktioner.
Display jag tittat på är
denna. Billig, 320x240 pixlar och i färg. Dessutom möjlighet att senare lära sig använda touch om jag skulle vilja. Problemet är att jag har haft svårt att hitta dokumentation om displayen. Har googlat lite och inte hittat några direkta exempel eller forumdiskussioner rörande just den displayen. Därför undrar jag vilka modeller ni som använt liknande displayer valt? Finns det någon populär modell som är lätt att hitta information om, diskussioner om och exempel?
Min andra fråga gäller hur man lägger upp hela systemet och mjukvaran. Vill man bara visa bilder antar jag att det är så pass simpelt att man lagrar bilderna i minnet och sedan låter processorn hämta och skicka bilderna till displayen? Hur gör man om man vill har rörliga bilder eller text? Låter man processorn beräkna bilden(texten) beroende på inmatning och sedan skicka bilden till displayen? Hur har ni gjort som byggt liknande "system"?
Re: Grafisk LCD, PIC och extern RAM
Postat: 23 november 2012, 09:20:48
av Icecap
Det anges vilken displaycontroller som finns på, leta upp datablad för den och spara till senare användning.
Ett helbild är på 320*240*2 bytes = 150kB, för att ha fler bilder ska det alltså finnas en hel del minne. Det finns dock seriella flash-minnen om du vill ha många bilder men rörliga bilder (typ film) blir nog väldigt besvärligt att få med skaplig uppdateringshastighet.
Men du kan ju fundera på "sprites", alltså grafiska småbilder som kan placeras/flyttas lite som man vill, om du vill ha animerade funktioner. Tänk det animerade timglas som används vid t.ex. Windows eller "vänta-cirkeln" vid andra funktioner.
Jag har lust att leka med ett liknande display också, jag skulle då göra funktioner för att rita en punkt, sedan för att rita en linje mellan x1,y1 och x2,y2 och sedan boxar osv. Då kan man rita bilder med "vektorgrafik" vilket vill spara mycket minne.
Men hur du löser allt beror på vad du vill göra, inget annat.
Re: Grafisk LCD, PIC och extern RAM
Postat: 23 november 2012, 11:25:18
av sir88alex
Man lagrar alltså färginformationen för varje pixel och skriver det till displayen som sedan sköter adressering och inkrementering av adressen automatiskt? Så mikrokontrollern behöver bara pumpa ut 16 bitar färginformation och kontrollera strobarna?
Med tanke på timglaset. Är det möjligt att bara uppdatera en pixel på hela bilden eller pixlarna i ett litet område? Säg ett timglas motsvarande 20x20 medan resten av bakgrunden lämnas i tidigare "state".
Har inga större krav på prestanda eller vad jag ska göra. Hela "projektets" enda syfte är att lära sig så mycket som möjligt. Kunna visa någon bild, rita lite streck och någon ruta samt få ut lite text så är jag helnöjd. Sen om uppdateringsfrekvensen blir 0.5 eller 50hz spelar ingen större roll.
Datablad till just den displayen jag länkade till har varit svårt att hitta och det lilla jag hittat innehåller tunnt med information. Skulle därför vara jättetacksam för förslag på andra displayer som är mer väldokumenterade. Det kanske finns någon kontroller för GLCD som är vad HD44780 är för dom enklare displayern?
Re: Grafisk LCD, PIC och extern RAM
Postat: 23 november 2012, 11:38:38
av ds77
Re: Grafisk LCD, PIC och extern RAM
Postat: 23 november 2012, 14:00:51
av Icecap
Svårt att hitta databladet? Efter 15 sekunder kom
DENNA fram...
Re: Grafisk LCD, PIC och extern RAM
Postat: 23 november 2012, 16:13:29
av sir88alex
Jo, det databladet har jag också hittat. Vad jag menade var ett datablad för hela displayen. Jag har sökt på modellnumret YX32B och hittar då bara
detta vilket tom har fel kontroller.
Jag letade kanske efter något som inte finns. Problemet som jag såg det med det databladet du länkade var att det verkar ta upp alla signaler som finns i hela kontrollern. Tittar man på kapitel 6 - Pin description så nämns en mängd signaler (tex VSYNC och HSYNC) som även verkar gå ut från block schemat. Men tittar man på displayens pinout så innehåller den inte dessa signaler. Jag fick därför för mig att det borde finnas ett enklare datablad som beskriver displayen mer övergripligt med de signalerna jag behöver kontrollera. Vad kontrollern sedan gör med VSYNC och HSYNC var jag i det läget inte intresserad av utan räknade med att kontrollern sköter själv. Hoppas du förstår min tanke.
Men bara så jag inte missförstått något. Displaykontrollern sköter VSYNC och alla de liknande signalerna?
Re: Grafisk LCD, PIC och extern RAM
Postat: 23 november 2012, 16:28:18
av Icecap
Den displaycontroller fungerar så att man ställer vissa register till rätt värde, sedan fungerar den ung. som en minneskrets där man skriver i R, G och B på olika minnesarean. Kretsen sköter allt med att scanna displayen så själva kretsen är helt enkelt videokortet för displayen och du ska skriva till det väl dokumenterade interface för att få den att göra rätt.
Att databladet beskriver allt om kretsen är väl knappast ett problem, de signal du inte har på interfacen kan du ju bara strunta i eller hur?
Re: Grafisk LCD, PIC och extern RAM
Postat: 24 november 2012, 12:57:33
av sir88alex
Absolut! Att databladet är detaljerat är ju bara positivt. Det var jag som inte förstod det helt och hållet och eftersom jag inte gjorde det var jag inte säker på om jag bara kunde "strunta! i de signalerna. Tackvare dina förklaringar är det mycket klarare nu och iom att databladet är okej så blir det nog att beställa den displayen.