周芳 陈鑫 张颖
摘要:为了利用现有的微机原理实验箱进行32位微机原理实验教学,该文介绍了一种32位微机原理实验系统的设计方法,该方法通过微机系统内部PCI总线扩展出低速ISA总线接口信号,从而将微机系统内的部分资源引出并利用,对实验箱上的模块进行操作并进行实验。利用该实验系统可全面支持“微机原理与应用”及“微机接口技术”的各项实验内容。
关键词: 32位微机;实验系统;ISA;PCI;总线扩展
中图分类号:TP368 文献标识码:A 文章编号:1009-3044(2014)10-2464-03
Abstract: In order to using the existing microcomputer experiment board to do experiments for 32 microcomputer, this paper proposes a method to design the experiment system for 32 microcomputer. In this method, the internal PCI bus in microcomputer system is expanded to the low-speed ISA bus, thus some of the resources within the microcomputer system can be used to do some experiments on the external experiment board. With the use of the experimental system, the experiments of the case "Microcomputer Principles and Applications" and the case "microcomputer interface technology" can be carried.
Key words: 32 microcomputer; experimental system; ISA; PCI; bus expansion
1 概述
微机的产生和发展主要表现在其核心部件——微处理器的产生与发展上。微处理器从早期的8位处理器,历经16位的8086/8088,到引入保护模式的802826,再到32位的80386和80486,一直不断发展。随着微处理器的更新换代,微机中其他部件也随之相应发展,如微型计算机体系结构的进一步优化、存储器存取容量的不断增大,存取速度的不断提高、外围设备性能的不断改进以及新设备的出现等等,所有这些也对作为高校微机硬件基础课的微机原理与接口技术教学提出了新的要求。然而目前国内的微机教学仍主要围绕16位微机系统在开展,为了改变这种现状,各高校教师一直在寻找一种32位微机教学的途径如何在已经普及的16位80x86微机原理及接口教学的基础上,学习掌握32位微机原理及高级接口技术[1-2]。
2 32位微机实验系统
由于微机的发展保持了向上兼容性,芯片组已经高度集成,低速外围芯片需要通过桥芯片或专用控制器才能连接到更高以及速度的总线上,而诸如8253定时/计数器、8259控制器和DMA控制器等控制芯片也都已经集成到桥芯片中,而且这种硬件连接都已经固定,大部分硬件资源被系统分配给特定应用,操作系统本身还要对硬件进行直接的管理。因此,基于微机本身的接口技术教学,最多只能实现验证式操作,而不能够了解接口全部特性及应用方法。对于一些常用的,微机内没有的接口如A/D、D/A转换,存储器扩展等,更没有办法进行实验。这对于提倡开放式的高校教学,无疑有很大的局限性。
为了解决基于微机进行实验教学带来的各种局限和不便,利用总线扩展的方法的将微机内部分硬件资源引出,并通过一定的控制逻辑提供可以在微机系统外部连接使用常用接口芯片的信号,让学生实践接口连接和芯片编程,是一种切实可行的方法。在AT/ISA总线为主或南、北桥结构的微机中,可以通过ISA总线扩展直接实现微机系统内部资源的外扩。但在现代微机系统中,由于ISA总线已经被淘汰,微机提供的总线接口主要是PCI扩展插槽,所以需要从PCI总线扩展出仿真ISA接口,提供部分仿真ISA总线信号,将各种常用接口芯片以及典型应用挂接在该接口上[3]。同时由于PCI总线支持了总线主控方式、其中断功能也区别于ISA总线。因此,在PCI总线上不推荐使用8237DMA控制器和8259中断控制器。有关8237DMA控制器和8259中断控制器的学习,只能基于微机本身实现一些特定的操作。基于总线扩展形式的32位微机教学实验系统结构如图1所示。
综上所述,32位微机接口技术的基本教学可以从两个方面来实现,一方面是以微机为平台,操作微机系统内部资源,包括对系统8259、8237、键盘、鼠标等的操作应用。另一方面是以微机实验箱为平台,通过PCI总线扩展出低速ISA总线接口信号,挂接一些常用接口芯片及典型应用,学习其基本编程与应用,包括8254、8255、8251、A/D、D/A和微机控制应用等。
2.1 实验系统的构成
本文所设计的实验系统为32位微机接口技术应用提供了硬件平台,系统经PCI总线扩展卡及转接逻辑提供了一个仿真ISA接口,即可基于该接口学习常用接口芯片的编程及应用。
实验板上的电路单元主要分两部分:系统总线单元电路和扩展接口电路。其中,系统总线单元电路包括:总线隔离驱动、ISA总线隔离板插槽、测试引脚和ISA引线输出等部分;扩展接口电路接口单元则提供了各种常用外围接口以及控制应用部件,如定时/记数器8253、并口8255、静态存储器6264、闪存29256、ADC574、DAC0832、键盘输入以及LED显示、二进制开关输入及发光管显示、电机及温度控制单元电路。实验板总体布局如图2所示。
2.2 实验系统的设计
限于篇幅,这里只介绍实验板上主要模块的电路设计[4-6]。
2.2.1 系统总线单元电路
系统总线单元电路主要实现仿真ISA总线信号加入到实验板上的隔离功能,引入基本接口实验板上的信号中,数据线D0-D7由双向三态驱动器74LS245实现数据信号的驱动隔离,并通过DIR和OE端口来控制其功能及输入输出的方向。IOR、IOW、DACK1、A0、A1、A2、AEN、RST经74LS245芯片实现信号单向驱动隔离。
2.2.2 地址译码电路
地址译码电路主要是通过74LS138译码芯片来实现不同I/O地址范围的输出,具体的片选信号和地址对应如表1所示。I/O口地址在DMA传送时无效,如要使某个芯片既可DMA传送,也可工作在正常情况下,可将该芯片的片选信号经一与门控制。
2.2.3 电源模块
该实验板的电源供电系统主要由两部分组成:实验板的主电源和CPLD/FPGA所使用的3.3V及1.5V电源。主电源提供+5V,-5V,+12V,-12V以及GND电压,可以满足实验板上各模块的供电需要;CPLD/FPGA供电电源则主要提供+3.3V,+1.5V电压给CPLD及FPGA芯片使用。
2.2.4 基本输入输出单元电路
实验板上提供了8位基本输入输出单元电路。基本输入单元电路由双向驱动器74LS245构成,其中74LS245的DIR控制端接地,因此驱动方向为从B到A。基本输出单元电路由三态缓冲输出的八D锁存器74LS373芯片构成,图中CS_DO为74LS373芯片的片选。通过与实验平台上的有关电路连接,如8位乒乓开关或发光二极管组,能进行最基本的输入输出实验。
2.2.5 CPLD/FPGA模块电路
该模块主要用于CPLD/FPGA扩展实验所使用,该实验板使用将各I/O引脚引出提供给用户使用的方式,来支持未来的CPLD/FPGA实验。
CPLD芯片可引出64个I/O口(其中20*2个小孔外加3*8个大孔)供用户使用。此外,实验板还设计了20MHz的时钟输出电路,并将CPLD芯片的GCLK1以及GCLK2接口引出,以支持在实验中选择不同的时钟输入。同时也提供了JTAG相关接口及插槽,就可以通过JTAG接口来实现程序的写入操作。
FPGA芯片可引出64个I/O口(其中20*2个小孔外加3*8个大孔)供用户使用,此外,实验板还为FPGA芯片提供了40MHz的时钟输入。同时也提供了两组JTAG相关接口及插槽,其中一组用于在系统编程,另一组JTAG接口用于在线编程[7]。
3 结论
本文所设计的32位微机实验系统功能强大,利用该实验系统可以为广大高等院校的微机原理及接口技术等相关课程提供强大的实验教学平台。该系统即可支持基本微机接口技术实验,又可支持PCI总线扩展开发的高级接口技术实验,从而全面支持“微机原理与应用”及“微机接口技术”的各项实验内容。
参考文献:
[1] 戴先中,李久贤,马旭东. 微机硬件应用实践——原理与接口[M]. 南京:东南大学出版社,1999.
[2] 吴宁. 80X86/Pentium微型计算机原理及应用[M]. 北京:电子工业出版社,2011.
[3] 西安唐都科教仪器公司. 32位危机教学系统实验指导[Z].
[4] 姜沫岐,等. Protel 2004原理图与PCB设计实例[M]. 北京:机械工业出版社,2006.
[5] 刘文涛. Protel 2004完全学习手册[M]. 北京:电子工业出版社,2005.
[6] 米昶. Protel 2004 电路设计与仿真 [M]. 北京:机械工业出版社,2006.
[7] James E. Cross and Raphael A. Soetan. Teaching Microprocessor design using the 8086 microprocessor[J]. IEEE, 1988:175-180.