APP下载

基于s3c2410和Qt/Embedded嵌入式实验演示系统的设计与实现

2022-05-27

文山学院学报 2022年2期
关键词:调用嵌入式蓝牙

王 超

(文山学院 人工智能学院,云南 文山 663099)

嵌入式技术在工业和生活中得到了越来越广泛的应用,为了适应技术的发展和社会的需求,满足为社会培养创新型人才的需要,高校通信类和电子类专业开设嵌入式技术相关课程及实验逐渐成为趋势[1-3]。但由于嵌入式技术课程内容比较广泛,需要考虑的因素较多,学生往往很难将所学内容有效的结合起来完成功能完整实验项目。因此,在课程中设置合理的实验,并将各方面的知识结合起来进行演示,有助于帮助学生理解所学内容,有利于提高学生综合应用知识的能力和动手能力,有利于培养学生的创新性思维能力,同时,对嵌入式技术实验教学提供了一定的参考[4-5]。

本文采用北京博创科技公司开发的ARM9教学科研平台,处理器为三星公司生产的s3c2410,结合Linux操作系统和Qt/Embedded开发嵌入式系统实验室实验演示系统,将嵌入式课程中软硬件知识和良好的GUI界面有效结合起来,使学生通过观看和分析演示系统更好地掌握嵌入式技术开发的全过程,并在此基础上进行加入的设计性和创新性实验,满足一般高校对嵌入式技术教学的需要,具有一定的理论研究价值和实用价值。

1 系统总体结构设计

系统充分考虑硬件平台的资源和教学大纲的要求,实验难度由简单到复杂,层次分明,主要分为三个部分:基础控制实验,扩展控制系统,综合性/设计性实验,并且可以在此实验系统的基础上进行二次开发,可以有效地将学生的毕业设计和教师的科研项目融入系统当中,方便对系统的扩充和完善。基础控制实验完成对实验箱硬件资源的控制,旨在让学生掌握常见外设驱动的编写和调用;扩展控制实验主要完成外接硬件资源的控制,主要对无线模块,温湿度模块等进行开发和调用,进一步让学生掌握嵌入式系统开发技术,培养学生的创新性思维。综合性/设计性实验旨在培养学生二次开发的能力,实现一个具备功能完整丰富的ARM嵌入式应用系统,旨在培养学生的创新能力和实践能力[6]。系统的总体设计结构如图1所示:

图1 系统总体结构

2 系统的软件结构设计

软件平台的构建的大致分为以下几个部分:

(1)搭建嵌入式交叉开发环境。

(2)移植Bootloader。 嵌入式Linux引导过程要通过Bootloader来完成,通常包括两个方面,一方面用来进行设备初始化,另一方面用来启动内核。

(3)移植Linux内核,Linux内核的移植需要对内核来进行裁剪,建立根文件系统。

(4)进行Qt/Embedded的在ARM平台上的移植。该过程比较复杂,大致要经过X86和目标平台的配置和安装、tslib触摸屏和应用层之间的适配并进行校准以及Qt-creator集成开发环境的安装及配置[7]。

(5)编写相应的驱动程序,实现在对硬件的调用。

(6)利用Qt语言编写相应程序,嵌入式实验室的演示系统。软件平台的总体框图如图2所示下:

图2 系统软件总体框图

3 系统测试

本文所设计演示系统,主要完成嵌入式实验的演示,实现了以下几个方面的功能:

(1)设计了众多的UI界面;

(2)可调用虚拟键盘来进行登录操作;

(3)实现了较多的实验项目供学生选择使用;

(4)可以在多界面之间自由切换;

(5)提供了丰富的实验项目。

具体的实现流程如图3所示:

图3 程序运行流程图

嵌入式实验系统主要完成了以下功能模块,登录界面模块、基础控制实验模块、扩展实验模块、综合、设计性实验模块,每个模块的具体功能实现如下:

选择界面模块:通过登录界面用来实现该演示系统的登录操作,利用Qt中mousePressEvent()事件调用修改好的syszuxpinyin虚拟键盘来输入帐号和密码,利用emit来实验不同窗口间消息的传递,并加入数据库以便对学生进行有效的管理。登录成功后进入实验选择界面,可以选择对应的实验模块查看具体的演示功能和效果。

基础控制实验模块:主要完成对实验箱的外围硬件的控制实验,旨在让学生了解嵌入式系统中对硬件的基本控制原理、相应的功能以及基本的实现流程。在基础控制实验模块中设计了LED灯、点阵屏、蜂鸣器、LCD、网卡等9个对实验箱硬件模块的基本的控制实验,并且还预留了一定的空间可以对实验内容进一步的扩展。在实验中需要编写和开发各实验模块对应的驱动程序,并加载到内核中以便于调用,实现完成后可以退出并返回选择界面。

扩展性实验模块:实验箱外围有各种不同接口,可以连接多种设备以实现不同的功能,同时方便学生进行扩展,学生通过扩展实验对外围功能模块的扩展和调用有进一步的认识和理解,从而为后面更复杂的系统奠定良好的基础。扩展性实验主要实现了对包括了GPS、 WIFI、RFID、摄像头等需要外接扩展模块的控制实验。该部分实验需要掌握不同模块的实现方法、协议以及接口函数,有的还需要进行一定的移植处理,以实现模块对应的功能。

综合设计性实验模块:为了充分锻炼学生综合应用知识的能力和创新能力,开发了一定的综合性和设计性实验来加入到实验演示系统当中。主要包括蓝牙自动传输控制系统、嵌入式视频监控系统、基于Zigbee网络的智能家居监控系统、基于WEB和GPRS的智能家居远程监控系统、GPS卫星定位系统等,并且预留一定的空间,为学生在自学和毕业设计过程中开发的一些好的项目能够加入到该系统中来进行扩充。以蓝牙自动传输实验为例,蓝牙自动传输控制系统实现,需要在ARM平台上完成蓝牙协议的移植工作。自动发送是整个系统的核心功能。设置所要发送文件,点击发送按钮, 系统会自动搜索附近的蓝牙设备,搜索到蓝牙设备后会自动与之进行连接, 待搜索到的蓝牙设备同意服务请求后,系统会将文件自动地发送给搜索到的蓝牙设备。点击退出按钮, 系统会自动停止并退出该系统。重新进入系统后设定文件点击发送后,系统将会进行新一轮的搜索,并发送文件。从而实现蓝牙的自动传输文件的功能,该系统可以有效运用到广告的推送,文件的传输等方面,具有一定的实用价值。

4 结语

本文以实验教学的需求为出发点,应用目前较为成熟和流行的嵌入式技术,充分发挥ARM9实验科研教学平台外围控制接口的功能,对外围数据通信接口和GPIO接口进行了扩展,采用ARM+linux+Qt/Embedded的设计方案,将硬件、操作、界面设计有效的结合起来,完成了功能完善的实验系统,并将该实验系统应用于日常的教学当中,对学生的学习和理解该门课程提供了极大的帮助,并且为学生进行二次开发完成更加完善的应用系统提供了借鉴,具有一定的实用价值和教学意义。

猜你喜欢

调用嵌入式蓝牙
蓝牙音箱的直线之美
基于IMX6ULL的嵌入式根文件系统构建
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
帮你轻松找到AirPods的神奇工具
基于ARM嵌入式的关于图像处理的交通信号灯识别
TS系列红外传感器在嵌入式控制系统中的应用
系统虚拟化环境下客户机系统调用信息捕获与分析①
基于属性数据的系统调用过滤方法
利用RFC技术实现SAP系统接口通信
蓝牙4.0落地加速