甘辉 吕美妮 王奎奎

摘要:针对传统《嵌入式系统及应用》课程教学中存在的问题,提出了通过仿真演示、工程实验设计驱动教学的新方法,运用Protues 仿真软件辅助教学激发学生的学习积极性,并以“基于STM32内部双通道模数转换及显示”为例,设计基于Protues的双通道ADC采集显示系统,教学结果显示,方法有效地锻炼了学生应用开发能力,提高了教学效果。

关键词:Protues;嵌入式;教学改革

中图分类号:TP311   文献标识码:A

文章编号:1009-3044(2021)31-0007-02

《嵌入式系统及应用》是电子信息工程、通信工程、光信息科学等专业的一门专业选修课程。如今,科技快速发展,嵌入式芯片迭代快速,嵌入式开发方法多种多样,使得教学内容更加复杂。在教学过程中存在教师授课内容抽象,学生难以理解的现象,从而导致《嵌入式系统及应用》课程教学无法达到满意的效果。针对该课程实践性很强的特点,本文提出在《嵌入式系统及应用》课程中引入Protues 仿真软件,充分发挥其灵活性,强有力的辅助课程教学,提高课程教学质量。

1 传统“嵌入式”课程教学中存在的问题

1.1 教学内容抽象

现阶段,《嵌入式系统及应用》课程教学,基本上是以理论教学为主,结合部分课程实验为辅助的教学方案。教师在理论教学时,先讲解嵌入式硬件组成原理,再结合一些实例讲解。由于学生对嵌入式系统组成缺乏宏观认识[1],导致在听课过程中,对该内容一知半解,只能被动记忆,故感觉枯燥乏味,丧失学习激情,最终导致课程教学效果无法达到预期目标。

1.2 受地点和设备限制,缺乏实践能力

现阶段,实验课需要在实验室采用专用的试验箱方能开展实验。由于现有试验箱,采用高度集成的模块化设计[2],所以完成实验只需按照配套的实验指导书完成以下几步流程:新建工程、输入程序、编译工程、连接模块之间的导线、下载编译文件到实验设备里面,就会得到实验现象了。这类试验箱,电路固定,大部分电路都封装在面板下面,学生在似懂非懂的情况下完成实验,但对所做实验整体框架的组成以及电路原理无法深入了解。显然这类验证性实验,导致学生在实验过程中缺乏独立思考和实践动手能力,无法培养学生电路设计能力和创新能力。

2 基于Protues仿真软件在“嵌入式”课程教学改革中的应用

Protues仿真软件自带了30几个常用的仿真元件库和各类常用仿真电子仪器、仪表,能够满足各类模拟、数字仿真实验[3]。《嵌入式系统及应用》课程基于目前市场上最畅销的ST公司系列的芯片开展的教学计划。在新发布的Protues8.9软件版本中,添加了内核M3、M4系列的ST公司芯片,给予广大电子爱好者基于嵌入式系统电路设计开发带来了方便。

2.1 灵活教学、激发热情、提高能力

Proues软件系统仿真具有很强的灵活性。在理论课授课过程中,教师可以根据课程内容搭建嵌入式系统小电路,采用LED灯、数码管等虚拟显示元件模块,再加上部分虚拟信号发生器、示波器作辅助[4],通过演示现象,讲解系统原理,使得枯燥乏味的理论课变得形象生动,加强学生对嵌入式系统工作原理的感性认识,从而激发对嵌入式系统开发的学习激情。在实验课实施过程中,可以将班级同学分成3个人一小组,每一组分配不同的实验内容,各组根据实验内容自行设计系统电路,搭建仿真系统,编程实现实验要求。如此,在课后学生可以根据理论课学到的知识自主搭建电路,练习编程,打破了实验必须要在实验室且依赖试验箱的限制。Protues仿真软件的辅助,利于教师好讲课、讲好课,使得学生听懂课、爱听课,进一步提高学生自主学习能力,实践操作能力。

2.2 构建虚拟实验系统

使用Proues软件搭建嵌入式仿真系统,采用Keil软件编写嵌入式功能代码,通过相关配置使得两个软件相互关联[5]。在Keil编写好的工程,采用单步调试、断点调试、全速运行等调试方法,同步在Protues软件的嵌入式系统上产生相应的变化,使得嵌入式系统从代码到系统各个部分的运行清晰透明,使得学生了解每一步运行的变化,加深对嵌入式系统组成原理及运行机制的理解。

3 教学实例

3.1 “模数转换显示”实例

本文以“基于STM32内部双通道模数转换及显示”为例,设计基于Protues的双通道ADC采集显示系统。首先根据需求分析,设计方案,系统组成框图如图1所示。

系统电路设计:根据系统组成框图,调用Protues中的元件组成仿真系统,如图2所示。使用到的资源有:LCD1602显示器、10k的滑动电阻、STM32F103R6芯片、直流电压表。系统将VCC、AVCC设置为3.3v,GND,AGND设置为0v。LCD1602显示器R/W引脚接地,默认为只写模式。

系统软件设计:参考STM32F103R6手册资料。软件编程分成以下几个步骤第一步:配置STM32相关外设时钟,本系统使用到的芯片外设资源有,GPIO,ADC。第二步:初始化外设,LCD1602数据引脚和控制引脚配置为推挽输出,LCD1602配置为两行显示、关光标、无闪烁、光标右移。模拟转换器ADC引脚PA1、PA2引脚配置为模拟输入,功能设置为:12位转换精度、数据靠右、双通道软件触发。第三步:软件触发ADC转换。第四步:等待模数转换完成标志位为1。第五步,清除转换完成标志位,读取转换完成数据,根据公式1计算获取实际模拟输入电压。第六步:将采集到的量化电压数据、计算后的模拟电压数据在LCD1602上显示。

系统转换原理:模数转换采用以下公式1进行转换。其中Vin 为模拟输入电压,DADC 为量化后的数字电压,Vref为芯片模拟转换基准电压3.3v,因为STM32F103系列芯片内部自带ADC精度为12位,则2^12 =4096,所以数字转换电压范围为0-4095。

Vin = (DADC * Vref) / 4096                        (1)

系统双通道采集配置了通道1(PA1)、通道2(PA2) 引脚为模拟信号输入端口,通过调节滑动变阻器RV1、RV2上电阻的大小,改变输入两个通道的电压值,每个通道分别放置了一个虚拟电压表,实时测量输入信号电压值,通过STM32程序转换,在LCD1602上显示CH1以及CH2的电压信息。具体模拟信号采集量化结果,如表格1所示。

系统转换结果:实验可得,实际输入电压和芯片转换显示在LCD1602上的电压一致,说明系统仿真以及程序逻辑满足设计需求。整个系统从输入到输出,结构清晰,模拟信号转换结果一目了然,使学生通俗易懂、印象深刻。

3.2 实验拓展

由于STM32f103系列内部自带3个ADC,每个ADC最多有16个外部通道,所以给实验设计带来了多样化结合Protues仿真软件的灵活性,可以拓展出很多贴合实际应用的实验,如表2所示。通过贴合实际应用的实验设计,激发学生思考如何用所学知识解决实际生活问题。真正的做到学有所用,进一步发挥学生的实践动手能力,以及创新思维。

4 结束语

实践证明,在《嵌入式系统及应用》课程中采用Protues软件辅助教学,使得软件编程和硬件系统仿真紧密联系在一起,灵活操作性很强,在时间、空间上打破了传统实验室试验箱固定模式的束缚,结合生活实际设计多元化实验内容,充分激发了学生独立思考、自主设计的能力。有效地提高了课程教学效率和质量。

参考文献:

[1] 邱刚.Protues仿真软件在单片机教学中的应用[J].电子元器件与信息技术,2021,5(4):165-167.

[2] 丁莉,何波,丁有军,等.Proteus仿真软件在单片机教学中的应用[J].教育教学论坛,2019(45):256-257.

[3] 郑三婷.浅谈Proteus仿真软件在单片机教学和电路设计中的应用[J].电子测试,2019(10):139-140.

[4] 王尔申,庞涛,李鹏,等.Multisim和Proteus仿真在数字电路课程教学中的应用[J].实验技术与管理,2013,30(3):78-81.

[5] 孙鹏,姜艳红,崔承毅,等.Proteus仿真软件在“实用单片机技术与实践”课程中的教学实践与探索[J].工业和信息化教育,2018(1):65-68,73.

【通联编辑:梁书】

收稿日期:2021-05-12

基金项目:国家新工科研究与实践项目(E-DZYQ20201426);2021年度广西高等教育本科教学改革工程项目(2021JGA328);梧州学院校级教育教学改革工程立项项目(Wyjg2019B012、Wyjg2019A087)

作者简介:甘辉(1988—),男,广西南宁人,工程师,硕士,研究方向为信息处理及机器智能;通信作者:吕美妮(1991—),女,广西贵港人,助教,硕士,研究方向为数字图像处理。