万 军衡雪永.常州大学城市轨道交通学院 江苏常州 364 .常州大学怀德学院 江苏常州 364
基于FPGA的单片机课程实验平台的构建与应用
万 军1衡雪永2
1.常州大学城市轨道交通学院 江苏常州 213164 2.常州大学怀德学院 江苏常州 213164
摘 要:针对单片机课程现行主流实验平台存在的问题,设计和开发了一种基于 FPGA 技术的单片机实验平台。给出了平台的硬件设计框架和单片机IP核的实现方法,结合具体实例讲解了平台实验的具体步骤。该平台能满足单片机课程实验教学的需要,且能有效地培养学生的单片机软硬件设计能力。
关键词:FPGA;单片机;实验平台;IP核
目前,大多数高校所采用的单片机课程实验平台主要有两类。(1)Proteus虚拟仿真平台:该平台可以让学生克服实验设备硬件在空间和时间上对学生学习单片机技术产生的束缚[1],自主的进行实验,但学生无法接触真正的硬件。(2)单片机实验装置:实验装置上已经将单片机芯片及各种接口扩展电路全部固定,学生实验时仅需理解电路原理图,进行部件间的少量连线,学生缺乏深层次的电路原理设计。
随着FPGA等可编程逻辑器件的飞速发展,集成度越来越高,成为嵌入式领域硬件系统原型设计和产品研发的首选[2]。为了充分训练学生软硬件协同设计能力,本文利用FPGA器件具有片内逻辑资源丰富、扩展性强和编程灵活等特点,开发了基于FPGA的单片机实验平台。此实验平台既有固定的外围电路[3],又可让学生自行设计和扩展新的功能模块,从而满足单片机课程实验教学、电子竞赛和大学生科技创新活动等要求。
1.1 实验平台硬件设计
整个实验平台分为两大模块:FPGA核心板和外围扩展板。FPGA核心板选用Altera公司的EP3C10E144作为主芯片。该芯片包含有10 320个逻辑单元,414 Kbits的RAM,2个PLL,23个专用乘法器,可供用户使用的I/O有94个,资源丰富,可满足大容量、低成本需求的电子设计。选用4 MB RAM的串行FLASH芯片EPCS,不仅作为配置芯片足够大,还可作为系统的外部程序存储器,可以不再添加额外的FLASH芯片,并可节省大量的外扩IO口,既缩小了系统面积也节省了成本。
外围扩展板配置扩展模块提供了丰富的外围设备以满足课程实验要求。包括:数码管、拨码开关、LED、LCD12864液晶、有源蜂鸣器、RS232串口、A/ D和D/A转换电路模块、实时时钟DS1302、温度传感器DS18B20、电机及测速模块、VAG接口、PS/2接口模块。整个系统的布局如图1所示。
图1 实验平台布局图
1.2 单片机IP核的实现
针对8051MCU的应用前景,出现了几个比较典型的8051 IP核,如DW8051核、0C805l核、T5I核以及MC805I核等[4]。这些lP核都是采用HDL语言描述的软MCU内核,其与工艺无关。能够在多种FPGA上进行逻辑综合及实现。
本实验平台中单片机51软核采用Oregano Systems网站提供的MC8051 IP核。此IP核兼容标准8051指令系统,内部资源包括:8位CPU,数量可选择的定时/计数器、串行口和中断源,可选择的乘法器和除法器,不可复用的并行IO口。内部带有256 Byte RAM;最多可扩展至64 KB的ROM和64 KB的RAM。此IP核的设计与工艺无关,可通过修改VHDL源代码扩展及参数化设置。
在MC8051 IP核内不包括RAM及ROM模块,需针对实验平台所用的FPGA,RAM,ROM器件,利用Altera公司的集成开发环境Quartus II来创建ROM,RAM模块。利用所创建的存储模块,分别修改MC805l IP核源代码顶层设计文件中的相关程序代码,即修改mc805l_p.vhd程序文件中的RAM,ROM元件例化语句,修改mc8051 _top_stru.vhd文件中的RAM,ROM元件端口映射语句。最后利用综合工具实现对MC8051核的RTL封装,从而生成最终所需的MC8051 IP核(vqm文件)。
1.3 平台支持的实验内容
设计的FPGA实验平台对实验者来说,就是一块具有完整功能的8051单片机,几乎支持单片机课程的全部教学内容[5]。本实验平台支持的典型单元实验项目设计如表l所示。在单元实验项目的基础上可进一步设计出综合型实验,例如数字电压表设计实验、信号发生器实验、电机调速实验和红外通信实验等。
表1 单元实验项目设计
下面通过一个I/O口扩展实验的设计为例,介绍基于FPGA平台的单片机实验教学的具体方法和过程。实验的任务和要求:要求采集温度显示在LCD上,如果超出报警温度范围则报警,报警通过实验箱上的蜂鸣器实现,报警温度可以通过键盘设置。
实验说明:单片机通过I / O口直接连接DS18B20、DS1602、蜂鸣器以及K1~K4四个按键。系统正常工作时DS1602上显示当前实际温度值。在正常工作状态下,若K2按下,则进入设定温度报警值状态,此时四个按钮功能分别为:K1为设定值加、减方式选择键(默认为增加),K2为温度上限设定键,K3为温度下限值设定键,K4为退出设定键。设定的温度报警值自动存入DS18B20的EEROM中,可永久保存。每次开机时自动从DS18B20的EEROM读出温度报警值。当实际温度超过设定的温度上下限时,蜂鸣器响。
2.1 电路设计
按照实验要求,进行功能分析和端口分析后可以在Quartus软件中绘出电路图,本实例的具体电路如图2所示,具体绘制过程主要包括2个步骤。
(1)调用FPGA自带的PLL数字锁相环模块。将目标系统板上的时钟调整到MC8051 IP核的应用时钟频率,利用PLL对实验系统板上的时钟进行分频。
(2)添加生成的MC8051 IP核,并添加输入管脚和输出管脚,并对引脚命名。
图2 应用系统顶层原理图
电路图绘制后,对需要用到的管脚(I/O口)、系统复位端以及系统时钟端进行FPGA管脚分配。本实例中需要对如下外围接口引脚分配FPGA管脚:K1~K4,DS18B20的DQ引脚、蜂鸣器引脚、DS1602的数据引脚DB0~DB7、RS引脚、R/W引脚和使能引脚E。
2.2 程序设计与测试
实验程序主要通过循环采集温度值,进行LCD显示并判断报警状态。采用查询方式读取K1~K4四个按键状态,调用键盘扫描子程序进行按键的处理。主程序和键盘扫描子程序流程如图3所示。
图3 实例的软件流程图
实验的具体过程如下。
(1)根据图2所示的软件流程图编写应用程序,对程序进行编译并生成.hex文件。
(2)设定IP核中ROM的初始化数据文件为1)中生成的hex文件,对电路设计中所创建的Quartus工程重新编译。
(3)利用Quartus II的Programmer将生成的FPGA的配置文件下载到FPGA中。
本文所设计的实验平台在常州大学电子信息类专业单片机课程实验教学中进行了应用测试。近两年来的实践表明,相比原有的单片机实验箱,基于FPGA的实验平台更有效地训练了学生的单片机软硬件设计能力,且对学生知识的综合应用能力和创新能力的培养起了较大的促进作用。实验平台的应用还提升了学生参加电子设计竞赛竞争力,许多学生愿意综合使用FPGA与单片机完成竞赛作品。
文中所构建的实验平台是基于满足单片机课程实验创新改革的需要出发,但可较好的推广应用到其他微机系列课程实验。由于IP核技术的应用,可以在单一FPGA器件上构建及运行8051软核、8086软核及嵌入式处理器软核,再针对诸如微机原理与接口技术、计算机组成原理等其他课程实验内容进行统一和综合,设计可复用的公共外围模块。从而可在基于FPGA的实验平台上开展不同课程实验教学。
参考文献
[1] 李翠梅,黄乐,黄晓康. Proteus平台下的单片机课程教学改革[J].中国电子商务,2014(20):132,134.
[2] 张惠臻,谢维波,钟必能.基于FPGA可编程平台的计算机硬件实验教学[J].计算机教育,2014(11):32-35.
[3] 郑恭明.FPGA创新实验平台的设计与应用[J].实验技术与管理,2012,29(11):113-114,129.
[4] 王瑞,游志宇,杜杨,等.MC8051单片机IP核的FPGA实现与应用[J].电子设计工程,2009,17(1):57-60,63.
[5] 唐续,赵芳斌,王嘉. EDA与单片机及SOPC一体化实验教学平台研制[J].实验技术管理,2013,30(1):73-77.
实验教学与课程建设
Construction and Application of MCU Experimental Platform Based on FPGA
Wan Jun1, Heng Xueyong2
1. School of Urban Rail Transportation, Changzhou University, Changzhou, 213164, China 2. Huaide College, Changzhou University, Changzhou, 213164, China
Abstract:For the existing problems of current mainstream experimental platforms used in the MCU course, a new MCU experimental platform is designed and developed based on FPGA technology. The hardware design and implementation of MCU IP core is given. By combining a specific example, the corresponding experiment procedures are described. This experimental platform can meet the needs of MCU course experimental teaching, and can effectively develop students software and hardware design capabilities.
Key words:FPGA; MCU; experimental platform; IP Core
基金项目:2014年常州大学教育教学研究课题(编号:GJY2014067);2015年常州大学机械城轨学院教育教学研究课题(编号:JXJY2015005)。
作者简介:万军,博士,讲师。
收稿日期:2015-08-12