基于口袋实验的嵌入式教学设计探讨

2020-08-04 09:50刘小虎熊义勇
数字技术与应用 2020年5期
关键词:扩展性软件

刘小虎 熊义勇

摘要:口袋式实验系统具有便携性和扩展性,首先进行了口袋式实验系统的硬件方案设计。由于口袋實验的教学模块有限,如何利用有限的实验模块来提升学生的实际动手能力,给出了教学设计方案,采用了问题式、层次推进的教学实施方案,教学效果表明,口袋实验教学方案能够取得较好的教学效果。

关键词:口袋实验;便携性;扩展性;软件;层次推进

中图分类号:TP368 文献标识码:A 文章编号:1007-9416(2020)05-0206-03

嵌入式系统的教学核心目的是让学生掌握嵌入式的硬件和软件设计方法。显然,仅仅通过有限的课内实验学时,是不能满足要求的。采用口袋式实验系统,学生可以将口袋实验系统带到图书馆或者宿舍来完成软件调试的学习,从而扩展了学生的课堂学习实践活动。由于口袋式实验系统,硬件的尺寸和功率消耗都必须受到约束,所以,首先必须对常用的嵌入式实验系统进行有效的裁剪,尽量保留嵌入式最基础和最核心的模块嘲。其次,如何基于最精简的口袋实验系统,如何开展有效的教学活动,显然非常关键,笔者根据多年的授课体会,总结出来一种层次推进的教学实施方案。同时口袋式实验还用于学员的课外学科竞赛,取得了不错的教学效果。

1硬件设计方案

嵌入式系统的特点是,它是一种积木式的组合方式,嵌入式课程所涉及的主要模块包括,GPIO模块,定时器模块,中断模块,PWM模块,UART模块、CAN模块,以太网模块。传统的嵌入式实验平台,实验内容非常多,同时也非常全面,以STM32单片机的实验箱为例,包括了接近50个实验,涵盖内容从基本的GPIO、通用定时器到高级的DMA、ESMC等高级模块。模块越多,试验箱的尺寸不可避免的变大。即便是同一个模块,传统的实验箱所设计的实验项目也偏多偏全,如12C模块的应用实验,—般的实验系统会包括12C存储器实验,12C扩展实验,及12C液晶显示实验,显然过多的实验模块增大了实验平台的尺寸,同时对实验平台的供电也提高了要求。口袋式嵌入式实验平台,立足于嵌入式的基本模块,方便学生在课后自主时间进行实验操作,为此,对嵌入式实验教学内容进行了优化,实验教学内容包括:(1)GPIO输出基本实验;(2)基于定时器的GPl0输出实验;(3)基于查询的GPIO输入实验;(4)基于中断的GPIO输入实验;(5)PWM控制实验;(6)ADC采集实验;(7)12C实验;(8)uART实验;(9)CAN通讯实验;(10)以太网通讯实验。

针对上述实验内容,进行了硬件电路设计,硬件模块除了最小系统外,还包括流水灯模块、按键模块、电位器、液晶屏、CAN模块和以太网模块。口袋式嵌入式系统的结构框图如图1所示。

1.1CPU模块

ARM教学用芯片非常多,我们采用STM32F103系列,采用该芯片作为教学对象,主要是该芯片的教学范例非常多,其复杂程度适合于初学者,同时该芯片的价格比较便宜,适合初学者购买。为了方便学生学习,将教学主要涉及的引脚包括GPIO/PWM/12C/ADC/UART,对于其他引脚,仅仅在CPU的四周引出,方便学生课堂外的科研活动的扩展。扩展的引脚如图2所示。

1.2电源模块

电源模块对于口袋式系统非常关键,首先功耗不能太高,一般按照500毫安设计,其次,口袋实验都是基于3.3VTTL电平,因此只需要输出3.3V即可。其次要考虑供电的方便性和安全性,因此考虑采用USB供电,由于仿真器也可以输出3.3V,为了兼顾仿真器的供电,采用了简单的跳线方案,具体的电源模块供电如图3所示。

1.3流水灯模块

GPIO的学习是嵌入式学习的基础,通过该模块可以让学生快速走人嵌入式的大门,但是,传统的嵌入式GPIO实验室进行单个LED的闪烁实验,实验过于简单,对学生没有一定的吸引力,为此设计8个LED的流水灯实验,依次点亮相应的LED即可以产生流水灯的效果。流水灯模块的电路如图4所示。

1.4通讯模块

为了方便学生掌握串口通讯,同时还得考虑串口调试的便利性,抛弃了传统的MAX3232和DB9的接口电路方案,采用了CH341的串口芯片,电路如图5所示。

2教学方案设计

嵌入式教学,涉及的知识点多,如此多的教学模块,到底按照一个什么样的一个思路开展呢,基于口袋实验实验,笔者采用层次推进的措施,首先通过流水灯模块的实验,来学生掌握基本的GPO操作,对于GPIO的学习,建议将GPIO分解为两步,即首先学习简单的通用输出的操作,而且为了增加学生学习的兴趣,对8个LED依次点亮,稍微增加学生完成任务的难度。并且借助流水灯模块的学习,还可以让学生熟悉开发软件的操作,并且重点是开发软件的调试方法。然后,进行按键的查询编程,按键的响应则用LED来指示。由于按键的查询编程比较简单,增加2个按键的查询编程,并增加查询的时间长度,通过该实验可以提现查询编程的缺点,就是不能快速响应,因此推进到中断的编程,通过中断来陕速响应按键的电平变化,由于中断是嵌入式学习的重点,也是学习的难点,因此后面的实验还要重复练习中断。掌握了GPIO和中断后,增加定时器模块,还是用流水灯模块,但是要求使用通用定时器,可以让学生体会通用定时器的优点。通过以上学习,学生就可以进行基本的嵌入式开发了。以此为基础,再增加一些难度,编写呼吸灯的实验,通过定时器来完成灯的亮度控制,由于该编程非常繁琐,所以,采用PWM模块再次进行呼吸灯的实验,让学生对定时器和PWM两种编程进行比对。PWM是嵌入式的高阶应用,在掌握了这个模块以后,就可以进行模拟量采集的实验,这里仅仅是采集电位器的电压,为了增加难度,用这个电位器的值控制PwM的占空比,进行控制呼吸灯,增加了学生学习采样的兴趣。然后进行12C模块的学习,为了提升学生的获得感,采用了液晶屏模块,让学生体会12c模块的强大功能。所有这些掌握了以后,开始进行通讯模块的学习,包括uART通讯,CAN通讯和以太网通讯,由于通讯协议很枯燥,因此通讯模块的测试可以结合前面采样模块的学习进行,将采集的结果通过通讯发送到电脑,可以让学生更加直观的体会通讯模块。

3口袋嵌入式系统的课外应用

嵌入式应用技术课程,重点是如何应用嵌入式技术进行自主开发,把它应用到各种实际装置中。由于口袋式系统在设计时,虽然仅仅提供了很少的开发模块,但是却将芯片的绝大部分引脚进行了外扩,它除了完成教学和实验功能外,还可以作为工程原型机,进行工程开发及验证微控制的各种功能。学生可以利用该系统参与教研室的各项科研项目中,同时还可以利用该平台进行毕业设计,以及各类学科竞赛,包括电子设计竞赛和大学生智能汽车竞赛等活动中。我校学生利用该系统作为核心板,参加2018年大学生智能汽车竞赛获取了赛区二等奖。如图6所示为智能汽车的图片。

4结语

嵌入式的学习,重点是动手实践,采用口袋实验方案,可以在课外继续进行相关是实验,采用层次递进的教学方式,先简单在复杂,适合学生迅速掌握嵌入式的开发方法。同时,口袋式教学系统还可以服务于学生的学科竞赛活动,因此,它是一种比较好的教学实践活动。

猜你喜欢
扩展性软件
禅宗软件
软件对对碰
巧用立创EDA软件和Altium Designer软件设计电路
提高初中阶段学生英语扩展性阅读能力策略分析
网络教学平台的扩展性研究
谈软件的破解与保护