Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20641 Discussions

Connecting a Graphics LCD to Max10

Altera_Forum
Honored Contributor II
1,598 Views

I am looking to wire up a small 1/4 VGA LCD to my DECA board, I'd like to show some simple graphics (labels, maybe some text boxes, indicators, etc)...No animation or anything like that. I do not want to use any HDMI (such as a computer monitor), but an actual wired hookup. Ae there any straightforward guides or examples for such an endeavor?

0 Kudos
15 Replies
Altera_Forum
Honored Contributor II
788 Views

Hi, fast solution is to hook up a cape for BB, then you assign pin and adapt university program or you can write your own display code. 

http://www.4dsystems.com.au/product/4dcape_43/ 

Best regards
0 Kudos
Altera_Forum
Honored Contributor II
788 Views

Seen after reading again, quarter VGA seems as smaller LCD, this way different interfaces are present, LCD parallel or computer based both parallel or serial, which device you are thinking about? 

Regards
0 Kudos
Altera_Forum
Honored Contributor II
788 Views

Thanks, but the idea is to use the power of the MAX10 to run the LCD display. I am under the impression that it is powerful enough do so, especially for a 5 or 6 inch touch display...with the FPGA configured as a LCD display controller & graphics processor. The LCD would have about 20-24 RGB lines & of course various clock & sync signals. 

 

Just want a few touch control buttons and maybe a few sliders to interact with some numeric text boxes...(no animations or any "smart phone" scrolling features)....to feed values into the FPGA and display processing results from the FPGA. Are there any tutorials/examples to take a look at, or to see what tools for graphics Altera has? I'd think setting up a small control panel would be pretty popular anywhere the max10 is used in an embedded situation--but I am having trouble finding any useful information, or even examples of this.
0 Kudos
Altera_Forum
Honored Contributor II
788 Views

HI, if full Linux with HD support over HDMI can be run on this board, image processing merging images and videostream from camera why it cannot support it on a smaller TFT with reduced stream speed? 

I use TFT on this board, I simply plugged on the 4D model I sent you the link, it work very fine with all my IP cores and NIOS. 

Can someone can port TFT Linux driver too but this is a time consuming task and I cannot do myself for now. 

About simple images check what you need and scale IP cores to fit your need. 

Nothing can be said, you can use a blitter to display block from a flash or compute someting from embedded processor then display dot by dot. 

Regards
0 Kudos
Altera_Forum
Honored Contributor II
788 Views

documentation from Terasic 

http://www.terasic.com.tw/cgi-bin/page/archive.pl?language=english&no=944&partno=4 

 

you can find some other examples on Arrow site.
0 Kudos
Altera_Forum
Honored Contributor II
788 Views

 

--- Quote Start ---  

documentation from Terasic 

http://www.terasic.com.tw/cgi-bin/page/archive.pl?language=english&no=944&partno=4 

 

you can find some other examples on Arrow site. 

--- Quote End ---  

 

 

 

I don't see anything on the Arrow site, other than to order parts---where are you looking (link)? Do you have an example of setting up a simple control panel? A few buttons and siders perhaps? The Terasic manual doesn't mention how to do this at all, or seem to create any kind of display graphics. Where does Altera keep its graphics control examples?
0 Kudos
Altera_Forum
Honored Contributor II
788 Views

Is there a quick way to hook up a 4.3" display and show some simple messages, even without touch control..looking for some working examples

0 Kudos
Altera_Forum
Honored Contributor II
788 Views

Hi, Browsing arrow site result empty, I was remembering file of workshop was there but time help forget details. 

Here are general board reference: 

http://www.alterawiki.com/wiki/deca
0 Kudos
Altera_Forum
Honored Contributor II
788 Views

From Rocketboard (Deca manufacturer or project involved) reference design 

https://rocketboards.org/foswiki/view/projects/graphicsonalteramax10arrowterasicdecaboard
0 Kudos
Altera_Forum
Honored Contributor II
788 Views

and there is reference design workshop I attended at Arrow. 

http://www.alterawiki.com/wiki/deca 

Fastest way as I said is to hook up 4DSystems cape, I don't know if something ready exist for DECA. 

My design drive that display but sorry I canot publish due it is not free, I wrote in it's entirety after trying university program. 

I can post interface module with pin names and script to assign 4DSystem display cape. 

regards
0 Kudos
Altera_Forum
Honored Contributor II
788 Views

Thanks for the link, however it does not look correct...there should be 8 wires for red, green and blue for the LCD, and timing signal(s). This is for an LCD display, not a video system (it appears this is for HDMI). Also, this seems to just be showing a picture. How is the message (such as "This display is now working!") set up? Is there an Altera function to spit out a message? I don't see where any messages are being created. This should form a simple status monitor/control panel, ultimately with push buttons & some sliders to control things.

0 Kudos
Altera_Forum
Honored Contributor II
788 Views

Hi, to display a massage you need a character generator and logic to perform display or overlay. 

University program appear to doing that, you can find in quartus IPCore library. 

As I wrote, I checked this to save time, at last I completely rewrote my IPCore from scratch. 

University program are great if you have time to study it and learn how it work and how to solve some task and you have no idea how to code them. 

IN my point of view I was developing an existing obsolete IPCore about two video controller to be view on an LCD, so first I wrote LCD controller to generate timing then some test core then display from memory. After that all logic simulating graphics and character display. 

Enjoy what you can find for free, many example are there.
0 Kudos
Altera_Forum
Honored Contributor II
788 Views

Enjoy what you can find for free, many example are there. ????????????????????????? 

 

WHERE ARE THESE EXAMPLES (that was my question, if you recall)??...PLEASE PROVIDE SOME LINKS, AT A MINIMUM BE ABLE TO DISPLAY A SIMPLE MESSAGE, AND CHANGE THE COLOR OF THE TEXT.
0 Kudos
Altera_Forum
Honored Contributor II
788 Views

Hi, instead of screaming about why you don't try to study some examples come from terasic, rocketboard and altera? 

University program is documented and if you don't have the skill to develop a video system then you can use what is provided for you. 

Open QSys, then check on left IPCores,  

library -- processors and peripherals -- peripherals -- video sync generators 

place on qsys, then customize choosing lcd 4.3 and you have sync for <lcd module, then you must attach all other module as is documented on. 

I am not altera internal so my spare time is limited and I cannot design a module for you, try also free ip core, many example are on web, you MUST read documentation from altera. 

best regards
0 Kudos
Altera_Forum
Honored Contributor II
788 Views

I am sorry, I looked at rocketboard, altera, etc---but I sill don't see such examples. Say I want to say "HELLO WORLD" in top left corner in red & "THIS IS A TEST" in the bottom right in Green..I am not seeing how this is done (or even close ) in any of these examples. You keep saying there are many examples--can you point to one that actually does? This was my original question. I do NOT want to show a video, picture file ,HDMI...just put up various messages messages on the RGB screen. This should be a very common thing, but for some reason I don't see anything about it--such as what functions are used. I am not certain what you keep mentioning about the "university" 

 

For example, here is something for another board I have--what is the equivalent for MAX10 (even if it looks very different in command structure): 

 

MyFont = Resources.GetFont(Resources.FontResources.NinaB); 

//clears the memory and not the display 

LCD.Clear() 

 

// print some text on the screen 

LCD.DrawText("Still Amazing!", MyFont, Colors.Red, 100, 20);
0 Kudos
Reply