基于STM32的嵌入式实验教学平台设计

2016-12-26 09:46浙江东方职业技术学院信息传媒与自动化学院郑定超
电子世界 2016年21期
关键词:嵌入式单片机电路

浙江东方职业技术学院信息传媒与自动化学院 郑定超

基于STM32的嵌入式实验教学平台设计

浙江东方职业技术学院信息传媒与自动化学院 郑定超

针对嵌入式系统在教学中存在的困难,为了方便学生理解和掌握嵌入式知识,设计了一款基于STM32的嵌入式实验教学平台,介绍了系统的硬件设计方案。平台不仅提供单片机最小系统,还提供所有I/O口资源和部分外设,方便学生进行基础性操作和扩展设计;同时介绍了基于本平台的部分实验。从实训课程的使用效果来看,学生对嵌入式知识的掌握有了显著的理解和提高。

嵌入式系统;实验教学;STM32

0 引言

嵌入式系统(Embedded System),是以用户需求为中心、计算机技术为基础,能进行软硬件裁剪,适用于对功能、可靠性、成本、体积、功耗等要求具有严格标准的专用计算机系统[1]。目前,随着物联网技术和其他相关技术的飞速发展,嵌入式系统已经渗透到社会生活的各个方面,成为当前最热门的研究领域之一。

由于嵌入式系统设计涉及到许多方面的知识,包括硬件设计开发部分、软件设计开发部分,以及综合调试部分;因此嵌入式系统不能成为一个单独的学科,它与许多的学科知识都有交叉。无论是在我国的高职院校还是本科院校中,"单片机技术"这门课程在电气、电子、机电、自动化等专业中都有着十分重要的地位,与电路、计算机、程序开发等课程都有着紧密联系,互相依托,互相交融。为了使学生更好地学习开发嵌入式系统,理解掌握嵌入式技术重难点,总结过去的实践教学经验,设计了一款基于STM32的单片机实验教学平台。通过此平台,旨在促进学生的工程实践能力,培养学生的创新意识;此平台还可以适用于课程实验验证、设计,毕业设计等教学环节。

当前,大部分学校的单片机课程教学还是以51单片机为主,51单片机因为结构简单、价格低廉、简单易学的特点受到广泛的关注和应用。但是,随着科学技术的不断进步以及项目要求的不断提高,传统的51单片机已经不能满足用户的需求。因此,设计一款基本功能完善、性能良好、容易学习的嵌入式实验教学平台就很有意义。

STM32系列基于为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核,相比较51单片机性价比高很多,因此设计一款基于STM32的单片机实验教学平台就很有必要。

1 系统方案设计

STM32F103系列芯片是意法半导体(ST)公司推出的一款32位ARM微控制器,其内核是Cortex-M3.Cortex-M3作为ARM7的后继者,采用了全新的设计架构,从而显著地简化了编程和调试的复杂度,处理能力也大大增强。Cortex-M3采用哈佛结构,使程序指令和数据分开进行存储,内核中集成了中断控制器方便用户进行中断管理[2]。

图1所示是Cortex-M3处理器的内部结构图。

1.1 总体方案设计

图1 Cortex-M3处理器内部结构图

STM32系列单片机具有丰富的外设资源,功能强大,此次设计以STM32F103RCT6作为MCU,根据芯片手册设计单片机最小系统,同时增加相应的外设构成一个完整的单片机实验教学平台。此平台包括输入模块、单片机最小控制系统以及输出模块。

图2所示是此次教学平台的总体方案框图。

图2 系统总体方案框图

图3 MCU模块电路原理图

本系统主要有USB一键下载/供电电路和JTAG下载调试电路,方便用户取电、下载调试程序;同时引出STM32单片机的所有I/O口资源,方便用户扩展和测试。此外开发平台包括按键电路、温湿度电路、显示电路、LED电路,以及还有无线模块等其他扩展电路,可以方便学生根据自身的需求进行不同的单片机系统设计。根据电路功能,整个系统分输入模块,MCU控制模块和输出模块,学生可以分模块进行实验也可以设计整个单片机控制系统。

1.2 MCU控制模块

教学平台采用STM32F103RCT6作为控制芯片,根据芯片手册设计电源电路、时钟电路、时钟电路构成单片机最小系统。同时设计了BOOT启动电路,引出了芯片的I/O口资源,方便学生进行实验和创新扩展。

图3所示是该实验平台的MCU控制模块电路。

1.3 输入模块

一个完整的单片机控制系统都有输入部分用以信息的采集,就像一台完整的电脑就一定有键盘鼠标一样。本平台的输入模块只要有按键电路和温湿度接口电路,其中按键电路提供了多种接法。学生既可以根据现有的电路进行操作验证性实验,也可以自行设计。

图4所示是该实验平台提供的输入模块电路原理图。

1.4 输出模块

图4 输入模块电路原理图

本平台提供的输出方式主要有两种,LED发光二极管和LCD液晶显示屏显示。因此该设计包括LED显示电路和LCD液晶接口电路。学生可以根据实际需求选择不同的显示方式,或者自行对I/O口扩展设置输出方式。

图5所示是平台的输出模块电路原理图。

1.5 其他模块

图5 输出模块电路原理图

除了输入、控制和输出模块,本平台还设计提供了无线模块接口电路、USB一键下载/供电电路和JTAG下载调试电路[3],方便学生进行其他实验的操作,有利于掌握STM32的相关知识。

图6所示是该部分的电路原理图。

2 实验设计

本实验平台除了提供基于STM32的最小开发系统外,还提供了部分外设功能,适合学生由浅到深地了解单片机的原理。学生不仅可以进行基础的实验操作,还可以根据需求自己进行设计。为了提高学生的学习效果,配合课程教学,在理论学习的同时能进行动手操作实践,本平台设计了基础类实验和设计类实验方便学生学习操作;此外系统引出了STM32芯片的所有I/O口资源,学生可以自行设计和创新。

表1所示是本平台提供的部分实验列表。

图6 其他模块电路原理图

表1 学生选择喜欢的新课导入方式的比例(%)

2.1 基础类实验

为了让学生熟悉嵌入式系统开发环境和电路原理,对嵌入式控制系统有一个初步的了解和认识,本平台提供基础类实验,帮助学生理解和掌握STM32芯片的GPIO引脚、系统时钟、中断系统等相关知识。

以跑马灯实验为例,这个实验是最基础的一个实验项目,主要涉及到STM32芯片的GPIO引脚的知识。通过此实验,学生能掌握GPIO口的工作原理及相关操作。GPIO口初始化的部分代码如下:

RCC->APB2ENR|=1<<2;//使能PORTA时钟

GPIOA->CRH&=0XFFFFFFF0;

GPIOA->CRH|=0X00000003;//PA8推挽输出

GPIOA->ODR|=1<<8;//PA8输出高

2.2 设计类实验

为了培养学生熟练运用所学知识进行分析解决问题的能力,本平台提供了部分外设用以设计实验,将多个知识点结合在一起,让学生可以设计出一个完整的单片机控制系统,帮助学生掌握嵌入式系统的设计与开发。

图7 温度控制系统结构框图

一个完整的嵌入式控制系统应包含输入、控制和输出三大部分。以温度控制系统设计为例,由温度传感器采集温度信号,经过单片机处理后经显示屏显示,可以清楚直观地读取温度信息。

温度控制系统的结构框图如图7所示。

3 分析与总结

随着物联网技术的普及,嵌入式系统设计的相关课程已成为当前各大高校最普遍开设的课程之一。由于嵌入式系统自身的特点决定了学习的困难性,本平台提供了单片机最小系统,引出了所有I/O口资源,方便学生掌握基础知识;此外提供了部分外设,从输入、控制到输出构成一个完整的系统设计,为学生的创新设计提供了思路。此外本平台提供了USB一键下载电路、JTAG调试电路,方便学生进行平台操作;下一步我们将分析学生的实训课程效果,进一步对该平台进行改进和完善,增加实验平台的实验设计和外围扩展。

[1]刘科征,黄俊,漆晶。基于STM32的嵌入式系统实验平台设计[J]。数字通信,2013,06:85-87+92.

[2]王鹏举,郑丽姣。STM32嵌入式处理器模块化实验平台设计与实现[J]。软件导刊,2016,05:90-91.

[3]刘敏。基于嵌入式系统实验平台的设计与实现[J]。软件,2014,02: 41-42+45.

[4]姚文详,宋岩。ARM Cortex-M3权威指南[M]。北京航空航天大学出版社,2009.

郑定超(1991-),浙江温州人,硕士研究生,现工作于浙江东方职业技术学院,主要研究方向:嵌入式控制与计算机软件控制。

猜你喜欢
嵌入式单片机电路
电路的保护
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
基于单片机的SPWM控制逆变器的设计与实现
解读电路
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
TS系列红外传感器在嵌入式控制系统中的应用
巧用立创EDA软件和Altium Designer软件设计电路
基于MATLAB模拟混沌电路