OBE理念下的串口实验改革探索

2022-07-14 12:56海,张
软件导刊 2022年7期
关键词:实验设计蓝牙串口

李 海,张 钦

(北京理工大学信息与电子学院,北京 100081)

0 引言

计算机原理与应用是电子信息类专业的基础课程,该课程对于培养学生的实际动手能力、工程实践能力和开发创新能力具有重要意义,需特别重视理论教学与上机实验相互结合。通过开展实践项目,提高学生分析解决问题、沟通合作、探索创新等能力,加强学生的信心。目前,教育部倡导全国高校积极开展“新工科”研究和实践,主张深化工程教育改革,推动“新工科”建设与发展。“新工科”除了增加一些新的工科专业外,更多的是对原有工科专业提出了新的要求,因此要求在课程实验设计中采用更多新型技术。

本文以串口课程实验设计为例,基于成果导向的工程教育(OBE)理念,进行实验教学改革,引导学生借助串口通信实现实用系统的开发和测试。通过实际教学检验,该方法取得了良好的效果。

1 实验改革目标

1.1 实验改革的迫切性

串口通信实验是课程的核心内容之一。当前课堂实验采用的实验系统为TPC-ZK-II,该系统通过8250/8251串行通信模块连接两台电脑或电脑和实验箱实现双机通信,虽然效果较好,但也存在着以下不足之处:①实验箱扩展性不足,所支持的实验模式较少,无法激发学生的兴趣,不利于培养学生的自主创新能力;②课堂实验与实际需求相互脱离,理论与实际联系不紧密,不利于提高学生的综合设计能力;③实验地点固定,不利于学生课下自主学习和开展创新型研究。

因此,需要对实验手段进行新的探索,改变实验应用场景,培养学生用理论知识指导实践的意识,切实提高学生的学习能力。

1.2 基于OBE的课程目标

毕业要求是教学内容的依据,教学内容是达成毕业要求的支撑。串口实验课程支撑电子信息工程专业毕业要求指标点1.6(具有满足电子信息领域需求的计算机技术及应用专业基础知识,并能用于解决电子信息领域复杂工程问题)、指标点2.3(能通过文献检索与学术写作、资料查询及运用现代信息技术获取相关信息,并对信息进行提取、整理、分析和归纳)、指标点3.2(能设计满足解决方案需要的、具有特定要求的单元、系统或工艺流程,并能通过设计性实践环节检验设计的合理性)。

根据课程所支撑的指标点,确定了3 个实验目标:①掌握串口通信的基础知识,具备设计并实现串口通信应用程序能力;②通过查找相关技术资料,能够自主解决实际软件项目中的复杂问题;③能够完成面向实际应用的系统设计和开发。

1.3 相关研究

近年来国内高校对该课程实验教学改革进行了很多有益的探索。文献[2-4]介绍了使用Proteus 软件进行仿真实验的方法,此方式可部分替代实验,灵活性较好且交互性强。此外,在课程中引入FPGA 开发板进行实验教学是另一种新的尝试,该方法使学生在机器级代码的调试执行中加强对计算机底层工作原理的理解。但这些方法也存在明显不足,例如Proteus 软件只能模拟8086CPU 和8250/8251 芯片,技术上较为落后,无法解决实验扩展性和实验模式不足的问题。并且,学生学习难度较大,需要长时间学习操作手册,在教学课时有限的情况下,若学生基础较差,则难以完成接口实验。

为解决上述问题,本文方法不依赖于8086 平台,而通过借助Windows 平台实现更贴近实际应用的系统开发,且无需花费时间学习FPGA 开发,更容易实施实验设计。

2 实验设计整体思路

2.1 基本架构

实验设计从“两性一度”的角度出发,将课堂讲授的接口技术原理和最新的工程实践相结合。提供半命题式题目设计,让学生自主确定研究内容和结果展现方式,发挥学生的主观能动性。对自主选定的研究对象,通过查询资料,运用所学的基础知识设计实验方案,搭建实验系统,完成应用程序的开发和测试。实验设计的整体架构如图1所示。

Fig.1 Overall architecture of experimental design图1 实验设计整体架构

为突破教材限制,本文在采用常见的USB 转串口连接线之外,还引入了虚拟串口软件和蓝牙串口的连接方式。虚拟串口软件可使没有串口的电脑模拟出一对一的虚拟串口,方便学生进行软件开发调试试验,无需借助外部硬件,实验成本较低。然而,越来越多的数据采集设备支持蓝牙连接,采用蓝牙串口可实现无线连接外设并进行控制。通过引入这两种新的连接方式,可扩展学生的研究范围。

学生可根据自身兴趣和能力水平选择不同难度的实验对象,设计实验系统。所选择的实验对象都密切结合计算机专业未来的就业方向,其中部分实验对象直接来源于科研工作。学生可通过实验更好地了解计算机接口技术对本专业的支撑作用,也为未来进一步深造或就业奠定基础。

2.2 虚拟串口技术

虚拟串口驱动程序是一个标准的Windows 设备驱动程序,它面向串口用户程序提供虚拟串口设备接口。通过模拟标准串口方式实现读写控制操作,从用户角度来看,虚拟串口的使用与普通串口没有任何区别。虚拟串口工具大致可以分为以下两种类型:

2.2.1 互联型

在一台计算机上创建一对虚拟串口,由于虚拟串口软件将两个虚拟串口相互连接,因此向其中任意一个虚拟串口发送数据都会被另外一个虚拟串口同步接收。该模式可实现在同一台计算机上模拟双机通信,这也是课程实验中最为普遍的模式之一。

2.2.2 转发型

虚拟串口工具可将收发的数据转换为TCP/UDP 等网络协议。该模式有两种常见用途:①转换后的数据可通过网络进行传输,实现两台电脑的数据传输;②可支持网络协议的应用程序进行通信。

虚拟串口软件有许多,本文采用com0com 软件,该软件支持互联型和转发型两种工作模式。实验要求学生开发串口应用程序,通过虚拟串口和模拟应用程序建立通信,完成数据收发功能。图2为虚拟串口应用结构。

Fig.2 Virtual serial port application structure图2 虚拟串口应用结构

2.3 蓝牙串口技术

蓝牙是一种短距离无线通信技术,具有成本低、功耗小、传输速率高等优势,但传统蓝牙通信的协议复杂,不易操作。蓝牙串口模块正是结合串口通信和蓝牙通信的产物,在上位机的程序开发过程中直接调用虚拟串口即可实现无线通信。

2.4 编程环境设置

本课程以汇编语言为主讲授CPU 的组成结构及其工作原理,在接口及应用部分也采用了汇编语言进行讲解。MASM for Windows 实验环境是目前在计算机原理与应用教学中所普遍使用的汇编语言开发工具。该实验环境借助DOSBox 软件进行的编译和运行。DOSXBox 仿真的串行通信及接口芯片型号为8250,芯片提供了4 个串口,COM1-COM4对应的端口基地址分别为3F8H、2F8H、3E8H和2E8H。若在MASM for Windows 实验环境中访问串口,则需要修改JMSoftMasm 目录下的basic.conf 文件,将“serial1=dummy”语句改为“serial1=directserial realport:COM1”。其中,COM1代表计算机的串口1。

由于汇编语言不适合编写较长的程序,对开发复杂的应用程序具有一定局限性。因此,在串口通信实验中,允许学生自由选择编程语言进行实验。表1 为某教学班学生自主选择编程语言的情况。

由表1 可见,选择Python 语言的学生最多,因为Python语言处理数据具有明显的优势,语法简单,易于上手。但Python 语言本身不具备串口读写能力,需要借助第三方库pyserial。此外,仍有少部分同学使用汇编语言,希望从底层开始熟悉串口通信程序设计。

Table 1 Selection of experimental programming language表1 实验编程语言的选择情况

3 实验案例设计

3.1 基于虚拟串口的GPS计算机

为了使学生的应用程序符合实际应用需求,选取开源软件gpsfeed+模拟GPS 接收机,输出指定位置、指定运动轨迹的GPS坐标。由图3可见,在该软件的设置界面中,将选择连接方式设置为串口,设置串口参数,并将gpsfeed+的串口输出设置为COM2 口,通过COM1 口读取GPS 模拟数据。由图4 可见,当点击主界面的开始按钮后,即开始模拟GPS接收机的数据。

Fig.3 Set the serial port parameters of gpsfeed+图3 设置gpsfeed+串口参数

Fig.4 Gpsfeed+simulation generated图4 gpsfeed+模拟产生的数据

如图5 所示,当运行学生编写的GPS 接收程序就可显示所接收的数据,通过对gpsfeed+Monitor 窗口显示的发送数据进行比较,可验证程序的正确性。此外,鼓励学生采用各种方式,展示数据。图6 为某同学采用Web 技术在百度地图上显示了所接收的GPS 数据,该技术与GPS 模拟接收机类似,可采用OpenSkipper模拟通用船载自动识别系统(Automatic Dentification System,AIS)。其中,AIS 是一种利用海上VHF 频段的船载航行信息交换设备,数据格式遵从ITU-R M.1371-2,该系统不仅能自动发出本船的相关信息,还可以接收周围其它船舶发出的信息。

Fig.5 GPS receiving program operation result图5 GPS接收程序运行效果

Fig.6 Using Web technology to display the received GPS data图6 采用Web技术显示接收到的GPS数据

3.2 YModem协议传输软件

YModem 是一种在串口通信中广泛使用的异步文件传输协议,协议格式简单,可完成文件传输等工作,适合刚入门的学生学习。在实验中可使用Xshell、Tera Term 等软件配合学生进行开发调试。

3.3 蓝牙串口实验

最基本的蓝牙串口实验是安卓手机上的蓝牙串口助手,电脑和手机可借助蓝牙串口实现简单的文本消息收发。进阶实验设计是采用带蓝牙功能的ESP32 开发板,虽然ESP32 支持物理串口和USB 转串口,但由于大多数ESP32 开发板不够坚固,频繁进行插拔会降低使用寿命,采用蓝牙串口可以有效减少设备的人为损坏。现阶段ESP32 设计实验有以下两种方式:①教师完成ESP32 开发板的连线和脚本编写,学生完成计算机软件开发,通过蓝牙串口发送命令控制开发板的LED 灯或外部设备,该设计对学生而言难度较低;②由学生自行连线,完成脚本编写,该设计要求学生自主学习ESP32 的开发,花费时间较多,但激发了学生的自主性和想象力,适合学有余力的学生。

4 结语

本文在计算机原理与应用课程中引入OBE 教学理念,结合虚拟串口技术和蓝牙串口扩展了串口通信教学的实验内容,突破了现有教学内容和手段的局限性。将实验设计和应用场景相结合,拓展了学生的视野,有助于提高学生综合运用理论知识解决实际问题的能力。教学实践表明,学生的主动性明显增强,学生对计算机串口通信的理解显著加深,最直观的表现为期末笔试中串口通信相关内容的平均得分提升了1.2 分,评教分数提升至96 分以上。在今后的教学中,尝试将教学和科研、竞赛、相关课程等相互结合,进一步提升实验教学对学生的引导作用。

猜你喜欢
实验设计蓝牙串口
不同的温度
有趣的放大镜
浅谈AB PLC串口跟RFID传感器的通讯应用
哪个凉得快?
无字天书
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
紧急:蓝牙指尖陀螺自燃!安全隐患频出
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信