用cpld实现单片机与isa总线接口的并行通信

用cpld实现单片机与isa总线接口的并行通信

ID:21022431

大小:50.50 KB

页数:3页

时间:2018-10-18

用cpld实现单片机与isa总线接口的并行通信_第1页
用cpld实现单片机与isa总线接口的并行通信_第2页
用cpld实现单片机与isa总线接口的并行通信_第3页
资源描述:

《用cpld实现单片机与isa总线接口的并行通信》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

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

2、第1...lunal>关键词:CPLDISA总线并行通信CPLD(plexProgrammableLogicDevice)是一种复杂的用户可编程逻辑器件,由于采用连续连接结构,易于预测延时,从而使电路仿真更加准确。CPLD是标准的大规模集成电路产品,可用于各种数字逻辑系统的设计。近年来,由于采用先进的集成工艺和大指量生产,CPLD器件成本不断下降,集成密度、速度和性能大幅度提高,一个芯片就可以实现一个复杂的数字电路系统;再加上使用方便的开发工具,使用CPLD器件可以极大地缩短产品开发周期,给设计修改带来很大方便[1]。本文以ALTERA公

3、司的MAX7000系列为例,实现MCS51单片机与PC104ISA总线接口的并行通信。采用这种通信方式,数据传输准确高速,在12MHz晶振的MCS51单片机控制的数据采集系统中,可以满足与PC104ISA总线接口实时通信的要求,通信速率达200Kbps。1系统总体设计方案用CPLD实现单片机与PC104ISA总线接口的并行通信,由于PC104主要完成其它方面的数据采集工作,只是在空闲时才能接收单片机送来的数据,所以要求双方通信的实时性很强,但数据量不是很大。因此在系统设计中,单片机用中断方式接收数据,PC104采用查询方式接收数据。系统设计方案如图1所示。在单片机部分,D[0..7]是

4、数据总线,A[0..15]是地址总线,RD和AX7000系列中的PM7128ESLC84来实现,用来完成MCS51与PC104ISA总线接口之间的数据传输、状态查询及延时等待。在PC104ISA部分,只用到PC104的8位数据总线D[0..7],A[0..9]是PC104的地址总线;/IOA控制地址总线、数据总线和读写命令线进行DMA传输以及对存储器和I/O设备的读写;IOCHRDY是I/O就绪信号,I/O通道就绪为高,此时处理机产生的存储器读写周期为4需5个时钟周期,MCS51通过置此信号为低电平使CPU插入等待周期,从而延长I/O周期;SYSCLK是系统时钟信号,使系统与外部设备保

5、持同步;RESETDR是上电复位或系统初始化逻辑信号,是系统总清信号。2基于MAX+plusII的硬件实现ALTERA公司的CPLD开发工具MAX+plusII,支持多种输入方式,给设计开发提供了极大的方便,因此本系统采用MAX+plusII进行设计。系统的主体部分用原理图输入方式,由于库中提供现成的芯片,所以使用很方便。原理图输入部分如图2和图3所示。图2主要完成单片机与ISA接口通信中的数据传输和握手判断。在图2中,各信号说明如下:D[0..7]单片机的8位双向数据总线;PCD[0..7]ISA接口的8位双向数据总线;PCRDISA接口的读有效信号;PCCURD单片机的读有效信号;

6、MCUCUCURD信号有效,从数据锁存器74LS374(2)中取走数据。此时INT0变为高电平,PC104用STATE信号选通74LS244判断数据位PCD1是否为高电平,如果为高电平,则说明单片机取走了数据,可以发送下一个数据。PC104与单片机进行通信,最关键的就是速度匹配问题。由于PC104的速度快,而单片机的速度较慢,所以要在PC104的IOCHRDY处插入等待周期。如图3所示,各信号说明如下:IOCHRDY用来使ISA接口等待5个时钟周期;DLY_D延时输入信号;DLY_CL延时等待时钟信号;DLY_CLR等待清除信号,为开始下一次送数据其做准备;DELAY延时5个时钟周期后

7、的输出信号,作为DLY_CLR信号的输入;SYSCLKISA接口的系统时钟信号。在MCS51与PC104进行通信的过程中,DLY_D信号一直有效(高电平),在信号SYSCLK的作用下,每5个时钟周期DELAY信号有效一次,即为高电平。此时DLY_CLR信号有效(低电平),IOCHRDY信号变为高电平,PC104可以读写数据。地址译码部分采用文本输入方式。用ALTERA公司的硬件设计开发语言AHDL(AlteraHardp;(PCA[9..1]==H"110");DLY_CK=!AEN(PCA[9..1]==H"110")(!IOR#!IOCSCUR:MOVDPTR,#400HMOVXA

8、,DPTRRETIPC104读数据函数:Unsignedcharpcread(intport){p;0x0!=0x01);等待单片机写数据{}returninportb(pcreadCUOVDPTR,#8000HMOVXDPTR,A;等待PC104读写数据RET

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。