牛继高, 徐春华, 丁舟波, 朱从云
(中原工学院 机电学院, 河南 郑州 450007)
嵌入式系统是将计算机硬件和软件结合起来构成的一个专门装置,可以完成特定的功能和任务,能够在没有人工干预的情况下独立地对被控对象进行实时的监测和控制[1]。在车辆工程研究生培养中,“嵌入式系统设计”是一门重要课程,涉及到的前期课程包括“C语言”、“单片机”、“操作系统原理”等。由于进修此门课程的研究生基础知识的参差不齐以及学时数的限制,传统的单向讲授的知识传输方式,难以使学生直接体验到所学的知识内涵,极易造成学生思维和学习的被动,削弱他们学习的兴趣和动力[2]。如何将各方面的知识进行有机组合,既不脱离课程的教学目的和教学内容,又能做到抓住重点有的放矢,使研究生尽快掌握嵌入式系统的设计方法,是任课教师亟待解决的一个重要课题。
案例式教学提供了融入实际工程背景的案例,其本质是理论与实践相结合的互动式教学,目的在于培养学生运用相关课程知识解决实际问题的能力[3]。目前我国高校的许多课程都采用了案例式教学模式,并取得了良好效果。
本文基于我校研究生教育质量提升工程项目的教学实践,探讨“嵌入式系统设计”研究生课程案例式教学的模式和方法。
传统教学时,教师通常以多媒体的形式在台上讲解,学生在台下被动接受,整个教学过程刻板枯燥,学生的主观能动性和学习热情受到抑制[4];
在我院“嵌入式系统设计”课程教学上,选修此课的研究生中有一部分之前未学过“C语言”或“单片机”等课程,缺乏微控制器硬件和软件的知识,只是由于毕业课题或导师项目的需要选修了这门课程。由于学时数的限制,在课堂上大幅穿插补充这部分基础理论知识也显得不现实。
除此以外,该课程传统的实践教学环节学时数少,且实验内容和功能简单,与工程应用场景不相匹配。当遇到实际工程项目时,学生常因不知从何处下手而表现得束手无策。总之,传统的教学模式不利于学生主观能动性的调动以及创新能力的培养,无法达到综合运用所学知识解决工程中实际问题的教学目标。
研究生课程教学具有很强的针对性,学生在关注理论知识的同时,更期望实际工程应用能力的获得。因此,我院“嵌入式系统设计”课程案例式教学的目标是通过该门课程的教学,使研究生能具备简单电控项目应用软件开发的能力。
目前汽车电子控制领域广泛采用飞思卡尔(Freescale)微控制器芯片作为电控单元的CPU,其产品范围包含了8位、16位和32位单片机。因此我院“嵌入式系统设计”课程选用基于Freescale HCS12微控制器芯片系列的教材进行教学,内容包括微控制器结构、最小系统、指令系统、输入/输出接口、串行通信接口SCI/SPI、A/D和D/A转换、定时器接口、CAN总线以及uC/OS-II实时操作系统等。由于原教材内容多侧重于基础理论和各模块寄存器的介绍,显得内容枯燥、知识点繁多且不容易理解,教材中选取的范例不仅数量少且缺乏典型性、新颖性和系统性。
为了开展案例式教学,原教材内容需要优化,即理论知识做到“必须、够用”即可,对那些通过课堂案例剖析就可以获得的理论知识应进行删减,如陈述性的知识以及对各模块寄存器的介绍等[5];对原教材中略讲或末讲的而工程应用中又非常重要的知识要予以增加,如PID闭环控制、LIN通信和uC/OS-II实时操作系统的移植方法及应用等。我们特别加强了对这类案例的选取和教学上的设置。
本教研室教师历时四年与某汽车电子电器生产企业合作,参与了车身智能控制系统BCM、电动汽车整车控制系统VCU、汽车无钥匙进入和一键启动控制系统PEPS等大型项目的研发,积累了丰富的嵌入式控制系统设计经验,同时制作了一批“ECU+负载箱”形式的案例式教学平台。通过与企业的项目合作,明确了企业对人才的需求以及学生应该具备的知识和能力,在此基础上对照“嵌入式系统设计”的教学大纲,将课程的知识点进行模块化分解,然后根据知识点选择具有工程背景的典型案例,要求知识点与典型案例之间存在一一对应的关系,同时选取的案例要能够有效涵盖教学大纲的内容。
在嵌入式系统的工程应用中,各知识点之间不是孤立的关系,而是相互配合协调统一的有机整体。因此案例的选取应遵循先易后难、循序渐进的原则,后续案例应尽可能地涵盖之前案例中的知识点,目的在于培养学生处理复杂逻辑关系的能力。基于工程背景的案例选取如表1所示,其中,PID闭环控制和LIN通信属于新增案例。
表1 嵌入式系统设计教学案例设置
表1中设置了11个教学案例,从较简单的CPU设置、输入输出控制逐渐过渡到中等难度的脉冲捕捉、CAN通信技术,再到最难的LIN、uC/OS-II移植方法及应用,案例所包含的知识点能够覆盖嵌入式系统课程的基本教学内容,案例的顺序符合由浅入深的学习规律。从表1可以看出,教学案例的设置具有典型的工程应用背景,一方面有利于激发学生的学习兴趣,变被动学习为主动学习,另一方面也突出体现了案例的实际应用价值,有利于学生所学知识与企业需求接轨。
研究生课程教学具有小班上课,学生人数少,教学资源相对丰富的特点,如每位研究生均可配置一套实验平台,因此非常适合采用多元化的教学方法。基于Freescale微控制器和CodeWarrior编译环境的应用程序开发,软件工程师已普遍采用可自动生成代码的Processor Expert(简称PE,下同)模式,与手写代码相比,PE模式下生成的代码具有开发周期短、运行效率高、安全可靠等优点。鉴于目前介绍PE使用方法的资料很少,本教研组教师对Freescale微控制器各内设模块的PE设置和使用方法,进行归纳总结,并作为所选课程的辅助教材。
在“嵌入式系统设计”案例式教学过程中,案例的实现是教学的关键,为了获得最佳的教学效果,课堂教学采用现场编程的方式,主要包含以下四个环节。
(1)现场编程。首先概括性阐述案例功能及其工程应用的背景,使学生对将要学习的案例有个宏观的认识,然后基于“ECU+负载箱”实物平台和多媒体设备,任课教师逐项完成工程建立、各PE模块设置、编写主程序代码、程序编译、调试及运行等操作,直至程序成功运行。
(2)讲解案例背景程序。案例背景程序是指已在工程中得到应用的产品级代码,例如表1中的CAN通信,对应的产品级代码即为采用分布式控制的PEPS应用程序。产品级代码的引入有利于学生获取对所学知识的信任感,同时也拉近了理论知识与实际应用之间的距离。
(3)提问与讨论。针对现场编程过程中采用的方法和技巧,通过提问的方式拓宽学生的认知思路,并就重点和难点问题展开讨论。例如,GPIO案例中关于按键防抖问题的提出、AD采样案例中采样结果的滤波问题等。
(4)学生动手实践。一方面,课堂上要求学生跟随教师的现场编程步骤,在各自的实验平台上动手实践;另一方面,由于嵌入式系统应用软件的编程方法比较灵活,即采用不同的软件算法可以实现同样的功能,区别在于优秀算法的运行效率高、可靠性好,因此在课堂上鼓励学生对编程方法提出不同的改进意见,并现场予以验证。
通过多元化的教学方法学生对需要掌握的知识产生直观的认识,学生的学习兴趣、积极性、主动性和实践能力也得到了进一步的提高,同时也为研究生课下主动学习补足短板注入了动力。
“嵌入式系统设计”研究生课程原先的成绩评定采用“平时成绩30分+期末小论文70分”的方式,考核方式单一。在案例式教学过程中,学生通过案例接触到新知识,然后通过课下的钻研和实践,使获得的知识得到巩固和扩展。因而,该门课程的成绩评价改用“课堂30分+课下30分+期末综合设计40分”的考核新模式。其中,“课堂30分”根据学生在课堂上对各个案例的掌握情况来打分,主要包括课堂教学过程中“提问与讨论”和“学生动手实践”环节的得分。学生课下的实践过程是案例式教学的重要一环,是集资料检索、相关知识学习、硬件电路搭建、软件算法编写、程序调试与纠错等工作于一体,全面提升动手能力、工程应用能力和创新能力的一个过程。学生课下的实践过程以项目的形式展开,具体操作方法如下:围绕每个案例涵盖的知识点提出若干项目,每个项目均有不同功能要求,学生依据项目功能开展课下工作,任课教师根据项目的完成情况(如代码合理性、执行效率和创新性等)进行打分。
期末成绩则采用综合设计的方式进行评定,要求学生基于uC/OS-II架构完成一个多任务并行应用程序,程序所要完成的功能由学生自定,但应尽可能地包含之前所学案例中的知识点。综合设计开始前学生首先写出设计任务书,阐述任务所能实现的功能、涵盖的知识点、实施方案以及所需的实验设备等。综合设计结束后学生写出总结报告,然后由教研组教师组成专家组对学生进行现场考核,并根据评分标准给出期末综合设计的成绩。
我院针对研究生课程“嵌入式系统设计”教学时数少、涉及的基础知识多、教学内容实践性强和工程应用能力要求高的特点,对该门课程的案例式教学方法进行了探索,实践结果可以得到以下结论:
(1)案例式教学实现了理论知识向案例的转化,使学生对知识的获取由被动转为主动,激发学生学习兴趣的同时,也极大地提高了学生的学习效果。
(2)基于工程背景的案例选取和产品级代码的学习,增强了学生对案例知识的认同感,拓宽了学生的学习思路。
(3)课堂和课下并重的考核方式,有利于培养学生独立钻研和独立学习的能力,为研究生后续的项目开展奠定坚实的基础。
[1] 王宜怀, 刘晓升, 等. 嵌入式系统--使用HCS12微控制器的设计与应用[M]. 北京: 北京航空航天大学出版社, 2010.
[2] 张磊, 王少清, 周鹏, 等. 案例式教学法在内科学教学中的的应用[J]. 成都院学院学报, 2010, 5(1): 91-92.
[3] 谢晓霞, 罗鹏飞, 张权. “随机信号分析与处理”课程案例式教学的实践[J]. 南京:电气电子教学学报,2011, 33(6): 95-97.
[4] 周一恒, 王军, 毛会琼, 牛小玲. “嵌入式系统”课程项目引领式教学[J]. 南京:电气电子教学学报, 2016,38(6): 38-41.
[5] 李鸿. 高职“电子测量技术”课程教学改革的实践[J]. 南京:电气电子教学学报,2016,38(6): 59-62.