1 引言
由于数字逻辑电路和单片机在实际工程应用中的重要性,目前,全国大多数理工类院校自动化专业把以上两门课程列为重点课程,并配以28学时以上的教学实验,以提高学生的动手与设计能力。受到传统实验设备的限制,两门课程的实验只能单独开展,但在实际的电子设备设计过程中,单片机控制和数字逻辑电路设计具有不可分割的特点,造成学生对课程知识点的掌握无法融会贯通[1]。
基于单片机/FPGA双核心实验教学平台的研制和应用是解决上述问题的有效途径。实验教学平台以硬件实验软件化的设计思想,通过对可编程逻辑器件FPGA的编程,实现数字逻辑电路的设计与验证以及单片机的开发与控制。实验教学平台既能够支持数字电路实验,也能支持单片机实验教学,并通过实验教学平台实现两课程教学与实践的无缝衔接,将大幅提高教师课程教学的效率和学生的实践创新能力。
2 平台设计
总体结构 实验教学平台总体结构如图1所示。采用底板和核心板组成的模块化结构,底板通用,核心板为FPGA和单片机双核心模式,主要包括三个部分。
1)FPGA/单片机实验核心板。选择ALTERA Cyclone II或更高级,I/O口兼容3.3 V/5.0 V TTL电平的FPGA芯片作为主控板,在EDA软件设计好的硬件电路可以通过下载电缆(AS和JTAG下载接口)下载到核心板,实现对外围功能底板各外设的控制;单片机选择具有16 KB系统内可编程Flash的8位AVR微控制器ATmega16,也可根据教材内容选型。
2)外围功能底板。设计多个外围设备作为核心板的控制对象,包括10 M或100 M以太网接口、VGA接口、串口、PS/2键鼠接口、红外接口、I2C接口、SD卡媒体接口、液晶屏接口、A/D和D/A、七段码显示器、LED点阵显示器、矩阵键盘、拨码开关、555电路、RAM、蜂鸣器和步进电机驱动等。
3)BBII下载电缆。实现计算机上设计的硬件电路下载到核心板的数据传输功能。
系统功能 实验平台的创新主要体现在它的综合教学功能,既可作为数字电路的实验教学平台,又可用作单片机的教学开发板。可开设的数字逻辑电路实验包括门电路、拨码开关、编码器、译解码器、多路复用器、比较器、加法器、移位寄存器、计数器、数字钟、A/D和D/A转换等。学生通过QuartusII进行形象的数字电路设计并定义FPGA的引脚后,将程序下载到FPGA,即可直观地观察实验结果,有利于提高学生的学习兴趣。
进入单片机学习阶段,通过实验平台进行以单片机为核心、电子电路为外围设备的应用实例实验,将单片机的知识点和数字电路知识点贯通起来,有利于提高学生对课程知识的综合运用能力。平台可进行单片机的最小系统实验,包括发光二极管试验、流水灯、七段数码管静态与动态显示、单片机定时器运用、单片机中断、矩阵键盘检测、温度显示、红外收发、步进电机驱动等。此外,学生还可根据个人特点,发挥主动性和创造性,依托实验平台设计以单片机为核心,结合数字逻辑电路和外围设备的综合性控制实验,进一步锻炼创新能力。
3 实验案例
数字逻辑电路综合实验 采用74LS90构成模10计数器,通过显示译码器74LS47和七段数码管组成的一位数码显示电路,显示0~9的十进制计数过程。该实验综合运用了组合逻辑电路和时序逻辑电路的基础知识,具有较强的代表性。但在以往的实验教学中,该实验完成的情况一直不太理想。究其原因,主要是实验涉及的电路模块和芯片较多,在传统的数字电路实验箱上完成,学生需要在实验面板上大量连线。这些导线纵横交错,容易出现错接、漏接,接触不良等问题,学生课堂实验时间往往耗费在查线、查漏等非专业知识问题上,实验效果受到极大影响。
本实验平台综合了仿真实验和硬件实验的优势,实验箱提供了CP计数脉冲产生电路、七段共阴数码管显示电路等硬件模块,在所设计电路的输入和输出两个关键位置给予学生直观的操作和结果显示。而计数器、译码器等容易损耗的器件芯片以及连线较为复杂的电路部分,则通过计算机仿真软件来实现电路的设计和连接,充分体现了实验平台在数字电路实验教学中的优越性。具体实验步骤如下。
在QuartusII中建立一个工程,把异步计数器74LS90的QA输出端连接到CLKB输入端,然后把计数脉冲CP加到CLKA输入端,同时SET9A、SET9B、CLRA和CLRB引脚接地,即可实现十进制计数功能;显示译码器74LS47把8421BCD码转换为低电平有效的译码信号,驱动七段共阳数码管,显示0~9十个数字。把74LS47的A、B、C、D输入引脚分别与74LS90的QA、QB、QC、QD输出引脚相连,同时74LS47的LTN、RBIN、BIN引脚接高电平,OA、OB、OC、OD、OE、OF、OG引脚分别与数码管的A、B、C、D、E、F、G引脚相连,从而构成一位数码显示电路[2]。
电路设计完成后,即可点击QuartusII菜单中的“Processing|Start ComPilation”进行编译,并对FPGA中的I/O相应的输入和输出管脚进行定义。单击QuartusII菜单中的“Assignments|Pinplanner”,根据图2所示各引脚对应关系完成电路输入和输出的定义。对定义好引脚的电路重复一次编译工作,再通过ByteBlasterII下载电缆的Jtag口下载编译好的sof文件到FPGA电路板中,即可开始实验操作[3]。
单片机温度检测与显示实验 实验平台集成了具有I2C接口的LM75A温度传感器,在-55~+125 ℃的温度范围内将温度直接转换为数字信号,显示精度可达0.125 ℃。单片机通过I2C总线直接读取其内部寄存器的数据,并通过I2C接口对4个数据寄存器进行操作,以设置为不同的工作模式[4]。平台设置了LM75A的SDA和SCL引脚与单片机的P1.3和P1.4引脚硬件相连,七段数码管的片选引脚与4-16线译码器74HC154的输出端硬件相连,当74HC154的选通端(OE1、OE2)均为低电平时,可将地址输入端(ABCD)的二进制编码在译码器对应的输出端以低电平有效的形式译出,则电路可通过地址端(ABCD)实现对七段数码管的片选控制。
由于在实验平台中,数码管显示模块的A~G引脚与FPGA的相应引脚是硬件相连的,因此,本实验最小系统只要按图3所示对FPGA的相应引脚进行分配,即可进行单片机程序的烧写和实验。
4 小结
实验教学平台的成功研制和应用,克服了传统数字电路实验箱和单片机实
验箱只能单独开出本门课程实验,两门课程教学无法实现有效关联的缺点,为电类各专业学生提供了一个创新实验平台。目前,实验平台已在计算机学院嵌入式专业开展示范应用,并逐步推广到自动化、电子信息工程等多个专业。通过平台实训,学生的学习和动手能力大幅提高,为后续专业课程的学习打下良好的基础。
近年来,在校学生积极参加科技竞赛活动,获得国家级奖励50余项,省级奖励40余项。其中,示范应用的嵌入式专业学生获得国家奖励15项,省级奖励26项。此外,通过实验平台进行教学的专任教师,教学效果备受同行和学生的好评。其中,2名教师获得省级优秀教师称号,5名教师获得市级优秀教师称号。实验平台无论是在提升学生综合设计和创新能力,还是在教师教学手段的改变和教学能力的提升方面,均取得令人满意的效果。■
参考文献
[1]熊正鹏.基于PLC与单片机双平台控制的开放式机电教学实验设备的研制[J].实验室研究与探索,2004,23(12):
40-41.
[2]邓元庆,关宇,贾鹏.数字设计基础与应用[M].北京:清华大学出版社,2005.
[3]江国强.数字电路的Verilog HDL设计[M].北京:机械工业出版社,2007.
[4]苏变玲.基于Proteus的单片机仿真教学的研究[J].实验室研究与探索,2009,28(4):75-78.