ARM+FPGA嵌入式系统开发平台教学项目设计与实施

时间:2022-10-14 10:40:03

ARM+FPGA嵌入式系统开发平台教学项目设计与实施

南京工程学院 江苏南京 211167

摘 要:为了提高工科院校学生工程实践能力,基于能力进阶型系列化项目教学法的基本思路,以自动化和电子信息工程专业嵌入式系统设计及应用课程为背景,设计了渐进式项目教学系列,介绍了项目选型原则和教学方案设计。详细描述了项目分层次实施的具体要求、主要内容以及相应特点,并对实施效果进行了分析和讨论。

关键词:嵌入式系统设计及应用 教学改革 能力进阶型系列化项目教学法

对于高校工科专业而言,以实际操作为代表的工程能力是考核学生水平的重要标准之一。但是目前追求复杂的工程分析,过分偏重理论教学仍然是我国高等院校工科专业普遍存在的问题。这种忽略工程实践的教学模式培养出来的毕业生与企业的实际需求相去甚远,造成了一方面企业急需大量专业人才,另一方面高校培养的大批应届毕业生不被企业所接受的尴尬局面。因此,转变教学方法,创建具有中国特色的工程教育模式是当前高等院校工科专业应当重点研究的问题。为了推进高校工程教育改革,增强国家核心竞争能力,2009年年底教育部提出“卓越工程师教育培养计划”(以下简称“卓越计划”),对高校人才工程能力的培养提出了新的要求。我校作为全国首批试点单位,围绕“卓越计划”开展了一系列研究和实践,结合CDIO等国际先进工程教育模式,创新性地提出了“能力进阶型系列化项目教学法”,并将其应用于不同专业[1-3]。本文以自动化和电子信息工程专业嵌入式系统设计及应用课程为背景,对该教学法的设计、构建、实施以及成果进行相应的讨论与分析。

1 项目选题

随着信息技术的飞速发展,嵌入式系统已经在许多领域中得到了广泛应用,例如:移动电话、电视机机顶盒、DVD播放机。许多嵌入式系统的复杂性、功能的多样性已经达到了很高的程度,几近于一台小型计算机。因此,以ARM处理器为核心的嵌入式系统硬件设计技术越来越热门。而随着系统功能的日益强大,嵌入式系统的软件部分也变得异常复杂,在裸机上直接编写软件常常显得非常困难,这就需要有一个嵌入式(实时)操作系统来简化应用软件的开发过程。除此之外,由于手持设备对系统续航能力以及体积、重量的要求越来越高,电路的低功耗化和小型化需求也日益突出。基于这些技术特点,以FPGA/CPLD为核心的专用数字电路芯片设计技术也得到越来越广泛的应用。将一个完整的数字电路集成到一片FPGA/CPLD中已经成为数字系统设计的趋势。鉴于上述分析,综合考虑目前就业市场需求,设计基于ARM和FPGA的嵌入式系统综合开发平台是符合当前自动化和电子信息工程专业就业需求的。

2 项目教学方案设计

基于ARM和FPGA的综合开发平台涉及的课程和技术较多,所需要的设计时间较长,对学生的综合素质要求较高,在没有设计基础和经验的条件下完成设计任务难度很大,因此不适宜放在某一个学期进行,跨学期计划后项目教学设计如下:

项目内容方面:将项目分解为难度递进的三个分项目,每个分项目均来自实际工程。

时间安排方面:三个分项目分别计划在第五、第六和第七学期完成。每个分项目内容主要涵盖当前学期的主要课程。

组织结构方面:由于实际工程项目综合性较强,可采取多名学生组成项目教学团队分工合作完成的实施方法。

3 项目教学实施与实践

3.1 第一阶段,单FPGA开发平台设计

项目名称:基于FPGA的综合教学实验平台

系统功能:本系统面向FPGA课程教学,要求学生能够完成以FPGA为核心的基本实验。开发平台包含按键/指示灯模块、RS-485通信模块、RS-232C通信模块、并/串行控制数码管模块、SRAM模块、电源模块、下载模块、VGA模块、PS2模块、备用地址/控制信号模块等。

硬件电路设计要求:硬件部分具体设计要求见表1。

表1 基于FPGA的综合教学实验平台硬件电路设计要求

表1(续)

项目特点:本项目以FPGA为核心,主要任务以硬件设计为主,难度相对较低。在第五学期已经学习过模拟电路、数字电路、PLD原理与EDA技术课程的基础上可以完成设计。

3.2 第二阶段,单ARM开发平台设计

项目名称:基于ARM的通用型嵌入式系统设计

系统功能:本项目针对实际应用中不同ARM系统结构差别,每次均需要重新设计的问题,设计统一的接口定义和尺寸规范,使该嵌入式系统成为一个通用的、标准的模块。

硬软件设计要求:硬件部分包括ARM处理器、时钟电路、复位/看门狗、以太网MII接口单元、FLASH存储器、SDRAM存储器、ARM处理器等单元电路。其中,HDLC,UART,I2C,SMI,通用I/O,数据/地址总线等信号直接引到模块信号接口,提供给电路选择使用。相应的系统硬件原理框图如图1所示[4]。

图1 基于ARM的通用型嵌入式系统原理图

软件主要分为BootROM和VxWorks应用程序两部分。其中,BootROM在设备上电后对系统的各个功能部件和外设进行初始化,为VxWorks应用程序提供系统应用环境,VxWorks应用程序因设备而异。

项目特点:本项目安排在第六学期完成,该学期学生已经学习过ARM原理与设计课程和嵌入式操作系统课程。项目包括硬件电路设计和软件系统设计,具有一定难度。

3.3 第三阶段,ARM+FPGA开发平台

项目名称:基于ARM和FPGA的三轴数控系统控制器设计

系统功能:本项目利用嵌入式技术、Linux技术和基于FPGA软件硬化技术设计出以ARM和FPGA为硬件基础,以Linux多任务操作系统和图形用户框架软件Qt为软件基础的三轴数控系统框架,并在数控机床上实现方案。

硬软件设计要求:硬件平台采用嵌入式微处理器ARM和FPGA作为系统的硬件核心芯片。ARM11作为主控芯片,利用其接口扩展数控系统的存储器和LCD、数控键盘、UART等外部设备;FPGA作为运动控制系统的核心。系统硬件原理框图如图2所示。

图2 基于ARM+FPGA的三轴数控系统控制器硬件框图

软件平台中,ARM部分采用人机界面层、事务管理层和运动控制层作为系统的软件层次来构建。人机界面层是用户和数控系统进行交互的媒介,采用专为嵌入式设备提供图形用户界面的应用框架和窗口系统的Qt进行设计。事务管理层是整个系统的中枢,采用嵌入式Linux操作系统的多线程机制设计。运动控制层是系统对机床控制的执行者,采用Linux加入实时补丁实现。FPGA部分采用Verilog HDL语言编程,实现机床运动控制。

项目特点:本项目硬件部分包含ARM电路和FPGA电路及其通信电路的设计。软件部分包含嵌入式系统编程和硬件描述语言编程,是一个难度较大的综合性项目,需要在完成所有专业课且有一定设计经验的第七学期开展。

4 实施结果与分析

采用“能力进阶型系列化项目教学法”的基本思路,通过“基于ARM和FPGA的嵌入式系统综合开发平台”设计项目的引入,将模拟电子技术、数字电子技术、PLD原理与EDA技术、ARM原理与设计课程和嵌入式操作系统五门课程串联起来。该案例最终设计成果如图3所示。学生对这种教学方法表现出极大的兴趣,一方面渐进式的项目设计使得各门课程知识点得到全面应用;另一方面,来自企业的项目内容使得学生对市场及企业需求有了切身体会。用人单位对接触过上述项目的学生也表示出更大的兴趣。

图3 ARM+FPGA开发平台最终硬件成果

在上述项目的具体实施过程中也遇到了一些相关问题:

(1)由于项目来自实际工程,因此大多数含有各自的行业背景知识,这些背景知识(如前文所描述项目中数控机床控制原理)往往是电子信息工程专业学生没有学过的,因此,选择项目时需要考虑行业背景知识的难度。

(2)由于项目持续时间较长,课程较多,因此涉及任课教师的安排问题,各分项目是由各门任课教师承担还是所有项目均由一名教师承担需要综合考虑。

(3)由于项目综合性较强,因此需要采取团队合作的方式完成,但是合理评定团队成员成绩,确定各人工作量较为困难。

参考文献

[1]汪木兰,周明虎,张艳丽.“卓越工程师教育培养计划”中系列化探究式项目教学的设计原则[J].中国现代教育装备,2011(23):9-12.

[2]汪木兰,周明虎,李建启.以项目教学为载体制订先进制造技术卓越工程师培养方案[J].中国现代教育装备,2010(12):15-19.

[3]周明虎,汪木兰,封世新.项目教学法的实施与典型案例分析[J].中国现代教育装备,2010(13):6-8.

[4]王善华,陶德明,朱兴华.基于S3C4510B的ARM嵌入式系统模块化设计[J].机电产品开发与创新,2011(1):35-39.

上一篇:车辆工程专业新能源汽车内涵方向实验教学的改... 下一篇:高校工程招投标风险研究