嵌入式系统Web在线仿真实验平台设计.docx

上传人:l*** 文档编号:6484554 上传时间:2022-02-04 格式:DOCX 页数:11 大小:34.17KB
返回 下载 相关 举报
嵌入式系统Web在线仿真实验平台设计.docx_第1页
第1页 / 共11页
嵌入式系统Web在线仿真实验平台设计.docx_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《嵌入式系统Web在线仿真实验平台设计.docx》由会员分享,可在线阅读,更多相关《嵌入式系统Web在线仿真实验平台设计.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌入式系统Web在线仿真实验平台设计摘要:为解决嵌入式系统在线仿真试验教学平台系统操作冗杂性和试验板状态可视化问题,提出优化编译功能,设计“一键式远程在线编译的方法。该方法屏蔽了嵌入式交叉编译详情,支持学生通过浏览器操作完成代码编译。融合虚拟现实技术,设计并实现基于Unity3D的可视化模块,通过实时监控部署在远程服务器端的试验板的输出端口,采纳3D渲染的试验板模型进行可视化显示输出。教学实践说明,89.72%的学生认为试验平台操作便捷、试验显示效果好。该方法有效降低了试验入门难度,提高了学生的试验效率和体验度。关键词:嵌入式系统;在线仿真试验;3D可视化;在线编译嵌入式系统作为计算机、电子信

2、息及自动化等信息类工科专业的核心课程,具有理论学习难度大、实践操作性强等特点1。试验教学作为该课程的重要环节,重点培育学生的动手实践能力。传统的教学模式需要在固定时间和地点统一组织学生“一人一板开展试验,在时间和空间上都有很大的局限性。部分院校因为学生较多,需要分批进行试验,甚至为了节约试验时间,试验内容以演示或验证性为主2。此外,这种模式下的教学,假如遇到突发性疫情,将无法继续开展教学工作。针对上述教学模式中的缺乏,结合互联网技术,嵌入式系统在线仿真试验教学平台应运而生3-4。嵌入式在线仿真试验平台为学生提供了开放的嵌入式系统试验环境5-6,学生可自行选择合适的时间、地点通过在线方式开展试验

3、。新的试验形式解决了传统教学模式存在的缺乏,但为了到达良好的试验效果,在技术上需要解决的问题主要包括:1编译环境配置冗杂。目前学生比较熟识Windows系统作为开发和编译环境,而嵌入式系统试验编译环境一般采纳基于Linux的交叉编译的方式,对于不熟识Linux系统操作的学生需要投入大量的时间学习常用操作指令,在肯定程度上增加了试验的入门难度,简单降低学生试验兴趣。2远程在线试验无法观看试验板数码管和LED灯的状态,导致部分试验内容受限。远程在线仿真试验平台往往只能通过指令行的方式与试验板进行交互,并通过指令行输出的信息查看试验结果。学生无法观看到试验板的显示状态,所以只能部署仅仅通过指令行操作

4、就能完成的试验内容,限制了试验内容的多样性和创新性7。鉴于上述问题,需要系统设计的创新来突破这些局限,从而使基于在线仿真试验平台的教学质量有质的提升8-9。本文设计并实现了一种基于3D可视的嵌入式系统Web在线仿真试验平台,该平台的主要优势包括:1设计了一种“一键式远程在线编译方法,该方法屏蔽了编译详情,学生只需在浏览器中编辑代码,选择编译类型,即可编译生成可执行文件。不需学生花时间配置编译环境,熟识Linux系统和操作指令,只需重点关注课程试验内容,降低了试验门槛。2融合虚拟现实技术,设计并实现了一种基于Unity3D的可视化模块10。该模块实时监控部署在远程服务器端的试验板的输入输出端口,

5、获取数码管、LED灯等显示组件的状态,并基于HTTP协议将数据传递到前端浏览器11,通过3D渲染的试验板模型进行可视化显示输出。1系统设计在线仿真试验平台主要实现学生通过Web浏览器访问试验环境,开展嵌入式系统试验,并通过3D虚拟硬件仿真运行效果。图1是嵌入式系统在线仿真试验平台的总体架构图,该系统由试验服务和Web服务构成,左侧部分连接试验板的调试系统,与试验板进行实际交互,为试验服务。右侧部分为Web服务,负责试验服务部分与用户之间的交互,将用户指令传递给试验服务并将试验服务返回的结果通过浏览器展示给用户。试验服务部分主要实现两个功能。1代码编译。该模块通过接口服务接收用户发送过来的代码文

6、本,然后调用本地编译环境的编译指令,得到编译返回结果并返还给用户。2运行程序。该模块通过接口服务接收用户发送过来的指令Linux指令,然后通过SSH协议发送给连接的试验板,并将返回的运行指令结果以及试验板上的LED和数码管状态返回给Web服务。Web服务部分主要包含三个功能。1用户管理服务。Web服务负责管理用户的信息,推断用户的身份,防止用户直接调用试验服务提供的接口,防止试验服务直接暴露在网络中,增加了试验服务的安全性。2试验数据管理。该模块记录并保存用户试验时的数据,教师可以为学生试验打分,学生可以查看之前试验的数据,对试验进行复习。3仿真页面模块。该模块将Unity引擎嵌入到Web页面

7、中12,通过调用试验服务接口获取试验板的实时状态,然后将返回的结果以LED灯和数码管的形式显示到前端页面上,模拟了真实试验板的实时状态。试验服务和Web服务之间采纳HTTP协议,通过JSON数据包封装进行数据通信。图2是系统的功能规律结构图,左侧部分为试验服务结构也称虚拟机开发服务,右侧部分为Web服务结构。2核心模块设计本系统在现有的嵌入式在线试验平台的基础上降低了试验系统操作冗杂性,简化了编译操作方式。利用Unity3D技术可以直观地展示试验板的状态,学生通过仿真试验平台可以获得和试验室相同的试验体验。2.1“一键式代码编译机制1试验板编译环境。试验板使用MY-IMX6-EK314,其内核

8、版本是Linux3.14.52。由于嵌入式平台空间有限、资源匮乏,无法安装并运行平台所需要的编译器,因此在编译代码的过程中,采纳了交叉编译的思想。交叉编译的本质是在一个平台上生成另一个平台上的可执行代码,将代码放到通用主机平台上编译,然后再传到嵌入式平台上运行13。经过多次测试,选择运行最稳定的Ubuntu16.04作为代码编译平台。试验中的代码编译主要分为两类,应用程序编译和驱动程序编译。应用程序为用户态的,典型的有掌握台打印输出、用户空间文件读写,驱动程序为内核态的,可以读取或赋值嵌入式试验板的寄存器,获取掌握试验板的输入和输出。用户态程序编译较为简洁,只需要调用编译链将需要编译的代码文件

9、编译成对象文件链接到一起。而驱动程序编译在编译过程中不仅需要链接本地文件,还需要进入到内核源码名目与内核中的对象文件进行链接。2“一键式在线远程编译。由于编译环境为Ubuntu16.04,不是目前使用最为广泛的Windows系统,学生直接在Linux系统下进行编译操作,相比于在Windows系统下有更多的困难。同时编译操作需要手动在掌握台中输入指令,配置编译路径和环境变量,假如学生只有在集成好编译链的集成开发环境进行编程的阅历,那么在该嵌入式试验板的交叉编译平台下进行代码的编译会存在肯定的上手难度。所以在设计的嵌入式平台中,采纳了远程在线编译技术。如图3所示,在线远程编译系统整体分为前端和后端

10、两个部分。前段为Web浏览器端,获取学生输入的代码文本和编译选项。后端为Web服务器端,负责接收代码文本,并将代码在编译环境中进行编译,编译胜利后,将编译生成的可执行文件通过FTP服务上传到试验板中。后端在本地编译环境中为每个用户建立了独立的工作空间,防止不同用户的代码因为命名相同等问题而转变或丢失。同时程序通过使用Java提供的Process类与操作系统的Shell进行交互,通过事先输入到代码中的编译指令进行编译操作,同时读取指令的返回值来推断编译是否胜利,并将编译返回的信息发送给前端,告知学生出现了错误。在线远程编译免去了学生在Ubuntu上进行编译操作,只要有Web浏览器,即可进行代码的

11、编写和编译。学生不用额外花时间安装Ubuntu系统、配置编译环境、熟识指令,而是将重心移到试验本身。如图4所示,用户在浏览器中,输入编辑好的代码,点击提交编译按钮,嵌入式试验板即可得到编译后的可执行文件。2.2基于Unity3D试验板可视化设计试验中需要用到的硬件资源包含数码管、LED灯、按键,学生在试验的时候能够观看到数码管和LED灯的显示状况,以及能够通过按下按键实现按键掌握的规律。由于LED灯和数码管事实上是试验板的IO输出端口,按键是IO输入端口,因此可以通过读取试验板的IO寄存器来获得试验板的硬件资源对应的IO端口输入和输出的值,从而获取试验板当前数码管、LED灯和按键的状态14。我

12、们在试验板上部署了监控程序,通过周期性读取试验板IO寄存器的值来实时监控试验板的状态,然后将检测到的值通过UDPuserdatagramprotocol协议传递给与试验板相连的服务器上,服务器作为后端将获取到的试验板信息值缓存下来,浏览器前端通过请求接口获取试验板的状态信息,然后后端将试验板信息传递给前端,前端依据获取到的值对页面进行重新渲染,最终试验板的状态就能够通过Web浏览器真实地呈现在学生眼前。试验板3D效果图5所示。由于寄存器的读取是内核态的,而基于Socket的UDP协议通信程序是用户态的,因此我们开发了IO寄存器读写驱动模块,使得用户态应用程序可以根据定义好的格式操作指定的驱动文

13、件,实现制定IO寄存器的读写15。监控程序单线程运行,对IO寄存器进行周期性地读写,并通过UDP协议与服务器进行通信,不会过多占用硬件资源而影响试验板的正常运行。3系统测试与教学实践针对可视化模块的测试,设计了数码管驱动开发及应用试验和GPIO编程试验,学生在客户端编辑代码,并上传到试验板进行编译、运行,浏览器端加载3D试验板模型,实现数码管的可视化输出,程序读取试验板系统时间,并通过数码管进行显示。图5(a)为时分的可视化显示结果。图5(b)所示为GPIO试验的截图,试验内容为每隔1s点亮试验板上的一个LED灯。结合嵌入式系统课程内容,基于3D可视的嵌入式系统Web在线仿真试验教学平台设计了

14、8个试验,如表1所示。2022年春季学期,选课人数共有21人,试验平台服务器端共部署4块试验板,平台运行时间为每周一到周六,周日关闭平台进行维护。顺利完成疫情期间嵌入式系统试验课的教学工作。由于目前公开文献中的嵌入式虚拟试验平台主要以虚拟试验环境为主,在试验平台架构和功能上不能满足我校嵌入式系统相关课程的需求。对课程组试验平台优化前后的使用状况对比分析图6发觉,试验15的新平台使用时间削减,由于新增试验及试验难度依次增加,新平台使用时间整体呈上升趋势。相比编译优化前和优化后的“一键式编译,学生平均试验时长有所削减,并且时长差有所削减,缘由在于编译优化前学生需要配置交叉编译链等步骤,存在部分学生

15、不熟识配置步骤。其中试验6的ZLG7290数码管驱动开发试验、试验7的ZLG7290数码管应用开发试验和试验8的GPIO编程试验由于需要观看试验板工作状态,所以原来只能采纳线下方式进行,在本文基于3D可视的嵌入式系统Web在线仿真试验平台可以实如今线试验,有效地丰富了试验内容。图6学生试验平均时长试验成果是试验完成质量、试验报告等综合评定的结果,能够反映学生的学习效果和教师的教学效果。2022年秋季学期共有121人上课,采纳非3D可视线上和线下结合的教学方式,由于线上试验不支持可视化显示试验板状态信息,关于数码管和GPIO试验需要完全使用线下试验箱完成。2022年春季学期共有21人上课,受到疫

16、情影响,全部采纳基于3D可视的线上试验平台开展试验教学。学生成果统计结果如图7所示,2022年秋季学期线下试验和2022年春季学期的线上试验的教学效果基本相当,说明该试验平台基本可以代替线下试验箱完成嵌入式系统试验课程的教学任务。2022年秋季学期共有146人上课,采纳基于3D可视的线上试验和线下试验结合的教学方式,依据最新试验成果统计,优良率均高于前两个学期。基于3D可视的嵌入式系统Web在线仿真试验平台能够最大化还原试验场景,学生可以在课下利用碎片时间,通过该试验平台投入更多的学习时间,在课上对试验做进一步验证并对扩展试验进行探究,从而获得更好的试验成果,到达提高教学质量的目的。通过对20

17、22秋季学期上课的146名学生进行试验体验效果问卷调查,其结果如图8所示,89.72%的学生认为集成一键式编译和3D可视化的线上试验平台操作便捷、试验结果显示效果特别好。可见该试验平台在一键式编译和基于3D可视化方面的优化设计获得了绝大多数学生的认可。4结语本文提出了一种嵌入式系统在线仿真试验教学平台的设计与实现方案,该系统通过简化编译过程使得学生更加关注试验内容本身,通过可视化试验板模型,学生可以实时观测到试验现象,获得与在试验室做试验的体验感。实践证明本系统在满足学生随时随地试验的基础上,优化了系统交互性,能够增加试验内容的丰富性,降低试验门槛。在培育学生动手实践主动性和能力方面发挥了重要作用。 李辉勇 牛建伟 豆渊博 符宗恺 单位:北京航空航天大学计算机学院本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第11页 共11页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 其他报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁