嵌入式电路设计教程范例(3篇)
时间:2024-07-31
时间:2024-07-31
关键词:嵌入式系统;教学方法;验证型实验;设计型实验
作者简介:钱诚(1981-),男,江苏常州人,常州工学院计算机信息工程学院,讲师;彭馨馨(1980-),女,江苏常州人,江苏理工学院商学院,讲师。(江苏常州213002)
基金项目:本文系常州工学院自然科学基金重点项目(项目编号:YN1204)的研究成果。
中图分类号:G642.0文献标识码:A文章编号:1007-0079(2014)08-0144-02
随着嵌入式系统在工业设备、人们日常生活中的应用普及,对嵌入式系统的需求也随之越来越大,具备嵌入式系统开发技能的人才也因此受到了广泛的青睐。为了满足企业对高质量嵌入式工程师的需求,在高等学校开设嵌入式系统相关课程变得十分必要,其对于促进嵌入式工程师的成长也有着深远的意义。
嵌入式系统本质上是一种软硬件高度集成的微型计算机系统,其具有软硬件可裁剪、低功耗、实时性强等特点。相比于计算机应用方向的其他专业课程,嵌入式系统课程内容涉及软硬件的知识较多,对于学生前期的知识储备有着较高的要求,入门难度相对较大,这些都加大了学习的难度。[1]此外,由于实验条件的限制,传统的教学更加注重于理论知识的讲授,实践环节的课时较少,这容易使学生丧失兴趣,导致授课效果差。
在嵌入式课程中,针对计算机应用专业的特点,[2]设置合理的教学目标,调动学生兴趣,充分挖掘学生的自主学习能力,使得学生能够真正掌握嵌入式系统开发技能,是该课程所期望达到的效果。围绕这一教学目的,在课程设置上,重视嵌入式系统基础性理论的学习,强调对学生动手操作能力及解决工程问题能力的培养,[3]尤其注重实验中嵌入式系统各硬件工作原理的验证以及在此基础上的开发实践活动。[4]兼顾到嵌入式系统的发展趋势以及学生的知识接受能力,整个课程选择了以ARMCortex-M3为核心的STM32F103XX嵌入式芯片作为教学实践平台。
一、课程体系结构
课程的具体目标是培养学生能够熟练使用嵌入式开发工具及已有的基础固件库完成驱动程序和应用软件的开发,在硬件电路设计方面并不做过多要求。该目标的设置可以充分发挥计算机应用专业学生软件开发能力相对较强的特点,而降低由于电子电路背景知识基础相对薄弱所带来的知识理解困难,这也使得学生不会因为嵌入式系统硬件的复杂性而在学习上产生退缩情绪,反而因为自身所具备的程序编制能力得以快速入门,并产生更多的兴趣驱动其深入到嵌入式系统的学习中。
在教学内容的组织上,根据设置的课程目的,将课程知识体系划分为三个有机组成部分。第一部分,嵌入式系统的总体体系结构;第二部分,嵌入式系统的指令系统;第三部分,嵌入式系统核心模块的工作原理。第一部分是对整个嵌入式系统的总览,该部分内容具有一定的抽象性,并不是某特定嵌入式系统结构的具体化,因而更具有普遍性。第二部分主要围绕ARM指令集及Thumb指令集进行介绍,后续的实验环节则更偏重于C语言在ARM内核上的编程。第三部分侧重于核心模块,结合各功能模块的工作原理和对应固件库中函数的具体实现,使工作原理的讲解变得直观,容易被学生接受。这三部分并不孤立,第一部分更多地阐述了嵌入式系统的硬件载体,而第二部分则主要阐述了嵌入式系统软件开发的基础,第三部分则是软硬件的综合,其依赖于前两个部分的知识基础。
在授课的模式上,采用了课堂讲授与实验相结合的教学模式。课堂讲授部分主要涉及嵌入式系统微处理器、存储器及时钟电路等内容的介绍,随后则是各功能模块工作原理的介绍。在讲授过程中,首先给出概要性的介绍,使得学生形成感性认识,其次对于重点、难点部分,使用演示法,运行一些小程序,通过对比运行结果,使得学生能够正确理解各工作原理。在设计这些小程序的过程中,只对部分能够说明工作原理的部分进行修改,其他大部分都相同,通过演示讲解,形成更为直观的认识。最后在实验部分,围绕模块设置多组实验,难度为一阶梯递增的过程,使得学生能够循序渐进地掌握嵌入式系统的开发技术。
二、课堂教学
在课堂教学的过程中,注重对ARM的软硬件总体结构进行介绍。按照嵌入式系统的纵向结构,将嵌入式系统分为硬件层、中间层、系统层及应用软件层,层次性的介绍使得学生能够快速建立起ARM嵌入式系统框架结构的概念。
硬件层,围绕着嵌入式系统低功耗、实时性强的特点阐述系统设计的初衷与思路,重点介绍系统的时钟电路,注意高速内部时钟、高速外部时钟、低速内部时钟和低速外部时钟获取方法之间差异性的比较。针对嵌入式系统保证系统效率的核心机制――中断机制,课程中引入了STM32F103XX芯片的中断系统作为具体的中断实现进行介绍,由其典型的7类中断类型延伸到其他ARM系统的中断实现。存储器的讲解则偏重于存储器的分区及地址重映射的概念。对于基本硬件构成的讲解不只是停留在每个硬件的简单介绍上,而是通过数据流、指令流的传递阐述这些硬件的协同工作机理。
在中间层,模块的驱动程序设计是该课程教学的重点,内容包括通用输入输出引脚(GPIO)、模数转换(ADC)模块、外部中断(EXTI)模块、定时器模块、串口通信(USART)模块、实时时钟(RTC)模块及看门狗模块等。这些模块的驱动程序更加贴近于底层硬件,因此相关理论的介绍是必不可少的。参考当前工业界一些优秀的驱动程序,通过挖掘程序片段供学生阅读,使得学生对这些模块的理解不仅仅停留在抽象的原理性认识上,能够更多地从实例程序中理解驱动程序的编写方法及思路。为了让学生更好地理解各模块的基本工作原理,示例小程序的运行效果可以提供一个直观的认识手段。在设计这些示例程序时,突出寄存器的配置参数对程序运行结果的影响。例如,在定时器的配置过程中,通过修改分频系数及计数模式,可以产生不同时长的定时效果,学生可以很直接地发现结果的差异性。
作为源码公开的嵌入式操作系统,μC/OS-Ⅱ嵌入式操作系统具有内核小、实时性强的特点,在系统层,将μC/OS-Ⅱ作为一款典型的嵌入式操作系统,讲解内核结构――任务调度、任务的互斥和同步、任务间的通信等,并在这一过程中穿插其他嵌入式操作系统的内核实现方式,如Linux、vxWorks等相关知识,使得学生能够触类旁通,知识面也不局限于μC/OS-Ⅱ。考虑到计算机应用专业学生已有的操作系统知识,在这一块内容的教学上,并不展开每一个内核的实现细节,课后通过一些作业让学生有意识地利用已有操作系统知识来扩展、自学嵌入式操作系统。
对于应用层的介绍,则给出多个工程实例,剖析部分程序文件,以此向学生展示在嵌入式系统上如何开发应用程序。在工程实例的选择上,综合考虑实用性及学生的学习能力,设计了“基于STM32F103XX的手持电子相册设计与开发”和“嵌入式系统上人机友好交互界面的设计与开发”等实例,引导学生掌握功能模块的组合应用。
三、实验教学
实验教学是学生掌握嵌入式系统开发及应用知识的关键性环节。在实验的设计上,根据程序开发的难易程序,将实验分为验证型实验和设计型实验,引导学生循序渐进地掌握软件编制技巧。
验证型实验,设计合理的范例程序,并通过在实验课上程序设计思路的讲解,帮助学生理清程序的流程与框架。对于该类范例程序,一般设置2个目标:第一,要求在范例程序上通过修改参数,观察在不同参数下嵌入式系统的输出表现。第二,按照嵌入式系统的功能要求,补充完整范例程序。为了达到这些实验目标,让学生从硬件接线图着手,在掌握输入输出信号流以后,进一步理解范例程序的功能实现过程。如在流水灯实验中,在确定外部三个LED灯的灌电流驱动方式,让学生通过设置对应端口的高低电平来控制LED的点亮与熄灭。在给出的范例程序中,程序的调用过程标定清楚,学生只需填充函数,完成GPIO时钟的配置,设定引脚号、引脚传递速度和引脚工作模式等参数,从而达到循环控制LED灯的目的。验证型实验可以引导学生快速了解嵌入式系统的开发过程,帮助学生建立起嵌入式系统软件开发的信心,为后续独立开展实验打下基础。
设计型实验在学生具备初步的嵌入式系统开发能力的基础上,采用探究式教学法,给定功能目标,让学生自行设计方案并编制软件实现目标。在这一过程中,学生需要运用软件工程思想,编写概要设计文档与详细设计文档,给出模块划分结果及部分关键函数的流程图作为实验报告的必要组成部分。在编制软件时,由于涉及一些固件库的使用,要求学生查阅开发手册掌握必要的库函数来完成实验。为了让学生顺利完成实验内容,实验内容都在课程讲授的范围内,只涉及多个核心模块的协调工作,学生在掌握工作原理的基础上可以较为顺利地完成方案的设计与软件的编制。
四、考核方法
考虑到嵌入式系统教学目标更加偏重于学生动手能力的培养,因此在考核的内容上强调实验的表现。在期末成绩的综合评定上,平时课堂表现、作业情况占10%,实验成绩占30%,期末理论考试占60%。通过这一考核方案,在促使学生学习嵌入式系统基础理论的同时,能够将所学的理论知识运用到具体的实验操作上,使得计算机应用专业的学生将嵌入式系统知识内化到自身的知识体系中。
五、结语
嵌入式系统课程是一门具有较强实践性的课程,为了使学生系统性地掌握嵌入式系统,在课堂授课过程中采用演示法加深学生对嵌入式系统的理解,另外,设计难度递增的实验内容,使得学生能够循序渐进地掌握嵌入式系统开发技术。通过一系列课堂教学、实验环节的改革,建立一个较为完善的课程体系,更好地促进学生工程实践能力的培养,在实际的教学中取得了较为明显的教学效果,有效地拓宽了计算机应用专业学生的就业面。
参考文献:
[1]刘泽平,羊四清.计算机专业嵌入式方向课程体系建设[J].计算机教育,2013,(6):103-106.
[2]蒋银珍,王宜怀.计算机专业的嵌入式系统课程教学探讨[J].计算机教育,2011,(18):46-48.
关键词:高校;嵌入式教学;教学研究
随着嵌入式技术在当今社会的广泛应用和迅猛发展,社会对嵌入式人才的需求也与日俱增。很多高校顺应当前社会形势的发展,在原有计算机专业或电子信息技术专业的基础上添加了嵌入式课程,嵌入式已成了当今社会的热门话题。高校作为人才培养的第一线,能否培养出符合社会需求的嵌入式人才是当务之急。
一、现状分析
1.传统专业的划分阻碍了复合型人才的培养。嵌入式系统开发不同于以往简单的硬件开发或软件开发,它是软件和硬件技术的紧密结合,涵盖多学科知识领域,如电子电路设计、硬件驱动设计、计算机网络、软件编程等,而传统的专业划分,造成了电子专业的学生只懂点C语言、FOXPRO等少量的软件知识,而计算机专业学生只了解点电路分析、模数电等硬件知识,不能够满足社会对嵌入式人才的要求。
2.缺乏有实战经验的嵌入式教学师资。尽管嵌入式系统涉及了很多专业的理论知识,但是从其根本而言,还是以实用、应用为主。因此,在嵌入式课程的教学过程中,重视理论知识的学习,更应该重视这些知识在实际生产项目中的应用。这就对我们高校的教师水平提出了更高的要求。现在,很多高校随着扩张,引进了许多高水平的硕士、博士任教,提高了整个师资的教学水平和科研能力。但是,这些高学历的教师基本上也是“从学校来,到学校去”,尽管他们的理论水平很高,但是一样缺乏在生产实践中的项目经验。
3.课程难度大,学生学习兴趣不浓。由于嵌入式系统的理论知识涵盖较广,难度本身较大,并且电子专业的知识逻辑性、连贯性较强,如果前一门课没有学好,对后一门课的学习影响是较大的,这就造成了学生越学到后面越有心无力。
二、教学方法改革
一、嵌入式系统简介
一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/O)和软件部分(应用软件和操作系统)。嵌入式系统课程的学习开发包括硬件和软件两大部分,两者之间是相辅相成的。
二、高职嵌入式系统教学的现状
嵌入式系统课程一般开设在最后一个学年。在此之前,学生已经进行了电子技术课程的学习,因为电子技术的设计与嵌入式系统的硬件设计有很大关联。具体涉及印刷电路板(PCB)的制作、电子产品的安装和调试、电子CAD绘图软件的使用等。电子技术课程的学习必须经过大量的实验、实训考核才能有很好的掌握,而实际情况是该课程的学习往往受制于学时较短,学生并不能达到灵活应用的程度。
其后,通过单片机课程(MCS-51)的学习,具体涉及单片机硬件电路的知识、C语言的编程方法、keilc51集成开发软件的应用。这时学生便具备了一定软件与硬件知识相结合的设计能力。
此外,一些计算机基础知识的学习也为嵌入式系统课程的学习打下基础。在高职阶段,嵌入式系统课程的开设也属于起步阶段,其教学方法也是仅限于课堂教学与规定实验教学的浅层次结合方式。嵌入式系统开发涉及的知识面较广,这就对教师授课提出了较高的要求,需要对教学方法、手段做出变革。
三、开放式教学
1.学生结构开放式组合
首先,将学生分类,通过多门其他课程的前期学习,教师已经了解学生的知行能力、适应能力、自我驱动能力、交往能力和团队合作能力等。嵌入式系统课程教学当中有大量的实训教学,在这过程中,将学生进行强弱组合,提高学习氛围、协调共同进步是必要的措施。
2.教学内容开放性
在教学内容上,当前高职院校在教授嵌入式系统课程时,主要包括芯片结构知识、嵌入式操作系统的原理和移植知识、嵌入式驱动程序的开发、嵌入式软件的设计方法等。其方式是以一些基本概念为主,辅以一些固定的实验模块进行实验。对于刚接触嵌入式系统的学生来说,比较难于进入学习状态乃至于失去学习兴趣。
教学内容的开放性是基于嵌入式系统课程学习的过程中会有许多案例的分析与设计。在这里,我们将教学内容分为常规的基础教学内容与高级应用知识。常规的教学内容一般较为完善,具有基础性,是学生必须掌握的;高级应用知识主要讲授一些嵌入式课程的发展趋势,其与行业知识的关系等等,是为了让学生能更好学习掌握专业课程并进行提升的过程。
教学内容的开放性就是打破嵌入式系统课程的条条框框,理论知识和实践训练项目的选取都不拘泥于单一的教材和固定模式。而是将整个课程设置为刚性和柔性部分,精心设计问题目标,并根据行业实际发展情况及时调整内容及策略,充分提高学生思考能力和创造力,针对不同的学生,尊重其差异,展现其个性。
实验、实训设计任务分层次,其设置分为必须完成的、选择完成的,以唤起学生的学习激情,张扬个性。
3.教学方式开放性
首先,嵌入式系统课程涉及知识面较宽:基础理论、初级应用知识采取由教师重点讲解,高级应用知识采取由学生自学为主的方式,并结合辅导及讨论的教学方法进行。当前高职学院的信息化学习环境较为完善,且学生已具备一定的信息素养能力。因此可采用多媒体、网络等技术进行课程讲解,通过视频教学、网络书籍等资料来学习及设计项目,以增强工程训练的教学效果。为此,我们经常根据所讲授的课程特点,采用诸如互动式教学、讨论式教学、情境式教学等方式来组织教学。使学生变被动学习为主动学习,提升学生的内驱力。
其次,嵌入式系统课程的学习牵涉机械、电子、自动化技术、信息技术等多方面内容,综合性以及实践性强。要想学好该门课程,仅限于课堂学习、实验是远远不够的。必须实行学习时间开放化,为此,我们组织培养学生利用大量的课余时间进行查阅资料和工程实训。在教师之间,我们建立教师教学团队,建立教学论坛、答疑中心,授课教师以及实验指导教师共同、及时全方位解决学生实际应用中遇见的问题。在学生中间,建立兴趣小组以及大学生电子设计竞赛培训中心,始终以发挥学生潜能为教学目的,引导学生进入各种网络学习交流论坛相互学习,学习资源共享最大化。
四、结束语
上一篇:嵌入式工程项目管理范例(3篇)
下一篇:计算机入门培训教程(6篇)
热门推荐