APP下载

嵌入式课程递阶教学平台的设计与实现

2015-06-24郭国法宫瑶张开生

电脑知识与技术 2015年11期
关键词:项目化模块化

郭国法++宫瑶++张开生

摘要:针对传统嵌入式课程教学平台教学模式单一,辅助实验设置局限性等问题,采用了嵌入式课程递阶教学平台,从嵌入式课程验证性基础实验出发,基于CDIO工程教学模式理念实现理论教学与实践应用一体化,硬件采用核心板和拓展底板分离插拔式设计,底板功能模块化程序可适用于多种微处理器芯片,实现单片机核心板与嵌入式核心板源程序代码共享,满足嵌入式系统分层次递阶教学的要求。重点阐述了多核心板适配同一拓展底板的开放式硬件结构,各个功能模块软件程序模块化过程,以及在CDIO理念下对嵌入式课程教学平台辅助实验进行从验证设计、创新设计及综合设计的递阶式设计思路。实践教学结果表明,嵌入式课程递阶教学平台教学资源丰富,针对性强,教学效果明显,拥有广阔的教学应用前景,可大大提高学生嵌入式系统设计开发能力,激发学生的学习自主性。

关键词:CDIO;嵌入式教学平台;项目化;模块化

中图分类号:TP368 文献标识码:A 文章编号:1009-3044(2015)11-0113-03

The Development and Application of Embedded Project Teaching Platform

GUO Guo-fa, GONG Yao, ZHANG Kai-sheng

(College of Electrical and Information Engineering, Shannxi University of Science and Technology, Xi'an 710021 China)

Abstract: With the rapid development of computer technology and wide application, embedded system has been penetrated into industrial control, medical systems, communication and other important areas. Research and study of the embedded system has become the focus of college teaching. Embedded development and application teaching platform is based on basic experiments which come from the embedded system teaching course. This platform has realized the CDIO engineering implementation principle of real integration teaching idea. Through different combinations of the core board and expand the bottom plug type structure, along with embedded system development project, makes this platform powerful and capable for various requirement. This paper expounds the design blueprint of the platform and its application mode. As an open and comprehensive experiment platform, the project teaching platform is helpful to enrich students the basic knowledge of embedded system, to improve students' ability in embedded system design and development and to stimulate students' learning autonomy.

Key words: CDIO; embedded teaching platform; project; modular

在信息技术和网络技术飞速发展的电子科技时代,嵌入式系统已经渗透到现代生活的方方面面,硬盘驱动器、遥控器、汽车防锁刹车、农业大棚温湿度控制、智能家居等。社会生产生活越来越依赖掌握嵌入式技术的高级创新性人才,国内外各高校已开设嵌入式课程,因此培养出合格的创新性嵌入式技术人才迫在眉睫。但目前嵌入式课程教学实验平台多采用市面上各类成熟的嵌入式开发板[1],仅以验证性实验为主,并且开发板芯片与功能硬件已经确定不容更改,学生在其实验平台上只能依照厂商提供的板载程序运行,观察实验现象,不利于学生掌握硬件原理、程序编译和调试的方法,不能进行深度嵌入式系统的开发,动手实践能力不足,同时传统的课程教学实验平台也表现在不能较好的引导学生接受和掌握单片机与嵌入式相关知识,尤其是从单片机学习过渡到嵌入式学习的过程显得尤为艰辛,究其根本,原因是缺乏一种快速引导学生进入嵌入式学习的实验平台。

针对目前情况,采用软硬件资源完全开放的CDIO模式嵌入式课程递阶教学平台,CDIO代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)教学理念,倡导在工程基础知识、个人能力、人际团队能力和系统工程能力四个层面上进行综合锻炼[2-5]。嵌入式课程递阶教学平台应用CDIO工程教育理念于理论教学与实验教学中,以实验项目策划设计到实验项目运行为教学实践全过程,采取多核硬件板与模块化软件设计相结合的方式,以满足不同层次的学生对嵌入式课程学习阶段的需求为目的,设置了相应的验证设计、综合设计及创新设计的进阶教学实验,让学生以主动地、实践的的方式渐进式学习嵌入式课程,帮助学生快速从单片机的学习过渡到嵌入式学习当中,逐步具有设计开发嵌入式系统的能力,很好的解决传统嵌入式教学平台不能分层次递阶教学和实践的问题。

1 系统总体设计

嵌入式课程递阶教学平台主要由计算机和目标实验板两部分组成。目标实验板硬件采用多核心板适配通用功能拓展底板的双层结构设计思想,上层为核心板,下层为功能模块拓展底板,底层板与核心板的连接采用插拔的组合方式,插座的引脚与底层板的连接是固定的。在使用过程中保持底层板不变,仅通过拔插来更换不同的上层核心板使其分别当作嵌入式课程入门级单片机学习平台或者高层次的嵌入式学习平台使用,整体形成递阶开放式结构。教学平台在初期教学实验阶段,搭载无操作系统的51系列单片机核心板及基本功能模块;中后期搭载移植了简单嵌入式操作系统的ARM7核心板及功能拓展模块。在软件系统方面,选用IAR作为开发工具,并提供各个实验模块程序的主要框架及模块化程序函数调用入口。嵌入式操作系统选择即可以在51单片机上移植又可在ARM7芯片上移植的μC /OS-II操作系统。

嵌入式课程递阶教学平台模型如图1所示。

图1 嵌入式课程递阶教学平台模型图

上位机通过USB线与目标实验板串口相连。上位机软件采用由VB编写的嵌入式递阶教学平台实验窗口。将嵌入式课程教学所需的理论基础资源整合在上位机实验窗口下,构建一个完整的素材库,包括嵌入式课程教学PPT及实验演示视频、芯片和元器件数据手册、功能模块源代码库、嵌入式系统开发工具软件。软件系统素材库还预留有教师接口和学生接口。教学平台软件系统管理员通过教师接口向素材库中添加新资源,学生接口用于学生在线学习理论化的嵌入式系统基础知识,或模块源程序二次编译开发,并将功能模块源代码下载到目标实验板完成相应实验项目。

1.1 核心板硬件设计

图2 硬件平台原理框图

核心板由微处理器及芯片最小系统,拓展板接口三部分组成,最小系统包括支持微处理器工作的时钟模块、晶振电路、Flash存储模块、复位模块[6-8]。核心板由易到难主要设置三种微处理器,分别为单片机STC89C51,STM32F103C8微处理器以及32位的ARM7微处理器LPC2103,并且将芯片全部I/O引脚引出来与通用功能底板上留有的Pin接口相连。表1所示为单片机与嵌入式芯片对比表,通过三种学习难度递增的微处理器搭配底板形成层次教学平台。图2硬件平台原理框图中通虚线部分为需要安插的上层核心板位置。这三种芯片价格低廉、通用性强,功能完整,包括存储器、定时/计数器、可编程的I/O、可编程全双工串行端口、中断源,不同的芯片内集成了16位或32位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性易于二次开发,能够满足教学平台基础实验和项目综合设计性实验的使用需求。

表1 单片机与嵌入式芯片对比表

1.2 底层板设计

底层功能模块拓展板的设计主要以加强外围功能接口应用的学习为目的,设计了课程教学基础实验所需的多种不同功能模块和定向专业拓展模块,如图2硬件平台原理框图中实线部分为通用功能模块,主要包括:通用I/O口模块、UART模块、电源模块、模数转换模块;显示电路包括LED模块、LCD液晶模块;输入电路为2*8矩阵键盘模块。由于芯片I/O有限,底层板采用能把串行信号转为并行信号的74HC595芯片实现I/O口的拓展。同时底层板预留有可扩展I/O接口,学生可通过将自行设计的功能模块纳入下层拓展底板,构建个性化嵌入式系统。

定向专业拓展模块拓底板包括:ZigBee模块、蓝牙模块、传感器模块、GSM模块。各个功能模块为独立单元由微处理器直接控制,同时各模块之间也可根据实验项目要求进行组合与拓展来适配电子方向、控制方向、电气方向等不同专业学生的特定嵌入式系统综合实验与开发。

2 软件平台设计

在软件教学过程中往往只注重程序代码的功能实现,经常会忽略整个程序的组织架构,模块化编程设计可以化繁为简,组织出良好的程序架构,将复杂的工程划分为若干相对独立清晰的功能模块,再通过嵌套、调用组合成实现各功能模块间的数据传递,有助于程序的局部调试和整体调试。

基于CDIO模式的嵌入式递阶教学平台采用IAR进行程序编译。针对底层板板上不同的功能硬件,例如串口模块、键盘模块、A/D转换模块、LED模块等,教学平台采用将各个功能模块源程序模块化封装后生成的特定功能模块函数或文件集中存放在上位机教学平台实验窗口素材库中的方式,便于使用者下载、编译。

2.1功能程序模块化设计

图3 程序模块化封装过程图

在系统软件平台中,程序模块化封装过程如图3所示。由学生选择程序开发工具,并依据芯片的功能特点对开发环境进行相关设置。将需要实现的各个功能独立清晰化出来,有选择性地从教学平台素材库中下载相应的模块源文件。源文件由教学平台提供,它包含某一独立功能模块的宏定义或结构体,并为不同功能模块程序之间的相互嵌套、调用提供C语言程序接口。各功能模块程序在由教学平台封装后得到唯一的封装函数或文件,并且仅实现对该功能模块硬件的驱动。源文件在预处理的过程中可以使用条件编译的功能,即同一模块的源文件在条件编译时,软件系统根据宏定义及芯片配置,有选择性地编译单片机程序的代码部分或者嵌入式系统程序的代码部分,实现单片机核心板与嵌入式核心板源程序代码共享,提高两种代码的对比学习有助于学生对知识的理解。

2.2 程序模块化编译举例

以矩阵键盘数码显示实验种各功能程序模块化为例。实验系统包括功能硬件模块和软件模块。硬件驱动包括输入模块2*8矩阵键盘,数码显示模块和74HC595级联模块。功能软件包括74HC595级联模块硬件驱动程序、数码管显示程序、按键扫描程序、取键值程序。

74HC595_Send Dat()为74HC595级联模块驱动程序函数,负责发送一个字节的数据到74HC595。Key.c文件对应2*8矩阵键盘功能模块目标代码,包括键扫描程序和取键值程序,此Key.c文件是教学平台窗口下提供2*8矩阵键盘驱动的预编译程序,平台软件系统需要根据实验所选微处理器为单片机AT89C51芯片或嵌入式LPC2103芯片的配置,以及I/O硬件接口设置对原始key.c文件中的预编译目标代码重新宏定义,再条件编译生成新的模块化封装文件key.c。Num show.c文件实现数码管显示功能,它的软件系统条件编译过程同Key.c,这里不再赘述。

图4 程序模块化结构图

学生实验时,在递阶教学平台软件系统工具软件窗口下打开IAR并新建工程,将已经依据实验要求重新条件编译生成的功能模块key.c和Num show.c文件添加到工程。打开main.c文件,依照键盘显示程序流程图编写主程序,定义头文件key.h与Num show.h并将其添加到main.c中。编译显示函数main.c时,只需根据接口的定义合理嵌套74HC595_Send Dat()、键扫描程序函数和取键值程序函数,然后通过调用数码管显示函数Num show()对结果进行显示,最终准确快速完成整个程序代码编写过程。

3 教学平台的CDIO应用模式分析

3.1 递阶教学平台CDIO模式的实现

嵌入式课程递阶教学实验平台是基于CDIO思想,即从构思、设计到实施、运作这一工程教学理念来实现嵌入式课程教学与实践一体化。基于此,教学平台以“实验”贯穿于教学整个过程,培养学生逐步地从8位51系列经典单片机基础过渡到功能齐全的综合性单片机,最后递阶提升到含有μC /OS-II操作系统的ARM7体系,学习难度由简单到复杂逐步深入[9-10]。

初级教学阶段对应于CDIO模式中的构思阶段,以运行LPC2103、STM32F103C8 ARM芯片模块程序,学生观察实验结果为主。由于目标板具有递阶开放式结构,学生在学习过程中可将51系列单片机微处理器与嵌入式微处理器相互联系、对比,完成在统一的软件架构下从单片机实验到嵌入式实验的递阶,快速进入嵌入式学习中。

第二阶段为设计阶段,教学平台为学生构思、搭建实验硬件电路提供完整的资料与环境支持。通过对嵌入式教学实验系统各个模块:UART、USB、LCD、触摸屏和矩阵键盘等常用接口操作实践,模仿改编实验程序,熟悉ARM7的无操作系统基础应用,为后续应用系统的开发开发做好铺垫。

在实施和运作阶段,从教学平台实验素材库提供的应用开发实验,例如D/A、A/D实验,LCD显示实验,触摸屏实验切入,探索研究交叉编译环境的建立、调试方法和编程技术。熟练掌握51基本编程,ARM7基本编程,同时将学习编写系统的Bootloader程序和实现μC /OS-II嵌入式操作系统在STM32F103芯片移植和WindowsCE嵌入式操作系统的移植,以及在操作系统下对硬件接口电路驱动程序与应用程序的编写、软件系统的局部调试,整体调试作为教学平台的又一重要功能。

3.2 CDIO应用模式下递阶实验设置

CDIO模式化的递阶实验系统有利于教师改革教学方法,在传统的纯理论教学方法上增进实验教学项目,可以取得较好的实践效果。

教学平台基于AT89S51芯片、STM32F103C8 ARM芯片和LPC2103芯片,设置有三大实验系统,包括基础实验、递阶教学实验和创新型综合实验。基础教学实验是基于51系列单片机和LPC2103ARM芯片无操作系统的实验平台设置的,包括: 8流水灯循环显示实验、2*8键盘显示实验、UART串口通信实验、LCD显示实验、外部中断实验、A/D 与D/A转换实验[11]。

基于简单操作系统的综合实验包括:μC /OS-II嵌入式操作系统移植;μC /OS-II嵌入式操作系统任务创建、挂起、恢复、删除实验;任务的中断和时钟实验;任务的同步和通信实验等。实验软件依照上述功能程序模块化进行设计。在实验教 (下转第118页)

(上接第115页)

学中,使用软件模块化让学生可以自主选择实验项目内容。如:输入接口实验,可以根据自己的能力选择独立按键和矩阵键盘中的一个或者多个;输出接口实验,同样可以选择LED、数码管、点阵和液晶中的一个或者多个[12]。

基于学生不同的研究方向而设计创新性实验,有ZigBee模块配套的岛屿安防系统实验、基于温湿度传感器的农业大棚环境监控系统设计实验等。

4 结束语

嵌入式课程递阶教学平台经过调试和测试,实现了多核心板适配多功能扩展底板的使用模式,各个实验模块工作均比较稳定,实践教学结果证明,教学平台提供了丰富的接口资源,可进行二次开发,完全能够满足实验课程的要求,并帮助学生快速从单片机的学习过渡到嵌入式学习当中。基于CDIO理念设计了一系列配套的实验以符合大众学生为目的,设置了普遍需要的基础实验以及综合实验,针对嵌入式专业的学生设置了更为专业的基本的嵌入式操作系统实验,以满足不同层次的学生。教学平台针对性强,教学效果明显,拥有广阔的教学应用前景,更重要的是能够增强高校大学生的形象思维与创新能力,为学生今后进一步深造或踏入社会进行相关系统的开发奠定扎实了的基础。

参考文献:

[1] 刘泉, 李方敏, 吕锋, 等. 现代嵌入式实践教学平台在实践教学中的应用[J]. 理工高教研究, 2006, 25(2): 96-97.

[2] 郭明良, 王朋 ,郭松林. 基于CDIO模式的电类本科实践教学体系构建[J]. 中国电力教育, 2014(2): 158-159.

[3] 刘会英, 盖玉先, 徐宁. 探索适合我国国情的CDIO 工程教育模式[J]. 实验室研究与探索, 2011, 30(7): 119-12.

[4] 朱向庆, 黎东涛, 苏超益, 等. 适合于项目教学法的三合一单片机实验箱设计[J]. 实验技术与管理, 2013, 80(7): 55-59.

[5] 王朋, 郭明良, 王越明. “单片机原理及应用”课程的CDIO教学模式探索[J]. 中国电力教育, 2014(14): 83-84.

[6] 王朋. “单片机原理”实验教学体系建设[J]. 电气电子教学学报, 2010, 32(5): 107-108.

[7] 桑静, 徐金宏, 赵伟. 嵌入式辅助教学平台的构建[J]. 科学技术与工程, 2010, 10(36): 9115-9117.

[8] 王高鹏, 朱宁西. 基于LPC2368嵌入式实验平台的构建[J]. 微计算机信息, 2008, 24(6-2): 18-20.

[9] 章民融, 徐亚锋. 嵌入式教学关键点的研究和嵌入式实验教学平台的设计[J]. 计算机应用与软件. 2009, 26(3): 160-162.

[10] 李东. 提高单片机应用系统可靠性的研究[J]. 信阳师范学院学报: 自然科学版, 1999, 12(3): 354-357.

[11] 蒋跃文. 以设计实验为主线的单片机实验平台的开发与应用[J]. 苏州大学学报: 工科版, 2010, 30(1): 28-31.

[12] 贾萍, 丁向荣, 胡美兰. “教、学、做”一体化单片机教学实验平台的设计与应用[J]. 实验技术与管理, 2012, 29(6): 139-142.

猜你喜欢

项目化模块化
模块化自主水下机器人开发与应用
模块化住宅
ACP100模块化小型堆研发进展
模块化VS大型工厂
家居空间设计项目化教学模式改革的国际比较研究
浅谈项目化教学对中职学生技能水平提升的影响
基于市场营销应用型人才培养的项目化教学模式研究
基于生产过程在电动汽车专业的项目化教学研究