基于 FPGA Avalon总线的TFT LCD 控制器的设计-FPGA CPLD资料源码分享社区-FPGA CPLD-ChipDebug

基于 FPGA Avalon总线的TFT LCD 控制器的设计

该帖子部分内容已隐藏
付费阅读
3积分
设计一个LCD控制器,该控制器基于Altera的SOPC系统,通过SOPC中的Avalon总线接口与Nios II处理器和SDRAM控制器通信,使之能显示640*480分辨率,显示颜色深度达到16bit,输出接口兼容TFT LCD。

一、设计目标:
设计一个LCD控制器,该控制器基于Altera的SOPC系统,通过SOPC中的Avalon总线接口与Nios II处理器和SDRAM控制器通信,使之能显示640*480分辨率,显示颜色深度达到16bit,输出接口兼容TFT LCD。
二.设计原理:
1、系统工作原理:

图1
如图1所示,Nios II处理器在SDRAM中开辟framebuffer,可以是单缓冲也可以是双缓冲,以单缓冲为例。Nios II处理器将一帧图象数据(640×480×2Bytes,RGB565,16bit)存入framebuffer,然后将framebuffer的首地址写入到LCD控制器,并启动LCD控制器,该控制器自动从传来的首地址处开始读取图象数据,并按照TFT的格式输出。
图中各模块由Avalon Bus连接在一起。Avalon Bus是一种简单的总线结构,在SOPC中,Nios II软核处理器和各种外设都通过Avalon Bus连接在一起。由图1可以看出,作为Slaver的SDRAM Controller分别要受到Processor 和LCD Controller的控制,为了解决总线冲突,Avalon Bus自动在有冲突的接口上加入了Arbitrator这样一个仲裁模块,用于合理分配总线时间,用户通过改变每个模块的权值来改变对其分配总线时间的多少。在这个系统中,SDRAM Controller处的冲突是影响整个系统性能的关键。以SDRAM时钟频率为100MHz计算,16bit位宽的SDRAM其数据总带宽为200MByte/s,640*480*2Bytes*60Hz的TFT LCD要占用36MByte/s左右的带宽,这对于还要处理其他任务的处理器来说是很大的影响。解决的办法是另外增加一块SDRAM,专门用作Frame buffer,这样就可以有效减少对系统总线带宽的占用。

请登录后发表评论

    没有回复内容