采用ATMEGA128单片机结合CPLD实现了对VGA显示器和激光.PDFVIP

采用ATMEGA128单片机结合CPLD实现了对VGA显示器和激光.PDF

  1. 1、本文档共9页,可阅读全部内容。
  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文档。上传文档
查看更多
采用ATMEGA128单片机结合CPLD实现了对VGA显示器和激光

采用ATMEGA128 单片机结合CPLD 实现了对VGA 显示器和激光打印机的控制 作者:时永乐 王培勇 转贴自:微计算机信息 摘要:用ATMEGA128 单片机结合CPLD 实现了对VGA 显示器和激光打印机的控制,完成了在VGA 显 示器上实时显示字符和图形的功能,并控制激光打印机实现了屏幕信息的打印输出。本设计克服了单片机 系统显示和打印功能薄弱的缺点,为扩大其应用范围奠定了基础,同时也为其他嵌入式系统的信息输出提 供了一种解决方案。 关键词:VGA 控制器;PCL 命令语言;激光打印;CPLD 随着集成电路制造技术的不断发展,MCU 、ARM 、DSP 等微控制器、微处理器的性能急剧提高,但是 输出功能,尤其是显示和打印功能仍然比较薄弱,与PC 机相比有较大的差距。输出功能薄弱的缺点,限 制了其应用范围的扩大。ATmega128 是美国Atmel 公司生产RISC 结构的高性能MCU 芯片,含有ADC 、 I2 [1] C、SPI、PWM 等多种资源 。本论文以ATMEGA128 单片机为例,结合CPLD 和高速SRAM,介绍在 VGA 显示器上显示字符、图形信息和控制激光打印机打印输出屏幕信息的方法。本设计克服了单片机系统 信息输出功能薄弱的缺点, 为单片机和其他嵌入式系统的信息输出提供了一个解决方案,使得其应用范围 更加广阔。系统结构如图1 所示。 1 VGA 显示控制器的实现 PC 机在VGA 的显示器(通常包括CRT 和液晶显示器)上的信息显示是通过显卡完成的。单片机在VGA 显示器上显示信息同样需要类似的模块来辅助,因此我们设计了和显卡功能相似的VGA 显示控制器来辅 助ATMEGA128 单片机在VGA 显示器上显示信息。下面介绍640×480 分辨率、59.9HZ 刷新率的通用VGA 显示控制器的设计方法,并说明微控制器、微处理器如何在VGA 接口的显示器上显示信息。 1.1 VGA 时序产生模块的设计 要实现VGA 显示控制器的功能,首先需要了解VGA 信号的参数和时序。图2 所示为640×480 分辨率、59.9HZ 刷新率的VGA 时序图[2] 。根据VGA 时序图,本论文研究并实现了VGA 显示控制器,所用硬件为Altera 公司的EPM7128 CPLD 和ISSI 公司的高速SRAM。EPM7128 的作用是通过编程产生VGA 显示所需的时 序信号,并协助微控制器实现对显存的读写操作。高速SRAM 的作用是存储需要显示的数据信息,其读写 周期为8ns,满足显示器刷新时对显存进行快速读写的时间要求。设计中用一个bit 代表一个象素,640×480 分辨率需要37.5K 字节的显存。象素时钟频率的选择与VGA 监视器的刷新频率和分辨率相关,59.9HZ 刷 新率时,象素时钟频率为25.175MHZ ,其计算公式为:时钟频率=(行象素数+行消隐点数)× (一场行 数+消隐行数)×刷新率。 根据VGA 信号的要求,用VHDL 语言对EPM7128 芯片编程实现VGA 时序产生模块。VGA 时序产生模块 包括:每行的象素数目计数器h_cnt 、每场的行数目计数器v_cnt 、行同步信号hs 产生模块、场同步信号vs 产生模块、消隐信号blank 产生模块和并行输入串行输出模块等。其中, h_cnt 的最大计数值是799, v_cnt 的最计数值是是524 。行同步信号产生模块根据h_cnt 的计数值来产生行同步信号hs;场同步信号产生模块 根据v_cnt 的计数值来产生场同步信号vs 。消隐信号产生模块根据h_cnt 的计数值在行同步期间、行消隐前 肩和行消隐后肩,把消隐信号blank 置为低电平;根据v_cnt 的计数值在每一场的场同步期间、场消隐前肩 和场消隐后肩,把消隐信号blank 置为低电平;其余时间消隐信号blank 为高电平,表示此时为有效显示期。 并行输入串行输出模块在有效显示期间从sram 显存中并行读入数据,串行输出的显示器的红、绿、蓝信号 线上。对该程序编译成功后用MaxplussII 软件进行波形仿真,以验证设计的合理与否。最后设计完成的时 序波形仿真如图3 所示。 图 3 VGA 显示控制器时序仿真图 从仿真波形图种可以看到每一显示行的时间为800 个象素时钟周期,每场包括525 行。行同步脉冲的宽度 为96 个象素时钟周期,场同步脉冲的宽度为2 行。在行同步信号hs 的行同步期间及其前肩和后肩,消隐 信号blank 为低电平,表示消隐期。在场同步信

文档评论(0)

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

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

1亿VIP精品文档

相关文档