Electronics > Projects, Designs, and Technical Stuff
PSoC 5LP VGA MiguelVP tutorial - question
(1/1)
obiwanjacobi:
First I would like to thank Miguel (@miguelvp) for his excellent work on this tutorial:
https://www.eevblog.com/forum/projects/no-bitbanging-necessary-or-how-to-drive-a-vga-monitor-on-a-psoc-5lp-programmabl/?all

I finally came around to playing with it and ran into an issue.
I took the last full project code (zip 9) and added the DmaMain code to that - that works - after switching to the IMO (yes, it jitters like hell, but it works).
Then I configured the VideoController (v1.0) to work for 640x480@60Hz and changed the pixel clock to 25.175MHz (actually 26MHz, but my monitor seems fine with that), I got the PLL and MASTER at 76Mhz.
I added a custom linker script because the command line option for splitting off CPU and DMA SRAM did not work for me (compile/link errors). I also moved the stack and heap to the CPU ".ram".
I reassigned the pins to fit my test setup.

That is were I noticed that only the start of each line is being written and characters are skipped. The rest of the line repeats the 'last' character for the rest of the line.

After debugging and changing  things around in order to understand what is going on I think the problem is that the line-DMA is writing it's bytes to the DMA_OUT Control Register too fast. If I increase the line-DMA burst from 1 to a higher number, less characters are displayed (per line) and more are repeated at the end (per line)...



Question that arises is: Is there any way to sync clocking in bytes from (DMA) memory into hardware...?

Context:
My goal is to create a 80x+/-40 color character VGA device that can be driven by a Z80 bus.
I would like to get rid of the line duplication and perhaps run with a (double) scan line buffer, instead of a (two) complete frame buffer(s).

[Not sure what code to post, ask if you need more info]
obiwanjacobi:
There does not seem to be any other mechanism of synchronization between DMA and the hardware than the Bus-Clock.
It is the Bus-clock that drives the DMA. So if you ensure that the Pixel-clock and the Bus-clock are the same (frequency) it seems to work.

But the DMA is going way slower than it could be...
Navigation
Message Index
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod