APP下载

基于CDIO模式的嵌入式系统课程教学实践探索*

2022-09-28

关键词:开发板嵌入式工程

邓 浩

(湖南交通工程学院 湖南衡阳 421000)

近年来,“卓越工程师教育培养计划”“大众创业、万众创新”等概念在社会和各高校中广泛流行。为顺应时代发展的潮流,培养学生的专业素养和创新创业能力,提高学生的综合素质和社会竞争力,适应工作岗位和自我提升需求,各学校采用了多种课程教改方法。其中CDIO工程教育模式就是一种较成熟、较适合的教学模式,对嵌入式系统课程教学有较大的指导意义和实践价值。

一、嵌入式系统课程概念及教学中存在的主要问题

嵌入式系统是一种计算机硬件与软件结合的产物,是置入应用对象内部起信息处理和控制作用,并实现特定功能的专用计算机系统。从上世纪70年代英特尔公司研发出第一款微处理4004开始,就有了嵌入式系统应用,如今应用最为广泛的是单片机、DSP、ARM。其中ARM是公司的名称、一类微处理器通称和一种技术的名称,ARM公司作为设计公司,本身并不生产芯片,而是采取转让许可证制度,由授权公司生产芯片。目前ARM Cortex-A、Cortex-R、Cortex-M系列处理器为不同的市场提供服务,占据了嵌入式市场最重要的份额,所以目前各高校的嵌入式系统课程主要是围绕ARM系统来讨论。

嵌入式系统课程作为一门典型的工程应用课程,综合性和实践性都非常强,通常开设在本科、硕士阶段。嵌入式系统课程开设的主要目的是通过学习,使学生打好嵌入式系统的硬件和软件基础,掌握嵌入式系统涉及的基本理论,构建成为一名良好的嵌入式系统设计师所需的基本知识结构,培养动手实践能力,具备一定的项目开发能力和开发创新能力。当前高校嵌入式系统课程教学主要存在教学内容落后、实验教学学时不足且实验设施陈旧、教学方法传统、学生学习积极性不高等问题,导致了所学内容与社会脱节,不能顺应嵌入式新体系、新技术的发展潮流;实验设备老化,故障频发,不能正常使用;实验课程流于形式,大部分学生的实验热情不高,效果不理想等现象,所以非常需要进行嵌入式系统课程教学改革。

二、CDIO工程教育模式下的嵌入式系统课程教学实践

CDIO理念最早是2000年提出的,由美国麻省理工学院和瑞典的三所大学共同研究并经改进后,确立为CDIO工程教育模式,偏向应用于理工方面,并在世界多个国家推广应用[2]。CDIO将教育理论与实践操作相结合,围绕三大核心(1个大纲、1个愿景、12个标准)内容,学生采用主动的、实践的方式进行课程学习,教师起辅助和指导作用,从而丰富和提升学生的工程基础知识、个人能力、人际沟通能力和工程系统能力。CDIO理念对教师和学生都有很好的实践指导意义。因此,把CDIO理念结合本科课程,提出具体思路后进行设计与实践,并进行系统和全面的实证研究,对嵌入式系统课程教学改革具有重要意义。

1.课程群体系建设

课程群体系建设具有开局意义,是课程教学体系改革的重中之重。根据《中国嵌入式计算机系统行业风险投资及发展建议分析报告2021-2026》中我国嵌入式系统行业发展现状、嵌入式人才的技能需求,以及IEEE和ACM起草的嵌入式系统课程体系建议,再结合各院校物联网工程专业人才培养方案,研究符合本院校实际的嵌入式系统课程体系架构[3]。以我院为例,修订后的嵌入式系统课程群体系结构如下:先修课程除公共课外,设置数据结构、C语言程序设计、汇编语言程序设计、模拟电路、数字电路、计算机组成原理、计算机接口技术、计算机网络、操作系统、单片机原理等;嵌入式课程主要涉及嵌入式微处理器、嵌入式操作系统、嵌入式软件设计、系统可靠性设计、嵌入式开发工具等,另外针对实验和课程设计还有专门的认知和设计环节,对当前大量使用的物联网技术,如RFID、感知、控制、微电子、网络通信、IoT通信技术等也有涉及。这些内容并不是固定的,应随着新技术的发展不定期扩充。

2.课程内容改革

基于CDIO工程教育模式的嵌入式系统课程设计最注重的是学生的自主学习能力、协作能力和调控能力的培养锻炼[4]。需要极大地调动学生的学习积极性,所以我们采用了以项目驱动的课程内容设计,对教学内容按照项目开发过程制定教学内容和实践内容,对项目开发进行分解,把课程知识点融入项目的开发之中,并确定项目开发中的重点和难点内容。课程要围绕完成项目开发的模式展开,按照各课程的不同开设顺序和软件开发层次,进行分阶段、分层次系统开发。在各阶段要通过相关项目进行巩固运用,在课程设计环节要通过综合项目来综合各阶段的相关知识点,通过综合应用来提高学生的实践操作能力。

根据嵌入式课程实践性强的特点,课程内容需要结合相关的实验平台来组织,最好是以市场上成熟的开发板为基础。笔者所在学院采用了当前主流,以基于ARM Cortex-M7的STM32H743VIT6处理器为核心的星光猛禽开发板作为实验平台,重点讲述开发板的硬件资源、处理器的特征、指令集、定时器、DMA控制器、GPIO、SPI、IIC、UART、PWM等原理、操作系统、应用程序开发及调试等内容。

根据CDIO工程教育模式,针对产品的研发流程和嵌入式知识结构,结合开发板,将课程教学分为以下三个阶段,相关核心内容如表1所示。

表1 嵌入式系统课程核心内容

对于基础阶段和提升阶段,每个讲授内容都有具体的项目,通过实践可熟悉每个知识点。在综合阶段安排了几个综合的实战项目,这些项目结合了嵌入式系统开发板的各种开发知识,还结合了传感器驱动、无线通信协议编写、前端等知识,需要学生组团进行协同开发,师生可以模拟真实的项目管理过程。

通过这三个阶段的讲授和项目实践,丰富了学生的嵌入式系统基础知识,提高了开发能力、团结协作能力、项目文档编辑能力和综合应用能力。学生还可在自主学习和实践中找到自己的兴趣点,在相关领域深入学习和实践,不断提升自己的综合能力,更好地适应未来工作岗位的需要。

3.教学方法改革

嵌入式系统课程内容确定后,应该采取怎样的教学方法来组织教学呢?该课程是以工程应用为主,为激发学生的自主学习能力和实践能力,需要将理论教学和实践教学相结合。在流程设计上,根据CDIO工程教育模式,分成构思、设计、实现和运行四个步骤,各步骤都对应了相应的教师和学生活动。课堂上,老师可根据课堂内容所涉及的项目,结合开发板进行理论和实际操作讲授,学生边学边做,加深理解。针对项目中的重难点内容,教师先列举出来,进行知识串讲,讲解决问题的思路、思维方式和具体方法,然后由学生自行查找相关书籍和网络资源,经过学生间的头脑风暴,理解各知识点,并找出项目中遇到问题的解决途径和方法。

举个例子,在讲授LED灯亮灭的项目时,老师可从以下步骤来讲授:(1)基础知识讲授:开发板IO口的数量和分组,GPIO的4种输入模式和4种输出模式(结合STM32引脚电路图进行讲解),GPIO相关寄存器配置,时钟配置。(2)相关函数介绍,如时钟配置函数、延时函数、电平翻转函数等。(3)利用keil5.34开发工具新建工程,也可利用配套模板,编写相关程序。(4)使用STM32CubeMX软件,通过图形化的配置功能,直接生成HAL库的工程文件后,然后在相关用户代码位置添加延时、电平翻转等代码并进行调试。在讲授过程中同步演示,然后学生再结合学习内容,根据自己的掌握情况查阅相关资料,实现LED灯亮灭的实验。

嵌入式系统开发学习是一个循序渐进的过程,需要不断在理论学习和实践中积累开发经验。在进行理论和实践教学的同时,应多鼓励学生参加各种竞赛,如挑战杯、创新创业比赛、物联网竞赛等。采取学生为主、老师为辅、共同参与的形式,在参与的过程中群策群力,有针对性地去查找资料、学习和讨论,培养学生的工程应用能力、团结协作能力,并增强自信。另外坚持校企合作,提供给学生进企业实践的机会,接触市场上的最新行业动向,新技术,学习企业文化和企业管理机制,参与某项产品的开发工作,从而开阔视野,提高学生的嵌入式系统开发实战能力和就业竞争力。

为激发学生的实践热情,还应改革课程考核方式。摒弃传统的以最终笔试成绩来评定学生学习水平的方式,采用项目考核与笔试考核相结合的方式。在项目考核环节,可由老师拟制也可由学生自拟项目,学生单独或分组完成项目,在项目中要进行阶段性检查和现场答辩,项目完成后每人要提交项目研究报告。老师根据阶段检查情况,结合项目研究报告给出项目考核成绩。另外参加了各类竞赛和创新活动的同学也要酌情加分。通过这样的考核方式可以让学生获得较公正的实践能力评价,同时也激励了学生的学习和实践热情。

三、课程教学改革取得的初步成效

为检验CDIO工程教育模式的嵌入式系统课程教学效果,我校在18级和19级的物联网工程专业本科班进行了教学效果对比。其中在18级采用传统的教学方法,在19级采用CDIO工程教育模式。收集并对比两个班级的嵌入式课程设计和期末考试成绩,可明显看出19级学生的课程设计报告质量明显更高,体现为项目的难度更大,代码质量更高,项目文档更具体和规范;在期末考试试题难度相近的情况下,18级的班级平均分为72.3分,19级的班级平均分为81.6分。另外19级有两个学生团队分别获得了2021年湖南省物联网竞赛创意类作品二等奖和三等奖。从对比情况可看出采用了CDIO工程教育模式的嵌入式系统课程收到了良好的教学效果。

猜你喜欢

开发板嵌入式工程
搭建基于Qt的嵌入式开发平台
Microchip最新推出两款PIC32 Curiosity开发板
浅析单片机开发板的设计与制作
嵌入式软PLC在电镀生产流程控制系统中的应用
子午工程
工程
工程
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板
Arduino和Atmel发布Arduino Zero开发板
Altera加入嵌入式视觉联盟