VGA彩条信号发生器第1页共51页1绪论1.1背景如今人们的生活水平和质量不断提高,对生活设备的智能化程度的要求越来越高。现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要因素是生产制造技术和电子设计技术的发展。前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管。后者的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作:IC设计、电子电路设计、PCB设计。没有EDA技术的支持,想要完成上述超大规模集成电路的设计制造是不可想象的,反过来,生产制造技术的不断进步又必将对EDA技术提出新的要求。随着电子技术的发展和人们对电子设计开发的难度及周期要求,EDA技术必将广发应用于电子设计的各个领域,因此本设计也采用了EDA的设计方法,其设计的优越性明显高于传统的设计方法。为了实现VGA彩色显示的原理,我们从本质上去认识了生成图像的原理,从而制造更多更复杂的元器件做铺垫,本设计立足系统可靠性及稳定性等高技术要求,采用FPGA芯片实现VGA显示屏控制电路,通过对接口的认识,我们知道了怎么去设置接口成像参数。其电路设计比较简单,外围电路少,易于控制和检查,较传统的分离元件实现方式有着明显的优势,尤其是其设计电路实现周期,其抗干扰及调试过程都很简单。1.2EDA技术的发展趋势各科研院所和高等院校的实验教学和科研工作中EDA技术将得到广泛的应用。由于可编程逻辑器件性能价格比的不断提高,开发软件功能的不断完善,VGA彩条信号发生器第2页共51页而且由于用EDA技术设计电子系统具有用软件的方式设计硬件;设计过程中可用有关软件进行各种仿真;系统可现场编程,在线升级;整个系统可集成在一个芯片上等特点,使其将广泛应用于专用集成电路和机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域新产品的开发研制中。EDA技术将我国军队在国防现代化建设中发挥重要的作用EDA技术是电子设计领域的一场革命,目前正处于高速发展阶段,每年都有新的EDA工具问世,我国EDA技术的应用水平长期落后于发达国家,如果说用于民品的核心集成电路芯片还可以从国外买的到的话,那么军用集成电路就必须依靠自己的力量研制开发,因为用钱是买不到国防现代化的,特别是中国作为一支稳定世界的重要力量,更要走自主开发的道路。强大的现代国防必须建立在自主开发的基础上,因此,广大电子工程技术人员应该尽早掌握这一先进技术,这不仅是提高设计效率和我国电子工业在世界市场上生存、竟争与发展的需要,更是建立强大现代国防的需要。半导体工艺的每一次跃升都促使EDA工具改变自己,以适应工艺的发展;反过来EDA工具的进步又推动设计技术的发展。可以说EDA工具是IC设计产业的背后推手。系统芯片(SOC)正在迅速地进入主流产品的行列。由此引发的“芯片就等于整机”的现象,将对整个电子产业形成重大的冲击。种种迹象表明,整个电子产业正在酝酿着一场深刻的产业重组,这将为许多新兴的企业提供进入这一行业的最佳。1.3课程设计任务主要内容:在本课程设计中使用Altera公司的EP3C80F780C8N系列的FPGA芯片,利用SOPC-NIOSII-EP3C80F780C8N开发板资源,在显示器上实现彩条信号。本设计要完成的任务就是通过FPGA在显示器上显示一些条纹或图案,要求CRT(或LED)显示器上能够显示横条纹、竖条纹以及棋盘格子图案。实验中系统时钟选择时钟模块的24MHz,用一个按键模块的S1来控制显示模式,每按下一次,屏幕上的图案改变一次,依次为横条纹、竖条纹以及棋盘格子图案。实验的输出就直接输出到VGA接口,通过显示器显示出来。并用16*16点阵显示当前显示模VGA彩条信号发生器第3页共51页式。扩展内容:1.在屏幕中央显示数字2.数字由4×4键盘阵列输入3.16*16点阵显示当前输入数字2系统设计2.1系统的工作原理和组成框图CPLD是整个系统的核心,通过对其编程可输出RGB三基色信号和HS、VS行场扫描同步信号。当CPLD接受单片机输出的控制信号后,内部的数据选择器模块根据控制信号选通相应的图像生成模块,输出图像信号,与行场扫描时序信号一起通过15针D型接口电路送入VGA显示器,在VGA显示器上便可以看到对应的彩色图像。CPLD所需的工作时钟由外部高精度有源晶振提供,系统原理框图如图1。VGA彩条信号发生器第4页共51页图2.1系统原理框图2.2VGA视频显示原理工业标准的VGA显示模式为:640×468×16色×60Hz。常见的彩色显示器,一般由CRT(阴极射线管)构成,彩色是由R、G、B(红、绿、蓝)三基色组成,CRT用逐行扫描或隔行扫描的方式实现图像显示,由VGA控制模块产生的水平同步信号和垂直同步信号控制阴极射线枪产生的电子束,打在涂有荧光粉的荧光屏上,产生R、G、B三基色,合成一个彩色像素。扫描从屏幕的左上方开始,由左至右,由上到下,逐行进行扫描,每扫完一行,电子束回到屏幕下一行的起始位置,在回扫期间,CRT对电子束进行消隐,每行结束是用行同步信号HS进行行同步;扫描完所有行,再由场同步信号VS进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,预备下一场的扫描。行同步信号HS和场同步信号VS是两个重要的信号。显示过程中,HS和VS的极性可正可负,显示器内可自动转换为正极性逻辑。VGA行同步信号HS和场同步信号VS的时序图如图2所示,T1为行同步消隐(约为6μs);T2为行显示时间(约为26μs);T3为场同步消隐(两个行周期);T4为场显示时间(480个行周期)。时钟24MHZ4*4矩阵键盘电源FPGAVGA显示器16*16点阵LEDVGA彩条信号发生器第5页共51页显示器每扫描完一行,再扫描一下行时会花一定时间来准备,因此要满足时序要求,见图2.2。图2.2VGA行扫描时序图同样每扫描完一帧,再扫描下一帧行时也会花一定时间来准备,因此也要满足其时序要求,见图2.3。图2.3VGA场扫描时序图对于VGA显示器的上述五个信号的时序驱动要严格遵循“VGA工业标准”,即640×480×60HZ模式,否则无法显示正确地图象。VGA工业标准要求的频率:时钟频率:25.175MHz(像素输出的频率)行频:31469Hz从0计数到639从0计数到479VGA彩条信号发生器第6页共51页场频:59.94Hz(每秒图像刷新频率)图象信号显示的颜色种类与表示R、G、B三基色的二进制数位数有关,表2.1列出了8种颜色的编码方式。表2.12.3键盘驱动对键盘的电位扫描,就可以确定当前的键有没有被按下。单个按键电路如图2.4所示,在按键没有被按下时,在判断电位点可以获取高电位,在键被按下时,在判断电位为低电位,这样可以通过判断点电位的高低即可确定按键有没有被按下。图2.4单个按键电路图4*4的键盘与FPGA连接图如下图2.5所示,扫描键盘由FPGA的8个控制端口确定,控制行端口设置为buffer模式,控制列端口设置为in模式,扫描键盘的方法为先给第一行键盘为低电平,其余行列为高电平,读取纵列的电位值,如果没键被按下,在电位判断端口获取的为高电位,如果有键按下,电位判断点的电平不全为零,由电位值的第几位为零就可以确定当前行那个键被按下,依次对四行键盘扫描,扫描结束输出4位数组的信号,以告诉那个键被按下。VGA彩条信号发生器第7页共51页图2.54*4键盘电路图2.416*16点LED阵列驱动单个的LED的电路如下图2.8所示,对于单个LED的电路图当Rn输入一个高电平,同时Cn输入一个低电平时,电路形成一个回路,LED发光。也就是LED点阵对应的这个点被点亮。图2.6单个LED电路图本设计要完成速度级别(0到15)在点阵LED上的显示,16*16点阵LED扫描的工作原理与8位扫描数码管类似,只是显示的方式与结果不一样而已。16*16点阵由此256个LED通过排列组合而形成16行*16列的一个矩阵式的LED阵列。图2.716*16点阵硬件图16*16点阵LED驱动时,依次选通LED点阵行端口,每次只能选通一个端口(Cn),字符译码的第N列结果在列端口(Rn)输入,通过高速依次点亮led点VGA彩条信号发生器第8页共51页阵就可看到led点阵上显示的数字。3程序设计3.1总体程序设计思路程序设计分为三个模块,即VGA显示模块,矩阵键盘扫描模块,点阵显示模块。设计思路为矩阵键盘扫描键值并传给点阵模块和VGA显示模块,点阵模块根据矩阵键盘模块传过来的值显示相应数字,而VGA根据传过来的值分别在显示器上显示横条纹,竖条纹,方块和数字和字母。3.2矩阵键盘模块设计键盘扫描输出为一个4为的数组。扫描简单的来所就是给行低电平,看列获得的电位就可确定在此行所按下的键。大体流程如下:VGA彩条信号发生器第9页共51页时钟24MHZ输入是否判断按键输出相应键图3.1键盘扫描流程图键盘模块大体设计思路为,由信号COUNT对时钟0到3循环计数,在CONT=N时对第N行扫描,判断列端电位,然后根据扫描到按键是行列的值确定当前按键的键位,输出键值。3.3点阵显示模块点阵显示原理为ledc的四个管脚分别对应显示矩阵的某行,而ledr管脚为这一行显示的灯,1表示灯灭,0表示灯亮,ledc管脚电平循环变化,即对16行LED灯循环扫描,只要扫描频率合适,就能在点阵上看到相应文字,图中cache0,cache1….cache15分别存的第一,二到十五行要显示的数据。Count=3Count=0扫描第一行Count=1扫描第二行Count=2扫描第三行Count=3扫描第四行Count=0Count+1判断按键输出相应键值VGA彩条信号发生器第10页共51页时钟(clk2)输入是否图3.2点阵显示流程图3.4VGA显示模块VGA显示原理:在VGA中,水平同步脉冲在光栅扫描线需要回到水平开始位置也就是屏幕的左边的时候插入,垂直同步脉冲在光栅扫描线需要回到垂直开始位置也就是屏幕的上方的时候插入。复合同步脉冲是水平同步脉冲与垂直同步信号的组合。RGB为像素数据,在没有图像投射到屏幕时插入消隐信号,当消隐有效时,RGB信号无效。水平时序:在水平时序中,包括以下几个时序参数:水平同步脉冲宽度;水平同步脉缓存区数据Cache0,….cache15ledc=15ledc=0ledc+1Ledc值对应cache点阵循环显示VGA彩条信号发生器第11页共51页冲结束到水平门的开始之间的宽度;一个视频行可视区域的宽度;一个完整的视频行的宽度,从水平同步脉冲的开始到下一个水平同步脉冲的开始。垂直时序:在垂直时序与水平时序类似,包括以下几个不同的时序参数:垂直同步脉冲宽度;垂直同步结束到垂直门的开始之间的宽度;一个视频帧可是区域的宽度;一个完整视频帧的宽度,从垂直同步脉冲到下一个垂直同步脉冲的开始。组合视频帧时序:视频帧由vlen个视频行组成,每一行由hlen个像素,水平门与垂直门的“与”函数即为可是区域,图像的其他区域为消隐区。目前存在很多种不同VGA模式,以下就常见的各种模式种参数进行说明,给出VGA模式中各种时序参数可以参考。表3.1水平时序说明:有效时间包括6列过扫描边界列,有些时序表将这几列加在后沿和前沿中表3.2垂直时序VGA彩条信号发生器第12页共51页说明:有效时间包括4行过扫描边界行,有些时序表中将这几行加在后沿前沿中。*当有效时间增加时,它超过了vsync信号的上升沿,因此前沿为-1显示方案:在本设计中,由于FPGA开发箱能提供的最大频率为24MHZ,所以选用640*480分辨率,刷新率60Hz,这样时钟频率为800*525*60=25.2MHz,24MHz时钟频率还不够,所以将每行640个像素点再分,每16个像素点看成一个像素点,这样时钟频率为50*525*60=1.575MHz。将24MHz时钟进行15分频,得到1.6MHz频率,可以看成5