Author |
Message |
dianusindustrial
Joined: Sep 05, 2015 Posts: 8 Location: Canada
|
Posted: Fri Oct 02, 2015 1:16 pm Post subject:
VGA Lunetta Synth Building Blocks |
|
|
Hey everyone, I have decided to pursue a (hopefully) simple project of designing a Lunetta panel that will receive incoming CV signals to a R,G, and B channel and output a resulting 640x480 60 hz VGA signal. The challenges as I understand them are generating the required timing pulses for the H-Sync, V-Sync and Pixel clock to correctly display a locked image.
There seems to be a few projects in this forum that have addressed qualities of this idea, hopefully I am able to fill in some gaps for those who are also interested in this idea. I will be satisfied if the results are glitchy and lo-fi, but I would aspire not to create any mis-information in this resource. Please feel free to correct me or fill in any gaps I am missing.
First to define the technical parameters of the signal we need to generate I have consulted a few documents:
http://tinyvga.com/vga-timing/640x480@60Hz
http://io.smashthestack.org/arm/digitalcold/
http://lslwww.epfl.ch/pages/teaching/cours_lsl/ca_es/VGA.pdf
The VGA image is defined by the timing of the pixel clock which is specified as having a frequency of 25.175 MHz (simplified in the referred documentation to 25 MHz) This frequency describes the time (40 ns) required to draw a single pixel in the frame. These are drawn from left to right in rows 60 times per-second at this refresh rate.
The signal draws 800 pixels in a row, 525 times per second. This is reduced to the visible area of 640x480. The monitor follows H-Sync and V-Sync signals for the timing of new rows and frames. H- Sync, specifies when a new row of pixels is created, the frequency of this clock for VGA standard is (31.469 khz) drawing at a speed of 31.778 µs per-line. Each new frame is created after the V-Sync signal pulse with a frequency of 59.94 hz or 16.683 ms per-line.
The sync pulse (which is negative polarity) of V-Sync and H-Sync control how acurately the frame is drawn on the screen. Referring to Karczilla’s thread on the 555 Pong game we can see how the sync can be created using timer chips to form an monostable vibrator:
Compared to the Composite Signal generated by this signal, VGA sync is not summed into a single signal. H-Sync and V-Sync occupy separate pins. It is comparatively simpler then to generate. Conceptually a clock signal at the significant timing speeds can be generated by two 555 oscillators and a pulse stretcher (V-Sync 32 khz, and H-Sync 60 hz) I believe this can be accomplished using a one-shot 555 monostable circuit or to introduce a CMOS element a NOR gate based monostable circuit (using CD4001)
The other timing issue to address it the blanking period of the video signal. Within each scan-line there is a buffer area in which no information is drawn. We can equate this to the difference between the full frame resolution (800x525) to the visually represented frame (640x480) The blanking periods before and after the RGB information is introduced is called the front porch and back porch. It is necessary then to switch the RGB signal off during these periods (?) CMOS switching could be used to turn the data on and off. Although, I don’t know what happens if data is written during this period?
The last thing to consider is the RGB voltages used to generate the image. VGA specification states that these pulses should not exceed 0.7v, therefore a voltage divider could be used between the CV inputs and the VGA output signal. A single CV source could be used and divided with filtering or 3 separate CV sources could be used for each channel.
Hopefully someone finds this interesting. I’m not sure if I will finish building this but I wanted to share what I have collected so far toward this idea. |
|
Back to top
|
|
|
cerkit
Joined: Nov 17, 2016 Posts: 17 Location: Montgomery, AL USA
|
Posted: Fri Dec 16, 2016 12:11 pm Post subject:
Re: VGA Lunetta Synth Building Blocks |
|
|
dianusindustrial wrote: | ...Hopefully someone finds this interesting. I’m not sure if I will finish building this but I wanted to share what I have collected so far toward this idea. |
I find this very interesting. Did you make any progress on this? I'd like to start hacking with video signals.
I ripped the LCD out of an old broken laptop and now I'm looking for ways to make it do "interesting things", hopefully learning some video theory along the way. |
|
Back to top
|
|
|
dianusindustrial
Joined: Sep 05, 2015 Posts: 8 Location: Canada
|
Posted: Sat Dec 17, 2016 3:53 am Post subject:
|
|
|
Hi cerkit! Glad someone finally showed interest on what I had wrote about the subject. Since writing I have made two significant breakthroughs in designing a simple Lunnetta video synth.
First: I found another design for a more cohesive sync generator via this hackaday project: https://hackaday.io/project/9782-nes-zapper-video-synth-theremin/log/32282-vga-porching;cid=1481971505084-221
It uses several TTL chips so perhaps closer in character than the 555 circuit. I also had a separate discussion in the tagboard forums about creating a strip-board layout that would be much easier to follow for contstruction: http://guitar-fx-layouts.42897.x6.nabble.com/VGA-Sync-Generator-td31501.html
Second: I found a quick and easy way of generating a VGA sync and VGA video signal via cheap sync board that can be found on ebay/aliexpress:
They look something like this and can be found for under 10 dollars US. The trick is to short the RGB input pins on the board to CV. This can be done in under 10 minutes and produces some interesting results. Someone has documented this approach here: https://jonasbers.com/chav/
Hopefully that helps get you started in Lunetta video! |
|
Back to top
|
|
|
cerkit
Joined: Nov 17, 2016 Posts: 17 Location: Montgomery, AL USA
|
Posted: Sat Dec 17, 2016 11:37 am Post subject:
Wow, thanks for the response |
|
|
dianusindustrial wrote: | Hi cerkit! Glad someone finally showed interest on what I had wrote about the subject. Since writing I have made two significant breakthroughs in designing a simple Lunnetta video synth.
First: I found another design for a more cohesive sync generator via this hackaday project: https://hackaday.io/project/9782-nes-zapper-video-synth-theremin/log/32282-vga-porching;cid=1481971505084-221
It uses several TTL chips so perhaps closer in character than the 555 circuit. I also had a separate discussion in the tagboard forums about creating a strip-board layout that would be much easier to follow for contstruction: http://guitar-fx-layouts.42897.x6.nabble.com/VGA-Sync-Generator-td31501.html
Second: I found a quick and easy way of generating a VGA sync and VGA video signal via cheap sync board that can be found on ebay/aliexpress:
They look something like this and can be found for under 10 dollars US. The trick is to short the RGB input pins on the board to CV. This can be done in under 10 minutes and produces some interesting results. Someone has documented this approach here: https://jonasbers.com/chav/
Hopefully that helps get you started in Lunetta video! |
This is awesome. I'm working on CMOS Lunettas and this would be a great addition. |
|
Back to top
|
|
|
jondent
Joined: Oct 04, 2013 Posts: 8 Location: Australia
|
Posted: Sat Jan 26, 2019 12:52 am Post subject:
|
|
|
Great project. Lunetta rules |
|
Back to top
|
|
|
|