打印

FPGA系统中,如何让CPU和VGA控制器共享SDRAM显存

[复制链接]
4040|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LIU_XF|  楼主 | 2011-1-28 11:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
VGA信号采集 ->  CPU处理 -> VGA显示

VGA信号 1024×768像素,  60Hz

VGA采集 1秒采10帧,存到SDRAM,然后由CPU处理(将图像旋转90度),再然后输出到VGA显示


整个系统有三个控制器需要访问SDRAM

VGA采集控制器、CPU、VGA显示控制器

如何让它们共享一个显存?

呵呵,快过年了,提前祝大家新年快乐。

相关帖子

沙发
ar_dong| | 2011-1-28 14:57 | 只看该作者
还是放两个现存吧
输入一个输出一个
要只是简单处理的话可以去掉cpu用fpga直接转
要么把显存挂在cpu上,只要保证带宽够用并且输入输出都很实时,fpga只要在内部开个小缓存就成

使用特权

评论回复
板凳
sleepybear| | 2011-1-28 17:52 | 只看该作者
做两个帧队列:一个采集帧队列,一个播出帧队列。CPU从采集帧队列取数,处理之后向播出帧队列写入。
Over。

使用特权

评论回复
地板
ttkz| | 2011-1-29 00:24 | 只看该作者
如果用FPGA的话,应该就比较好办。
可以这样,FPGA内部开两个FIFO。SDRAM只与FPGA连接。VGA采集和显示都连FPGA:
VGA采集->FPGA(写入FIFO1)->FPGA处理(写/读SDRAM)->FPGA(写FIFO2)->VGA显示。

如果是DSP的话,内部也有很多RAM可用的。基本原理还是上面那样,SDRAM只与DSP连接.

如果一定要让CPU、VGA采集和显示都连SDRAM,实在不是明智选择。SDRAM总线信号非常多,怎么综合
处理来自3个方向的读写操作,不容易做的。估计需要一块CPLD做接口。

使用特权

评论回复
5
charrijon| | 2011-1-29 09:38 | 只看该作者
用双口RAM就可以

使用特权

评论回复
6
sleepybear| | 2011-1-30 10:12 | 只看该作者
楼主的应用不是简单的“过路”,而是还要做处理。所以建议做成队列形式。最少各两帧的队列,乒乓的采集、乒乓的处理、乒乓的播出,三者之间的帧号要协调好。如果没有处理延时的要求,更长的队列更好。

使用特权

评论回复
7
李冬发| | 2011-4-16 19:27 | 只看该作者
用CPU转,也太慢了吧

使用特权

评论回复
8
icecut| | 2011-4-17 09:29 | 只看该作者
呵呵.fpga作为cpu的外设就可以了.fpga负责分时复用内存.

使用特权

评论回复
9
tingtang| | 2011-4-17 17:08 | 只看该作者
可以pingpang,或者sopc里面的vip core。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:无

68

主题

372

帖子

3

粉丝