FPGA+MCU实现VGA图象信号发生器

发布者:zeta16最新更新时间:2014-11-12 来源: 21ic关键字:信号发生器  VGA  MCU  FPGA 手机看文章 扫描二维码
随时随地手机看文章

  1、引言

  VGA(视频图形阵列)作为一种标准的显示接口在视频和计算机领域得到了广泛的应用。VGA图像信号发生器是电视台、电视机生产企业、电视维修人员常用的仪器,其主要功能就是产生标准的图像测试信号。
  本文采用FPGA+MCU方案,利用了Cyclone系列的FPGA高达上百兆的工作频率特性为图像数据处理提供了良好的实时性,其内部集成的数字锁相环为系统的工作时钟提供的良好的稳定性,其内部嵌入的存储器可以存储一定容量的图像信息,丰富的I/O资源可以随即扩展外接大容量存储器的特性,因此由 FPGA完成对图像数据的处理及产生行场扫描时序信号。很好地实现了图象数据处理的实时性和稳定性,达到了性能与价格的完美统一。此外,FPGA的电路可重构性,为系统功能更改和升级以及功能扩展提供了很大的设计空间。由微控制器完成功能设置与控制,如键盘扫描,模式选择与显示控制等。

  2、系统的工作原理和组成框图

  FPGA是整个系统的核心,通过对其编程可输出RGB三基色信号和HS 、VS行场扫描同步信号。当 FPGA接受单片机输出的控制信号后,内部的数据选择器模块根据控制信号选通相应的图像生成模块,输出图像信号,与行场扫描时序信号一起通过15针D型接口电路送入VGA显示器,在VGA显示器上便可以看到对应的彩色图像。FPGA所需的工作时钟由外部高精度有源晶振提供;单片机控制器分析键盘扫描结果,控制液晶显示模块显示相应的功能,由LCD显示输出图象和按键控制模式,并送出相应控制信号给FPGA,系统原理框图如图1。

  

 

  3、VGA显示器原理

  工业标准的VGA显示模式为:640×468×16色×60Hz。常见的彩色显示器,一般由CRT (阴极射线管)构成,彩色是由R、G、B(红、绿、蓝)三基色组成,CRT用逐行扫描或隔行扫描的方式实现图像显示,由VGA控制模块产生的水平同步信号和垂直同步信号控制阴极射线枪产生的电子束,打在涂有荧光粉的荧光屏上,产生R、G、B三基色,合成一个彩色像素。扫描从屏幕的左上方开始,由左至右,由上到下,逐行进行扫描,每扫完一行,电子束回到屏幕下一行的起始位置,在回扫期间,CRT对电子束进行消隐,每行结束是用行同步信号HS进行行同步;扫描完所有行,再由场同步信号VS进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,预备下一场的扫描。行同步信号HS 和场同步信号VS是两个重要的信号。显示过程中,HS 和VS的极性可正可负,显示器内可自动转换为正极性逻辑。

  行同步信号HS和场同步信号VS的时序图如图2所示, T1为行同步消隐(约为6μs);T2为行显示时间(约为26μs);T3为场同步消隐(两个行周期);T4为场显示时间(480个行周期)。

  

行同步信号HS和场同步信号VS的时序图

 

  行同步信号HS和场同步信号VS与图象信号R、G、B的时序关系如图3所示。

  

 

  对于VGA 显示器的上述五个信号的时序驱动要严格遵循“VGA工业标准”,即640×480×60HZ模式,否则无法显示正确地图象。VGA工业标准要求的频率:

 

  时钟频率:25.175MHz(像素输出的频率)

  行频: 31469Hz

  场频: 59.94Hz(每秒图像刷新频率)

  图象信号显示的颜色种类与表示R、G、B三基色的二进制数位数有关,表1列出了8种颜色的编码方式。

  4、系统设计

  4.1 图像信号产生模块的设计

  产生图像信号的核心器件采用Altera公司的Cyclone FPGA芯片EP1C3T144C8N。它具有多达20060个逻辑单元。最大用户I/O数 104个。器件中M4K存储块提供288kbit存储容量,能够被配置来支持多种操作模式,包括RAM、ROM、FIFO及单口和双口模式。

  Cyclone器件具有高级外部存储器接口,允许设计者将外部单数据率(SDR)SDRAM,双数据率(DDR)、SDRAM和 DDR FCRAM 器件集成到复杂系统设计中,而不会降低数据访问的性能。并且还具有两个可编程锁相环(PLL)和八个全局时钟线,能提供时钟管理和频率合成,实现最大的系统功能。根据VGA显示原理,图象信号产生器的主要功能是:产生时序驱动信号HS、VS及VGA彩色图象编码信号,同时在正确的时序控制下,输出ROM中的象素数据至显示器的VGA接口,进行图象显示。FPGA内部电路原理结构如图4。本文利用Altera公司QuartusⅡ6.0开发平台,遵循自顶向下的设计方法,针对各功能模块,采用VHDL语言对FPGA器件编程,产生HS和VS扫描时序信号及各种图象信号。[page]

  

FPGA内部电路原理结构

 

  VGA时序信号是图象显示的关键,行场扫描时序的产生,是利用逻辑编程的方法实现的,即用VHDL编写分频器,计时器模块,来获得T1、T2、T3、T4时序。当输出数字、彩条信号和棋盘格图象时,由外部12M有源晶振提供时钟输入,其中行频HS:12MHZ ÷13÷29=31830Hz、场频VS:31830Hz÷480×0.93=61.67Hz、T1=1/31830Hz×4/29=25.96us、T2=1/31830Hz×5/29=6.04us、T3为两个行周期(T1+T2),T4为480个行周期。

  

 

  图象信号包括数字、彩条、棋盘格,和ROM中定制的图形等。数字信号和彩条信号的产生是按行场方向将屏幕各进行8等分,相当于一个8×8的点阵,在对应位置显示相应颜色即可获得所需图像信号;棋盘格信号是将横彩条和竖彩条相异或获得。ROM中定制的较为复杂的彩色图像,需采用像素点输出,即将图像各像素点的信息存储于ROM中,再以一定的频率输出。FPGA器件ROM的定制有两种方法:第一种方法是利用FPGA器件的嵌入式存储器定制LPM_ROM,用.MIF文件或.HEX文件对其进行初始化,这种方法获得的ROM最大寻址空间为2 12,可以存储一幅分辨率为64×64的图像信息;第二种方法是在FPGA逻辑资源的限度内用VHDL语言定制一个ROM,采用CASE语句对其进行初始化,这种方法获得的ROM在存储深度较大时,编译时对时间的开销较大。ROM初始化完成后,在25MHz的时钟频率下输出存储的图像信息。其图象颜色种类的多少取决于存储空间的大小。

  ROM定制的图象信息是利用FPGA嵌入的存储器定制LPM_ROM,可以用于存储一幅64×64分辨率的图像信息,数据线宽为3位,地址线12根,采用组合寻址方式,即行地址HSADDRESS占低6位,场地址VSADDRESS占高6位;若要显示更为复杂的图象信息,只需扩展存储器及寻址的数据线宽度,为了保证行地址信号输出与行扫描信号输出同步,场地址信号输出与场扫描信号输出同步,在VHDL编程时,可用25MHz时钟作为进程的启动信号。输出信号的时序波形如图6所示。各种图象信号的输出是由数据选择器通过VHDL编程实现的。

  

 4.2 视频输出接口电路部分设计

 

  VGA 接口采用非对称分布的15pin 连接方式,其工作原理是将显存内以数字格式存储的图像( 帧) 信号在RAMDAC 里经过模拟调制成模拟高频信号,然后进行输出显示,这样VGA信号就不必像其它视频信号那样还要经过矩阵解码电路的换算。从视频成像原理可知VGA的视频传输过程是最短的,所以VGA 接口拥有许多的优点,如无串扰、无电路合成分离损耗等。视频输出与VGA 接口如图7。

  

视频输出与VGA 接口图

 

  4.3 模式控制与显示部分设计

  为了实现人机对话,模式控制与显示即人机接口的设计,选用LCD显示器和矩阵键盘,使接口和显示更加友好。要求能根据键盘扫描结果,控制不同的图象信号输出,并进行相应的功能显示。采用单片机89S51作为控制器,对键盘模块和功能显示模块进行控制。用C语言编程,对键盘进行扫描和液晶显示模块的控制。当然也可以对FPGA器件编程,实现对键盘模块和功能显示模块的控制。但需占用FPGA器件的逻辑资源,会对定制图像信息的存储空间造成影响。

  本设计采用4×4矩阵式键盘,行、列线占用单片机8个I/O口资源,键盘扫描过程是列扫描行输出,逐列扫描,读取键值,根据读回的值判断所按键的位置,按键消抖采用延时消抖方式,根据键值跳转执行相应功能程序。显示器采用TS-12864-3液晶显示屏,由单片机控制及驱动,显示系统当前工作状态等信息。

  5、结束语

  本文设计的基于FPGA的数字图像实时生成系统,可以实现各种数字、文字、彩条、ROM图像信号输出。其图像显示控制器的系统处理耗时小于20ms,完全达到了实时要求(50场/秒)。所进行的原理试验取得了良好的效果。

  本设计还可以作一些扩展,如添加语音处理电路,实现图像输出时同步输出语音;还可以外接大容量存储器,采用8位二进制数据表示R、G、B三基色,实现256色输出,使显示的图像色彩更加丰富。

关键字:信号发生器  VGA  MCU  FPGA 引用地址:FPGA+MCU实现VGA图象信号发生器

上一篇:用MSP430设计便携式医用自动输液器
下一篇:采用光强传感器TSL256x的感测系统设计方案

推荐阅读最新更新时间:2024-03-16 13:45

STM32单片机串口功能实现
STM32学习笔记心得四: =============串口通信================ 1.通信方式 处理器和外围设备进行通信的方式:并行通信和串行通信 并行通信: 传输原理:数据的每一个位都在同时传输 优点: 速度快 缺点: 占用很多引脚资源 串行通信: 传输原理:数据按位的顺序传输 优点: 占用引脚少 缺点: 传输速度慢 -------------------------------------------------- 对于大部分的设备来讲,引脚资源是有限的,所以在通信方面要节约IO口 串口作为MCU的重要外接设备,同时也作为软件调试手段 串行通信按照传送的方向
[单片机]
基于CW7900的跟踪式集成稳压电源电路图
CW7900是固定负压输出的单片机集成稳压器,其最大输出电流为1.5A。输出电压5~24V。电路具有过流,过热和调整管安全工作区保护电路,如图为 CW7900 构成的跟踪式集成稳压电源电路图:
[单片机]
基于CW7900的跟踪式集成稳压电源电路图
多串口扩展器在单片机系统中的应用
1概述     近年来,具有完整的测量或控制功能的智能模块不断涌现,而此类模块均需通过 RS- 232S或RS-485串行口与上位单片机或微机进行通信,以构成分级分布式测控系统,而现阶段的大部分单片机仅有一个UART串口,很难满足既与智能模块通信又与上位微机进行通信的要求。纵观现有的串口扩展方案,存在对单片机的软硬件资源占用较多、编程繁复、串口扩展数量较少、硬件电路复杂及成本较高等缺点,而利用UART多串口扩展器SP2337可以很好地解决单片机多串口的扩展问题。 2SP2337的主要特性及引脚功能   SP2337是采用低功耗CMOS工艺设计的UART多串口扩展器,该器件可将一个高波特率的UART串口扩展为三个较高波特率的UA
[单片机]
多串口扩展器在<font color='red'>单片机</font>系统中的应用
智博会FPGA国际总决赛闪耀山城,英特尔加速创新生态进化
2019中国国际智能产业博览会(简称“智博会”) FPGA智能创新国际大赛 总决赛今天举行。这项国际顶级赛事共吸引了来自11个国家的400多支优秀创新团队报名,在四大分赛区历时数月层层筛选,最终产生12强角逐总决赛。本次FPGA大赛由智博会组委会与英特尔公司主办,西永微电园、海云捷讯等承办,积极推动人工智能、5G、大数据等前沿科技领域的智能应用创新与国际合作,是英特尔以数据为中心、构建面向未来的产业生态的又一硕果。 重庆市人大常委会副主任夏祖相发表演讲 重庆市人大常委会副主任夏祖相表示:“重庆正在大力实施以大数据智能化为引领的创新驱动发展战略行动计划,加快形成智能产业、智能制造、智能化应用‘三位一体’发展格局,努力建
[嵌入式]
智博会<font color='red'>FPGA</font>国际总决赛闪耀山城,英特尔加速创新生态进化
Altera的FPGA OpenCL计划缩短了早期试用客户的开发时间
2012年4月11号,北京——Altera公司(Nasdaq: ALTR)今天宣布,goHDR作为FPGA OpenCL计划的早期试用客户,通过Altera的FPGA OpenCL计划,大幅度缩短了开发时间,显著提高了性能。与Altera密切合作,goHDR将其专用C代码导入到OpenCL标准中,不到一星期的时间便在FPGA中实现了这些代码——使用传统的HDL流程,这一过程一般需要3到6个月的时间。 Altera在FPGA技术上的专长与goHDR深厚的宽动态范围(HDR)知识相结合,两家公司利用OpenCL作为公共语言,从而使得goHDR能够快速开发支持HDR的电视解决方案。这一解决方案在Altera FPGA中实现了goHD
[嵌入式]
深入分析MCU堆栈的作用,以及该如何设置堆栈大小
前段时间分享文章《STM32的启动流程到底是怎样的?》之后,很多朋友问了关于堆栈的问题。今天就写点相关内容,让大家进一步了解堆栈的知识。 1写在前面 我们都知道堆栈位于RAM中,现在MCU的RAM相对较大(几十上百K),所以分配的堆栈也是足够大,很多人都不怎么关注这个堆栈的大小。 但是,以前MCU的RAM比较小,甚至1K都不到,所以,以前的工程师就比较关心堆栈的大小。 对于小项目而言,可能我们不用关心堆栈大小。 但是,如果项目大了,你就要注意了,你堆栈大小设置不合理,很有可能导致Fault。 想要知道堆栈有多大才合适,你就需要明白堆栈的作用,下面让大家进一步了解堆栈。 2关于堆栈的基础知识 我们先看一下
[单片机]
PIC单片机实现智能清洁护理机的方案设计
简介: 本文以PIC18F87K22单片机为护理机主控制器,利用西门子GSM模块TC35i,将护理机报警信息以“手机短信”的形式实时发送到设定的卧床病人监护人的手机中,同时,监护人也可用“手机短信”的形式发送命令远程控制家中护理机的运行,创新性地实现了家庭长期卧床病人大小便清洁护理机的“无人护理”功能,将在很大程度上解决我国长期卧床病人家庭的陪护人员紧缺和护理费用高昂这些亟待解决社会难题。 0)引言 本文以PIC18F87K22单片机为护理机主控制器,利用西门子GSM模块TC35i,将护理机报警信息以“手机短信”的形式实时发送到设定的卧床病人监护人的手机中,同时,监护人也可用“手机短信”的形式发送命令远程控制家中护理机的运行,
[单片机]
PIC<font color='red'>单片机</font>实现智能清洁护理机的方案设计
基于AVR单片机多任务嵌入式Internet系统设计
1 引言 目前,嵌入式系统已经广泛渗透到人们的工作、生活中。从家用电器、信息终端、手持通信设备到仪器仪表、制造工业、过程控制等领域,嵌入式设备已随处可见。另一方面,近几年来Internet技术的飞速发展给嵌入式应用带来了新的契机,在未来嵌入式系统中应用Internet技术具有很大的优势。 目前嵌入式Internet技术的实现主要有下面三种方式 : 第一种方式是EMIT技术,采用支持TCP/IP协议的高性能服务器作为网关(emGateway), 嵌入式设备通过RS-232、RS-485或者CAN总线等与网关服务器连接,间接通过服务器网关连接Internet。经过多年的发展EMIT技术已经在工业设备的网络化中得到了广泛
[应用]
热门资源推荐
热门放大器推荐
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved