差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
屏幕保护系统设计 [2018/11/01 13:16] anran [实验现象] |
屏幕保护系统设计 [2021/08/18 09:04] (当前版本) gongyusu |
||
---|---|---|---|
行 1: | 行 1: | ||
- | =====屏幕保护系统设计===== | + | ## 屏幕保护系统设计 |
- | ----- | + | ### 实验任务 |
- | ====实验任务==== | + | |
* 任务:基于 STEP-MAX10M08核心板 和 STEP BaseBoard V3.0底板 完成屏幕保护系统设计并观察调试结果 | * 任务:基于 STEP-MAX10M08核心板 和 STEP BaseBoard V3.0底板 完成屏幕保护系统设计并观察调试结果 | ||
行 7: | 行 6: | ||
* 解析:将小脚丫Logo取模得到128x128像素的图片数据,通过FPGA编程驱动VGA液晶显示器,实现现经典屏幕保护的界面效果。 | * 解析:将小脚丫Logo取模得到128x128像素的图片数据,通过FPGA编程驱动VGA液晶显示器,实现现经典屏幕保护的界面效果。 | ||
- | ====实验目的==== | + | ### 实验目的 |
在图片显示系统实验中我们学习过图片取模的方法,根据取模数据创建ram模块,本实验我们要学习VGA接口液晶显示器的驱动原理及方法,结合图片ram数据,最终实现屏幕保护系统的总体设计。VGA接口显示有固定的模式,本实验800x600@60Hz模式需要40MHz的时钟主频,可以按照简易电压表实验中的方法例化PLL的IP核实现。 | 在图片显示系统实验中我们学习过图片取模的方法,根据取模数据创建ram模块,本实验我们要学习VGA接口液晶显示器的驱动原理及方法,结合图片ram数据,最终实现屏幕保护系统的总体设计。VGA接口显示有固定的模式,本实验800x600@60Hz模式需要40MHz的时钟主频,可以按照简易电压表实验中的方法例化PLL的IP核实现。 | ||
行 14: | 行 13: | ||
* 完成屏幕保护系统设计实现 | * 完成屏幕保护系统设计实现 | ||
- | ====设计框图==== | + | ### 设计框图 |
根据前面的实验解析我们可以得知,该设计总体可以拆分成如下功能模块实现, | 根据前面的实验解析我们可以得知,该设计总体可以拆分成如下功能模块实现, | ||
行 23: | 行 22: | ||
{{:13-Top-Down层次设计.png?500|Top-Down层次设计}} {{:13-模块结构设计.png?500|模块结构设计}} | {{:13-Top-Down层次设计.png?500|Top-Down层次设计}} {{:13-模块结构设计.png?500|模块结构设计}} | ||
- | ====实验原理==== | + | ### 实验原理 |
- | ===VGA接口介绍=== | + | #### VGA接口介绍 |
VGA(Video Graphics Array)是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用,VGA接口定义如下: | VGA(Video Graphics Array)是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用,VGA接口定义如下: | ||
行 65: | 行 64: | ||
{{:13-VGA显示模式.png?600|VGA显示模式}} | {{:13-VGA显示模式.png?600|VGA显示模式}} | ||
- | ===VGA模块硬件连接=== | + | #### VGA模块硬件连接 |
以下是STEP BaseBoard V3.0底板上的VGA模块电路,其电路图如下: | 以下是STEP BaseBoard V3.0底板上的VGA模块电路,其电路图如下: | ||
行 73: | 行 72: | ||
底板上的VGA显示电路与1.8寸串行彩色液晶屏电路复用部分FPGA管脚,两者不能同时使用,当使用VGA接口模块电路时,FPGA直接驱动VGA接口完成VGA液晶显示器控制即可。VGA硬件采用电阻分压方式连接,每个基色智能显示无色或满色,所以显示效果最多有2^3=8种颜色显示(包含黑色)。 | 底板上的VGA显示电路与1.8寸串行彩色液晶屏电路复用部分FPGA管脚,两者不能同时使用,当使用VGA接口模块电路时,FPGA直接驱动VGA接口完成VGA液晶显示器控制即可。VGA硬件采用电阻分压方式连接,每个基色智能显示无色或满色,所以显示效果最多有2^3=8种颜色显示(包含黑色)。 | ||
- | ===VGA模块驱动设计=== | + | #### VGA模块驱动设计 |
端口列表中三基色控制管脚定义为vga[2:0],高位到低位依次接红绿蓝,那么8中颜色对应的数据如下: | 端口列表中三基色控制管脚定义为vga[2:0],高位到低位依次接红绿蓝,那么8中颜色对应的数据如下: | ||
行 86: | 行 85: | ||
本实验使用800x600@60Hz的VGA显示模式,首先将该VGA显示模式下的参数定义,在40MHz的主频下,参数如下: | 本实验使用800x600@60Hz的VGA显示模式,首先将该VGA显示模式下的参数定义,在40MHz的主频下,参数如下: | ||
- | <WRAP center round important 60%> | + | <WRAP group> |
- | |||||||||||||||||||| | + | <WRAP half column> |
- | ||||||||||||||||||||| | + | |水平方向 | |
+ | |同步脉冲 Thp |后廊 Thb |有效线数 Thd |前廊 Thf | | ||
+ | |128 |88 |800 |40 | | ||
+ | </WRAP> | ||
+ | |垂直方向 | | ||
+ | |同步脉冲 Thp |后廊 Thb |有效线数 Thd |前廊 Thf | | ||
+ | |4 |23 |600 |1 | | ||
+ | <WRAP half column> | ||
+ | </WRAP> | ||
</WRAP> | </WRAP> | ||
- | |||
将参数定义,更改VGA显示模式时,只需要更改下面参数,参数定义如下: | 将参数定义,更改VGA显示模式时,只需要更改下面参数,参数定义如下: | ||
行 198: | 行 204: | ||
</code> | </code> | ||
- | ===系统总体实现=== | + | #### 系统总体实现 |
例化pll IP核得到40MHz时钟信号,提供给VGA驱动模块做时钟信号,例化配置方法在简易电压表实验中有讲解,这里不再重复。 | 例化pll IP核得到40MHz时钟信号,提供给VGA驱动模块做时钟信号,例化配置方法在简易电压表实验中有讲解,这里不再重复。 | ||
行 208: | 行 214: | ||
{{:13-RTL设计框图.png?800|RTL设计框图}} | {{:13-RTL设计框图.png?800|RTL设计框图}} | ||
- | ====实验步骤==== | + | ### 实验步骤 |
- 双击打开Quartus Prime工具软件; | - 双击打开Quartus Prime工具软件; | ||
- 新建工程:File → New Project Wizard(工程命名,工程目录选择,设备型号选择,EDA工具选择); | - 新建工程:File → New Project Wizard(工程命名,工程目录选择,设备型号选择,EDA工具选择); | ||
行 219: | 行 225: | ||
- | ====实验现象==== | + | ### 实验现象 |
将程序加载到FPGA中,使用VGA线连接液晶显示器和FPGA底板,观察显示现象。小脚丫Logo图片在显示屏上移动,到达边沿后反弹,每次反弹都会颜色改变,共有6中颜色。 | 将程序加载到FPGA中,使用VGA线连接液晶显示器和FPGA底板,观察显示现象。小脚丫Logo图片在显示屏上移动,到达边沿后反弹,每次反弹都会颜色改变,共有6中颜色。 | ||
- | <WRAP group> | ||
- | <WRAP half column> | ||
- | |水平方向 | | ||
- | |同步脉冲 Thp |后廊 Thb |有效线数 Thd |前廊 Thf | | ||
- | |128 |88 |800 |40 | | ||
- | </WRAP> | ||
- | |垂直方向 | | ||
- | |同步脉冲 Thp |后廊 Thb |有效线数 Thd |前廊 Thf | | ||
- | |4 |23 |600 |1 | | ||
- | <WRAP half column> | ||
- | </WRAP> | ||
- | </WRAP> | ||