您的位置 首页 硬件

【从零开始走进FPGA】 玩转VGA

一、VGA的诱惑首先,VGA的驱动,这事,一般的单片机是办不到的;由于FPGA的速度,以及并行的优势,加上可现场配置的优势,VGA的配置,只有俺们FPGA可以胜任,也只有FPGA可以随心所

  一、VGA的引诱

  首要,VGA的驱动,这事,一般的单片机是办不到的;因为FPGA的速度,以及并行的优势,加上可现场装备的优势,VGA的装备,只需俺们FPGA能够担任,也只需FPGA能够为所欲为地装备(当然ARM也能够,使用比较高吧)。

  初学者便是喜爱看炫的作用,往往会不由得想玩。特别玩FPGA的,没玩VGA就感到跟单片机没啥提高,因而VGA的驱动也不得不讲。Bingo当年也是如此。挡不住VGA的引诱,初学者问Bingo VGA问题的人也是灰常的多,或许一般教科书理论太强,实践使用不是很死后,在此Bingo用深入浅出的言语来叙述VGA的驱动原理,以及经过规划一个可移植模块的使用来叙述。

  二、VGA驱动原理

  此处Bingo不参阅任何材料,用当年已学的常识,用深入浅出的言语叙述。

  1、VGA接口

  

wps_clip_image-18353

 

  最主要的几根线:

  

image

 

  更详细的材料,请看 http://baike.baidu.com/view/10346.htm

  2、VGA时序

  VGA其实便是相当于一块芯片,跟单片机驱动IC相同,满意必定的时序,便能驱动起来。

  (1)扫描轨道

  VGA的扫描其实很简单,大致轨道如下所示:

  

wps_clip_image-8553

 

  没扫描完一行,重新开端下一行;每扫完一场,重新开端下一场。相信你应该看的懂。

  (2)行场扫描

  以下是行扫描,场扫描HS,VS时序图

  

wps_clip_image-27336

 

  如上如所示:VGA一直在扫描,没一场的扫描包含了若干行扫描,如此循环。

  (3)VS时序深入分析

  VS时序如下所示:

  

wps_clip_image-20360

 

  可见时序的循环,可被区分为a,b,c,d4个时期。这四个时期界说如下:

  A~B:场消隐期 即同步,相当于复原扫描坐标吧

  B~C:场消隐后肩 相当于预备开端扫描吧

  C~D:场显现期 扫描中,数据有用区域

  D~E:场消隐前肩 完结扫描,相当于预备同步

  (4)HS时序深入分析

  可见时序的循环,可被区分为a,b,c,d4个时期。这四个时期界说如下:

  A~B:行消隐期 即同步,相当于复原扫描坐标吧

  B~C:行消隐后肩 相当于预备开端扫描吧

  C~D:行显现期 扫描中,数据有用区域

  D~E:行消隐前肩 完结扫描,相当于预备同步

  

wps_clip_image-20832

 

  综上描绘,咱们只需知道每个时期的时刻,便能够表明出VGA的时序。而FPGA的作业是由固定频率的时钟触发的,因而某固定时刻能够用n次触发来表明。因而咱们很简单就想到了FPGA常用的计数办法:比如说行扫描,咱们计数0~H_total-1。用另一个进程将其区分为4个时期,安标示分配。其实这相当于状况机。

  以下是固定分辨率1024*768 60fps下HS,VS的规范:

  

wps_clip_image-9084

 

  用代码表明4个时期,如下:

  // VGA_1024_768_60fps_65MHz

  // Horizontal Parameter( Pixel )

  parameter H_DISP = 11’d1024,

  parameter H_FRONT = 11’d24,

  parameter H_SYNC = 11’d136,

  parameter H_BACK = 11’d160,

  parameter H_TOTAL = 11’d1344,

  // Virtical Parameter( Line )

  parameter V_DISP = 10’d768,

  parameter V_FRONT = 10’d3,

  parameter V_SYNC = 10’d6,

  parameter V_BACK = 10’d29,

  parameter V_TOTAL = 10’d806

  3、VGA电路

  (1)三原色

  VGA接口:R,G,B三通道,直接赋给数字信号,RGB,最多发生8种颜色。这是最基本的。电路如下所示:

  

wps_clip_image-11884

 

  (2)真彩显现

  a) 电阻网络

  考虑到本钱认识完成的简易计划,用R-2R电阻网络分流模仿DAC替换ADV7123视频转化芯片。见以下几个计划:

  

wps_clip_image-12612

 

  DE1 VGA模仿电路

  

wps_clip_image-1911

 

  小马哥电路图

  详细规划参阅Bingo当年总结:

  http://www.cnblogs.com/crazybingo/archive/2010/07/31/1789323.html

  或许参阅小马哥规划:

  http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3582675&bbs_page_no=1&search_mode=2&search_text=VGA&bbs_id=9999

  b) 专用视频转化芯片

  使用专用视频转化芯片,ADV7120等,将数字信号转化为VGA RGB的模仿信号。ADV7120为高速D/A芯片,将数字信号转化为模仿信号输给VGA,电路如下:

  

wps_clip_image-19353

 

  三、可移植VGA模块规划

  Bingo玩VGA也算是比较早了,当年也是视觉的引诱,以及唯FPGA独尊的优势。所以之后一发而不可收拾。本章Bingo将自己这些年终究优化的VGA驱动模块,发布至此。本模块一切代码均Bingo独家发明,请尊重版权哈。

  本规划现已封装成模块,只需修正时序参数、扫描时钟参数以及在vga_display.v中增加显现电路,即可。便利移植,期望对我们有用。

  1、模块区分

  

wps_clip_image-16944

 

  (1)vga_design.v

  工程顶层文件,例化各个模块。

  (2)sys_ctrl.v

  PLL时钟分配电路。

  (3)vga_display.v

  显现电路,依据时序,用于描绘VGA的显现电路。

  (4)vga_driver.v

  VGA驱动电路,对时序,状况的束缚。

  RTL图如下所示:

  

wps_clip_image-19643

 

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/116437.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部