- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi everyone,
I'm doing SG-DMA for streaming data to LCD. This is how I do, SG-DMA memory-to-stream SOPC connection. { descriptor read and write-->DDR-SDRAM read data -->DDR-SDRAM } created descriptor using malloc. descriptor 0: current descriptor pointer: descriptor[0] next descriptor pointer: descriptor[1] SOP(start of package) = 1 EOP(end of package) = 0 descriptor 1: current descriptor pointer: descriptor[1] next descriptor pointer: descriptor[0] SOP(start of package) = 0 EOP(end of package) = 1 PARK MODE ENABLE so this configuration should introduce a loop chain for the descriptor. However its not working unless i put the loop only inside 1 descriptor(current descriptor pointer: descriptor[0] next descriptor pointer: descriptor[0]). I just want to make the data stream continuous base on this 2 descriptor. Is it I lost something?? Thanks for any reply. :oLink Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Additional info from my question:
descriptor(0) current_descriptor : descriptor[0] next_descriptor : descriptor[1] descriptor(1) current_descriptor : descriptor[1] next_descriptor : descriptor[2] descriptor(2) current_descriptor : descriptor[2] next_descriptor : descriptor[2] *if I create descriptor above, the data keep looping sending descriptor(2), *if I change next_descriptor(2) like below to get a loop, descriptor(2) current_descriptor : descriptor[2] next_descriptor : descriptor[0] *this one will cause the sgdma stop sending continuous data stream. :confused:- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
additional info:
DDR(150MHz) -> SG-DMA (100MHz) -> VSYNC DRIVER(100MHz) SGDMA send 32bits,RGB converter convert it to 24 bits per 1 cycle, and the sync driver covert the 24 bits and send 8 bits for 3 times.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Are you using the default SGDMA (which is "kinda funky"...nice way to put it) or the one described here?
http://www.altera.com/support/examples/nios2/exm-modular-scatter-gather-dma.html Use the latter and you'll be happier....even if you have to bit-bang the driver for it. Regards, slacker
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page