本文为明德扬原创文章,转载请注明出处!
1.1 总体设计
1.1.1 概述
液晶显示器是一-种通过液晶和色彩过滤器过滤光源,在平面面板上产生图像的数字显示器。LCD 的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置薄膜晶体管,.上基板玻璃上设置彩色滤光片,通过薄膜晶体管上的信号与电压改变来控制液晶分子的转动方向,从而达到控制每个像素点偏振光出射与否而达到显示目的。与传统的阴极射线管相比,LCD具有占用空间小,低功耗,低辐射,无闪烁,降低视觉疲劳等优点。现在LCD已渐替代CRT成为主流,价格也已经下降了很多,并已充分的普及。1.1.2 设计目标在7寸LCD显示屏上实现图片显示。其中,在显示屏左上角显示明德扬的LOGO图标,在显示屏的中间居中显示字母“E”。1.1.3 系统结构框图
系统结构框图如下所示:
图一1.1.4模块功能
PLL模块实现功能1. 将输入的50MHz时钟分频输出40MHz时钟。
ROM模块实现功能
2. e_rom存储字母“E”的图像数据。
LCD驱动模块实现功能1、 产生驱动LCD屏显示的时序2、 读取ROM里存储的数据并输出显示
1.1.5顶层信号
1.1.6参考代码
1.2 PLL模块设计
1.2.1接口信号下面为PLL的接口信号:
1.2.2 设计思路本模块主要用于产生LCD驱动时序所需要的时钟,关于PLL的使用详细介绍请看下方链接:
1.3 ROM模块设计
1.3.1接口信号
1.3.2设计思路本模块主要用于存储需要显示的图像数据,关于ROM的使用详细介绍请查看IP核右上角数据手册“Documentation”。1.4 LCD驱动模块设计
1.4.1接口信号
1.4.2设计思路产生驱动LCD显示的行场时序信号,其计数器架构如下图所示:
行计数器h_cnt:该计数器用来计算行同步信号的帧长。加一条件为1,表示一直在计数。结束条件为数1056个,也就是一行有1056个像素。场计数器v_cnt:该计数器用来计算场同步信号的帧长。加一条件为end_h_cnt,即行计数器的计数器的结束条件,表示每计数完一行像素就加一。结束条件为数525个,也就是一共有525行像素。其中,在从存储图像“E”的ROM里读取数据的时候,有一个操作就是读取的地址从第8位开始,也就是说18位数据地址,低三位不读,读取的是e_rom_addr[16:3]。有这样一个操作的话就能实现对存储的图像进行8倍的放大显示。
1.4.3参考代码
1.5 效果和总结以下为工程上板后的现象效果图:mp801开发板
ms980试验箱
设计视频和源工程代码请到论坛下载学习:http://www.fpgabbs.cn/thread-1162-1-1.html
访问明德扬论坛(http://www.fpgabbs.cn/)进行更多FPGA相关工程设计学习。