2 基于MAX+plus II的硬件实现
本系统是用ALTERA公司的CPLD开发工具MAX+plusII。它支持多种输入方式,给设计开发提供了极大的方便。系统的主体部分仍是用原理图输入方式。由于库中提供了现在的芯片,所以使用很方便。原理图输入部分如图2和图3所示。图2主要完成单片机与ISA接口通信中的数据传输和握手判断。
D[0..7] 单片机的8位双向数据总线;
PCD[0..7] ISA接口的8位双向数据总线;
PCRD ISA接口的读有效信号;
PCWR ISA接口的写有效信号;
判断单片机已写数据或读走数据;
PCSTATE 单片机用此查询ISA接口已取走数据;
MSCRD 单片机的读有效信号;
MCSWR 单片机的写有效信号;
INT0 单片机的外部中断信号;
当MCUWR信号有效后,单片机把数据锁存于74LS374(1)中,此时,PCSTATE变为高电平。PC104用STATE信号选通74LS244来判断数据位PCD0是否为高电平,如果为高,说明单片机送来了数据,那么使PCRD有效,从数据存器74LS374(1)中取走数据。此时,PCSTATE变为低电平,单片机通过判断此信号为低电平来判定PC104已取走了数据,可以发下一个数据。
当PCWR信号有效后,PC104把数据锁存于74LS374(2)中,此时,INT0变为低电闰,单片机产生外部中断,使MCSRD信号有效,从数据锁存器74LS374(2)中取走装饰,INT0变为高电平。PC104用STATE信号选通74LS244判断数据位PCD1是否为高电平,如果为高电平,说明单片机取走了数据,可以发送下一个数据。 PC104与单片机进行通信,最关键的就是速度匹配问题。由于PC104的速度快,而单片机的速度较慢,所以,要在PC104的IOCHRDY处插入等待周期,如图3所示。
IOCHRDY 用来使ISA接口等待5个时钟周期;
DLY_D 延时输入信号;
DLY_CK 延时等待时钟信号;
DLY_CLR 等待清除信号,为开始下一次送数周期作准备;
DELAY 延时5个时钟周期后的输出信号,作为DLY_CLR信号的输入;
SYSCLK ISA接口的系统时钟信号。