首页 基于Linux&Qt的嵌入式数字多用表图形用户界面设计

基于Linux&Qt的嵌入式数字多用表图形用户界面设计

举报
开通vip

基于Linux&Qt的嵌入式数字多用表图形用户界面设计 第l5卷第5期 2008年 1O月 东 莞 理 工 学 院 学 报 JOURNAL oF DoNGGUAN UNIVERSITY OF TECHNOLoGY VO1.15 NO.5 Oct. 2008 基 于Lin ux&Ot的嵌入式数字 多用表 图形用户界面设计 林明仁 宋 跃 雷瑞庭 (东莞理工学院 电予工程学院,广东东莞 523 808) 摘要 :为设计嵌入 式计算机仪器用户图形化 (GUI)界面,在ARM处理器硬件平台上,采用Linux与 Qt/Embedded技术开发出新型...

基于Linux&Qt的嵌入式数字多用表图形用户界面设计
第l5卷第5期 2008年 1O月 东 莞 理 工 学 院 学 报 JOURNAL oF DoNGGUAN UNIVERSITY OF TECHNOLoGY VO1.15 NO.5 Oct. 2008 基 于Lin ux&Ot的嵌入式数字 多用表 图形用户界面 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 林明仁 宋 跃 雷瑞庭 (东莞理工学院 电予 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 学院,广东东莞 523 808) 摘要 :为设计嵌入 式计算机仪器用户图形化 (GUI)界面,在ARM处理器硬件平台上,采用Linux与 Qt/Embedded技术开发出新型、智能、移植性强的嵌入式数字多用表的GUI软件,实验表明该软件界面友 好、易于移植、调节灵活、使用方便,实践证明该设计是切实可行的,文中详细介绍仪器系统结构、系统 软件的实现原理和设计 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,同时结合本软件的设计实例,分析Qt编程中串行接 口的设置与数字多用表界 面的实现。 关键词:用户图形界面;Linux;Qt/Embedded;Qtopia应用;数字多用表 中图分类号:TP274;TM935 文献标识码:A 文章编号:1009—0312(2008)05—0036—05 随着嵌入式系统应用领域的不断扩大,系统复杂性也在不断提高,仪器的功能增多对用户图形 界面 (GUI)也提出更高的要求,在嵌入式系统中实现用户图形化已经成为大势所趋。近年Linux嵌 入式系统取得了前所未有的发展,在智能仪表领域中应用广泛” ,DMM (数字多用表)是最常用 的电子测量仪器之一。本文在ARM处理器硬件平台上,采用Linux和Qt/Embedded(Trolltech公司面 向嵌入式开发的工具)开发出新型、智能、移植性强的嵌入式数字多用表的人机交互软件,通过实 践证明,该设计切实可行、实验效果好。 1 系统组成及数字多用表软件界面的实现 图l是数字多用表的硬件实现框图。左边实线框内是Linux操作系统和数字多用表应用程序运行 的平台,它以三星的$3c2410A为控制核心,最高工作频率可达203 MHz:采用HY57V561620AT.H (32M×2)作为SDRAM;SAMSUNG的K9F1208(64M)作为FLASH;LQ080V3DG01(8寸16bit 的TFT)作为显示;由FM7843驱动的SX.080.W4R.FB作为触摸屏。其中在处理器UART2rJl出一个 用于紧急调试和一个用于数字多用表数据通信的串口。右边虚线框内是数字多用表的硬件结构框 图,它采用的是FPGA(Altera EP1C6)作为数字载体,接收数字多用表转换模块传来的数据并作适 当的处理,然后通过串行接 口发送给ARM9的控制核心模块。 图 1 仪器硬件结构 收稿 日期 :2008—04— 14 基金项 目:东莞市2006年科技 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 项 目(第2批序号11)。 作者简介:林明仁(1985一),男.广东云浮人,O4级本科生。主要从事嵌入式Linux、Qt界面设计研究. 笙 塑 竺!茎 ! 堡 兰 壅 : ! 本文所描述的数字多用表界面已经实现的功能有各利t电表的切换,如欧姆表、直流电流表、交 流电流表、电容表、直流电压表、交流电压表 (其实在程序设计的层面上看,本设计是可以实现无 限多种电表的测量的);各种电表的倍率切换,方便用户的测量,如图2所示;实时设置串口传输参 数,方便与不同的数据处理模块进行通信,如图3。 b英 史界而 图 2 DMM主控制界面图 2 软件设计原理与实现方法 2.1 Linux与Qt/Embedded设计 2.1.1 系统平台的构建 图4为本设计的系统平台,可以分四部分 。 ; 图 3 DMM串口设置界面图 M ultimeter Application QtAPI Qt/Embedded Qtopia2 .1 1桌面环境 Lib rary ~Busybox1.O0为基础构建的根文件系统 ArmLinux Kernelm with FrameBaffer 圈 4 平 台框架结 构 1)引导装载程序 (BootLoader)是一段在操作系统内核运行之前运行的程序,它类似于PC机 中的BIOS程序,通过这段程序,可以完成硬件设备如CPU、内存等的初始化,并建立内存空间的映 射图,从而将系统的软硬件环境带到一个合适的状态,为最终调用系统的内核做好准备。这里采用 Samsung公司的vivi。 2)Linux内核采用在ARMLinux.2.4.1 8内核的基础上添加必要的硬件驱动构成。文件系统以集 多种命令工具一身的Busybox1.00为基础构建,这样可以大大地减少文件系统所占用的空间。 墨 查 苤 三 兰 堕 堂 垦 QQ墨生 3)图形用户环境采用基于Qt/Embedded.2.3.10的Qtopia.2.11桌面环境。 4)应用程序设计在redhat Linux 9-F面分别建立Qt的虚拟帧缓冲调试环境和ARM的交叉编译 环境,进而应用Qt的API完成软件的编写开发。 2.1.2 数字多用表界面设计 图2是软件的主控界面 ,图5是整个数字多用表应用程序的设计框图。通过Qt提供的丰富的类 来构建各种部件,进而实现数字多用表的电表切换、倍率调节、串口参数切换等功能。另外为了方 便不同语言的用户使用,本软件加入了英文和简体中文在应用程序不需要重启的情况下就能动态切 换动态语言切换功能,下面对其主要思路进行介绍。 串 口数据 出来算 法 图 5 程序设计框架 要实现应用程序在多种语言下动态切换,首先,必须要使每一个用户可以看见的字符或字符串 都接受tr()函数的检查;其次,当用户有语言切换操作的时候,程序就载入相应的(.qm)文件进行翻 译。下面是部分程序代码和解析: 1)将所有的窗口部件或者对话框中需要翻译的字符串都写在一个单独的槽 (retranlator())里 面,并在必要的时候进行调用。本应用程序首先在构造函数的末尾就调用了该函数,实现了默认的 英文版界面 (如图2b) 。 MyMainWindow::MyMainWindow0 { setGeometry(1 00,1 00,320,420); setMaximumSize(320,420); setMinimumSize(320,420); HIIII翻译切换 translator=new QTranslator(0); qApp->installTranslator(translator); retranlator0; ) //H/H/H/翻译函数 void MyMainWindow::retranlator0 { qApp一>installTranslator(translator); setCaption(tr(”Multimeter”)); menuBar0->clear(); menuBar0->insertltem(tr(”&File”),file); menuBar0->insertltem(tr(”&Language”),language); menuBar0一>insertltem(tr(”&Setting”),Setting); menuBar0一>insertltem(tr(”&Help”),help); file->clear(); file一>insertltem(tr(”Exit”),qApp,SLOT(quit()),CTRL+Key_Q); 第5期 林明仁等:基于Linux&Qt的嵌入式数字多用表图形用户界面设计 39 language一>clear(); language->insertltem(tr(”&English”),this,SLOT(ToEnglishO)); language->insertltem(tr(”&Chinese Simplified”),this,SLOT(ToChinese0)); , 2)通过程序菜单选择需要切换的语言,然后载入相应的 (.qm)文件,再调用retranlator0槽即 可完成语言的切换,如图2a中文版。 2.2 数据通信协议 本人机界面在现阶段主要是通过串行接口与FPGA进行通信,波特率默认为1 1 5200,其通信 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 如图6。每次必须要首先接收~IJFA才会认为后面传来的是需要的数据,连续传4次以后即在收到FA之 后的第5个数据必须是FB,才会确定本次数据传输正确,并同时发回 “finish6”给FPGA来确认数据 传输成功。容易看出,图6a接收到FPGA发来的数据为OxOOffffO0(十进制为16776960)。 数据 厂— — — —— — — — — 标志 I。{ lime r 用 一定时器自 表的界面 }l篮釜革吕 a 标志 继续接收 型:!垒 堡坚鍪 监控下一段数据接收 b 图 6 通信格式 该通信过程的主要实现如下: 由于若采用无限循环地对串口进行读数据的话会造成CPU负荷过高,故在本设计中采用了Qt的 定时器QTimer来实现每隔50 ms对串口进行读数据,这样大大降低]"CPU的使用率,具体可以看以 下代码: AutoreadTimer=new QTimer(this,”Readcom”); AutoreadTimer->start(50); connect(AutoreadTimer,SIGNAL(timeout0 ), this,SLOT(readcom0));/+每当计数50 ms之后,程序 自动通过Qt的信号与槽技术连接到读串口函数·/ 在另一方面,本软件的通信格式也可根据需要,随 时在程序里面作简单的修改,就能实现相互协调了 I。 3 实验结果与分析 通过上述方法而设计出来的数字多用表界面,首先 在X86下的虚拟帧缓冲环境中调试成功,然后通过交叉 编译并下载到删 9硬件平台中运行测试。图7为从PC端 图 7 调试结果 4O 东 莞 理 工 学 院 学 报 2OO8年 的串口助手分别发送fa、01、O1、01、01、f1)给ARM9进行测试,显然数据传输完全正确,在数字多用 表界面上的LCD显示16843009。 实践证明该设计是切实可行的且实验效果好。它能够很好地实现人机交互功能,已经不是传统 的PC机端上位机软件,彻底地抛弃了PC机;而更重要的一点就是,本程序能够实现在不改动源代码 的情况下,使用单一的程序源便可以轻松地编译出在不同的平台中运行的可执行程序。本电测综合 仪器的示波器、逻辑分析仪、频谱分析仪等仪器界面正在开发研究中,拟运用图形界面来更好地实 现信号时频域参数的测量与波形分析。 参 考 文 献 【l】 中国 电源 门户 网.嵌入 式 系 统 中数 字示 波 器用 户 图形 界砥 的实 现 [EB/OL].http://www.gd·emb.corn/detail/id-27960 htm1/2008.04—03. 【2】 Yaghraoar K.构建嵌入式Linux系统【M1.北京:中围电力出版社。2004. 【3】 倪继利.Qt及Linux操作系统窗口设计【M】.北京:电子工业出版社,2006. [4】 Xteam(【}J国)软件技术有限公司.Qt程序设计【M】.北京:清华大学出版社,2002:18.33. 【5】 余炽业。宋 跃。胡升平。等.基于Delphi的任意信号发生器上位机软件设计【J】.电测与仪表,2006,43(10):34·37. 【6】 Jonathan Corbet,Greg Kroah.Hartman,Alessandro Rubini.Linux Device Drivers[M].3rd Edition.南京:东南大学出版社,2005 Graphic User’S Interface Design of Em bedded Digital Multimeter B ased on Linux&Qt LIN M ing-ren SONG Yue LEI Rui-ting (College of Electronic Engineering,Dongguan University of Technology,Dongguan 523 808,China) Abstract A new-style GUI soft of embedded digital multimeter with intelligence and high portability is introduced,which is implemented by Linux and Qt/Embedded in ARM hardware platform for GUI interface of embedded computer instrument.The experimental results showed this software had its facile interface and could be flexibly adjusted,transplanted and used conveniently.Practice shows that the design is feasible.This paper gives a detailed description of the system structure of the instrument,system software’S implemental principles and designing method.Meanwhile,some living examples of the software design are offered in order to analyze the serial interface setting in Qt programming and the realization of the digital multimeter GUI. Key words graphical user’s interface;Linux;Qt/Embedded;application of Qtopia;digital multimeter
本文档为【基于Linux&Qt的嵌入式数字多用表图形用户界面设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_857449
暂无简介~
格式:pdf
大小:271KB
软件:PDF阅读器
页数:5
分类:互联网
上传时间:2013-11-24
浏览量:32