




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Qt的手持式炮长终端界面设计与实现-电气论文基于Qt的手持式炮长终端界面设计与实现 雷雨能1,赖文娟1,曾刊1,刁中凯2,高洁1 (1.中国兵器工业第五八研究所军品部,四川绵阳621000;2.中国人民解放军驻157厂军事代表室,四川成都611930) 摘要:为了实现对火炮表尺、方向等参数的实时可视显示和有效控制,设计一种基于嵌入式Linux系统Qt/Embedded的手持炮长终端应用界面软件。首先在工作计算机平台中塔建嵌入式Qt开发环境,再针对键盘模块、CAN总线通信模块和图形显示模块进行软件模块设计,最后将程序移植至Freescale i.MX53处理器平台中运行。该程序解决了对火炮的有效控制和可视显示,大大提高了火炮的作战效率。实验结果表明,基于Qt/Embedded的手持炮长终端界面响应速度快,运行稳定,满足性能要求。 关键词:Qt;嵌入式Linux;CAN总线;炮长终端 中图分类号:TN911?34 文献标识码:A 文章编号:1004?373X(2015)18?0036?03 收稿日期:2015?03?25 0 引言 当前,嵌入式系统是目前最流行的计算机应用技术之一,而嵌入式Linux系统却是其中发展最快的也是应用最广的嵌入式操作系统1。 Qt是一种基于C+的包含了跨平台开发工具和国际化支持工具的GUI系统2,由于其具有C+图形类库强大、跨平台移植方便、丰富的多线程支持和很高的响应速度等优点,目前已经越来越多地应用于嵌入式系统界面设计中。 现代火炮系统作为局部地面战争中陆军装备的主力军,面临着智能化和信息化的发展趋势。炮长手持终端作为一种PDA 设备,主要用于有效显示和控制火炮的各种参数,便于火炮对目标的精确打击,大大提高了部队的信息化作战能力。 本系统基于Freescale i.MX53 处理器和Linux 操作系统,硬件接口包含串口总线、CAN总线、网口、LCD和触摸屏;界面设计包括键盘模块、CAN 通信模块、图形显示模块。 1 嵌入式Qt 开发流程 Linux系统下Qt/Embedded开发详细流程如下: (1)选定嵌入式Linux硬件平台; (2)塔建Qt开发环境。在工作计算机上安装Linux 操作系统,安装Qt/X113,Qt/Embedded(X86),Qt/Embed?ded(ARM)三个版本的Qt SDK,并安装配置Qt Creator开发工具。Qt/X11 版本主要用于产生Qt开发工具,最重要的是可以得到QVFB 工具4。QVFB 可以不需要实际的开发板,在工作计算机上开发Qt/Embedded应用程序,然后进行调试,再下载到目标硬件平台上。Qt/Em?bedded版本主要应用于嵌入式Linux系统的版本; (3)根据目标硬件平台的需要,交叉编译Qt/Em?bedded库文件; (4)在工作计算机上使用Qt Creator开发工具进行应用程序的编辑和调试。在设计调试阶段,为方便调试,编辑编译成Qt/Embedded(X86)版本的程序,使用QVFB工具,将调试输出结果显示在一个仿真嵌入式设备显示终端的模拟器上。如果仿真测试正确无误,再编译成Qt/Embedded(ARM)版本应用程序; (5)移植Qt/Embedded(ARM)版本应用程序到目标硬件平台; (6)在目标硬件平台运行Qt/Embedded(ARM)版本应用程序。 2 嵌入式Qt 环境塔建 工作计算机操作系统为Fedora Core 14。 2.1 准备的开发工具包 Qt creator开发工具包: qt?creator?linux?x86?opensource?2.5.1.bin Qt SDK包: qt?everywhere?opensource?src?4.8.2.tar.gz Qt库包: tslib?qt.tar.bz2 交叉编译工具: gcc?4.4.4?glibc?2.11.1?multilib?1.0.tar.bz2 2.2 安装Qt/X11版 执行如下操作: #cd /usr/local/Trolltech/PC #tar jxvf qt?everywhere?opensource?src?4.8.2.tar.gz # ./configure #gmake #gmake install 2.3 安装Qt/Embedded(X86)版 执行如下操作: #cd /usr/local/Trolltech/X86 #tar jxvf qt?everywhere?opensource?src?4.8.2.tar.gz #./configure ?embeddedx86?qt?gfx?qvfb ?qt?kbd?qvfb ?qt?mouse? qvfb #gmake #gmake install # cd /usr/local/Trolltech/PC/tools/ qvfb #make #cp?rf/usr/local/Trolltech/PC/bin/qvfb/usr/local/Trolltech/X86/bin 2.4 安装Qt/Embedded(ARM)版 编译Qt库并修改环境变量,执行以下命令: #cd /usr/local/arm/ #tar jxvf tslib?qt.tar.bz2 #./autogen.sh #./configure?host=arm?none?linux?gnueabi?prefix=/qts/tslib ?enable?debug=no #make #make install #export PATH=/usr/local/arm/gcc?4.4.4?glibc?2.11.1?multilib?1.0/arm?fsl?linux? gnueabi/bin:$PATH 最后,配置和编译Qt ,执行如下命令: # ./configure ?prefix /usr/local/Trolltech/ARM ?opensource ?confirm?license ?release ?shared ?embedded arm ?xplatformqws/linux?arm?g+ ?depths16,18,24 ?fast ?optimized?qmake ?pch ?qt?sql?sqlite ?qt?libjpeg ?qt?zlib ?qt?libpng ?qt?freetype ?little?endian ?host?little?endian ?no?qt3support ?no?libtiff ?no?libmng ?no?opengl ?no?mmx ?no?sse ?no?sse2 ?no?3dnow ?no?openssl ?no?webkit ?no?qvfb ?no?phonon ?no?nis ?no?opengl ?no?cups ?no?glib ?no?xcursor ?no?xfixes ?no?xrandr ?no?xrender ?no?separate?debug?info ?nomake examples ?nomake tools ?nomake docs ?D_ARM_ARCH_5TEJ_ ?qt?mouse?tslib ?I/ /qts/tslib/include ?L/ /qts/tslib/lib #make #make insatll 2.5 安装Qt creator开发工具 执行如下命令: #./chmod +x qt?creator?linux?x86?opensource?2.5.1.bin # ./qt?creator?linux?x86?opensource?2.5.1.bin 3 炮长终端界面设计与实现 炮长终端应用软件包含软键盘、CAN通信、图形显示界面和各个模块的整合,其主界面显示如图1所示。 (1)键盘模块的实现 软键盘作为输入设备,能够对火炮各参数进行设定,类似于电脑键盘的数字小键盘,采取了将所有按键做成一个类,类名为Keyboard,每个按键信号都和对应槽函数进行一一相连。软键盘显示如图2所示。 (2)CAN总线通信模块的实现 CAN是一种控制器局域网,一个串行的、异步的、多主机的通信协议,属于全数字化,双向的现场总线5。本文通过开辟2个线程分别用来接收和发送各参数数据,并进行数据显示、存储和处理。该模块主要包括CAN参数设置初始化程序、数据接收处理程序和数据发送处理程序。在CAN初始化程序中,主要设置CAN波特率、端口号、滤波器、协议类型、数据格式、ID等参数。在数据接收和数据发送处理程序中,主要针对火炮基准射向、射击修正、装定表尺和当前表尺等参数进行处理和显示。 (3)图形界面的实现 图形以2个直方图来表示(见图3):左边直方图代表火炮的装定表尺和当前方表尺的差值;下边直方图代表火炮的装定方向和当前方向的差值。该图形使炮长能够直观而准确地感知火炮的到位情况,以便能够快速有效地控制火炮的到位。显示图形界面显示如图3所示。图3 中,装定表尺为100,当前表尺为200,差值为100,炮长需要对表尺向左继续摇动火炮2 圈才能到位。装定方向为0,当前方向为200,差值为200,炮长需要对方向向右继续摇动火炮才能到位。 4 移植与运行 使用Qt Creator 工具编辑程序并编译成Qt/Embed?ded(ARM)版本可执行文件,文件名为gunV0。通过安装配置NFS服务器,挂载网络文件系统,移植可执行文件,执行操作: # mount ?t nfs 192.168.1.5:/nfsroot /mnt/nfs/ ?o nolock #cp /mnt/nfs/gunV0 /root/tmp 由于Qt没有自带中文字体库,在此须添加文泉字库的支持,把文泉字库wenquanyi.ta解压后放到目标硬件平台Qt安装目录下。最后运行可执行程序,执行: #./gunV0 ?qws ?font unifont 5 结语 相对基于MiniGUI 的界面开发,基于Qt 的界面设计,其C+开发类更加完整,功能更加全面,设置控件和属性更加简单,而且提供了免费的开发工具,开发成本较低6,开发起来更加方便。经过现场调试和测试,炮长终端界面友好,运行稳定,响应速度快,可满足实时性要求。 参考文献 1 弓雷.ARM嵌入式Linux系统开发详解M.北京:清华大学出版社,2010. 2 黄超.基于Qt的嵌入式GUI的研究与实现D.长春:吉林大学,2011. 3 李艳民.基于Qt 跨平台的人机交互界面的研究与应用D.重庆:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作室设计与工作环境优化
- 工作中的时间管理与自律
- 工业设计与产品创新实践
- 工业设计创新与技术趋势
- 工业风餐厅装修设计思路
- 工作场所中的安全卫生规范
- 工厂企业火灾防范与应急处理
- 工程机械结构强度与稳定性研究
- 工程质量管理中的监理职责与实施策略
- 工程机械的故障诊断与维修
- 2024年贵州省公安厅招聘警务辅助人员笔试真题
- 2025届江苏炸无锡市锡山区七年级数学第二学期期末联考试题含解析
- 养老机构消防安全课件
- 主、被动防护网施工方案-图文
- GB/T 45565-2025锂离子电池编码规则
- 1、人教部编版二年级下册语文看拼音写词语(一类生字和书后词语)
- 2025年济南高新区九年级中考数学二模考试试题(含答案)
- 花椒库存收购协议书
- DB22-T2979-2019-基质沥青相似度检测红外光谱法-吉林省
- 《小王子绘本教学课件》
- 金华市皓升再生资源有限公司年回收拆解20万辆电动自行车生产线技改项目
评论
0/150
提交评论