名称:VGA显示彩条LCD显示屏显示设计Verilog代码Quartus? AX301开发板
软件:Quartus
语言:Verilog
代码功能:
VGA(Video?Graphics?Array)做为视频输出输入接口已经广泛使用很长时间,主要通过红、绿、蓝三原色的模拟量传输。本实验通过在?VGA?屏幕上显示彩条,来练习视频的时序和视频颜色的表示,为后面视频处理实验做个基础。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在AX301开发板验证,AX301开发板如下,其他开发板可以修改管脚适配:
设计文档:
VGA?测试实验
1?实验简介
VGA(Video?Graphics?Array)做为视频输出输入接口已经广泛使用很长时间,主要通过红、绿、蓝三原色的模拟量传输。本实验通过在?VGA?屏幕上显示彩条,来练习视频的时序和视频颜色的表示,为后面视频处理实验做个基础。
2?实验原理
2.1?硬件介绍
AX301/AX4010?开发板使用常用的?RGB565?数据输出,也就是?16?位的高彩色?VGA?显示,?其中红色信号占?5?位,?绿色信号占?6?位,?蓝色信号占?5?位。电路设计上通过电阻匹配网络实现?RGB?数字信号到模拟信号的转换。
这里颜色信息一共?16BIT,可表达颜色?65536?种。
2.2?VGA?时序标准
VGA?显示器扫描方式从屏幕左上角一点开始,从左向右逐点扫描,每扫描完一行,电子束回到?屏幕的左边下一行的起始位置,在这期间,CRT?对电子束进行消隐,每行结束时,用行同步信号?进行同步;当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方, 同时进行场消隐,开始下一帧。
完成一行扫描的时间称为水平扫描时间,其倒数称为行频率;完成一帧(整屏)扫描的时间?称为垂直扫描时间,其倒数称为场频率,即刷新一屏的频率,常见的有?60Hz,75Hz?等等。标准?的?VGA?显示的场频?60Hz。
时钟频率:以?1024x768@59.94Hz(60Hz)为例,每场对应?806?个行周期,其中?768?为显示行。每?显示行包括?1344?点时钟,其中?1024?点为有效显示区。由此可知:需要点时钟频率:806*1344*60?约?65MHz。
VGA 视频时序
VGA?扫描,基本元素是行扫描,多行组成一帧,下图显示一行的时序,其中“Active”Video?是一行视频的有效像素,大部分分辨率时钟中?Top/Left Border?和?Bottom / Right Border?都是?0。
“Blanking”是一行的同步时间,“Blanking”时间加上?Active”Video?时间就是一行的时间。
“Blanking”又分为“Front Porch”、“Sync”、“Back Porch”三段。
行同步时序
2.3?常见分辨率?VGA?时序
640x480@60Hz?时序参数
部分代码展示:
////////////////////////////////////////////////////////////////////////////////// //??ov5640?lcd?display??????????????????????????????????????????????????????????// //??????????????????????????????????????????????????????????????????????????????// //??Author:?meisq???????????????????????????????????????????????????????????????// //??????????msq@qq.com??????????????????????????????????????????????????????????// //??????????ALINX(shanghai)?Technology?Co.,Ltd??????????????????????????????????// //??????????heijin??????????????????????????????????????????????????????????????// //?????WEB:?http://www.alinx.cn/????????????????????????????????????????????????// //?????BBS:?http://www.heijin.org/??????????????????????????????????????????????// //??????????????????????????????????????????????????????????????????????????????// ////////////////////////////////////////////////////////////////////////////////// //??????????????????????????????????????????????????????????????????????????????// //?Copyright?(c)?2017,ALINX(shanghai)?Technology?Co.,Ltd????????????????????????// //????????????????????All?rights?reserved???????????????????????????????????????// //??????????????????????????????????????????????????????????????????????????????// //?This?source?file?may?be?used?and?distributed?without?restriction?provided????// //?that?this?copyright?statement?is?not?removed?from?the?file?and?that?any??????// //?derivative?work?contains?the?original?copyright?notice?and?the?associated????// //?disclaimer.??????????????????????????????????????????????????????????????????// //??????????????????????????????????????????????????????????????????????????????// ////////////////////////////////////////////////////////////////////////////////// //================================================================================ //???Description:??pwm?model //???pwm?out?period?=?frequency(pwm_out)?*?(2?**?N)?/?frequency(clk); // //================================================================================ //??Revision?History: //??Date??????????By????????????Revision????Change?Description //-------------------------------------------------------------------------------- //??2017/5/3?????meisq??????????1.0?????????Original
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1349
425