用户工具

站点工具


vga驱动器的设计

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
vga驱动器的设计 [2019/12/04 17:10]
zgf
vga驱动器的设计 [2022/03/18 15:48] (当前版本)
sean
行 1: 行 1:
-  ***银杏科技有限公司/Gingko Technology Co.,Ltd.**     +|  ​**银杏科技有限公司旗下技术文档发布平台**  |||| 
-  ***技术支持论坛:http://​www.eeschool.org** +|技术支持电话|**0379-69926675-801**||| 
-  ***旗舰店:http://​icore.taobao.com** +|技术支持邮件|Gingko@vip.163.com||| 
-  ***技术支持邮件:GINGKO@vip.163.com**  + 版本 ​ ^  ​日期 ​ ​^ ​ 作者 ​ ^  修改内容 ​ ^ 
-  ​***电话:0379-69926675** + V1.0  ​| ​ 2019-12-25 ​ |  gingko |  初次建立 ​ |
-  ***更新日期:12/​4/​2019** +
-  ​***版本号:v1.0**+
  
-===== VGA驱动器设计 =====  ​+===== 实验二十九:VGA驱动器设计 =====  ​
 === 一、实验目的与意义 === === 一、实验目的与意义 ===
   -了解液晶显示器扫描原理和VGA接口时序。   -了解液晶显示器扫描原理和VGA接口时序。
行 13: 行 11:
   -掌握VGA接口驱动设计的方法和思路。   -掌握VGA接口驱动设计的方法和思路。
 === 二、实验设备及平台 === === 二、实验设备及平台 ===
-  -iCore3 双核心板( FPGA型号为EP4CE10F17)。\\  +  -iCore3 双核心板( FPGA型号为EP4CE10F17)。[[https://​item.taobao.com/​item.htm?​id=524229438677|点击购买]] 
-  -转接板和40P的FPC连接线。\\  +  -转接板和40P的FPC连接线。 
-  -iCore3(VGA)显示模块。\\  +  -iCore3(VGA)显示模块。[[https://​item.taobao.com/​item.htm?​spm=a1z10.5-c.w4002-251734908.16.1a34750bPZ3UBu&​id=537147487079|点击购买]] 
-  -Blaster(或相同功能的)仿真器和USB线缆。\\ +  -Blaster(或相同功能的)仿真器和USB线缆。[[https://​item.taobao.com/​item.htm?​id=554869837940|点击购买]] 
-  -Micro USB线缆。\\  +  -Micro USB线缆。  
-  -QuartusII开发软件(本实验中使用的是13.1版本)。\\ +  -QuartusII开发软件(本实验中使用的是13.1版本)。 
-  -带有VGA接口的主机和VGA接口分辨率1024 * 768@60Hz的液晶显示器。\\ +  -带有VGA接口的主机和VGA接口分辨率1024 * 768@60Hz的液晶显示器。 
-{{ :​icore3:​图29-1_硬件连接实物图.jpg?​700 |图29-1 硬件连接实物图,核心板在上,转接板在下}}\\+ 
 +{{ :​icore3:​图29-1_硬件连接实物图.jpg?​direct ​|图29-1 硬件连接实物图}} 
 **注意事项1:** 注意FPC转接板和核心板之间引脚要对齐(如图29-1中**①**处所示,转接板和核心板边缘要对齐)。\\ ​ **注意事项1:** 注意FPC转接板和核心板之间引脚要对齐(如图29-1中**①**处所示,转接板和核心板边缘要对齐)。\\ ​
 **注意事项2:** FPC软排线与FPC接口连接时,请确认软排线接口处蓝色绝缘皮朝上(如图29-1中**②③**所示)。\\ ​ **注意事项2:** FPC软排线与FPC接口连接时,请确认软排线接口处蓝色绝缘皮朝上(如图29-1中**②③**所示)。\\ ​
-**注意事项3:** 下载程序前请确认FPC转接板和软排新与核心板的引脚连接无误,且iCore3核心板引脚与PIN.tcl文件中绑定引脚相互对应。\\+**注意事项3:** 下载程序前请确认FPC转接板和软排新与核心板的引脚连接无误,且iCore3核心板引脚与PIN.tcl文件中绑定引脚相互对应。\\ ​
 === 三、实验原理 === === 三、实验原理 ===
 == 1. VGA时序 == == 1. VGA时序 ==
行 29: 行 29:
 VESA_VGA时序标准中关于1024 * 768@60Hz分辨率显示器接口时序定义如下所示:​ VESA_VGA时序标准中关于1024 * 768@60Hz分辨率显示器接口时序定义如下所示:​
  
-{{ :​icore3:​图29-2 vga接口时序定义图.jpg?​700 |图29-2 vga接口时序图}}+{{ :​icore3:​图29-2_vga接口时序定义图.jpg?​direct ​|图29-2 vga接口时序图}}
  
   *根据VESA_VGA时序标准中框①提示,1024 * 768@60Hz的显示器,如上图框②中规定,行扫描周期需要扫描1344个像素点的时间。因此,可以对像素点的个数进行计数,每扫描1344个像素点我们就可以认为完成了一次行扫描。如上图红框③中提示,行同步信号Hsync(代码中定义的名字为Sync_H)可以在行扫描第136个像素点时给出,然后在行扫描的第296个像素点至第1320个像素点之间使像素输出有效,从而在屏幕上一行显示出1024个有效像素点。   *根据VESA_VGA时序标准中框①提示,1024 * 768@60Hz的显示器,如上图框②中规定,行扫描周期需要扫描1344个像素点的时间。因此,可以对像素点的个数进行计数,每扫描1344个像素点我们就可以认为完成了一次行扫描。如上图红框③中提示,行同步信号Hsync(代码中定义的名字为Sync_H)可以在行扫描第136个像素点时给出,然后在行扫描的第296个像素点至第1320个像素点之间使像素输出有效,从而在屏幕上一行显示出1024个有效像素点。
   *为什么是在第296个像素点使像素输出有效呢,从图中框⑥提示可以知道,从行扫描周期开始至行显示有效这段时间,结合框③可以计算:\\ ​   *为什么是在第296个像素点使像素输出有效呢,从图中框⑥提示可以知道,从行扫描周期开始至行显示有效这段时间,结合框③可以计算:\\ ​
- **sync+Back Porch+Top/​left Border = (136+160+0)Pixes**\\  +**sync+Back Porch+Top/​left Border = (136+160+0)Pixes** 
-  *即扫描296个像素的时间。+扫描296个像素的时间。
   *同理,从框⑤中可以确定,一次帧扫描需要进行806个行扫描,因此,通过对行扫描计数,确定帧的刷新周期,并且在扫描第35行至第803行时,在行扫描的有效期输出对应像素点的RGB数据,就可以在屏幕上实现色彩显示。   *同理,从框⑤中可以确定,一次帧扫描需要进行806个行扫描,因此,通过对行扫描计数,确定帧的刷新周期,并且在扫描第35行至第803行时,在行扫描的有效期输出对应像素点的RGB数据,就可以在屏幕上实现色彩显示。
 == 2. VGA接口的时钟频率计算 == == 2. VGA接口的时钟频率计算 ==
-  *从VGA接口时序标准中可以看出,色彩显示信号需要的时钟频率是65MHz,也就是VGA显示器需要输入一个65MHz的时钟信号,用于显示器同步RGB数据的刷新。那么这个65MHz时钟是怎么计算出来的呢?本次实验中采用的显示器是1024 * 768@60Hz的,刷新一屏显示需要扫描806行,每行需要扫描1344个像素,一秒钟刷新60次,那么,一秒钟就需要扫描: ​\\  +  *从VGA接口时序标准中可以看出,色彩显示信号需要的时钟频率是65MHz,也就是VGA显示器需要输入一个65MHz的时钟信号,用于显示器同步RGB数据的刷新。那么这个65MHz时钟是怎么计算出来的呢?本次实验中采用的显示器是1024 * 768@60Hz的,刷新一屏显示需要扫描806行,每行需要扫描1344个像素,一秒钟刷新60次,那么,一秒钟就需要扫描:​  
- ** 1344 * 806 * 60≈65M**\\ +** 1344 * 806 * 60≈65M** 
 个像素点。每个时钟周期扫描一个像素点,要实现60Hz分辨率1024 * 768的屏幕刷新,则需要约65MHz的时钟信号,即VGA接口中定义的系统时钟频率。 个像素点。每个时钟周期扫描一个像素点,要实现60Hz分辨率1024 * 768的屏幕刷新,则需要约65MHz的时钟信号,即VGA接口中定义的系统时钟频率。
 == 3. RGB条纹显示控制原理 ==  == 3. RGB条纹显示控制原理 ==
行 53: 行 54:
 工程编译完成后,可以在Tools->​netlist viewers->​RTL Viewer 中查看RTL视图如下: 工程编译完成后,可以在Tools->​netlist viewers->​RTL Viewer 中查看RTL视图如下:
  
-{{ :​icore3:​图29-系统的rtl级视图,及各模块之间的信号关联.png?​1000 |图29-3 系统的rtl级视图,​及各模块之间的信号关联.}}+{{ :​icore3:​图29-3_系统的rtl级视图_及各模块之间的信号关联.png?​direct ​|图29-3 系统的rtl级视图,​及各模块之间的信号关联}}
  
   *下面主要介绍一下VGA_Ctrl模块的其中一种实现方式   *下面主要介绍一下VGA_Ctrl模块的其中一种实现方式
行 74: 行 75:
   *通过对VGA显示原理的分析和学习,掌握VGA接口的时序控制方法,实现icore3核心板FPGA驱动液晶显示器显示彩条效果。实验的主要目的是掌握对手册时序图的分析和理解,并能够根据时序图编写对应的Verilog文件,从而实现设计到项目的转化。   *通过对VGA显示原理的分析和学习,掌握VGA接口的时序控制方法,实现icore3核心板FPGA驱动液晶显示器显示彩条效果。实验的主要目的是掌握对手册时序图的分析和理解,并能够根据时序图编写对应的Verilog文件,从而实现设计到项目的转化。
  
-{{ :​icore3:​图29-4_效果展示.jpg?​500 |实验效果展示}}+{{ :​icore3:​图29-4_效果展示.jpg?​direct&​400 ​|图29-4_效果展示}}
  
   *此实验需要深刻了解VGA接口时序定义,理解行同步信号和场同步信号的概念,理解消隐信号的概念以及VGA接口显示屏的刷新原理。   *此实验需要深刻了解VGA接口时序定义,理解行同步信号和场同步信号的概念,理解消隐信号的概念以及VGA接口显示屏的刷新原理。
vga驱动器的设计.1575450621.txt.gz · 最后更改: 2019/12/04 17:10 由 zgf