位置:51电子网 » 技术资料 » 接口电路

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

发布时间:2008/6/3 0:00:00 访问次数:494

摘要:介绍了用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是否为高电

摘要:介绍了用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是否为高电

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!