用CPLD实现单片机与ISA总线接口的并行通信.docVIP

用CPLD实现单片机与ISA总线接口的并行通信.doc

  1. 1、本文档共7页,可阅读全部内容。
  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文档。上传文档
查看更多
用CPLD实现单片机与ISA总线接口的并行通信 摘要:介绍了用ALTERA公司MAX7000系列CPLD芯片实现单片机与PC104ISA总线接口之间的关行通信。给出了系统设计方法及程序源代码。 CPLD ISA总线 并行通信 CPLD(Complex Programmable Logic Device)是一种复杂的用户可编程逻辑器件,由于采用连续连接结构,易于预测延时,从而使电路仿真更加准确。CPLD是标准的大规模集成电路产品,可用于各种数字逻辑系统的设计。近年来,由于采用先进的集成工艺和大指量生产,CPLD器件成本不断下降,集成密度、速度和性能大幅度提高,一个芯片就可以实现一个复杂的数字电路系统;再加上使用方便的开发工具,使用CPLD器件可以极大地缩短产品开发周期,给设计修改带来很大方便[1]。本文以ALTERA公司的MAX7000系列为例,实现MCS51单片机与PC104ISA总线接口的并行通信。采用这种通信方式,数据传输准确高速,在12MHz晶振的MCS51单片机控制的数据采集系统中,可以满足与PC104 ISA总线接口实时通信的要求,通信速率达200Kbps。 1 系统总体设计方案 用CPLD实现单片机与PC104ISA总线接口的并行通信,由于PC104主要完成其它方面的数据采集工作,只是在空闲时才能接收单片机送来的数据,所以要求双方通信的实时性很强,但数据量不是很大。因此在系统设计中,单片机用中断方式接收数据,PC104采用查询方式接收数据。系统设计方案如图1所示。 在单片机部分,D[0..7]是数据总线,A[0..15]是地址总线,RD和WR分别是读写信号线,INT0是单片机的外部中断,当单片机的外部中断信号有效时,单片机接收数据。 在CPLD部分,用一片MAX7000系列中的PM7128 ESLC84来实现,用来完成MCS51与PC104ISA总线接口之间的数据传输、状态查询及延时等待。 在PC104ISA部分,只用到PC104的8位数据总线D[0..7],A[0..9]是PC104的地址总线;/IOW和/IOR是对指定设备的读写信号;AEN是允许DMA控制地址总线、数据总线和读写命令线进行DMA传输以及对存储器和I/O设备的读写;IOCHRDY是I/O就绪信号,I/O通道就绪为高,此时处理机产生的存储器读写周期为4需5个时钟周期,MCS51通过置此信号为低电平使CPU插入等待周期,从而延长I/O周期;SYSCLK是系统时钟信号,使系统与外部设备保持同步;RESETDR是上电复位或系统初始化逻辑信号,是系统总清信号。 2 基于MAX+plusII的硬件实现 ALTERA公司的CPLD开发工具MAX+plusII,支持多种输入方式,给设计开发提供了极大的方便,因此本系统采用MAX+plusII进行设计。系统的主体部分用原理图输入方式,由于库中提供现成的芯片,所以使用很方便。原理图输入部分如图2和图3所示。图2主要完成单片机与ISA接口通信中的数据传输和握手判断。在图2中,各信号说明如下: D[0..7] 单片机的8位双向数据总线; PCD[0..7] ISA接口的8位双向数据总线; PCRD ISA接口的读有效信号; PCWR ISA接口的写有效信号; STATE ISA接口的查询选通信号,用来判断单片机已写数据或读走数据; PCSTATE 单片机用此查询ISA接口已取走数据; MCURD 单片机的读有效信号; MCUWD 单片机的写有效信号; INT0 单片机的外部中断信号。 当MCUWR信号有效时,单片机把数据锁存于74LS374(1)中,此时PCSTAE变为高电平;PC104用STATE信号选通74LS244来判断数据位PCD0是否为高电平,如果为高,说明单片机送来了数据,则使PCRD有效,从数据锁存器74LS374(1)中取走数据,此时PCSTATE变为低电平,单片机通过判断此信号为低电平来判定PC104已取走了数据,此时可以发下一个数据。 ??? 当PCWR信号有效时,PC104把数据锁存于74LS374(2)中,此时INT0变为低电平;单片机产生外部中断,使MCURD信号有效,从数据锁存器74LS374(2)中取走数据。此时INT0变为高电平,PC104用STATE信号选通74LS244判断数据位PCD1是否为高电平,如果为高电平,则说明单片机取走了数据,可以发送下一个数据。 PC104与单片机进行通信,最关键的就是速度匹配问题。由于PC104的速度快,而单片机的速度较慢,所以要在PC104的IOCHRDY处插入等待周期。如图3所示,各信号说明如下: IOCHRDY 用来使ISA接口等待5个时钟周期; DLY_D 延时输入信号; DLY_CL 延时等待时钟信号; DLY_CLR 等待清除

文档评论(0)

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

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

1亿VIP精品文档

相关文档