网站大量收购闲置独家精品文档,联系QQ:2885784924

基于FPGA的全彩画图仪.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA的全彩画图仪.doc

基于FPGA的全彩画图仪   【摘要】为了设计一款全彩画图仪,采用PS2鼠标作为输入,VGA显示器作为输出,SDRAM作为存储设备,FPGA作为核心器件,使用Verilog语言对外围硬件驱动以及内部控制算法进行硬件描述。采用了Altera公司的Cyclone2系列器件EP2C8Q208C8进行配置和验证,结果证明了设计的正确性。该系统适用于便携式画图板的设计。   【关键词】FPGA;Verilog;全彩画图仪;Bresenham算法   1.引言   随着社会科技的发展以及环保的需求,现在各行各业逐渐向无纸化时代进军,如办公无纸化,无纸实训室等等。所以现在美术专业的学生,小孩子的涂鸦学画画等,都转向了无纸环保的电子画图板。而现在市场上电子画图板都是在电脑上安装画图软件来实现的,而电脑不仅昂贵,而且笨重不易携带,基于这种考虑,设计了基于FPGA的全彩绘图仪。该设计弥补了电脑画图仪的缺陷,而且由于是纯硬件设计,所以响应快,稳定性高。使用时只要接上鼠标和带VGA的显示器就可以工作了。   2.设计方案   2.1 系统总体设计   本设计采用PS2鼠标作为输入,输出分辨率为800*600,刷新率为60Hz的24位真彩色VGA显示。   如图1所示,系统的硬件结构主要由四个部分组成:PS2鼠标、VGA显示器、SDR SDRAM以及FPGA。其中FPGA内部Verilog编程分为五个部分:控制程序模块、PS2鼠标接口模块、VGA显示模块、SDRAM控制模块、直线算法模块。   2.2 系统功能   在控制程序模块协调下,各个模块之间进行数据和控制信号的交互:当PS2鼠标接口检测到鼠标位移时,控制程序将记录鼠标指针位置,并通过VGA显示模块改变当前鼠标指针位置;当检测到鼠标位移的同时鼠标左键处于按下的状态时,控制程序将每次位移的起点坐标和终点坐标传输到直线算法模块进行Bresenham直线算法模拟,并将作为输出的直线模拟坐标集合通过SDRAM控制模块写入SDRAM相应的位置;控制程序同时不断读取SDRAM内存储的显示数据,通过VGA显示模块进行实时显示。   3.模块功能   3.1 PS2鼠标接口模块   3.1.1 PS2鼠标接口模块功能   该模块的功能是根据PS2协议对PS2接口进行控制,以实现对PS2鼠标的配置与操作。   该模块通过对鼠标发送命令和接受命令,首先对鼠标初始化,之后采集鼠标每一次操作(移动,左键和右键操作),并转化为需要的格式作为该模块的输出。   3.1.2 PS2鼠标控制原理[1]   PS2通讯协议是一种双向同步串行通讯协议。通讯的两端通过Clock(时钟线)同步,并通过Data(数据线)交换数据。一般两设备间传输数据的最大时钟频率是33KHz,大多数PS2设备工作在10-20KHz。本设计将时钟频率设置为10KHz。   设备和主机的通讯如图2、3所示。   标准的PS/2鼠标支持下面的输入:X(左右)位移、Y(上下)位移、左键、中键和右键。鼠标以一个固定的频率读取这些输入并更新不同的计数器,然后标记出反映的移动和按键状态。   标准的PS/2鼠标发送位移和按键信息给主机采用如图4的3字节数据包格式。   3.2 VGA显示模块   3.2.1 VGA显示模块功能   该模块的功能是通过控制VGA视频DA芯片ADV7123对VGA显示器进行驱动显示,显示分辨率为800*600,刷新率为60Hz,显示内容为SDRAM中存储的显示数据和鼠标指针位置数据。改变SDRAM的内容便能改变屏幕上显示的内容,从而实现实时显示。   3.2.2 VGA显示原理[2]   通过对VGA显示基本工作原理的分析可知,要实现VGA显示,关键是如何实现VGA时序。VGA时序图如图5、6所示,它分为行数据时序和帧数据时序。   由时序图可知,要显示一帧完整的数据,需要产生同步信号SYNC和对应的数据信号。同步信号包括行同步信号HSYNC和场同步信号VSYNC,该信号可根据常见刷新率时序表(图7)确定;对应的数据信号从SDRAM模块中的FIFO中读取。   3.3 SDRAM控制模块   3.3.1 SDRAM控制模块功能   该模块的功能是根据设计需求,参照SDRAM的控制时序,对SDRAM进行读写控制,并将数据输出到一个FIFO,以便VGA显示模块实时读取数据。   3.3.2 SDRAM控制原理[3,4]   由SDRAM的数据手册可知,SDRAM在正常工作前需要进行初始化,步骤如下:1)延时200ns;2)预充电;3)刷新2次;4)设置模式寄存器;5)进入工作状态。每一个操作都需要严格按照时序图的要求对相应信号进行操作。SDRAM提供了多种工作模式,主机需

文档评论(0)

jingpinwedang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档