尽管在最近三十年中,大规模集成电路技术和计算机软硬件技术,特别是微处理器和微型计算机技术的进步有了翻天覆地的变化,然而,作为电子信息类各专业重要的专业基础课,“微机原理与接口技术”课程的内容及实验方式仍停留在上世纪80年代。我们不妨打开几乎任何一本上世纪80年代和2012年最近的同名教材《微机原理与接口技术》,就会发现,在这里,时间是凝固的,内容是穿越的。这是因为它们的核心内容,基本技术,硬件形式和实验方法没有发生任何变化。可以想象,读者根本无法从中感受到这一课程与外部世界信息技术进步的风驰电骋般的脚步声有何联系。显然这一课程的许多内容及实验方式显得过于陈旧,已不能完全适应现代的微机技术了,有必要进行适当的改革与补充:
◆ 现代微机系统早已进入了片上系统SOC(System Of a Chip)时代,孤立地讨论微机中各接口部件结构原理的同时,也应该描述微机的整体结构及构建技术,理应给出与现代微机作为SOC整体结构相吻合的整机构建原理及工程技术;
◆ 现代微机中早已没有了早期PC机中离散的接口器件了(如8255、8237等芯片,尽管还保留了它们的功能),但在教学和实验中就不应仅仅围绕这些早期的离散器件来进行,而是应该把它们作为微机SOC整体中的一个部分来认识和讨论;
◆ 与上世纪80年代的电子技术水平完全不同,现在已进入了电子设计自动化的时代,不仅诸如8255、8237、8254这样的接口器件可以利用EDA技术进行自主设计,即使是CPU这样的大规模芯片,乃至整个SOC微机系统,用户也同样能自主构建。所有这些也应该在教学内容和实验中有所反应,因为这些内容将使学生深化对微机原理和接口器件的认识。
◆ 对于这门课程,现在仍然沿袭早期的孤立和被动地认知微机原理和学习接口技术的教学方法。所谓孤立,就是不与其他的学科,如计算机组成、嵌入式系统、EDA技术、SOC技术等,有任何相关性,即无法与其他学科体系进行有机融合;所谓被动,就是只是单向地学会使用一些现成的接口器件和接口技术,而无法主动地自主设计新的接口器件和给出新的接口技术。这势必极大地限制了学生的视野,约束了他们的创新意识。这一切都必须在这门课程中引入全新的内容加以改变。针对以上的讨论, 清华大学出版社将于2013年推出《微机原理与接口技术——原理、技术与SOC实现》一书,作者是杭州电子科技大学与桂林电子科技大学的有关教师。此教材的整体结构和基本内容与传统《微机原理与接口技术》有很好的吻合,但为了融入新的内容,作了必要的精简。作者将EDA与SOC技术有机地融入了相关章节中,并在各对应章节后增加了有良好针对性的实验及自主设计实践项目。例如,在涉及接口技术的各章中,除了按习惯的流程介绍传统的基本概念、常用器件(如8088/8086、8255、8259、8237、8253、16550等)和接口技术外,还特别增加了对应的SOC技术的介绍:
图1 构建于FPGA内的基于8086 CPU核的微型计算机片上系统SOC模块图 |
这里以并行接口技术章节的8255为例。此章在完成传统内容的讲解后,首先介绍8255 IP核的基本概念和使用方法,包括介绍此核与传统8255芯片的异同点;然后在EDA工具平台上介绍8088/8086 CPU IP核与8255核的接口方法以及8255核与外设的接口技术;最后介绍如何将8088/8086 CPU核与接口器件8255核构成一个能够执行标准汇编指令的简易结构的微机系统(包括必要的嵌入式存储器)。详细讨论通过仿真测试并下载于一片FPGA中之后,利用各种实时测试工具对下载于FPGA中“微机”SOC系统的硬件功能及其软件程序执行的各种情况。在这个过程中,学生不仅是被动的学习者和应用者,尤其了成为能动的自主设计者!这一切反过来又促进了对微机接口技术的深入掌握。
最后还要增加三个部分或三个逐步升级的内容,这些内容将之前的章节作整合和归纳,并逐章升华:第一部分根据实用要求,介绍自主设计与应用除传统接口器件(如8253、8279等)以外的接口模块的方法,包括自主设计接口模块与SOC微机系统的软硬件接口技术以及与外设的接口技术;第二部分讨论的内容是将之前介绍的一个个简易微机系统整合成一个完整的,功能全面的SOC微机系统,其基本结构所包含的IP核主要有8088/8086、8255、8259、8237、8253、16550及自主设计的接口模块和各类存储器等,以及对此SOC系统的软硬件测试技术和系统实用方法;
一、模块化微机原理与接口技术实验与SOC设计综合开发系统
SOC片上系统8088完成的实验:
◇ 8255可编程I/O核的构建,硬件实验,以及8088 CPU与8255接口的硬件构建及软件设计实验,和相关接口实验;
◇ 8253定时器核的构建,硬件实验,以及8088 CPU与8253接口的硬件构建及软件设计实验,和相关接口实验;
◇ 8237 DMA核的构建,硬件实验,以及8088 CPU与8237接口的硬件构建及软件设计实验,和相关接口实验;
◇ 8259中断控制核的构建,硬件实验,以及8088 CPU与8259接口的硬件构建及软件设计实验,和相关接口实验;
◇ 8250 UART串行通信核的构建,硬件实验,以及8088 CPU与8250接口的硬件构建及软件设计实验,和相关接口实验;
◇ 8088与所有IP核构建综合系统的硬件实验以及软件实验:多首歌曲演奏设计实验;
◇ 8088与所有IP核构建综合系统的硬件实验以及软件实验:GPS应用设计实验;
◇ 8086与所有IP核构建综合系统的硬件实验以及软件实验,BIOS ROM建立,MS-DOS操作系统启动;
◇ 8086与所有IP核构建综合系统的硬件实验以及软件实验,VGA显示,PS2键盘控制,DOS命令控制接口及WINDOWS系统及相关软件运行;
◇ 8086与所有IP核构建综合系统的硬件实验以及软件实验,8086嵌入式系统TURBO C调试实验。
◇ 基于8086/8088和其他所有接口模块的自主创新实验。
模块化微机原理与接口技术SOC实验系统KX_MCD55的结构框图。通常,诸如微机原理与接口技术、计算机组成原理、EDA技术、单片机技术或SOPC实验等传统实验平台多数是整体结构型的,虽也可完成多种类型实验,但由于整体结构不可变动,实验项目和类型是预先设定和固定的,很难有自主发挥的余地,因此主要是完成一些验证性实验。如果学生的创新思想与创新设计与实验系统的结构不吻合,便无法在此平台上获得验证。
模块化结构给出了最好的解决方案:
○ 在实验和创新实践中,能提供用于构建微机系统中必须的逻辑和存储器资源,丰富到足以涵盖微机系统任何逻辑规模的结构以及学生的创造力所及的任何形式的设计项目。
○ 在外围接口方面,除大量丰富的接口模块,如VGA、PS2、USB、SD卡、RS232串口、语音处理、AD/DA等等现成的模块外,还提供能适应实验者随时根据自己的创新实验需要,自主安排和设计新功能模块的标准接口。
○ 从微机原理与接口技术这一课程的性质可以看出,将实验硬件平台定位于大规模逻辑容量的Cyclone III系列FPGA,在硬件测试,软件调试,软硬件联合测试与验证方面是十分必须的,特别是基于Quartus II平台的强大的测试工具,如Signal Tap II、In-System Sources and Probes 和In-System Memory Content Editor等具有不可替代的功能。此外,特别要指出的是,KX_MCD55系统在除了适用于此教材中涉及的所有验证性实验和自主设计性实践项目外,还能很专业地包涵诸如数字系统实验、EDA技术实验、VHDL/Verilog硬件描述语言应用实验、SOPC开发和各类IP应用等。
与《微机原理与接口技术——原理、技术与SOC实现》教材配套的实验开发与创新设计的设备是:
型号:KX-MCD10完成以下实验:
▲ 现代计算机组成原理与设计的基础实验,包括各组成部件,如ALU、移位寄存器、总线控制器等的设计与测试;▲ 基于微指令的8位CISC模型计算机设计与测试。即将传统计算机组成原理实验中的8位模型机完整实现于一片FPGA中,并利用QuartusII的实时测试工具,如Signal Tap II和In-System Sources and Probes进行硬件测试; |
▲ 基于状态机控制指令的16位CISC CPU设计与测试,包括CPU创新设计竞赛实践项目;
▲ 基于流水线架构的16位RISC 精简指令CPU设计,与相关实验;
▲ 基于32位Nios II嵌入式处理器和Qsys开发环境的SOPC实验与开发;
▲ 基于Open RISC 1200系列的32位RISC处理器嵌入式SOC系统实验与开发;
▲ 基于8088/8086 IP核的微机SOC系统,以及8253定时器IP核、8237 DMA IP核、8259中断控制IP核、8255可编程I/O IP核和8250 UART串行通信IP软核构建的SOC微机系统;此FPGA内部SRAM中含BIOS启动ROM、显示缓存、PS2缓存等;能启动MS-DOS操作系统和Windows操作系统,在VGA显示器上用PS2键盘和鼠标完成DOS和部分Windows命令及运行各种基于命令行的传统软件与视窗软件。
▲ 基于8051单片机IP核的SOC片上系统设计系列实验。
KX-MCD10配置如下:
一、基本平台 编号:A 主系统
☆此平台最多可同时插12 块模块板。☆ KX_USB-Blaster2型双功能编程器:(1)USB-Blaster编程下载功能(支持AS、PS、JTAG模式):1、对FPGA/CPLD进行配置或编程;2、对配置器件EPCSx编程;3、访问和编辑FPGA内部RAM;4、调试Nios2,完成SOPC设计;5、支持SignalTapII 嵌入式逻辑分析仪。(2)USB到UART串行通信转换:1、通过USB与FPGA串行通信,实现PC与FPGA的串行通信,且无需RS232电平转换;2、通过USB与单片机的串行通信,实现PC与通用单片机的UART串行通信;3、通过USB对STC等系列单片机进行直接编程开发,无需电平转换。☆ ByteBlasterMV编程器一个(可对isp单片机编程)。☆ 5功能智能逻辑笔:可显示高电平、低电平、中电平、高阻态、脉冲信号。注意有“高阻态”测试功能。☆ 独立的标准时钟频率20个。20MHZ-0.5HZ。☆ 电源有自动保护的+5V,+12V、-12V、、+3.3V、2.5V+、1.2V。☆ 8个LED放光二级管,8个乒乓开关,扬声器。☆ DDS信号输出口及幅度、偏移调谐。
编号:B1、FPGA模块一 |
此FPGA由含100万门的CycloneIII新型大规模FPGA EP3C10构成,2锁相环,44万RAM 位,5千LCs,EPCS4 4M Flash。超宽超高锁相环输出频率1300MHz至2kHz!,提供多种IP核:32位NiosII核、20MHz有源晶振等.FPGA板包含 8051/52 IP核。提供商业级全兼容MCS-51单片机IP核。利用此核,实验者可以实现传统单片机实验系统无法达到的SOC(片上系统)设计。即将单片机CPU、RAM、ROM以及其它各类接口电路模块设计在同一片FPGA中。此类技术对于对于面向高新技术企业的就业十分必要。 8088、8086 CPU IP核。 8255A IP核模块;8255A IP核(I/O接口);8253/8254 IP核(定时器);8250 IP核(UART串行通信);8237 IP核(DMA控制器);8259 IP核(可编程中断控制器),以及基于FPGA的RAM/ROM核、锁相环核等。这些IP核与8088CPU核相结合就能在单片FPGA中构成一个微机系统,从而学习到实用的SOC设计工程技术。FPGA中的8088核与MCS-31单片机核及其中的各种模块和核都能与以下各模块结合,实现不同类型的实验开发 |
编号:C21、SD+PS2+RS232+VGA显示接口模块 |