论文部分内容阅读
本文设计并实现了一种基于micro:bit的多功能扩展板。这种设计主要包括硬件和软件两个部分。设计的主要目的是为了扩展micro:bit的功能和性能。硬件设计的工作主要是在用Altium Designer 2019画出本文提出的扩展板的原理图,并根据原理图绘制相应的PCB电路图用于进一步加工。同时,原理图和PCB图都进行了相应的软件仿真测设并且加工得到了实物。集成在micro:bit扩展板上的各种接口和电子元件使此设计具有了多功能的特点。软件的设计工作主要是开发了一种基于MakeCode在线编辑器的图形化程序软件包。这种软件包是由Visual Studio Code搭建Json开发平台,构建PXT开发框架,并编写对应的TypeScript代码,通过上传到GitHub并导入到MakeCode编辑器开发完成。这种软件包可以搭配设计的多功能扩展板和micro:bit以及外围电子器件一起用于MakeCode图形化程序开发。通过实验测试,结果表明本文设计的基于micro:bit的多功能扩展板可以很好的配合micro:bit开发板,外围电子器件和开发的匹配软件包。另外,在micro:bit的官方在线编辑平台MakeCode的扩展栏目中,此次设计的软件包可以被其他类型的micro:bit扩展板自由调用,具有一定的兼容性。由此可见,此次设计的micro:bit扩展板在青少年与儿童的编程教育和其他产品的核心组件开发具有一定的潜力。随着电子与计算机行业的飞速发展,人们的生活方式也在逐渐发生重大变化,越来越多的智能工具(如手机、平板、扫地机器人)逐渐加入到生活中,给人类的衣食住行带来了极大的方便,而这些智能工具的设计和使用也在人们的生活体验中逐步完善。这些智能工具的设计思路基本是按照数据和指令的编程模式实施运行,即通过编程向智能工具发送指令。相比于传统的工作方式,它们通常是由传感器自动收集数据,核心处理器按照指令计算和分析数据,将判断结果和执行方式再通过互联网传送给终端进行控制。这种运行模式具有速度快,效益高,精准化和自动化的特点。无论是传感器采集数据,核心处理器处理数据,还是互联网传送数据,都离不开软件编程。但编程教育一般是从成人阶段开始,相对于青少年和儿童来说,软件编程显得较为复杂,因为里面涉及到各种各样的编程语言(例如C,C++,Java)和复杂的数据结构,这些都不利于青少年和儿童的理解。但为了迎合信息时代的发展,培养出计算机和电子领域的精英人才,对儿童和青少年进行编程教育已经变得非常有意义。如果一个智能工具可以以一种比较容易学习和理解的方式让青少年和儿童学习编程,这将帮助他们接触编程的实质内容并且从小就培养他们对编程的兴趣,激发出他们更多的编程灵感,在长大后更好的去从事有关编程的工作,并且可以推动电子行业和计算机事业的发展,为人类和社会的进步做出突出贡献。而micro:bit开发板从2016年英国BBC公司推出后便立刻得到了广大儿童、青少年以及成人的欢迎。micro:bit开发板又名mico:bit,其本身集成了一部分的硬件资源,可以完成一些特定功能,比如按键控制,温度检测,定位和蓝牙。因为micro:bit采用图形化的编程,支持在线编程,并且可以同时进行软件和硬件的管理,很多的学校都推出了 micro:bit的创客教学,培养青少年和儿童的创新能力。综上所述,micro:bit开发板操作通俗易懂,具备软硬件的完整系统,同时接触到电子,通信和计算机领域的方向,并且支持共享开发,具有一定的发展潜力。但是在micro:bit开发板应用的过程中,很多的问题逐渐暴露。第一个普遍存在的问题是micro:bit开发板相对于更加高级的单片机系统和工业级开发板,功能还是不太完善,因为其本身集成的硬件资源有限,青少年和儿童在学完这个板子的绝大部分功能后将逐渐失去兴趣。第二个问题是micro:bit开发板因为其自身的设计特点,无法与更多的传感器或者电子器件相互配合工作,只能支持有限的传感器和电子器件。因此找出合理的方法去扩展micro:bit的功能将变得非常有意义。基于micro:bit的发展现状,如果能够对micro:bit进行研究,并且能够突破瓶颈,解决micro:bit在发展过程中的问题,那将对儿童或者青少年的编程教育变得非常有意义。鉴于上述动机,因此本文的工作主要体现在设计一种micro:bit扩展板配合micro:bit开发板进行程序开发和应用,这将拓展micro:bit的功能和性能特点。下面介绍本文的具体工作。首先,本文第一章从青少年及儿童的编程教育入手,指出了青少年及儿童编程教育应当简单易行,通俗易懂。而micro:bit开发板具有功能丰富和图形化编程等特点,更适合青少年及儿童的编程教育。因此本文以micro:bit作为切入点,认真分析了micro:bit开发板以及已经存在的micro:bit扩展板的研究现状。并指出现有的micro:bit扩展板在接口的兼容性设计,功能设计和电源设计存在一些缺点。由于micro:bit可以支持多个开发系统和开发平台,因此可以设计一种新的micro:bit扩展板来完善这些功能和性能。基于上述分析,本文第二章制定了总体设计方案。本文第二章先是分析了 mi-cro:bit开发板的原理图和接口设计,并试图从micro:bit开发板原理图和接口设计特征为micro:bit扩展板的电路设计提供创新思路。从对micro:bit开发板的原理图分析中可以得出这样的结论:micro:bit开发板本身接口资源丰富,如IIC,SPI和串口。有的接口与micro:bit开发板本身内部的LED显示矩阵相连,有的不相连。因此本文第二章梳理了 micro:bit的这些接口设计,并指出micro:bit本身接口可承受的电流不超过200mA,可承受的电压范围在3V-3.5V。因此设计micro:bit扩展板接口时需要考虑电压和电流因素。根据micro:bit开发板的特点以及上述分析,本文第二章制定了micro:bit扩展板要设计的功能和性能,而且与micro:bit开发板进行了对比,并试图根据这些设计功能和性能寻找策略和解决方法。最终确定从电压,接口,程序和应用这四个方面进行设计。另外,本文第二章指出了具体的设计流程(从最原始的确定设计要求到实物匹配的软件包的测试)和列出了具体的设计工具,包括Altium Designer 2019 和 Visual Studio Code 等。本文的第三章主要介绍硬件设计,包括接口设计,电源设计和应用设计。首先是接口设计,接口设计分为内部接口设计和外部接口设计。内部接口包含IIC接口,SPI接口和串口,外部接口包含micro:bit插座接口,舵机接口,普通GPIO接口,兼容性GPIO接口,Type-C接口,microUSB接口和电池接口。这些接口设计拓展了扩展板的功能和性能。接着是电压控制设计,此设计选用TPS78233为Type-C接口降压稳压;选用TP4059为锂电池充电,并且由microUSB控制;选用G5177C专为锂电池升压;选用AMS1117降低所有5V电压到3.3V稳压。接着,本文第三章介绍了兼容性GPIO 口设计,目标是能够同时兼容3.3V和5V电压,因此选用TXS0108E这款芯片进行双端电压转换,另使用SI2306绝缘栅形MOS管和AP2306结型场效应管进行3.3V和5V双端电压转换。然后是两个集成的应用电路设计,包括蜂鸣器报警电路和光敏电阻搭配模拟输入。另外,本文提供了整个设计方案的PCB电路图。本文的第四章主要介绍了 micro:bit的软件设计,先是介绍了 micro:bit软件包开发的环境搭建,目标是能达到网站和编辑工具代码同步的效果。接着,本文的第四章讲述了软件包的设计思路和设计结果。此次设计的软件包已经发布到了 GitHub上,并且可以被嵌入到MakeCode在线编辑器的扩展栏目中,并可以被其它micro:bit产品进行调用。本文的第五章主要是对根据设计方案加工得到的扩展板实物进行实际测试和分析,主要包括电气性能测试,程序案例测试和软件包测试。在加工得到实物前,本文第五章先是对设计方案的原理图和PCB图进行仿真测试,确保电气性能模拟测试通过。在加工得到实物后,本文第五章先是对设计的扩展板的电源部分进行了测试和分析,结果显示此扩展板可以支持两个接口稳定供电以及具备对低压锂电池充电的能力。接着,本文第五章对扩展板的系统兼容性进行程序案例测试,结果表明此设计的扩展板能够支持micro:bit所能支持的系统,包括Win10,IOS以及Android。然后,本文第五章从两个角度对设计出的micro:bit扩展板进行程序功能案例测试,分别从扩展板只搭配micro:bit,同时搭配micro:bit和外围电路这两个角度。测试结果表明,此设计的扩展板能够搭配这两种角度的电路稳定运行。并且集成在扩展板的两个案例也能合理运行,但有些地方需要改进,例如增大蜂鸣器电流和降低红灯电压。另外,本文的第五章指出此设计的扩展板还可以通过电子积木包搭建其他实物外观模型。本文第五章接着运用第四章设计的扩展包对程序案例测试中的LED灯光变色实验再次编写了代码并且进行了实验测试,同时也对其他类型的micro:bit扩展板进行了测试。测试结果表明,对于LED灯光变色实验,包含软件包的代码和不包含软件包的代码测试效果一样。因此,本文设计的软件包可以很好的搭配micro:bit,外围电路以及本文设计的micro:bit扩展板进行程序开发,具有一定的兼容性。本文的第六章主要进行了总结概括并指出未来的研究方向第一个在于改变扩展板的外观形状或者搭配电子积木包构造丰富的外观模型;第二个是能配合其他类型的MCU或者很多个micro:bit扩展板一起工作,并且能够编写功能更加丰富的软件包。综上所述,本文提出的micro:bit扩展板总体设计流程为:根据micro:bit开发板原理图特征使用Altium Designer 2019构建扩展板电路原理图和PCB;接着根据扩展板设计出的电路原理图特征使用Node.js和VSCode软件搭建了 micro:bit的Type-Script语言的编程框架PXT,并基于编程框架PXT编写了扩展板对应的软件包嵌入到MakeCode扩展栏目中进行在线图形化编程开发;最后对加工得到的实物进行电气性能测试,程序案例测试和软件包测试。