新闻中心

EEPW首页>嵌入式系统>设计应用> 一种嵌入式数据终端的设计方案与实现

一种嵌入式数据终端的设计方案与实现

作者: 时间:2012-08-10 来源:网络 收藏

摘要:以MES 在制造业的应用为背景,针对企业车间的数据类型、数据采集手段、数据 下达与显示方式在各种行业千差万别的实际情况,提出了一种所有功能透明、受控于上位机 的基于S3C44B0 的智能交互终端的数据采集。此能解决数据采集终端在不同 行业间推广过程中的通用性问题,缩短系统的开发周期,日常维护和升级都非常方便。详细 地给出了交互系统的总体模型,智能数据交互终端的硬件平台、软件框架与流程。

本文引用地址://m.amcfsurvey.com/article/148623.htm

1、引言

传统的 ERP 等信息管理系统在制造业企业内发挥了重要的作用,但这些系统还未能延伸 到车间过程管理的环节,使车间过程管理自动化、信息化、智能化。现在新兴的MES 系统为 解决以上的问题,通常在车间借用各种数据交互终端。数据交互终端负责采集和处理最原始 数据并将其传送到工作站,同时接收工作站下达的操作命令[1]。但是,传统的数据交互终端 把业务流程及数据采集项定制成程序固化在终端内,当业务流程发生变化或在不同行业 中应用时,就需要花费大量时间修改终端程序与上位机应用程序。例如在一个系统中有N 台终端要不同的业务,就要N 套终端程序,使得终端程序的版本很多,很明显不能 适应现代企业的快速变化,也不利于行业间的推广。本文提出一种新的设计,引入业务 功能配置引擎与业务解析引擎。其中业务功能配置引擎为上位机应用程序核心,业务解析引 擎集成于数据交互终端。这样,当业务或行业变化时,只需改变上位机的业务配置引擎的配 置信息而无需改变终端程序。采用这样的设计方案可以加快系统开发进度,以及系统在各种 行业中的推广。

2、智能数据交互终端硬件平台

硬件平台采用Samsung S3C44B0 处理器,该处理器采用的ARM7TDMI 结构,最高频率 66MHz[2]。本平台以此处理器为核心,添加诸多外围模块,其硬件平台框图如图1 所示。

键盘,RFID 与液晶屏为终端的人机交互平台;系统的核心模块通过系统总线与处理器 连接;外接丰富的RAM 与ROM 资源可以提高系统软件设计的灵活性;以太网作为主要通讯接 口,使得系统通讯更加标准化,保证了通讯的速度与可靠性。在本系统中,除处理器、SDRAM、FlashRom 为主板固定模块,其它外围均采用可拔插的设计原理,这样当需求改变时,只需 插上或拔下需要的外围模块即可,这样的设计思想增加了终端的灵活性并缩短开发周期。

3、软件设计的思想与

3.1 智能数据交互系统的整体模型及工作原理

在讲述数据交互终端的软件前,首先介绍系统的整体结构以及其工作原理。图2 是MES 系统中的底层数据交互的总体模型。数据交互系统的上位机主要由业务需求模块、业 务配置引擎、数据解析引擎、引擎配置信息与底层通讯模块组成。系统从上层管理系统中获 取业务需求,业务配置引擎读取引擎配置信息,生成业务事件链,通过通讯模块根据工位地 址发送到相应数据交互终端,相反收到采集数据包时,数据解析引擎解析数据交互终端采集 到的数据,最后交由业务需求模块反馈回上层管理程序。数据交互终端软件主要由底层通讯 模块、业务解析引擎、终端表现层与外设驱动与响应模块组成。终端通讯层接收到上位机的 数据包校验正确后交由业务解析引擎。解析引擎根据引擎协议解析出业务事件链后,通过终 端表现层,并等待数据采集,采集完成后交由采集生成引擎,生成固定格式数据再返回上位 机,从而形成数据交互的闭环。

3.2 终端引擎的实现原理

以上为系统的工作原理,下文接着对数据交互终端业务解析引擎与数据采集引擎的实现 做详细的介绍。实现的功能主要就是:液晶显示与外设控制。液晶如何显示,显示那些内容, 外设如何控制,在没经过业务解析引擎前终端都是保持着上次状态,经过解析后才知道应该 实现那些东西,如何去实现。解析引擎就是根据特定协议将一段数据转化为逻辑控制功能的 库。也就是通过一种协议把终端的业务逻辑交给了功能强大的PC 机去处理。终端工作只是 每次逻辑计算后的表现。要实现以上的功能,就必须有一套完整的功能协议栈,设计协议栈 之前,首先将终端的功能进行模块划分,这里以通讯模块往后进行划分,主要有:键盘控制、 液晶显示、外设采集器控制。每个模块继续细化,尽可能表现各个模块的可能会出现的状态。 再次,功能协议的实现,协议由协议关键字与控制内容组成,比如关键字A 代表终端硬件模 块A,关键字A 后面的内容表示上位机要求模块A 要实现的功能,模块A 功能继续细化。如 表1 给出了部分功能协议组成。终端的响应上位机的业务状态主要由两个状态量控制,在程 序上我们定义为两个全局变量,分别用来表示下位机当前属于哪个业务功能与所属该功能的 步骤,在程序上定义为ID 与STEP,上位机系统已经把ID 与SteP 的逻辑流程设计好,例如 在某个ID 与STEP 状态时,终端屏幕上显示是工艺完成情况,并要求用户通过各种采集外设 进行数据采集,提交上位机。每次上位机发送下来的数据都是以ID+STEP+模块A 控制字 +模块A 控制数据+模块B 控制字+模块B 控制数据+…。同时设置触发模块的NEXT_ID与NEXT_STEP。当相应触发发生时,上位机可以根据NEXT_ID 与NEXT_STEP 向终端发送下个 业务流程与其步骤。比喻上位机是一个庞大的中央处理器,控制着业务流程的整个逻辑计算 与数据的组织,车间的所有终端就更像一个输入输出设备围绕着这个中央处理器。我们知道 计算ID×STEP 个逻辑需要一定的CPU 时间,如果将这个工作交给上位机(CPU 达到G 级的 处理器)去完成,处理能力有限的终端就可以去处理更多的其他采集工作。同时,ID×STEP 个业务界面需要消耗很多的 RAM 与ROM 资源,如果把这些界面固化与终端内部,将大大增 加了终端的硬件成本。而且当需求改变时,必须花大量的工作去更改每个终端的程序与数据。 如果把以上工作交给上位机处理,可以在很小的硬件资源中实现ID×STEP 个功能间的相互 跳转,而且当业务改变时,只需要改变上位机的逻辑关系与数据,而无需改变终端内部的应 用程序。表一给出了协议的部分组成。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭