基于fpga的《微机原理与接口技术》实践教学方法探讨
一、前言论文联盟http://
微机原理与接口技术是电子信息类理工科的一门重要专业基础课。内容涵盖微机原理、汇编语言程序设计及微机接口技术,兼顾硬件和软件2个方面,该课程的特点是概念抽象,实践性强。实践教学对于学生理解课程内容,培养学生动手能力是十分重要的。
二、《微机原理与接口技术》实践教学现状
随着高等教育正在由知识型教育向能力培养为中心的教育进行转变,电子信息类课程的实践教学环节都大大加强。但由于受到硬件实验环境与实验内容制约,特别是《微机原理与接口技术》实践教学只发生了量变而非质变,仍处于滞后的位置。
在目前的教学中,《微机原理与接口技术》实践教学存在以下几个方面的问题:
(1)实验内容固定陈旧,大都是些传统接口芯片功能的验证实验,由于实验台上的芯片资源有限,不具备进行多芯片组合的综合型实验的条件。大部分学校进行的还都是8位接口芯片的实验,而现在常用的大部分是32位64位的接口,实验内容过时。同时一些多核处理器,pci—express总线,sata接口技术等一些新技术根本没有涉及[1]。
(2)实验平台落后,实验平台芯片资源少,扩展性差,只能进行一些简单的功能验证实验,实验内容也因芯片种类和实验台架构固定而不易调整,不能发挥学生的创新能力。平台外设简单,无法激发学生的兴趣。
(3)实验技术落后,很多学校还采用的是搭积木式的设计方法进行教学[2],学生的实验灵活性小,大都是按图连线,下载程序的操作,限制了学生的设计创新能力的培养。WWW.133229.cOm实验简单抽象,大都是些芯片功能上的验证,启发性小。
(4)重软轻硬,实验重点大都集中在汇编语言的编写,学生很少能自主的设计电路,也无法了解芯片的结构以及时序,更不能自己设计芯片,大大限制了学生动手能力的培养[3]。
微机接口技术被广泛应用于电子信息各个领域,因此《微机原理与接口技术》是门应用性很强的课程,学生通过学习达到在掌握理论的基础上,能运用所学知识解决一些实际问题的能力。但因为在实践教学中存在以上问题,学生在学完这门课程后,大都停留在了解几个常用接口芯片的常用工作方式的层面上。这和高等教育“培养应用型创新人才”的目标是不相符的。
三、将fpga技术与《微机原理与接口技术》实践教学相结合
fpga(现场可编程逻辑阵列)技术[4,8],用户可以通过硬件编程语言重新配置芯片内部的电路,同时fpga芯片中有丰富的逻辑单元,可以满足设计复杂电路的需要,用fpga技术对微机接口实验平台进行改进,正好弥补了现有平台,芯片资源少,扩展性差,电路设计受限的缺点。配上usb,sata接口,液晶屏等新型外设以及相应ip核,学生便可以进行一些新的接口技术的实验,增强了实验的趣味性,也加强了学生动手能力的培养。同时由于fpga技术的广泛应用,很多大学也开设了相关课程,但大都从硬件语言和sopc(可编程片上系统)两方面作手[5],知识跨度大,而且学生缺少复杂逻辑与接口设计的实践机会,将fpga教学引入《微机原理与接口技术》实践教学正好弥补了这一空缺。在熟练掌握电路设计的基础上,学生可以运用微机接口,组成原理,体系结构,数字逻辑等知识设计多模块的系统,使学生通过实践教学将计算机多门硬件基础课程融合成一个有机的整体。
四、基于fpga的《微机原理与接口技术》实践教学方法
1.改进实验硬件环境
我们学校《微机原理与接口技术》是一门重要的计算机专业基础课,多年来一直努力探索实践教学的改革方法。我们与xilinx(赛灵思)公司建立了联合实验室,并自主研发了基于fpga的微机接口实验平台[6]。该平台采用多模块“乐高”思想分为:芯片组板、fpga扩展板、外设板等三个部分并且可以灵活组合,便于调整与维护。芯片组板可以用来进行传统的接口实验,fpga板可以用来学习硬件编程,同时还有配套的用verilog实现8255,8253,8251接口芯片的逻辑,将其下载到fpga中可以代替相应的接口芯片。因为fpga中丰富的逻辑资源,学生可以在fpga中配置多个接口芯片,并且可以用fpga实现16位、32位接口芯片,从而设计复杂的接口电路。fpga中还可以配置多种cpu架构如80x86,8051的ip核,可以建立多种系统架构。pc机与实验平台是采用fpga逻辑配合桥接芯片实现pci总线接口转isa总线接口,支持硬件在线编程与调试,同时提供相应的实验供学生学习pci总线接口与isa总线接口。外设板上在传统外设的基础上还提供了液晶屏,usb接口,ddrⅱ接口,spi接口,传感器等新型外设,实验结果的验证方法将更加丰富有
趣,大大提供了学生的兴趣,并且可以根据实验和开发的需要,组装成新的io外设板。总体上因为fpga技术与新型外设的引入大大增强了实验平台的扩展型,而且实验平台功能丰富可用于学生毕业设计,电了竞赛等综合型实验中。