基于MiniGUI的机车车载显示终端研究

来源 :电子与电脑 | 被引量 : 0次 | 上传用户:xiwang452
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:MiniGUI是当前应用于嵌入式系统较为流行的嵌入式图形用户界面之一。本文主要研究利用MiniGUI开发机车车载显示终端图形用户界面,以解决当前基于DOS的机车车载显示终端图形用户界面开发难度和工作量大的问题。文中给出了机车车载显示终端的整体设计,重点分析了MiniGUI的裁减、移植以及基于MiniGUI的车载显示终端图形用户界面的开发。
  关键词:MiniGUI ;显示终端 ; Linux ; PC/104
  
  引言
  
  机车车载显示终端是机车乘务员与机车设备之间进行人机信息交互的主要设备。在实际运用中,显示终端将机车的行车安全信息、故障信息和设备状态等反映给乘务员,以便有效地指导乘务员操作,确保机车安全,减小机车故障的影响。
  机车车载显示终端用户界面是机车乘务员与机车显示终端相互交流信息的主要方式。机车乘务员对机车显示终端的关键技术并不熟悉,所以要求其用户界面必须直观,认读性好,与乘务员交互性好。目前我国的机车显示终端大多采用DOS操作系统(SS系列电力机车、DF系列内燃机车等),为了使用图形界面,必须从底层开始开发,难度和工作量很大。本文主要研究利用MiniGUI技术开发以嵌入式Linux为操作系统的机车车载显示终端的图形用户界面。
  
  系统整体设计方案
  
  1 显示终端硬件设计
  机车车载显示终端硬件主要由研华科技的PCM-9372型号的PC/104主板作为硬件平台核心,其cpu为VIA Eden系列的处理器,它完全兼容x86体系。机车显示终端的显示器选用SHARP公司的10寸彩色TFT液晶显示屏。机车显示终端外形以及内部电路板照片如图1所示:
  


  
  2 显示终端软件设计
  机车车载显示终端软件主要由嵌入式Linux和MiniGUI构成。对Linux进行裁减并移植到机车显示终端的硬件平台上。基于MiniGUI完成机车显示终端图形用户界面程序以及有关应用程序的开发。机车显示终端软件结构如图2所示:
  


  MiniGUI的裁减与移植
  
  从Internet网上可以下载到免费的libminigui-1.3.3.tar.gz库文件和minigui-res-1.3.3.tar.gz资源文件,用以下命令进行MiniGUI的配置、编译和安装:
  tar xzvf minigui-res-1.3.3.tar.gz
  make install
  tar xzvf libminigui-1.3.3.tar.gz
  ./configure
  make
  make install
  安装之后的MiniGUI体积为10M左右,对于嵌入式系统来说体积过于庞大,所以必须对其进行裁减。我们可以利用编译选项和修改配置文件来完成MiniGUI的裁减工作,最终将其裁减到2M,满足了机车显示终端嵌入式系统的要求。具体做法如下:
  (1)在编译libminigui时,使用如下configure选项:
  ./configure
   --disable-static不支持静态链接库
   --disable-lite编译成thread版本
  --disable-debug不支持调试信息,当然这是在应用程序调试成功后
  --disable-tracemsg不支持跟踪信息
  --enable -flatstyle支持平面窗口,而不是3D窗口
  --disable-svgalib不支持svgalib引擎
  --disable-libggi不支持libggi引擎
  --enable-fblin 16支持16bpp的FrameBuffer引擎
  --enable -nativeial支持本地ial
  这样仅仅生成动态链接库,体积也就大大减小。
  (2)修改/usr/local/etc/MiniGUI.cfg配置文件
  在MiniGUI.cfg中,可供裁减的内容包括systemfont选项,truetypefonts选项,cursorinfo选项,iconinfo选项,bitmapinfo选项和imeinfo选项。
  裁减完成后,我们将以下文件移植到目标机上:
  ①MiniGUI的函数库,包括libminigui,libmywins和libmgext等,还包括其他的应用程序函数库等。
  ②MiniCUI的配置文件,即/usr/local/etc/MiniGUI.cfg文件。
  ③MiniGUI所使用的资源文件即usr/local/lib/minigui/res。
  
  基于MiniGUI的机车车载显示
  终端图形用户界面设计与开发
  
  机车车载显示终端的图形用户界面主要完成数据的显示、查询和用户输入等功能,在设计上要求简单实用,操作方便,同时复杂的界面也会带来不必要的开销,影响性能。
  MiniGUI是一种基于线程的窗口系统,界面控制线程和应用逻辑可以用不同的线程来完成,相互之间通过消息来完成数据传递。MiniGUI使用消息驱动作为应用程序的创建架构,主窗口可以单独属于一个线程,也可以附属于其他主窗口而一起属于一个线程。
  作者将机车车载显示终端正常状态下的显示界面设定为主窗口,MiniGUI为每个主窗口建立单独的消息队列,在该主窗口基础上派生出的其它主窗口、对话框及其控件均使用同一消息队列。作者在主函数MiniGUIMain中创建并显示主窗口,并建立窗口结构与窗口过程的联系,然后从窗口管理器中获取、翻译并分发消息,而窗口过程则处理各个窗口的消息。消息可以有许多种类型,根据消息的类型可以完成不同的处理,如MSG_PAINT消息的处理通常用来绘制窗口,而MSG_CLOSE消息的处理则用来完成应用的结束,也可以在MiniGUIMain函数中建立其他应用线程。主界面设计流程图如图3所示:
  


  主界面的关键代码如下所示:
  int MiniGUIMain (int argc, const char* argv[])/*主函数*/
  { ……
  pthread_create(&display_control_thread,NULL,&dis_app,hDlg);
  /*建立工作线程*/
  pthread_create(&aparam_thread,NULL,&aparam_app,hDlg);
  /*建立参数设置界面线程*/
  HWND hWnd=HWND_DESKTOP;
  DlgInitProgress.controls=CtrlInitProgress;
  DialogBoxIndirectParam(&DlgInitProgress,hWnd,InitDialogBoxProc,0L)
  return 0;
  }
  static int InitDialogBoxProc (HWND hDlg, int message, WPARAM wParam,LPARAM lParam)/*主界面消息处理函数*/
  {switch(message)
  {case MSG_INITDIALOG:
   return 1;
  case MSG_PAINT:
  /*进行图形绘制操作*/
  case MSG_TIMER://定时器消息
  {
  /*获得工作线程数据并进行处理*/
  break;}
  case MSG_MYKEYDOWN:
  ……}
  return DefaultDialogProc(hDlg,message,wParam,lParam);
  }
  设计开发完成的显示终端主界面和参数设置界面如图4和图5所示:
  
  总结
  
  本文给出了机车车载显示终端的总体设计方案,针对目前基于DOS的机车车载显示终端图形用户界面开发难度大的情况,研究并开发了基于MiniGUI的机车车载显示终端图形用户界面。详细介绍了MiniGUI的裁减和移植,以及如何基于MiniGUI进行图形用户界面程序的开发。最后完成了显示终端图形用户界面的开发,为新一代的机车车载显示终端软件开发提供了一种新思路和技术尝试。
  


  
  参 考 文 献:
  [1] 刘刚.基于MiniGUI的嵌入式浏览器的研究与开发.华中科技大学硕士学位论文.2005
  [2] http://www.minigui.com
  [3] 谷丰.基于Linux的机车显示系统平台的设计.机车电传动,2005,1
  [4] 魏永明.MiniGUI编程手册.北京飞漫软件有限公司,2003
  [5] 魏永明.面向实时嵌入式系统的图形用户界面支持系统----MiniGUI编译、安装和配置.http://www.cn.ibm.com/developerWorks/Linux/
  作者介绍:
  张晓辉,女,1979.2 ,硕士,天津理工大学计算机科学与技术学院教师。
  研究方向:嵌入式系统
  联系方式:13821638921
  zxh-1979@126.com
其他文献
中星微电子发布新一代高性能网络摄像头处理芯片    数字多媒体芯片设计公司中星微电子日前在京宣布推出最新的网络摄像头处理芯片VC0336,主要应用于外挂式网络摄像头以及嵌入式笔记本摄像头。VC0336是中星微电子为Web 2.0时代量身定做的一款网络摄像头处理芯片,具有大量的新功能,如先进的高清(HD)视频录像,高保真录音,自动对焦控制,噪声消除功能等。完美的设计使VC0336功能卓越,能够给网络
期刊
UWB辛路历程    与通信业中的许多创新一样,超宽带(UWB)技术也经历了漫长的道路。20世纪60年代,研究人员就在做时域电磁工作时,研究了 RF 系统对一个脉冲而不是连续激励的响应特性并加以应用,不久美军实验室就出现了运用这一原理来运作无线传输系统的军用雷达,它是一个可调整频宽的传输环境,故称为超宽带UWB(Ultra-Wideband)。与很多先进技术一样,比如Internet、GPS,最先
期刊
Xilinx提供弹性化以太网络解决方案   让您能针对各种应用的效能与成本需求开发客制化方案    赛灵思公司产品营销经理/Navanee Sundaramoorthy  赛灵思公司软件工程师/Sathya Thammanur    大多数的嵌入式产品都需要一个网络或通信界面。由于具备低成本、普遍性、以及能透过像TCP/IP等通信协议连上因特网之特性,以太网络(Ethernet)成为其中最广为采用
期刊
恩智浦推出802.11n模块实现便捷的高清视频无线传送    恩智浦半导体(NXP Semiconductors)发布了一款用于802.11n无线局域网(WLAN)应用的消费电子级模块MRX2000。这一全新的解决方案能够在对质量具有严格要求的应用中实现更高的多媒体数据吞吐量,为日常多媒体设备提供更快、更强大的无线连接功能。该模块针对2.4GHz以及5GHz频段上的高清视频流进行了优化,可被集成在
期刊
数字墨水技术闪盘——Lexar JumpDrive Secure II Plus    近日,Lexar宣布推出JumpDrive Secure II Plus系列闪存盘,该系列采用电子纸张/电子墨水(ePaper/eInk)显示技术,可以实时显示目前优盘的存储情况。用户在不连接PC的情况下,直接观察出内部容量使用情况,即不依赖电源来维持显示就可以对优盘内部的存储状况一目了然。这个系列优盘拥有从5
期刊
作为消费者市场上的主流技术,通用串行总线(USB)正在迅速成为工业市场上的实际通信标准。对于需要经济高效的USB连接来支持工业控制、工厂自动化、HVAC系统、消防/安全系统、销售点设备及健康护理监控仪器的设计人员来说,带有USB On-The-Go(OTG)的微控制器(MCU)可以提供高度集成的嵌入式控制功能。  USB OTG是USB 2.0 版的补充,可以增强现有外围组件和设备的功能,使设备增
期刊
意法半导体(ST)推出QST系列电容触摸传感器的第一款产品     意法半导体推出了该公司的电容触控传感器系列产品的首款产品QST108,采用这款传感器的各种应用设备将能够实现时尚、创新的用户界面。QST系列全都是数字标准产品,采用ST最近从量研科技公司(Quantum Research Group)获得的经过验证的专利技术。  采用QST系列产品,实现封闭的背光感应表面十分容易,制造商可以大幅度
期刊
摘要:为了了解单个磁体磁场分布的情况,进而探究磁悬浮系统的磁场分布,利用MATLAB的电磁场模拟功能(即运用PDE工具箱),对磁悬浮系统的磁场分布进行计算机模拟仿真,给出磁悬浮系统磁场分布图,为更好地实现磁悬浮提供参考。通过对于本课题的研究,可以帮助大家更深层次地认识磁体的磁场分布、磁悬浮稳定条件等许多课外的知识,并对于课内学的知识有更好地认识,同时也能够提高大家用MATLAB解决实际问题的能力。
期刊
安捷伦科技(Agilent Technologies)新近推出一款直流电源暨分析仪,在提供直流电压和电流给待测标的(DUT)并执行量测的效率上无人能及。研发工程师完全不需撰写任何一行程序,即可在几分钟内,运用这套工具深入量测DUT的功率消耗情形,对研发工程师来说,它代表的是全新类别的仪器。       电源供应器走整合风    今日的研发工程师在进行直流电源相关的测试时,必须聚集和设置多部仪器,才
期刊
摘 要:电力信息化的飞速发展的形势要求基层电力企业提供准确的基础数据并保证数据源的安全,县级电力企业在积累了大量的基础数据的同时必须采用科学、稳定、简便的方法来保证数据的安全,而作为基层电力企业,不可能动用大量的资金来建立数据存储中心,这样,基于 Windows Storage Server的NAS技术的应用就成为了县级电力企业最合适的数据存储方案。  关键词:电力 信息 数据 存储    随着电
期刊