当前位置:首页 > 嵌入式 > 嵌入式软件

基于WinCE嵌入式系统控制台的设计与实现
汪国林,余辉
合肥工业大学科研处,合肥230009;中国电子科技集团公司第41研究所,蚌埠233006

[摘要]:本文介绍了基于Wince嵌入式系统控制台的设计与实现。控制台通过Arcnet网络与机器控制单元进行通信,实现状态显示和参数设置。详细介绍了软件部分的界面设计、网络通信和Wince系统定制。

[关键词]:WinceEvcArcnet网络控制台

DesignandRealizationofControllerBasedonWinceSystem
WANGGuo-lin,YUHui.DepartmentofScienceResearch,HefeiUniversityofTechnology,Hefei230009,China.The41stInstituteofChinaElectronicsTechnologyGroupCorporation,Bengbu233006,China.

[Abstrace]:ThispaperintroducedtheDesignandRealizationofconsoleBasedonWinceSystem.ConsolecommunicatewithmachinecontrolunitbyArcnetnetwork,thenshowthestatusofmachineandparametersetting.Thepaperalsointorducedinterfacedesign、networkcommunicationandWincesystenbuilderindetail.

[Keywords]:WinceEvcArcnetnetworkConsole

操作员控制台(以下简称OPC)是烟草包装机设备中的人机界面,整个系统基于Wince嵌入式操作系统,采用了ARCNET网络接口,实现了与包装机设备控制单元的高速通信,很好地满足了系统的实时性、快速性和可靠性要求。

1、系统简介

1.1、系统工作原理

OPC通过ARCNET网络接收来自包装机组控制单元传送来的数据,完成概
图显示、故障信息报警等相应功能;接受维护人员的参数修改和设定,并将数据发送到包装机组控制单元。

整个系统有以下几个部分组成:控制单元、网络接口、人机界面。

由于该系统数据处理量较大,所以整个系统应该具有很高的运行速度及集成度,综合以上考虑采用了速度较快的工业控制板;网络接口采用了自主设计的PC104接口的ARCNET网卡;为了方便用户地使用,人机接口采用了大屏幕液晶触控屏。系统工作原理如图1所示。

图1系统工作原理框图
1.2、ARCNET网络

ARCNET(AttachedResourceComputerNetwork)协议是Datapoint公司于70年代末推出的,其性能特点特别适合于控制需要而得以在工业自动化领域成功应用。实践证明,ARCNET具有可靠性高、通信速率高、可确定的性能以及远距离通信能力等特点,是一种理想的现场总线技术。

首先,现场总线必须能够在预先确定的时间内完成消息传输。ARCNET所采用的令牌传递协议确保能在时间上满足这个要求。其次现场总线中的消息通常是短消息,ARCNET支持长度可变的数据帧(0-507字节),额外开销小,再加上其较高的数据速率(通常为2.5Mbps),使得ARCNET对对短消息具有良好的快速响应性能。其主要特点如下:①时间的可确定性;②逻辑环;③自动应答;④广播消息;⑤自动重构。

2、系统软件设计

MicrosoftWindowsCE是一个32位的、紧凑的、高效和可扩展的操作系统,适用于各种嵌入式系统和产品。它拥有多线程、多任务、确定性的实时、完全抢占式优先级的操作系统环境,专门面向只有有限资源的硬件系统。同时,它的模块化设计方式使得系统开发人员和应用开发人员能够为多种多样的产品来定制它,可以选择、组合和配置WindowsCE的模块和组件来创建用户版的操作系统,例如客户电子设备、专用工业控制器以及嵌入式通信设备等等。采用EVC来设计控制软件,最终完成的代码存储于CF卡中,可靠性高。

2.1、Wince操作系统的定制

一个良好的运行环境决定着程序运行的稳定性,一个稳定的系统也是需要精心定制和裁剪的,微软公司提供了一整套嵌入式系统解决方案,由于它的模块化设计和多种接口的支持,可以定制满足需求的最小软件模块和组件的嵌入式系统平台,利用较小的内存空间来完成目标系统的功能,可以利用其工具PlatformBuilder(简称PB)来实现。PB是开发基于WindowsCE嵌入式操作系统的专用开发工具。本文利用WindowsCE.net的PlatformBuilder4.2并根据目标平台的硬件配置对WinCE操作系统进行定制,删除在所开发的系统中不需要的功能块,精简组件,添加了触摸屏驱动程序,生成新建WinCE平台的映象文件,使系统占用最少的内存,然后将映象文件NK.Bin移植到目标设备的硬件平台即可。同时,使用PlatformBuilder导出在该平台上开发应用程序所需要的SDK。

定制系统时需要加入触摸屏的驱动,系统采用USB接口。过程如下:

(1)在c盘建立一个CEDB文件夹并把需要的所有文件放入该文件夹;
(2)运行PB开发环境,在project.bib文件中添加:
TouchKit.exec:CEDBTouchKit.exeNKS
DrawTest.exec:CEDBdrawtest.exeNKS
Calbration.exec:CEDBcalbration.exeNKS
UpdateEEPROM.exec:CEDBUpdateEEPROM.exeNKS
USBTouch.dllc:CEDBUsbTouch.dllNKSH
(3)编辑project.reg文件,在文件中添加:
[HKEY_LOCAL_MACHINEDriversTouchKit]
"RBSIZE"=dword:800
"RBTIME"=dword:989680
"FLAGS"=dword:1
"BeepFrequence"=dword:1F4
"BeepTime"=dword:64
"ZFilterThreshold"=dword:800
"ZFilterBound"=dword:00100001
"SoundType"=dword:0

[HKEY_LOCAL_MACHINEDriversUSBLoadClients14371_1_0_0255_255_255USB_TOUCH_Driver]
"DLL"="USBTouch.dll"
[HKEY_LOCAL_MACHINEDriversUSBLoadClients14371_2_0_0255_255_255USB_TOUCH_Driver]
"DLL"="USBTouch.dll"
[HKEY_LOCAL_MACHINEDriversUSBLoadClients4660_1_0_0255_255_255USB_TOUCH_Driver]
"DLL"="USBTouch.dll"
[HKEY_LOCAL_MACHINEDriversUSBLoadClients3823_1_0_0255_255_255USB_TOUCH_Driver]
"DLL"="USBTouch.dll"
[HKEY_LOCAL_MACHINEDriversUSBLoadClients3823_2_0_0255_255_255USB_TOUCH_Driver]
"DLL"="USBTouch.dll"
(4)编译并生成系统文件。

2.2应用程序设计

此界面的应用程序是在个人计算机上进行的。其开发平台是eVC4.0集成开发环境,在应用程序开发之前,首先利用PlatformBuilder4.2创建该平台上的SDK并导人到eVC4.0中,然后从eVC4.0的环境列表中选择所定制的平台,接下来就可以进行应用程序的开发、调试及运行了。

人机界面的功能模块主要包括机器概图显示、参数设置界面、配置界面、数据统计界面。本系统是采用一个基于主对话框的应用程序,各个不同的功能采用子对话框来表现。主对话框主要完成初始化网卡、启动接收数据线程和调用其它子对话框。工作时,控制台(简称上位机)主要接收包装机组发送来的系统信息并显示,例如各机器的工作状态、检测点故障等。同时,接收用户对参数的修改并向控制单元发送控制指令信息,这一功能通过用户触摸上位机的触摸屏来完成。上位机和控制单元之间通过ARCNET网络来进行通讯。系统流程图如图2所示。


图2系统流程图

2.3ARCNET网络软件设计

由于ARCNET通信协议是由COM20020的内部集成电路完成的,因此通信软件的开发主要体现在应用软件上,主要包括2部分:芯片的初始化和数据包的传输。

①初始化顺序。首先决定总线的工作方式,必须在COM20020内存空间中的奇位置任意作一些读写操作(当COM20020上电时,内部寄存器可以被读写)。在NODEID寄存器中写入一个非零值将会激活COM20020的核心部件,但是NODEID寄存器是否能被操作是由Setup寄存器决定的,所有Setup寄存器应首先被写。在NodeID寄存器中写入一个非零值后(节点地址必须是独一无二的网络才能正常工作),COM20020的核心部件将会被激活,然后设置Configuration寄存器的TXEnable位为1。

②数据包的传输。由于COM20020数据包结构中的有效数据放在数据包的最后位置,使用起来很不方便,本系统中首先按照用户数据包格式打包数据,然后调用函数把用户数据包转换为COM20020数据包格式,放入发送缓冲区内。接受数据包时,通过接收中断从缓冲区读取数据,并做一个相反的处理过程,把COM20020数据包转换为用户格式数据包。数据包格式转换如图3所示。


图3数据包格式转换示意图

3.结语

基于Wince嵌入式系统的操作员控制台的设计开发已成功的应用,并很好地完成了整个包装机系统的状态显示和控制。经实验,满足用户和设计要求。

作者简介:汪国林,男,1974年6月出生,重庆市人,汉族,工学硕士,讲师。合肥工业大学科研处,安徽省合肥市屯溪路193号,邮编:230009。联系电话:0551-2901124,13705601503,EMAIL:hfutwgl@163.com.主要从事:检测技术与自动化装置技术研究。

参考文献:
[1]COM20020DataBook[Z],StandardMicrosystemsCorporation
[2]ARCNETTutorial[Z],ContemporaryControlsCorporation,1999
[3]张冬泉,谭南林,王雪梅等.《WindowsCE实用开发技术》[M],电子工业出版社,2006
[4]周功业,汪惊奇,王建.ARCNET网络下数据采集的设计与实现[J].计算机工程,2003,29(12)

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭