微机系统系列课程的改革探索

2022-12-16 10:06张菊香戴志勇
教育教学论坛 2022年42期
关键词:微机嵌入式原理

侯 叶,张菊香,戴志勇

(西安电子科技大学 机电工程学院,陕西 西安 710071)

一、微机系统系列课程改革的背景

工程教育专业认证是一种以培养目标和毕业出口要求为导向的合格性评价。专业认证可以帮助高校专业点建立健全高效的学生培养目标达成的教学管理体系,密切工程教育与产业界的联系,提高工程教育人才培养对产业的适应性,实现国际间本科工程教育的学位互认。因此,国内高校各专业都在积极开展专业认证的申请工作,在此背景下,对专业的课程体系设置、课程内容建设等都提出了一定的要求,高校各专业都面临着课程体系配置与课程内容的优化或改革。

“微机原理与系统设计”(以下简称微机原理课程)是大多理工科高校学生的必修课程,而且目前课程大都基于8088/8086微处理器进行微机原理分析及系统设计[1]。由于该微处理器芯片已经过时,在专业认证的背景下,各大院校的各专业都面临该课程的改革问题。怎样对微机原理课程进行改革,本学院各专业教师经过了多次讨论与调研,借鉴了国内其他知名高校对该课程的改革情况,有的教师建议更换微处理器芯片,换为当下流行的微处理器,但有的教师认为该课程本身就是基础课程,讲授的是基本原理而不是计算机,因此无须更改芯片。

另外,微机系统系列的另外一门课程“单片机原理及应用”(以下简称单片机课程),同样是电子类专业的必修或选修课程。单片机,即一个芯片就是一个简单的微型计算机,因此“微机原理与系统设计”和“单片机原理及应用”这两门课程紧密相连,有共性,有特性,但微机原理课程是一门专业基础课,偏重理论与基础,基于微处理器进行微机控制系统设计与分析,而单片机课程是基于微机原理课程的一门专业课,偏重应用,基于微控制器或单片机进行嵌入式控制系统设计与分析。

单片机课程同样面临如何选择微控制器,如何能使课程跟上时代发展的步伐且符合专业认证要求、使毕业学生更能适合社会需求等问题,因此也需要进行课程改革。

针对微机系统的系列课程,本学院自动化专业从课程体系方面进行改革,主要从课程的配置、课程的知识结构、课程的内容、课程教授的方法等方面进行探索。

二、课程体系方面的改革

基于这两门课程所面临的问题,以及专业在课程学分上的限制,本学院自动化专业在课程体系方面进行改革。减少微机原理课程的课时,调节课程内容,并且取消单片机课程,新增“基于ARM的嵌入式系统原理及应用”课程,使该新增课程能对微机原理课程进行有效拓展,既能涵盖单片机课程的内容,又能跟上科学技术发展的步伐,符合专业认证要求,使培养的工程教育人才更能适应当代产业的发展要求。

(一)针对微机原理课程的改革

本专业微机原理课程理论课56学时,上机与实验课48学时。针对该课程,减少课时,调整为理论课48学时,上机与实验课32学时。将减少的学时增加至微机系统系列的其他课程。在有限的微机原理课时内,弱化芯片内容的介绍,注重学生对基本理论与基本概念的掌握,尤其是微机系统与嵌入式系统共性的知识。而且在讲解芯片或知识点时,拓展介绍其他功能类似的芯片,或对知识点内容进行拓展,使学生能更好地理解所学的基本知识。并且通过实例与实验加强系统设计与分析的方法,强调培养学生的工程思维和解决工程问题的能力。

比如介绍微处理器芯片8086/8088 CPU时,从内外结构两个方面介绍。在内部结构上,弱化芯片内部结构的细节,着重介绍一般微处理器芯片的内部组成及工作原理,强调微处理器芯片的共性,并列举其他微处理芯片的特性,将8086/8088 CPU作为众多芯片中的一种示例进行讲解。在外部结构上,先介绍存储器和I/O口对地址的一般分配方式,并列举出其他微处理器系统或微控制器系统有关地址分配的方式,然后再说明8086微机系统的地址分配方式。即在针对芯片介绍知识点时,遵从“从共性到特性”的分析原则。

在系统设计时,从基于微处理器如何构成微机系统出发进行介绍,使学生学习该课程后能自行设计小的微型机应用系统,能从工程的角度考虑芯片的选型与系统的设计和分析。另外,在介绍常用接口芯片时,同样减少芯片本身结构的问题,强调设计接口系统的方法。如学习接口芯片定时/计数器8253时,弱化8253芯片及工作方式波形的介绍,注重定时/计数器的基础知识与基本应用,并对其内容进行扩展。例如:在介绍定时/计数器的工作实质时,使学生明确定时器与计数器的区别与不同的应用;在介绍一般定时/计数器的实现方法时,使学生明确系统或工程中要实现定时/计数可采用哪些方法;通过对8253重要引脚及内部结构的介绍使学生明确定时/计数器的工作原理;通过对8253控制寄存器介绍和对8253初始化,使学生深入理解定时/计数器的关键参数与设置;关于8253的应用方面,不仅要介绍定时器/计数器在定时、级联定时、计数方面的应用,还要介绍如何利用定时/计数器测量脉宽、测量频率等。通过一种芯片的介绍,使学生深入理解定时/计数器的原理与应用,能够举一反三,灵活运用知识。

(二)针对单片机课程的改革

嵌入式系统通常包含两种:无操作系统的嵌入式系统和有操作系统的嵌入式系统。无操作系统的嵌入式系统俗称单片机系统,适合小型产品,功能简单。而如手机、平板、智能电视等当代电子产品越来越复杂,功能越来越强大,性能越来越高,都需基于操作系统进行开发。

本专业开设的微控制器课程“单片机原理及应用”不涉及操作系统,是不含操作系统的嵌入式系统设计与开发,即裸机系统的开发。

而近年来,基于linux等嵌入式操作系统的嵌入式系统开发成为当前最热门、最有发展前途的IT应用领域之一,它已普遍应用于人类生活的方方面面。伴随着巨大的产业需求,我国嵌入式系统产业的人才需求量也逐渐增加。因此,不论从教学、科研,还是社会的需求方面,都很有必要对学生开展有操作系统的嵌入式系统开发方面的教学,它不仅可丰富课程体系,让教学能够跟上科技发展的步伐,更体现学校以社会需求为出发点,以培养社会所需要的、高素质的优秀人才为目标的人才培养宗旨。因此本专业取消“单片机原理及应用”课程,新开“基于ARM的嵌入式系统原理及应用”课程。

本文针对所开设的“基于ARM的嵌入式系统原理及应用”的课程内容及讲授方法展开讨论,使它能和微机原理课程有效衔接并进行知识拓展;使学生既能掌握单片机课程教授的基础知识,又能对有操作系统的嵌入式系统开发有足够的了解和学习,具有基于linux的嵌入式系统开发的基础知识和基本能力。

三、“基于ARM的嵌入式系统原理及应用”课程授课内容研究

本专业单片机课程理论课18学时,实验课28学时。针对新课程“基于ARM的嵌入式系统原理及应用”,增加理论与实验学时,调整为理论课26学时,实验课44学时。该门课程不仅是对微机原理课程内容的拓展,也在微机系统的知识结构方面进行了丰富与完善。不同于微机原理课程中所介绍的X86架构,本课程介绍ARM架构,基于ARM微处理器,学习linux嵌入式系统原理及应用。

由于本课程学时有限,为满足教学目标,理论教学包含四部分。第一部分:ARM基础知识;第二部分:SoC芯片;第三部分:嵌入式系统移植;第四部分:嵌入式系统驱动开发。

第一部分主要内容包含嵌入式系统基本概念、ARM微处理器、ARM体系结构、ARM微处理器指令等。主要从体系结构、指令集、总线结构、数据存储方式等方面丰富相关的知识结构[2]。例如:微机原理课程讲授的是X86微处理器,基于冯·诺依曼结构,在“基于ARM的嵌入式系统原理及应用”课程中分析哈佛结构,丰富学生微处理器体系结构方面的知识,便于学生对所学习微处理器/微控制器存储结构的理解。X86采用的是CISC指令集,在“基于ARM的嵌入式系统原理及应用”课程中介绍RISC指令集,丰富学生在指令集方面的知识,便于学生对所学微处理器/微控制器指令集的理解。微机原理课程中学习的是PC机单总线结构,“基于ARM的嵌入式系统原理及应用”课程介绍片上总线结构,使学生进一步丰富与理解总线的结构。微机原理课程中8086/8088数据存储采用的是小端模式,而微控制器有的采用小端模式,有的采用大端模式,在“基于ARM的嵌入式系统原理及应用”课程中介绍大端模式,丰富学生在数据存储方面的多样性。

第二部分介绍当下先进和流行的SoC芯片(System on Chip,系统级芯片),如介绍三星的SoC芯片S5P6818,S5P6818是64位8核Cortex-A53架构的ARM处理器。由于“基于ARM的嵌入式系统原理及应用”课程代替了以前的单片机课程,因此第二部分内容作为单片机课程内容讲解。第二部分介绍S5P6818芯片的各个功能模块及基于这些功能模块的系统设计与分析,介绍的主要功能模块如:GPIO口、时钟系统、定时器及PWM、串行口、中断控制器、AD转换、IIC接口等。

第三部分和第四部分是单片机课程的扩展,介绍基于linux的嵌入式系统的开发。通过这两部分的学习可使学生具有开发基于linux的嵌入式系统所具有的基础知识。由于课时有限,而嵌入式系统开发涉及的内容非常丰富,作为探索,第三部分嵌入式系统移植中主要介绍linux嵌入式系统基本概念、嵌入式linux交叉开发环境搭建、Bootloader移植、内核移植、第三方驱动移植等,使学生具有嵌入式系统移植方面基础的知识;第四部分嵌入式内核及驱动开发,主要介绍linux嵌入式系统的驱动程序开发、字符设备驱动基础、中断编程、平台总线等[3],使学生具有开发嵌入式驱动程序的基本知识。

本课程不仅包含理论教学,还包含实验教学。实验内容包含裸机实验和嵌入式系统实验两部分。裸机实验类似以前单片机课程的实验,针对讲解的SoC芯片的功能模块展开相应的实验,如GPIO、串口、PWM、中断、AD转换等实验。嵌入式系统实验主要通过LED驱动、PWM驱动、红外驱动、ADC驱动等实验,使学生能够熟悉字符设备的驱动开发,理解中断、IO口模型、平台总线等相关知识的应用。通过实验教学,使学生不仅具有单片机开发的基本能力,也具有嵌入式系统驱动开发的基本能力。

四、“基于ARM的嵌入式系统原理及应用”课程的教学方法研究

研究“基于ARM的嵌入式系统原理及应用”课程的教学方法,能使学生能更好地理解和掌握所学知识。

微机原理课程学习的是X86架构,而“基于ARM的嵌入式系统原理及应用”课程学习的是ARM架构。对于不同架构的知识,第一部分ARM基础知识,可通过“比较”的教学方法。由于学生已学习过微机原理课程,具有了微处理器开发系统的基础,如果将ARM架构的微处理器同X86架构的微处理器进行比较教学,可以使学生更好地理解知识点。如微处理器开发与微控制器开发的比较,以及体系结构、指令集、总线结构、数据存储方式等方面的比较等。

由于课程课时有限,单片机的种类繁多,SoC芯片更新换代非常快,所以在课程的第二部分介绍SoC芯片时,对其各功能模块的讲解要强调单片机的共性知识,然后列举一些微控制器或SoC芯片是如何解决这些共性问题的,最后分析本课程讲解的SoC芯片的特性、实现及应用。这种从共性到特性的方式,使学生能对芯片的应用举一反三。如在讲解GPIO知识时,先介绍GPIO口的共性知识,使用GPIO一般考虑的共性问题:有多少个或位可使用的IO口;哪些口有复用功能,有哪些复用功能;使用IO口时如何对其进行配置;IO端口的地址;等等。然后分析一些微控制器或SoC,如STM32、S3C2440等它们如何实现这些共性问题,最后介绍课程中的SoC芯片S5P6818在这些问题方面的特性与实现,以及如何利用该功能模块进行系统设计与应用。

linux嵌入式系统的基础知识与开发涉及面广,不易学习。为了使学生能在短时间内较好地理解linux嵌入式系统的开发,在理论课程教学中,配合实验内容及实验程序进行。在理论课介绍每个知识模块后,通过实例及实验程序讲解所学习的知识点,强调知识点在驱动程序开发中的应用与实现,可使学生快速理解所讲解的知识的应用。

另外,为了促使学生自主研究与学习,鼓励学生基于实验平台对实验内容进行扩展。实验任务包含两部分:基础实验和扩展实验。基础实验配合理论教学,有助于学生对理论知识的理解。扩展实验不设定内容,鼓励学生自行研究与探索,对所做实验进行扩展,并将扩展的内容作为考核的一部分,更好地激励学生的学习积极性及对知识的应用与理解。

结语

以专业认证为背景,本文针对西安电子科技大学自动化专业微机原理课程和单片机课程存在的问题,在课程体系方面进行了改进,对微机系统系列课程进行了改革,并对所开设的linux嵌入式系统课程内容及讲授方法展开了讨论与探索,以便使微机系统系列课程的设置与教学能更好地培养适应产业发展的工程教育人才。

猜你喜欢
微机嵌入式原理
了解咳嗽祛痰原理,有效维护健康
Fuzzy Search for Multiple Chinese Keywords in Cloud Environment
平均场正倒向随机控制系统的最大值原理
搭建基于Qt的嵌入式开发平台
化学反应原理全解读
嵌入式软PLC在电镀生产流程控制系统中的应用
通信原理教学改革探索
电力系统微机保护装置的抗干扰措施
新型微机可控顶控制系统原理及现状
Altera加入嵌入式视觉联盟