APP下载

ARM嵌入式教辅系统的教学实践

2018-04-11杨泽林

实验室研究与探索 2018年2期
关键词:播放器教辅嵌入式

杨泽林, 何 莉

(重庆理工大学 电气与电子工程学院,重庆 400054)

0 引 言

随着嵌入式系统技术的发展,其应用越来广泛,高校对嵌入式系统应用型人才的培养日益重视。国内很多高校在电子类、仪器类、计算机类等专业都开设了嵌入式系统课程,为帮助学生更好的理解和学习嵌入式系统,理论教学的辅助手段多是Proteus仿真软件[1-2]和课内实验。但是在实际教学实践中发现仍存在以下几点问题: ①学生理论学习理解掌握困难。由于该课程所涉及的知识点较多,许多概念比较抽象,对于大多数初次接触嵌入式系统且相应基础较差的学生而言,普遍反映嵌入式系统是最难学的课程之一;②学生实验过程与理论教学知识融合困难,课程综合设计能力差。目前许多学校选用的实验装置普遍追求功能强大,实验内容广,项目难,配置高档,使得装置的软硬件复杂[3],初学学生不易上手,忽视了学生的实际情况,很难完成在课时内对装置的消化吸收和课程的教学目标要求;③硬件上没有实作扩展空间,实验内容多是验证性程序应用实验,不能亲生经历硬件的实作与软硬件调试过程,缺乏自主性和体验感,实验过程懵懵懂懂;④实验装置的目标MCU大多不能与Proteus仿真软件匹配,出现课堂教学与实验装置不能无缝衔接的尴尬局面。到后续课程综合设计时,少有能独立实践动手操作完成的学生。

因此,根据我校的实际情况,配合教学需要,并考虑学生学习的个体差异,本着简单易懂,实用方便原则[4],研发设计了以ARM LPC2138 为目标MCU的嵌入式系统教学辅助系统,学生教师一人一套。以该教辅系统为支撑,精心设计教学范例和实验例程,以引导学生入门,打好基础为目的,改革教学方法[5-7],采用“引导-模仿-实践”渐进式教学模式,使该系统成为学习嵌入式系统基础阶段有力的教学辅助工具,在理论课堂教学上帮助任课教师很好地展现授课内容;同时作为学生在课程实验和课程设计中的必备装置,直接应用于嵌入式系统课程的实验教学和课程设计等教学环节中。实践表明:该系统在嵌入式系统课程教学中,结合例程分解、项目驱动[8]等教学方法,对教学的辅助效果十分明显,特别是对后续课程设计、课外实践等环节教学质量的提高有很大的帮助。

1 教学辅助系统

ARM嵌入式教学辅助系统以经典的ARM7 LPC2148/38 MCU[9]为学习对象,分为核心板和扩展板两部分,如图1所示。核心板包括ARM7处理器最小系统,配以串口通信/ISP下载控制接口,USB接口,电源模块电路等。扩展板包括矩阵键盘、可以用作中断输入的独立按键、字符和点阵LCD显示接口、A/D采集电压产生等输入/输出人机界面及引脚扩展。整个系统基本功能齐全,所有引脚及电源均引出,无需额外配接电源,便于与电脑配接,体积小,携带方便,非常便于学生自主学习与扩展应用实践。

1.1 ARM处理器

图1教辅系统组成框图

系统MCU采用的是ARM7系的一款经典产品ARM LPC2148/38 MCU。ARM LPC2148/38 MCU引脚少,工作原理简单且具有强大的处理和控制功能,含有丰富的外设资源,以及可以实现系统ISP/IAP编程,功能较为齐全。同时在Proteus仿真软件和Keil编程软件中均支持该MCU,因此特别适合作为ARM嵌入式系统课程基础阶段的教学与学习实践。

1.2 串口通信及ISP下载控制接口

串口通信使用的是LPC2148/38 MCU的串口0。 LPC2148/38 MCU的串口0是ARM处理器的主要组成部分之一,不仅可以用于学习与PC机的串行通讯,配以相应的ISP电路后,PC机借助ARM集成开发编程软件还可以将应用程序直接下载到MCU中进行应用实践,降低了教辅系统的使用要求,方便了实践教学的需要。

1.3 USB接口及电源

LPC2148 MCU自备有USB2.0从控制器,配以相应的接口电路后,可以方便地进行USB相关的教学内容;为了使用方便,教辅系统利用USB接口供电,串口下载程序,有效地利用了它的功能资源。

1.4 输入/输出及引脚扩展

作为教辅系统的共性功能,几乎在所有的应用学习以及程序调试中都会使用到相应的I/O接口。因此将P1端口用于字符LCD(LM1602)与点阵LCD(QC12864)的共用输出,配合矩阵键盘输入端口,同时设计相应例程在课堂上讲授和练习,适当降低了学生自学时的使用难度,提高实践的应用效率。同时将所有引脚及电源在扩展板上通过插针引出,极大地方便学生接入其他扩展应用的硬件。

1.5 系统软件及例程SDK

教辅系统的软件教学主要是对Poteus仿真软件[10]、Keill集成开发软件[11]、Flash Magic编程下载等3个工具软件的认识,内容涉及到项目工程的建立与配置,程序文件的新建与添加,工程的编译与链接,电路原理图的汇制,程序下载与仿真运行、改错等应用工程模板。例程SDK包含了LPC 2138/48MCU所有初始化控制函数,常见的人机接口输入输出函数等内容,供设计者调用使用,属于高级应用范畴。例程SDK的学习和应用是帮助学生更好地进入嵌入式系统应用与开发的有效方式,因此,例程设计至关重要,不仅是对课程教学内容的验证,加深和巩固对嵌入式系统应用的认识,也是引导学生自主学习培养开发创新能力的桥梁。例程SDK开发运用单元模块知识进行设计,遵循从基础开始,由简到难,从小模块到大系统保证例程开发连续性,应用与原理并存的原则,设计嵌入式系统实践教学范例。该教辅系统不仅提供了LPC2138/48 的所有硬件资源,还提供了有关输入/输出的SDK,大大节省了ARM基础软硬件平台搭建的时间,使学生将主要精力和时间放在应用开发上,课程设计的效果和质量很好。

2 教学实践

2.1 教学模式

ARM嵌入式系统课程所涉及的知识面广,原理性、专业性、综合性、前沿性都比较强,ARM芯片资源丰富,实际应用广泛,软硬件技术综合应用性强,学生理解掌握不容易。因此在传统教学模式的基础上,部分引入翻转课堂理念[12],调整学时分配,以案例教学和项目驱动教学提高学生对嵌入式系统原理和应用的认识和掌握。在课堂教学、实验教学以及课程设计实践环节中“理论结合实践,专业结合应用”,以教辅系统为支撑建立起“引导-模仿-实践”的渐进式教学模式,如图2所示。以应用为主组织教学内容,强调体系结构及实用的设计开发技术等工程实践概念;以教辅系统为支撑设计相应的例程项目及范例实践,分解讲授,引导学生自主学习,由浅入深,由易到难,由基础到综合,切实让学生从硬件到软件,再从软件到硬件实现对嵌入式系统软硬件开发技术的完整认识,初步具备嵌入式系统设计与应用的基本技能。

图2 基于教辅系统的教学构架

2.2 教学方法

结合嵌入式系统课程的特点,以教辅系统为支撑,设计相应的例程项目和教学范例实践,从“基础模块训练-小项目例程模仿-简单应用设计-开发扩展提高”4个层次逐步展开教学。①在教学初期以嵌入式产品实例介绍嵌入式系统的实际应用及发展前景,让学生对嵌入式系统有一定的初步印象,激发他们的学习兴趣。在这里,可以采用一种“倒推式”教学法[13],即以某个实际嵌入式产品为例,如采用D/A或PWM实现的音乐播放器,将其倒推分解到产品的开发设计过程,并将其归属到课程相关教学内容单元模块(GPIO、定时器、A/D 、D/A、PWM及VIC中断等)。在课程教学中,以产品的模块为核心教学范例,组织教学内容,对相应的教学模块进行范例教学及实践,引导学生学习掌握ARM嵌入式系统应用开发的基本技能。②ARM嵌入式系统开发设计应用环境,即编程仿真软件、工程建立和配置等软件教学,是嵌入式系统学习不可绕开的第一步,学生在实际学习过程中极其容易出错,导致学习的自信心受挫。因此以教辅系统为支撑,在课堂教学和实验教学环节中,充分利用教辅系统编制了一组实用的例程SDK和教学范例[14],如GPIO类的LCD、矩阵键盘等模块含源代码的SDK,串行通讯类的短信收发远程控制,PWM、D/A类的音乐播放器、A/D类的简易频谱分析仪及温度测量等范例设计供学生程序阅读、练习模仿。将采用汇编语言和C语言设计的教学例程SDK对实践范例进行步骤分解,并对关键步骤进行了详细注解,在课堂上要求学生跟着教师逐步模仿、操作、实践学习,而且写出书面的总结体会,确保学生在嵌入式系统学习中能顺利迈出这第一步。教师在授课中分解各例程,让学生分模块模仿应用学习,在模仿中学习,在学习中提高。③加强实践训练。在Proteus仿真软件和教辅系统的支持下,加大实际编程训练内容,编写了相应的实践训练项目,如计算器设计、电子日历制作、动画显示(广告)屏、正弦波示波器、直流电动机调速、步进电动机调速、条码扫描显示、音乐播放器、SD卡文件读写、RFID IC卡读写器等项目。这些教学实践训练项目不仅包含了课程理论知识的内容,而且涉及程序的编写,系统设计的流程等嵌入式技术要求。在实践项目训练过程中,要求学生从能跟着教师操作演示逐步实现以教辅系统为基础,辅以必要的简单硬件设计制作,分组自选项目并独立完成相应项目的应用开发设计;在训练项目实践过程中不断再学习和升华讲授的知识。④将课程设计教学环节和课外学生竞赛、科研活动等作为嵌入式系统学习的延伸和提高。在课程设计环节可以由老师指定或学生根据个人喜好选择题目,1或2人一组,设计一些相对综合的应用设计项目,进一步加深学生对嵌入式系统的认识,并培养一定的嵌入式系统软硬件开发应用设计能力。

2.3 教学案例

表1 “音乐播放器”教学案例的教学内容设计

结合教学经验和教学要求,以教学辅助系统为支撑,教师精心组织了“音乐播放器”项目案例[15-16]的教学内容如表1所示。在整个案例教学内容设计中,每个训练子例程在课程教学中提供了相应的基本的SDK,首先由老师结合课程理论知识进行SDK分解讲授,引导学生学习应用;然后学生可根据自己的喜好改变对应的SDK,实现个性化的小设计和个别调节,比如音乐的曲目切换方式,音乐的音量音调调节等;学生借此理解ARM嵌入式系统技术的内容和设计方法之后,可以开展新的提升项目训练。该项目案例教学设计4个学时,部分引入翻转课堂教学模式,以“教师讲解引导-学生实践-学生课外作业及实践-课堂收集教师点评”为主要的教学方法,实践证明该教学案例设计获得了很好的教学效果。项目案例化教学是目前普遍采用的一种教学改革手段,在编写项目案例时不是简单地给出程序代码和注释供学生阅读,而是按照费米思维(定律)向学生展示项目的分解与集成、切入点、实施步骤与过程等开发技术,达到“授之以渔”的目的。以音乐播放器为例,该案例涉及到了项目分析和技术分解、嵌入式系统程序架构搭建、接口技术、定时器应用、中断技术及中断应用等概念;包含了LPC2148/38 GPIO、VIC中断控制器、A/D、定时器、串行通信等内部硬件模块的初始化与使用,点阵/字符LCD、矩阵键盘等外部硬件的使用等;在教学案例设计上可以组织设计4个训练子例程:①GPIO输入/输出例程,实现音乐的起停,歌曲切换;②定时器可调周期方波输出实例,实现音乐输出的节拍调节;③A/D、D/A模拟电压输入输出验证实例(采样验证,音入音出),而且D/A输出也可与两个定时器配合实现音乐播放,自制音乐文件;④PWM脉冲宽度调制方式,利用脉冲周期改变音调,利用脉冲占空比变化改变音量,自制音乐文件;最后还可以在此基础上针对个别掌握比较好的同学,提出更高层次的设计要求,比如车载高清音乐播放器的设计,基于APE/FLAC数字音乐文件的音乐播放器的设计,以及音响效果的处理等,让学生得到进一步的工程开发应用设计的锻炼,对学生掌握嵌入式系统技术的基本架构有非常好的实际意义。

3 结 语

教学实践证明,这种针对学生个体差异、以初学者为对象设计的教辅系统,硬件电路简单,学生能较轻松地掌握其电路原理,契合初学者教学对象的实际状况。功能覆盖面广,在完成教学大纲要求的同时还满足不同学生的需求。外围硬件可自主扩充,大大地提高了学生的设计及动手能力。以LPC2138为目标MCU,灵活方便地在仿真和实物系统间转换,增加了学生的学习兴趣。该教辅系统已经在我校测控专业教学中投入使用2届了,它将课堂教学、课程实验、课程设计教学环节无缝连接在一起,通过一例一问,逐题增加,承前启后式的教学内容与例题设计,基本解决了嵌入式系统课程难教、难学、难懂的系列问题。将课程考试放在课程设计之后,使学生在课程设计中进一步巩固课堂知识,考试成绩大幅提高,补考率也大幅降低,大多数学生还将该系统用在了毕业设计中,证明该教辅系统对嵌入式系统课程教学与实际应用起到了很好的辅助作用。

参考文献(References):

[1]朱敏玲,张伟,侯凌燕.基于Proteus的微机原理与接口技术教学改革[J].实验室研究与探索, 2016,35(1): 155-160.

[2]张键,梁建慧.基于Proteus的个人虚拟实验室探究[J].电子测试,2013(8):122-123.

[3]油海东.基于ARM-Linux的嵌入式系统开发平台教学实验研究[J]. 中国现代教育装备,2012(11):15-17.

[4]宋焱翼,陈礼,颜芳. 嵌入式系统实验教学改革与实验教学装置开发[J]. 实验室研究与探索, 2011,30(7): 239-241.

[5]张腾飞,顾亦然,郭前岗.“嵌入式系统及应用"课程教学改革探索与应用[J]. 中国电力教育, 2012(28):53-55.

[6]陈伟,林训超. Cortex时代的ARM教学[J]. 单片机与嵌入式系统应用,2010(5):5-7.

[7]刘在英,杨平,张丽晓.程序设计课程实践教学模式的探讨[J].实验室研究与探索, 2013,32(10):156-159.

[8]王晓哗,温显斌,肖迎元.“项目驱动”实践教学法在计算机接口课程群中的应用[J]. 实验室研究与探索,2014,33(11):183-186.

[9]Philips Semiconductors.User manual LPC214x[Z],2006.

[10]范海绍,李方园,等.零起点学Proteus单片机仿真技术[M].北京:机械工业出版社,2012.

[11]李宁.ARM MCU开发工具MDK使用入门[M]. 北京:航空航天大学出版社,2012.

[12]王莉莉,陈德运,唐远新.计算机程序设计课程翻转课堂的探索与实践[J].计算机教育, 2015(16):53-55.

[13]仲伟波,包亚萍.关于嵌入式系统教学的几点思考[J].实验室研究与探索,2006(12):1567.

[14]胡小勇,郑晓丹,冯智慧.信息技术与教学深度融合的优课课例研究[J].中国电化教育, 2015(4):36-40.

[15]何谐,唐大权,张淑廷,等.一种基于51单片机的音乐播放器的设计[J]. 现代电子技术, 2014,37(16):11-13.

[16]何谐.FAT 32文件系统在Cortex-M3音乐播放器中的应用[J].单片机与嵌入式系统应用,2013(6):71-73.

猜你喜欢

播放器教辅嵌入式
Walkman诞生40周年 索尼适时发布NW-ZX500和NW-A100系列播放器
基于STM32的MP3播放器设计
Moon ACE播放器/放大器一体机
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
我待教辅如初恋
教辅虐我千百遍
播放器背板注塑模具设计
强化读者意识 提高教辅竞争力
试谈教辅出版的转型升级