差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
vga显示模块 [2017/09/06 11:06] anran [硬件说明] |
vga显示模块 [2020/01/18 21:44] (当前版本) gongyu |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ======基于STEP FPGA的8色VGA功能驱动====== | + | ### 基于STEP FPGA的8色VGA功能驱动 |
本节将和大家一起使用FPGA驱动底板上的8色VGA接口实现8色彩条显示功能。 | 本节将和大家一起使用FPGA驱动底板上的8色VGA接口实现8色彩条显示功能。 | ||
- | + | --- | |
- | ====硬件说明==== | + | #### 硬件说明 |
- | ------- | + | |
VGA(video graphics array)即视频图形阵列,是IBM在1987年随PS/2一起推出的使用模拟信号的一种视频传输标准。VGA接口分公口和母口,如下图: | VGA(video graphics array)即视频图形阵列,是IBM在1987年随PS/2一起推出的使用模拟信号的一种视频传输标准。VGA接口分公口和母口,如下图: | ||
\\ | \\ | ||
- | {{:vga接口.jpg?400 |}} | + | {{ :vga接口.jpg?400 |}} |
\\ | \\ | ||
VGA接口引脚定义如下: | VGA接口引脚定义如下: | ||
\\ | \\ | ||
- | {{:vga接口定义.jpg?800 |}} | + | {{ :vga接口定义.jpg?800 |}} |
\\ | \\ | ||
一个标准的VGA接口应该有以下端口: | 一个标准的VGA接口应该有以下端口: | ||
行 25: | 行 24: | ||
我们的底板上就是采用的电阻分压的方式,因VGA显示器端有75欧的下拉电阻,为了得到0.714V的电压我们给RGB信号线上串入270欧的电阻,3.3V*75/(270+75)=0.717V。如下 | 我们的底板上就是采用的电阻分压的方式,因VGA显示器端有75欧的下拉电阻,为了得到0.714V的电压我们给RGB信号线上串入270欧的电阻,3.3V*75/(270+75)=0.717V。如下 | ||
\\ | \\ | ||
- | {{:vga接口电路.png?800 |}} | + | {{ :vga接口电路.png?800 |}} |
\\ | \\ | ||
VGA驱动显示器用的是扫描的方式,逐行扫描the HS (Horizontal Synchronization)逐行扫描是扫描从屏幕的左上角一点开始,由左向右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间CRT(阴极射线显像管)对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有行之后形成一帧,用场同步信号进行同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。VGA一直在扫描,每一场的扫描包括了若干行扫描,依次循环; | VGA驱动显示器用的是扫描的方式,逐行扫描the HS (Horizontal Synchronization)逐行扫描是扫描从屏幕的左上角一点开始,由左向右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间CRT(阴极射线显像管)对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有行之后形成一帧,用场同步信号进行同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。VGA一直在扫描,每一场的扫描包括了若干行扫描,依次循环; | ||
\\ | \\ | ||
VGA显示时序如下: | VGA显示时序如下: | ||
- | {{:vga时序.png?800 |}} | + | {{ :vga时序.png?800 |}} |
\\ | \\ | ||
VGA显示区域和消隐区域: | VGA显示区域和消隐区域: | ||
- | {{:vga显示区域.png?800 |}} | + | {{ :vga显示区域.png?800 |}} |
\\ | \\ | ||
常见的VGA显示模式: | 常见的VGA显示模式: | ||
- | {{:常见的vga显示模式.png?800 |}} | + | {{ :常见的vga显示模式.png?800 |}} |
- | ====Verilog代码==== | + | --- |
- | ------ | + | #### Verilog代码 |
<code verilog> | <code verilog> | ||
// -------------------------------------------------------------------- | // -------------------------------------------------------------------- | ||
行 197: | 行 196: | ||
endmodule | endmodule | ||
</code> | </code> | ||
- | ====小结==== | + | |
- | ------ | + | --- |
+ | #### 小结 | ||
本节主要为大家讲解了VGA显示的原理、时序及软件设计,需要大家掌握的同时自己创建工程,通过整个设计流程,生成FPGA配置文件加载测试。 | 本节主要为大家讲解了VGA显示的原理、时序及软件设计,需要大家掌握的同时自己创建工程,通过整个设计流程,生成FPGA配置文件加载测试。 | ||
\\ | \\ | ||
如果你对Diamond软件的使用不了解,请参考这里:[[lattice_diamond的使用|Diamond的使用]]。 | 如果你对Diamond软件的使用不了解,请参考这里:[[lattice_diamond的使用|Diamond的使用]]。 | ||
- | ====相关资料==== | + | --- |
- | ------ | + | #### 相关资料 |
- | \\ | + | |
使用[[STEP-MXO2第二代]]的VGA显示驱动程序: 后续会有下载连接 待更新 | 使用[[STEP-MXO2第二代]]的VGA显示驱动程序: 后续会有下载连接 待更新 | ||
\\ | \\ | ||
使用[[STEP-MAX10]]的VGA显示驱动程序: 后续会有下载连接 待更新 | 使用[[STEP-MAX10]]的VGA显示驱动程序: 后续会有下载连接 待更新 | ||
\\ | \\ |