基于FPGA的多功能LCD显示控制器设计
实验题目:基于FPGA的多功能LCD显示控制器设计
课程简要信息
课程名称:数字系统课程设计
课程学时:32学时
项目学时:课内8学时、课外6学时
适用专业:电子信息类专业
学生年级:本科二年级第二学期
实验内容与任务(限500字,可与“实验过程及要求”合并)
实验内容
采用Inter公司Cylone 10系列FPGA和分辨率为800*480的7寸RGB-LCD显示屏进行实验设计。
**学生只调用FPGA内置的RAM模块(存储空间为1134K),不使用SDRAM和SD卡等外部存储资源,**在LCD显示屏上实现图片、彩条、文字等内容显示,并完成具有交互性强、趣味性高的游戏界面设计。

图1 课程学生实验作品
实验任务
实验任务包括了基础实验任务、能力提升任务和延伸拓展任务三个层次,旨在调动学生实验兴趣,在理解和掌握组合逻辑电路、时序逻辑电路等知识点的基础上,通过阶梯递进式的实验任务,引导学生完成高阶性和创新性实验设计。

图2 LCD显示控制器三层次实验任务
基础实验
1)完成分频模块、LCD驱动模块和LCD显示模块设计,进行时序仿真。
2)完成RGB888纯色图片显示电路设计,并在远程实验平台下载测试。
3)完成RGB888纯色图片显示电路设计,并在远程实验平台下载测试。
能力提高
1)完成ROM模块设计、并将目标图像转换成mif文件。
2)完成基于ROM的RGB565图片(原始分辨率)显示,并在远程平台下载测试。
3)完成基于ROM的RGB565图片(全屏)显示,并在远程平台下载测试。
延伸拓展
1)完成按键控制模块设计。
2)完成基于ROM的趣味性游戏界面设计,并在远程实验平台下载测试。
3)完成基于ROM的图像形态学处理设计,并在远程实验平台下载测试。
实验过程及要求(限300字)
每位同学需独立完成基础实验任务,提高任何和延伸拓展任务以小组为单位(2人一组),通过任务分工和团队协作方式开完成实验设计,并采用小组答辩方式完成实验项目验收。实验过程如下:
1)自行查阅资料,了解RGB-LCD显示屏工作原理;
2)掌握使用Quartus II软件进行电路设计、综合编译、仿真、下载的流程及方法;
3)完成LCD时钟电路、驱动电路和显示电路设计,并进行时序仿真;
4) 完成RGB888纯色图片和多色彩条显示电路设计,在远程实验平台下载测试;
5)以小组为单位,完成ROM模块完成RGB565图片显示设计,在远程实验平台下载测试;
6)基于FPGA对图像进行形态学处理,归纳和分析图像噪声处理、边缘检测、目标物提取的实验效果,以及资源消耗情况;
7)基于FPGA完成具有趣味性的游戏界面设计,可通过按键模块对游戏画面进行交互性操作;
8)撰写实验总结报告,结合远程实验平台效果进行项目验收答辩。
相关知识及背景(限150字)
LCD显示控制器项目以培养学生的工程创新能力为主线,结合当前图像处理技术发展,从学生兴趣点入手,完成彩条、图片、互动游戏等多样性实验。实验内容涉及数字电子技术、图像处理、数学形态学、FPGA设计与应用等多学科课程知识。
实验环境条件
1)设计软件:Quartus Ⅱ 17.1
2)实验平台:数字电子技术远程实验平台

a)远程实验平台 b)远程实验界面

a)FPGA实验板 b)RGB-LCD屏
图3 LCD显示控制器实验仪器
教学目标与目的(限150字)
实验项目通过阶梯递进式实验教学,培养学生扎实的理论基础,提升实验操作技能,教学目标如下:
1)让学生理解LCD显示屏显示原理,在此基础上掌握使用FPGA进行显示控制器设计的方法。
2)实验项目通过任务分工和团队协作方式,让学生探索图像显示及图像处理的较佳设计方案。
3)培养学生的成本意识,学生通过自主设计和算法优化,降低LCD显示控制器对硬件指标的要求。
教学设计与实施进程
在实施以学生为中心的实验教学中,团队教师对课前实验预习、课堂实验指导、课后实验总结等环节进行了精心设计,为学生营造出环绕式学习氛围,实验教学流程如图4所示。通过网络教学平台,对学习过程进行全程记录、评价并反馈,引导学生及时调整学习方法和状态。

图4 LCD显示控制器实验教学流程
实验预习
实验预习在线上教学平台进行,每周提供课前实验任务、实验学习视频、实验步骤、定时截止实验作业等,并进行问题征集。借助平台,学生能在异地场景通过网络远程操控真实设备,提前完成实物实验设计,提高实验预习效率。
实验指导
采用翻转实验课堂模式,对课前征集的实验难点进行答疑和实验操作演示,引导学生发现共性问题,弥补漏洞;在课堂上交叉进行实验方案讨论和实验设计,通过教学的启迪和大量有创意的实验内容训练,能动地激发学生创新意识,培养自主创新能力;使学生在实验理论、实践能力和创新精神三方面取得同步收获。

图5 LCD显示控制器实验项目实验教学
具体过程如下:
1)讲解LCD工作原理和应用场合,让学生体会到数字技术改变和影响我们的生活和学习,厚植学生的家国情怀;
2)讲解LCD显示控制器的设计原理,对时钟模块、显示模块、驱动模块设计中涉及的实验难点,采用研讨式教学,让学生分组讨论;
3)总结学生讨论的基础上,引导学生独立完成基础实验任务设计;
4)以小组合作方式完成能力提高任务,在远程实验平台下载测试,组织优秀学生分享设计心得,全体讨论是否有改进方案;
6)引导学有余力的同学,以小组合作方式完成延伸拓展任务,培养学生勇于探究的科学精神。
实验总结
采用“自主设计论文答辩”的考核方式,学生制作PPT进行实验项目汇报,并在教学平台提交实验总结报告。关注学生实验报告质量的同时,更关注学生在综合设计性实验中所展示的积极性、团队合作意识和工程创新能力等。

图6 实验项目答辩验收环节
实验原理及方案
实验原理
像素是指由图像的小方格组成的,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。分辨率是屏幕图像的精密度,是指显示器所能显示的像素有多少,实验平台使用的LCD分辨率为800*480。

图7 LCD屏幕像素点示意图
LCD显示屏的行显示时序如图8所示。
HSYNC:行同步信号,当此信号有效的时候就表示开始显示新的一行数据,查阅所使用的LCD数据手册可以知道此信号是低电平有效还是高电平有效,为低电平有效。
HSPW:行同步信号宽度,也就是HSYNC信号持续时间。HSYNC信号不是一个脉冲,而是需要持续一段时间才是有效的,单位为CLK。
HBP:行显示后沿(或后肩),单位是CLK。
HOZVAL:行有效显示区域,即显示一行数据所需的时间,假如屏幕分辨率为1024*600,那么HOZVAL 就是1024,单位为CLK。
HFP:行显示前沿(或前肩),单位是CLK。
当HSYNC信号发出以后,需要等待HSPW+HBP个CLK时间才会接收到真正有效的像素数据。当显示完一行数据以后需要等待HFP个CLK时间才能发出下一个HSYNC信号,所以显示一行所需要的时间就是:HSPW + HBP + HOZVAL + HFP。

图8 LCD显示屏行显示时序
一帧图像是由很多个行组成的, LCD的场显示时序如图9所示。
VSYNC:场同步信号,当此信号有效的时候就表示开始显示新的一帧数据。
VSPW:场同步信号宽度,也就是VSYNC信号持续时间,单位为1行的时间。
VBP:场显示后沿,单位为1行的时间。
LINE:场有效显示区域,即显示一帧数据所需的时间。
VFP:场显示前沿,单位为1行的时间。

图9 LCD显示控制器帧显示时序
因此我们在配置一款RGB LCD屏的时候需要知道这几个参数:HSPW(行同步)、HBP(行显示后沿)、HOZVAL(行有效显示区域)、HFP(行显示前沿)、VSPW(场同步)、VBP(场显示后沿)、LINE(场有效显示区域)和VFP(场显示后沿)。
LCD显示屏模块采用24位并行RGB接口,在LCD显示控制器的初始化配置中,需要帧同步信号、帧同步信号宽度、帧显示后沿等参数进行时序设计。
1)使用子母两个计数器对驱动时钟进行计数。
2)子计数器的计数范围为0-1055,所代表一个行扫描周期,满载时在下一个时钟周期清零,并使母计数器+1。
3)母计数器的计数范围为0-524,所代表一个场扫描周期,满载时在下一个时钟周期清零。
实验方案
学生可利用原理图、硬件描述语言、宏模块等多种方法完成实验设计, LCD显示控制器系统包含:时钟分频模块、驱动模块、显示模块、按键控制模块、游戏界面控制模块、图像形态学处理模块等,其中,时钟分频模块负责产生像素时钟,LCD驱动模块产生同步信号,LCD显示模块输出图像数据。

图10 LCD显示控制器系统框图
LCD驱动模块中,使用子母两个计数器对驱动时钟进行计数,子计数器的计数范围为0-1056,母计数器的计数范围为0-525。利用组合逻辑将子母俩个计数的计数值做范围限定,确定有效显示范围,此时拉高数据使能,将输出lcd_rgb的值到屏幕的对应像素点上以及回传当前的坐标值。
LCD显示模块将屏幕显示区域按照横坐标划分为多个显示区域,通过判断像素点的横坐标所在的区域,给像素点赋以不同的颜色值,从而实现彩条显示。
实验报告要求
学生按实验教学任务要求,经过实验方案设计、教学视频观看、分组讨论实验操作、实验效果分析归纳等环节完成实验设计,对所设计的实验进行硬件调试、参数调整,给出系统优化方案,提交实验总结报告,报告要求如下。
1) 按照实验原理和实验步骤进行实验设计,完成实验后提交Word文档实验报告。
2) 实验报告文件命格式为:姓名—学号—XXXX(实验名称).doc。
3)报告内容至少应包含实验目的、实验仪器、实验原理、实验数据、实验总结、心得体会等部分。
考核要求与方法(限300字)
考核要求
实验项目对学生的考核主要体现在“参与性、要点总结、实验拓展、文档资料表述”等方面。实验课内学时为8个课时数,第3课时进行基础实验任务验收,第5课时进行提高实验任务验收,第6课时进行随堂测试,第7、8课时组织同学进行项目汇报答辩。
考核方法
实验成绩= 基础任务*15% +提高任务*15% + 随堂测试*30%+ 项目答辩*40%

图11 LCD显示控制器实验项目考核方法
实验考核细则如下:
| 序号 | 考核时间 | 考核环节 | 考核要点 | 评分标准 |
|---|---|---|---|---|
| 1 | 第3课时 | 基础任务 | 1.RGB888单色画面显示 2.RGB888多色彩条显示 |
完成规定色彩画面显示,10分 完成规定彩条画面显示,10分 |
| 2 | 第5课时 | 提高任务 | 1.基于ROM的RGB565图片 2.基于ROM的图片全屏显示 |
完成200*200图片显示,10分 完成800*480图片显示,10分 |
| 3 | 第6课时 | 随堂测试 | 1.按规定要求设计网格线 2.按规定规则移动色块 |
完成规定行列数的网格,10分 色块按规定轨迹移动,10分 |
| 4 | 第8课时 | 拓展任务 | 1.游戏界面设计/图像处理 2. PPT汇报、现场答辩 |
工作量、创新性、组内分工等, 总结报告等综合评定,共40分 |
实验项目根据学生报告的建议内容、学生问卷调查、实验组教师讨论等多渠道收集反馈意见,对实验考核评价体系进行持续改进。
项目特色或创新(可空缺,限150字)
1)实验内容涉及多课程知识,实验进程由浅入深,实验教学实现由单一实验技能锻炼向综合能力素养培养的转变。
2)实验教学项目依托远程实境实验平台,构建跨越时间空间以及资源共享的实验教学环境;满足高阶性和泛在化实验教学需要。
3)通过阶梯递进式实验教学,能动地激发创新意识,培养自主创新能力;使学生在是实验理论、实践能力和创新精神三方面能得到同步收获。