Page 2 of 2

Re: VGA signal 'splitter' ?

Posted: Wed Dec 03, 2008 1:43 pm
by Bigglez
Trepan wrote:
Bigglez wrote:A good way to impliment your idea is to use a PC
chassis and install a separate VGA graphics board
for each satellite (some graphics cards already allow
two separate monitors to be connected). The PC
chassic has all the power supplies and hardware
for the project, which is now a (massive) software
task.
How do I send only the portion of the screen I want to each satellite screen? I imagine I need to somehow define a window inside of the 'bigger picture' in terms of pixels and then only that portion would get sent on port 1 to screen 1 for example. another portion gets sent only on port 2 the same way I guess?
That is exactly what I had in mind. With a ping-pong
memory (two planes) one is written with all the data
and the other is read selectively with partial data.
They swap for the next frame (i.e. 60 - 120Hz refresh).
The readout is always slower (less pixels) and smaller
(a fraction of the original data), so the hardware needs
two timebases (one synched to the input, a second
free-running and at the output rate).

The remaining issue is that you have requested
several monitors for output, and they need to be fed
fresh data all the time. One solution is to 'over sample'
the memory so that multiple reads can be made and
fed to the monitors.

For example, to serve four satellite monitors, read
the first and hold it while the second, third and fourth
are read and held.

Each reading from a different address.

Or, the main memory is read selectively in sequence and
the data transferred to dedicated but separate memories
for each satellite monitor.

Most (if not all) digital signal manipulation takes multiple
clock cycles, and introduces delays. This is quite noticeable
if the sound is out of sync (flat panel TVs have adjustable
sound delays for lip-sync).

Interesting project!

Re: VGA signal 'splitter' ?

Posted: Fri Dec 12, 2008 1:05 pm
by muntron
Trepan wrote:This is perfect. I only really have one other question. How do I send only the portion of the screen I want to each satellite screen? I imagine I need to somehow define a window inside of the 'bigger picture' in terms of pixels and then only that portion would get sent on port 1 to screen 1 for example. another portion gets sent only on port 2 the same way I guess?

Just wondering what would actually do the dividing up of the big picture.

Thanks!
You would, :smile: or at least your circuit. All it take is a little arithmetic. If your high Res image is 2000 x 1000 and you want to display it on four monitors, each will be 1000 x 500. The first will display the upper left hand side of the frame buffer and the last the lower right hand side. If you don't need to vary the window the math is quite simple.