日期:2014-05-16  浏览次数:20571 次

s3c2440与fpga,framebuffer
项目中需要设计一种方案,最终由GTK+程序实时的显示的采集到的图象,并提供打印,USB盘存储,网络等功能,系统是基于2440的linux,本来一切都好说,跟摄像头监控的差不多,不幸的是,系统需要支持800*600的分辨率(8位就可以了),可好像2440的LCD控制器做不到这么快的速度,会出现屏幕黑屏的情况,有时候说不定还要来个VGA,70HZ的。  

讲的有点混乱,我说下大概的需要:  

AD采集数据并在FPGA中处理后得到一幅图象,假设保存在SDRAM1中,系统需要用GTKFB实时的显示图象,通过读取SDRAM1,并将图象传送到LCD中去显示,800*600*8/8,还要实现U盘存储图象,打印等功能,这里有个问题就是这块SDRAM1由于两边同时需要读写,怎么弄啊,还有个就是2440自带的LCD控制器速度达不到,想用FPGA做块LCD控制器,这样我的framebuffer怎么写啊?  


这是我们讨论的结果(好象太复杂了点)  

AD经过采集,FPGA将采集的数据流处理后送往SDRAM中保存,FPGA中开辟一块FIFO用于存放屏幕一行数据,FPGA与ARM相连,当FPGA做为VGA控制器从SDRAM中读取了一行数据到FIFO的时候,让FPGA停止写入与读取,将总线让给ARM的GTK+程序使用,这里有个问题就是,GTK+需要使用FB驱动,而现在不使用2440的LCD控制器了,FB现在只是针对SDRAM来写了,该怎么写啊,还有我在动鼠标等的时候,程序界面会自动改变,就自动把SDRAM中的内容变换了,但这块SDRAM有ARM,FPGA控制,仲裁不好弄,这驱动怎么写啊,我才今年毕业的,还是搞软件工程的,虽然自学过ARM一年,当也郁闷了,好多都不能确定能不能实现。  



------解决方案--------------------
这么专业很难给什么建议....

不过我觉得既然刚毕业,刚接到项目,有困难可以向带你的师傅请求帮助,尤其是你已经经过充分的调研和思考,有困难就问吧