一种面向小学生的嵌入式开发平台设计与实现

2021-06-28 17:40刘艺瞿少成陈尧万洪波曾佳慧
电脑知识与技术 2021年10期
关键词:硬件设计

刘艺 瞿少成 陈尧 万洪波 曾佳慧

摘要:为了提高小学生编程学习的便捷性和趣味性,设计并实现了一种面向小学生的嵌入式开发平台。首先,以SOM-RK3399为核心,通过集成语音处理模块、STM32控制模块和各种外设等,完成了一种面向小学生的嵌入式开发硬件平台。其次,搭载支持Scratch软件的Linux系统,构建了基于语音识别与微机控制的操作环境。最后,基于所设计的嵌入式开发平台,设计了“语音智能点灯”和“Scratch编程控制风扇”等编程案例。实验结果表明,平台性能良好,操作环境简单,编程案例可扩展性强,有助于小学生的编程学习,具有良好的实用价值。

关键词:嵌入式平台;硬件设计;STM32;语音处理;小学生编程

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

文章编号:1009-3044(2021)10-0033-04

Abstract: In order to improve the convenience and interest of pupils to learn programming, an embedded development platform for pupils is designed and implemented. First of all, by integrating voice processing module, STM32 control module and various peripherals into SOM-RK3399, an embedded development hardware platform for pupils is designed. Secondly, Linux system that supports Scratch programming is established, and an operating environment based on voice recognition and computer control is constructed. Finally, based on the designed embedded development platform, programming routines such as “Voice Intelligent Lighting” and “Scratch Programming Control Fan” are developed. Experimental results show that this platform has good performance, simple operating environment, and strong scalability of programming cases, which is helpful for pupils' programming learning and has good popularization value.

Key words: embedded platform; hardware design; STM32; speech processing; pupils programming

1 背景

經研究发现,合适的编程教育平台对小学生的编程学习尤为重要[1]。对小学生编程学习而言,一款操作简单、性能良好、案例有趣的编程教学平台,有助于提高学生的编程兴趣和动手能力[2]。

目前市面上只针对小学生的编程教学平台较少。在武汉市新沟桥小学的调研中发现,编程教育设备匮乏,教学条件有限,并不能做到编程课的普及,最重要的是缺少一款合适的编程教育平台。文献[3]提出了一种基于PC机的小学生Scratch游戏化编程的教学方案,操作简单、编程有趣,但缺乏便捷性且不能进行实物的控制。文献[4]提出了一种积木式数字电路实验箱,便于实物搭接与控制,但其针对大学生教育,缺乏简单的操作环境。总体而言,现针对小学生的编程教学平台存在硬件控制缺失、环境复杂且编程案例固化等[5-8]。

针对上述问题,为了提高小学生编程学习的便捷性和趣味性,设计并实现了一种面向小学生的嵌入式开发平台。该平台以SOM-RK3399为核心,集成了语音处理模块、STM32控制模块和各外部接口等。系统支持资源丰富、容易操作的Scratch编程软件,且通过它还可以实现对平台的硬件控制。基于所构建平台,还设计了“语音智能开灯”“Scratch控制电扇”等编程案例。该嵌入式开发平台既满足了小学生编程学习需求,又激发了小学生编程学习的兴趣,且平台性能良好、操作环境简单、编程案例可扩展性强,可广泛应用于各地区的小学生编程教育。

2 总体设计

嵌入式开发平台的整体设计如图1所示,它主要包括SOM-RK3399核心板、STM32模块、语音处理模块和各种外设模块。其中RK3399作为主控单元,可基于Linux操作系统,通过Shell编程获取语音处理模块的数据或Scratch编程的结果,再将数据通过串口发送至STM32控制模块,完成相应功能的执行。STM32模块作为控制单元,通过串口执行主控单元的命令,实现对外部设备的控制。语音处理模块作为音频处理单元,不仅可以完成音频信号的输入输出,还支持语音识别和语音合成等功能,通过I2C协议或串口和主控单元通信。各外设接口包括USB3.0、HDMI、JTAG和SD卡槽等,保证了键盘、鼠标、显示器的连接和程序烧录等功能。

3 硬件设计

3.1 主控单元RK3399

该平台硬件上采用SOM-RK3399作为该开发平台的主控单元,其是由FriendlyElec生产的高性能260针ARM模块。对小学生群体而言,该主控单元具有轻便、高速等特点,为嵌入式平台提供了流畅的操作系统。

3.2  STM32模块

STM32模块作为平台的控制单元,其内部结构如图2所示,采用的芯片为STM32F407VGT6,该芯片有先进的Cortex-M4内核。通过设计串口转Micro USB接口,提高了其通信效率[9]。

3.3 语音处理模块

语音处理模块负责平台的语音输入和输出,以及实现语音识别和语音合成的功能。其内部结构如图3所示,语音模块的处理芯片型号为XFS5152CE,支持语音合成、语音识别等功能,集成的30个词语可作为控制命令词。此外还设计了音频输入和音频输出的物理接口。

3.4 平台硬件实物图

平台硬件实物图如图4所示,其中MCU集成于平台背面。各模块及接口的位置已在图中标出。

4 软件设计

4.1 语音智能点灯软件设计

本平台采用的是Linux操作系统,基于操作系统通过UART协议与语音处理模块建立通信,获取信息后通过系统编程,将处理后的信号通过UART协议发送至STM32控制模块[10]。通过以上原理,可以实现 “语音智能点灯”这一教育案例。软件设计流程如图5所示。

依据图5程序设计框图开发出了基于该嵌入式开发平台的小应用,也证实了该平台的三大模块可以正常的通信及运行。语音智能点灯程序的大致流程:平台通电后,接入显示器、麦克风和小灯等外设;打开语音模块的串口调试助手,开启语音识别功能;当用户说“开灯”时,语音模块会将语音信号转换成文字信号;将文字信号传给核心板,由系统程序判断文字信号是否为“开灯”;正确后则通过串口向STM32模块发送指令,执行STM32程序完成“开灯”动作。另外,“关灯”指令亦可以实现关灯的操作,其他命令词则无效。

4.2 通过Scratch编程控制风扇

该系统的主要功能之一为Scratch编程。相比于仅在电脑屏幕前编程,用该平台编程控制直观的实物更会激发起小学生的编程兴趣。通过将编程与器件结合的思路设计了Scratch编程控制风扇这一应用,程序设计如图6所示。打开Scratch编程软件和STM32串口调试软件,在Scratch软件中运行已编好的 “Scratch控制风扇”程序。操作系统通过调用Scratch编程的结果,经过判断处理后,给STM32模块发送相应的指令,让STM32输出PWM信号,即可启动风扇。

5 平台应用场景测试

平台应用测试场景测试分为硬件及系统测试和软件功能测试。

硬件及系统测试:平台上电后,分别测得SOM-RK3399核心板、语音处理模块、STM32模块均正常供电。启动操作系统,Scratch软件可以正常安装运行。

软件测试:分别对“语音智能点灯”和“Scratch编程控制风扇”这两個应用进行测试。过程中设备均正常运行,整体效果图如图7所示。

6 结束语

针对小学生编程教育,设计并实现了一种便携式的嵌入式开发教育平台。其中将RK3399芯片作为主控单元,STM32模块作为控制单元,语音处理模块作为语音信号的收发和处理单元,完成相应功能。在嵌入式开发平台中搭载支持Scratch软件的操作环境,并设计了两个可扩展性较强的编程教学案例。实验结果表明,所搭建嵌入式开发平台操作方便、外设可控性灵活;编程环境简单,可应对小学生编程学习的各种需求;编程教学案例具有丰富的思维逻辑,且体现了该平台较强的实用性和趣味性。在后续工作中,可以对硬件排版及外设接口进行调整,提高美观性和舒适性;软件方面,可以开发出更多的应用功能和相关案例,来丰富小学生的编程趣味,提高其使用体验。

参考文献:

[1] 李晓冬,李淑明.“互联网 +”背景下基础电路实验教学改革研究[J].教育现代化,2017,4(46):41-42.

[2] 赵苏亚.小学人工智能教育机器人的设计与应用研究[D].武汉:华中师范大学,2019.

[3] 胡慧廷,徐晓梅.Scratch软件在中学物理教学中的应用初探[J].物理通报,2016,35(3):93-100.

[4] 熊秋娥,葛越.Scratch游戏化编程培养小学生计算思维的实证研究[J].基础教育,2019,16(6):27-35.

[5] 张翠翠,张世娇,张鹏辉,等.积木式多层级数字电路实验箱[J].实验技术与管理,2019,36(3):98-102.

[6] 刘瑞涛.单片机实验箱设计与制作[J].电子制作,2014(4):12,51.

[7] 陈凯,魏文博,邓明.嵌入式系统教学实验板开板[J].实验技术与管理,2016,33(1):82-85,95.

[8] 张昊,蒋毅.面向嵌入式机器视觉的图编程式算法开发平台设计[J].电子测量技术,2020, 43(9):171-176.

[9] 朱向庆,黎东涛,苏超益,等.适合于项目教学法的三合一单片机实验箱设计[J].实验技术与管理,2013,30(7):55-59.

[10] Xu Chunshu.Design and Implementation of Intelligent Greenhouse System based on STM32[J].International Core Journal of Engineering,2020,6(7).

[11] 林国伟.单片机实验教学改革初探[J].电脑知识与技术,2017,13(14):125-126.

【通联编辑:谢媛媛】

猜你喜欢
硬件设计
基于中药自动配药PLC系统的设计方案的研究