electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » DIY Hardware and Software » Video synthesis and manipulation
VGA Lunetta Synth Building Blocks
Post new topic   Reply to topic
Page 1 of 1 [5 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
dianusindustrial



Joined: Sep 05, 2015
Posts: 8
Location: Canada

PostPosted: Fri Oct 02, 2015 1:16 pm    Post subject: VGA Lunetta Synth Building Blocks Reply with quote  Mark this post and the followings unread

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:

Posted Image, might have been reduced in size. Click Image to view fullscreen.

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
View user's profile Send private message
cerkit



Joined: Nov 17, 2016
Posts: 17
Location: Montgomery, AL USA

PostPosted: Fri Dec 16, 2016 12:11 pm    Post subject: Re: VGA Lunetta Synth Building Blocks Reply with quote  Mark this post and the followings unread

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
View user's profile Send private message
dianusindustrial



Joined: Sep 05, 2015
Posts: 8
Location: Canada

PostPosted: Sat Dec 17, 2016 3:53 am    Post subject: Reply with quote  Mark this post and the followings unread

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:

Posted Image, might have been reduced in size. Click Image to view fullscreen.

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! Very Happy
Back to top
View user's profile Send private message
cerkit



Joined: Nov 17, 2016
Posts: 17
Location: Montgomery, AL USA

PostPosted: Sat Dec 17, 2016 11:37 am    Post subject: Wow, thanks for the response Reply with quote  Mark this post and the followings unread

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:

Posted Image, might have been reduced in size. Click Image to view fullscreen.

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! Very Happy


This is awesome. I'm working on CMOS Lunettas and this would be a great addition.
Back to top
View user's profile Send private message
jondent



Joined: Oct 04, 2013
Posts: 8
Location: Australia

PostPosted: Sat Jan 26, 2019 12:52 am    Post subject: Reply with quote  Mark this post and the followings unread

Great project. Lunetta rules
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic
Page 1 of 1 [5 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » Video synthesis and manipulation
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use