基于STM32的《嵌入式系统》课程绪论课堂教学方法探讨

2021-11-18 11:00侯凤云
探索科学(学术版) 2021年11期
关键词:微控制器嵌入式系统嵌入式

侯凤云

洛阳师范学院 信息技术学院 河南 洛阳 471934

一、引言

随着云计算、大数据、人工智能、物联网等新型信息技术的发展,物理世界和信息世界被有机融合在一起,针对不同应用场合的要求,实现智能化控制。物联网技术得益于云计算、大数据、人工智能的支持,发展迅速。《嵌入式系统》是物联网工程专业的主干课程之一,通过绪论对课程和相关信息技术有个整体的把握和了解,为课程后续理论知识的学习奠定基础。

二、嵌入式系统的行业地位

物联网、云计算、大数据和人工智能是一脉相承的,构成了一个完整的闭环控制系统。云计算,即管理数据中心,主要管理计算资源、存储资源和网络资源,实现资源的灵活配置;大数据,从各种各样的数据中,快速获得有价值信息的能力,就是大数据技术,它是数据分析的利器;人工智能,根据大量的历史资料和实时观察找出对于未来预测性的洞察,可以处理和从中学习的数据越多,预测越准确;物联网,将传感器和智能处理结合,进行资料收集工作。嵌入式系统运用于物联网系统分层架构的各个部分,利用嵌入式系统构建并实现了物联网系统,诸如智能交通、智能家居、智能农业等。

三、课程特点

《嵌入式系统》是物联网工程专业偏硬件方向的课程,内容涉及面广,包括计算机软、硬件技术、通信技术和电子技术等专业知识,课程实践性强。课程以STM32系列微控制器为研究对象,在阅读并熟悉STM32使用说明的前提下,通过大量的实验,动手调试,才能掌握微控制器(微控制器是嵌入式系统的核心)片内外设的使用,进一步理解STM32的相关基本原理。

四、嵌入式系统与ARM简介

什么是嵌入式系统?从技术角度定义:以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从系统角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。定义表明一些嵌入式系统通常是更大系统中的一个完成部分,称为嵌入的系统。嵌入式系统是专用计算机系统,核心是微控制器。手机是典型的嵌入式系统产品,其主要功能当然是通信和娱乐,从手机的体积、操作系统、内存到功耗,和通用的个人计算机相比较,其具有专用、功耗低、体积小和操作系统和内存容量小等特点。

提及嵌入式系统,必须要谈到ARM。ARM有两重意思:一是指公司名,ARM公司1991年成立于英国剑桥,只设计芯片,但不生产芯片,出售半导体知识产权(IP)给芯片生产商;二是指一类处理器的通称,或一种技术。ARM技术占有超高的市场份额,世界上95%以上的智能手机和平板电脑都采用ARM架构,基于ARM技术的微处理器(32位,RISC)占75%的市场份额,课程的研究对象STM32系列微控制器也是基于ARM技术、32位、RISC(精简指令集计算机)的产品。

世界著名的芯片生产商,如IBM、Motorola、ST、PHILIPS、INTEL、SAMSUNG、SHARP、ATMEL等,购买 ARM 技术后,把内核和外设做好,就是微控制器。生产商根据需要可裁剪内核,ARM公司也给芯片生产商提供外设技术,前面提到的ARM是处理器,加上输入/输出端口、中断控制器、DMA、定时器、A/D和D/A、串行接口等片内外设,即做成了微控制器,如STM32系列。STM32是意法半导体有限公司(ST公司)推出,基于ARM Cortex-M内核的一系列微控制器。

ARM处理器是基于低功耗、低成本、高性能的需求而设计的,按照应用特征主要介绍以下几个ARM微处理器系列:

(1)ARM7TDM1系列,用于工业微控制器

(2)ARM9E系列,用于高性能实时系统

(3)ARM11系列,高端应用处理器

(4)Cortex系列(又分为Cortex-A、Cortex-R和Cortex-M系列)

2010年之前,ARM7TDM1、ARM9E、ARM11系列处理器应用于各种用途的嵌入式系统。随着ARM技术的不断完善和发展,功能更强,使用更加方便。2010年以后,Cortex系列逐渐担当了重任,Cortex-M、Cortex-R、Cortex-A系列分别取代了ARM7TDM1、ARM9E、ARM11系列,其中Cortex-M系列,针对工业控制,有 M0、M3、M4、M7,具有很高的性价比;Cortex-R系列,用于高性能实时控制,如硬盘控制器、移动通信的基带控制器;Cortex-A系列是高端应用处理器,用于智能手机、平板电脑等。

ARM微处理器的应用领域:

(1)工业控制领域,如工业机器人、机械手。

(2)无线通信领域,85%的无线通信设备用到ARM技术。

(3)网络应用,如通信基站的交换机、路由器等。

(4)消费类电子产品,如手机、机顶盒等。

(5)成像和安全产品,如数码相机、打印机、油烟机等。

ARM微处理器有以下特点:

(1)体积小、低功耗、低成本、高性能。

(2)支持Thumb/ARM双指令集,能很好的兼容8位/16位器件。

(3)大量使用寄存器,指令执行速度更快。

(4)大多数数据操作都在寄存器中进行。

(5)寻址方式灵活简单,执行效率高。

(6)指令长度固定(32位或16位)。

五、教学内容

课程以STM32F103ZET6(Cortex-M3内核)为研究对象,这款微控制器用于工业控制,Cortex-M3是主流内核,资源丰富,性价比高,可完成各种复杂的控制任务。课程的主要内容如下:

1.STM32基本原理

这部分内容相当于是STM32微控制器的使用说明书,ST公司根据不同的微控制器系列在官方网站发布了使用手册。教材上介绍的只是最基础的部分,详细内容可参考STM32使用手册,那么理论课上首先要弄懂最基础部分,获得使用STM32的入门知识。

2.硬件设计

介绍实验用开发板的硬件电路图,包括微控制器的管脚图、时钟电路、复位电路、BOOT管脚接线、各元器件所需的稳压电源电路;片外外设的接口电路,如LCD、FLASH、ROM等,涉及微控制器的显示、通信接口、DMA的使用;外接的用于输入信号的按键开关电路、用于输出驱动的LED灯和蜂鸣器电路等;用于下载和调试的JTAG接口电路。开发板的各电子电路涉及电子技术和通讯技术方面的知识,读懂这些电路,是片内外设的使用和软件开发的铺垫。

3.STM32软件开发

利用Keil5集成开发环境,介绍STM32微控制器的各个片内外设的应用,也就是如何使用C语言编写程序。片内外设主要包括GPIO通用输入输出接口、中断控制器、DMA、定时器、ADC、DAC、通信接口(IIC、SPI、USART)。

为了方便使用STM32系列产品,Keil5集成开发环境可以安装板级支持开发包(PACK包),PACK包里包含底层操作封装好的各种函数和文件,软件开发时直接使用,容易上手。

STM32(包括其它微控制器)上是不能运行开发环境的,嵌入式系统的开发和调试方法如图1所示:

图1 嵌入式系统开发和调试流程

集成开发环境运行在个人计算机上,也称为上位机,STM32上运行的是可执行文件,STM32可称为下位机或目标板,通过集成开发环境可以监控STM32的执行情况。

六、教学目标

通过理论和实验的学习,应实现教学目标如下:

(1)了解Cortex-M3的架构。

(2)掌握MDK Keil集成开发环境下STM32系列(Cortex-M3)微控制器(外设组件)的使用,实现简单的控制要求。

《嵌入式系统》课程实践性强,学习STM32的基本原理,最终是为了使用,比如设计一个具有避障功能的智能小车、设计一个语音灯光控制系统等。STM32的一些理论抽象难懂,必须通过实验,动手调试,针对出现的问题,深入分析,多多交流,充分利用网络资源,比如ST、ARM、Keil、CSDN的官方网站,提供了许多学习的案例、问题解决方案等。

猜你喜欢
微控制器嵌入式系统嵌入式
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
TASKING针对英飞凌第三代AURIX微控制器推出多核开发环境
TS系列红外传感器在嵌入式控制系统中的应用
嵌入式PLC的设计与研究
用于高品质电动汽车的分布式并行计算
嵌入式单片机在电机控制系统中的应用探讨
基于物联网项目驱动的嵌入式系统教学改革的研究与实践
嵌入式系统课程“中断、异常与事件”教学实践及启示
面向实践创新人才培养的嵌入式系统教学研究
电磁导向智能车设计探讨