I
almost put this in OS development because it's
almost a driver issue. How long until we get a hardware subforum?
Carrying on from
another thread:Octocontrabass wrote:
eekee wrote:
Graphics will likely be another microcontroller dynamically generating the video signal.
Are there any microcontrollers fast enough for that? Ordinary 640x480 VGA requires a 25MHz pixel clock!
eekee wrote:
The other day, I tried to work out if I could get 1080x1920 with only 16KB video memory.
If you can squeeze 128 pixels in each byte, you're good to go. Perhaps something with tiles like VGA text mode instead of individually-addressable pixels?
bloodline wrote:
Octocontrabass wrote:
eekee wrote:
Graphics will likely be another microcontroller dynamically generating the video signal.
Are there any microcontrollers fast enough for that? Ordinary 640x480 VGA requires a 25MHz pixel clock!
I have bit banged a black and white VGA signal using a Teensy 4.0 (600Mhz ARM uC). This only requires three signals (H Sync, V Sync and Video), I couldn’t get the GPIO switching fast enough to change 24 pins per pixel. I did try and even built three resistor ladder DACs on breadboards to tests it
On the Teensy forums, some members have had more success using the uC’s DMA...
Text does seem to be the way to go for large screens. I'd rather have a text-only large display than low-res graphics.
I'll admit I intentionally put off considering bandwidth.
Maybe I won't be able to get the resolution I want, but there are some points I'm hopeful about:
A resistor ladder DAC would make things harder. This is particularly the case with breadboard because it has capacitance between adjacent strips. The uC would have to drive that capacitance through the resistors of the DAC, creating unwanted low-pass filters. The same is true for perfboard if you're not careful with the wires. Primarily for this reason, I'm not considering more than 8 colors at most; one digital signal per RGB wire. I also don't want to put the impedance matching resistors into breadboard for the same reason.
There are some success stories, although not at anything like the size I'm dreaming about.
Actually, while some of them drive VGA, most apparently slow down the pixel clock.
Text-only raises the possibility of extremely non-square pixels. For example, the DEC VT-320 had pixels nearly 3 times as high as they were wide. This combines well with the vertical scanlines of a rotated monitor; a relatively slow pixel clock pixel clock gives tall pixels while the large number of lines gives the fine horizontal resolution. If characters can be redefined, some degree of
graphics can be simulated.
I might have misunderstood, but I think I heard LCD panels can be run at a much slower frame rate than CRTs or the VGA standard. If true, this could ease bandwidth requirements considerably.
That's all I've got for now.
Edit: Worst-case scenario is synthesizing a TV signal for lower bandwidth than VGA.
47x29 text on TV and
24x10 on VGA with the same uC.