一种面向MES嵌入式无线检测终端的设计

2012-07-04 09:42彭小军
制造业自动化 2012年14期
关键词:串口终端无线

彭小军

(新余学院 机械工程学院,新余 338004)

0 引言

在我国国民经济产业中,制造业占据了相当重的比例,制造业的发展不仅促进了工业的发展进程,它还逐渐渗透到我们生活当中,对我们的生活、生产、文化都造成了一定的影响。制造业信息化的过程是指将信息技术应用到制造业当中,将产品从设计到维护的整个流程都记录在信息当中,在促进企业生产效率的同时,方便了企业的管理。随着信息技术的不断改进,该技术的应用范围日益增广,它逐渐渗透到了工业领域及制造行业。

1 相关技术研究

1.1 ZigBee无线通讯技术

Zigbee技术具有双向、无线通讯、短距离、低消耗、低复杂度和低成本等特点,作为一种通信技术,它在控制领域的应用范围较广,在多种设备中都可以安装。与其他通信技术相比,Zigbee技术具有低耗低成本和地数据传输的特点,这也就决定了该技术适应的业务都具有小数据流量的特点。Zigbee协议中包含两种设备,即全功能设备FFD和简化功能设备RFD,FFD是负责网络节点的集中和协调,RFD负责终端节点,所以在该协议中FFD为主协调器,RFD为从协调器。

1.2 嵌入式技术

嵌入式技术是针对计算机专业系统装置或设备来说的,该系统的控制程序通常都储存在只读内存当中。为了完善离散型制造业MES系统的功能,增强系统的一致性、配置型、扩展性和接口的多样化,需在无线传感网络MES中嵌入系统。改善后的无线检测终端对系统和设备的集成有明显的提高,设备各方面的性能、通用性和使用范围也因此得到了改善,同时还推动了企业信息技术的发展。

2 无线检测终端平台的硬件设计

本文针对离散型制造执行系统在制造行业中的运用实例进行说明,本文网络的管理结构是使用的半分布式数据结构。传感器节点和协调器节点是组成这个系统的两大结构。

2.1 核心控制模块硬件设计

核心控制模块需要控制任务管理、路由协议、同步定位和节点处理等模块,所以该控制模块须具有外设功能、低能耗、外围设备资源丰富等特点才能满足外围电路设计的要求,目前以ARM7TDMI体系中的AT91SAM7S64结构最为合适。无线检测终端的电源形式有五种分别是1.8V、3.3V 、5V、 24V、12V。其中24V和12V这两个电压是由开关电源管理。5V电压须经降压芯片处理成3.3V后才能使用,从而保证电压的稳定性。AT91SAM7S64内部包含了两个收发器,该收发器有一个通用的同步异步双工串口,如图1所示为串口通信电路原理图。

2.2 无线通信模块电路设计

图1 串口通信电路原理图

RS232的传输距离在50以内,而检测系统在实际传输中的传输距离远远大于RS232的传输距离,所以需要用接口RS485来扩展传输距离。RS485接口的转换电路包括三个部分,即电源、485电路、232电平转换。RS485使用的电路是集成电路MAX485,MAX485利用MAX485控制数据的输入输出是依靠RE和DE这两个引脚完成的,所以这两个引脚电平的高低就决定了数据输入输出的有效性。

3 无线检测终端平台的软件设计

3.1 FreeR TOS系统的移植

在FreeRTOS系统中的内核编程使用的都是C语言,所以使用的单片机应用软件Keil必须是兼容C语言的软件。从FreeRTOS中下载最新源码FreeRTOSV5.0.4,将下载后的源码进行解压释放到一个方便的途径。首先在FreeRTOS/Source/portable/keil下创建一个[architecture]文件夹,然后把空白的portmacro.h文件和port.C文件放置在[architecture]文件夹中,portmacro.h文件和PORT.C文件中有函数和宏列表,桩文件stub files只需参照这两个文件就可获得所需函数和宏。

3.2 系统驱动开发

驱动硬件和系统的操作内核是通过设备驱动程序来连接的,硬件设备对应用程序来说仅仅是一个文件,它的作用就是简化应用程序在硬件中的细节问题。

3.2.1 UAR T驱动开发

对缓冲区UART下定义,分离缓冲区内的驱动程序和驱动硬件,用户程序和驱动硬件间的联系依靠缓存技术来完成。如下所示为UART缓冲区的定义表达式:

typedef struct

{

int AppFlag;

unchar RrcvIsBuzy;

uint waitrecvtime;

unchar sendbuff [MAX_Q_UNIT];unchar recvbuff [RECVBUFFSIZE];

}UArT_BUF;

初始化串口函数Init_UART0 (),中断串口,设置芯片外围参数,按照系统中的时钟频率、波特率等参数对与UART相关的寄存器进行设置,保证能串口的正常使用。

以recvbuff为基础,增加queue,在驱动程序中UART包括了两个队列,一个负责数据发送,一个负责数据接受。发送队列在发送时需注意以下几点:首先必须保证发送队列中包含数据,让能发送处于中断状态,中断服务程序会在能发送中断的状态下将发送队列中包含的数据发送至指定串口。加载后的设备保持数据接收状态,若程序中断,则将数据copy到queue文件内,在读取数据和调用数据时需进入到queue文件中。若如果有数据,则按照queue文件内的数据发送过去,如果没有数据,就需要等待,直至接收中断。

3.2.2 LCD驱动开发

在初始化函数之前需先初始化LCD控制器,在寄存器中设置控制器的颜色数目和显示模式,然后按照不同的设置将LCD分配到不同的缓存区域。缓存区面积计算方式为:点阵的行数×列数×表示单个像素的比特数÷8。若LCD显示的点阵行数为320,点阵列数为240,像素比特数为1,则该显示缓存区的大小为320×240×1/8=9600比特。分配缓存区通常储存在大容量片外SDRAM中,起始地址则由LCD控制寄存器保存。编写底层驱动SED1335液晶控制器的程序。读写数据函数包括两种,即自动读写和一次读写,在这之前需设置好指针的地址及状态的检查。检查完毕后输入指令代码,数据操作过程就算完成了。

3.3 终端界面设计

传感器、调节器节点的数据发送和收集、主程序处理模块和通信服务子程序这四个部分是构成无线检测终端软件系统的主要部分。主程序处理模块在软件系统中主要负责功能模块初始化,它还可以

设置寄存器的工作模式和其他内部微处理器的工作参数。之后就是数据的传输,建立通信链路,并保证数据在链路传输中的可靠性和稳定性。通信服务子程序在软件系统中主要负责数据的接收、处理、打包和发送,保证数据完整可靠的进入用户应用程序,显示和调用终端检测信息,储存数据到数据库。如图2所示为主程序处理模块的流程图。

图2 主程序流程图

3.4 无线传感器网络的数据传输

PSFQ是Pump Slowly, Fetch Quickly的缩写,其意思就是慢分发和快提取,它是一种建立在可靠数据上的传输协议。判断丢失消息能否找回的标准是比较接收序列号和预期序列号的大小,若大于则代表能找回,从而启动错误恢复操作。流经中间节点的数据都是可靠而有保障的,它的发送序列号和转发次序是严格按照顺序发送的,这样一来,就少做了很多无用功。PSFQ在程序中的作用是保证报文缓存数量在中间节点的平衡性,同时它还能降低错误恢复所需的开销。

PSFQ传输协议有三个优点,即信息传递、错误恢复、选择性状态报告,信息传递是指将消息传入网络当中。在中间节点设立一个数据缓存区,这样不仅可保证数据有序的传达,还具有恢复丢失的文件、消息功能,数据缓存区可以检查数据的接收量,以便及时发现数据是否缺失。中间节点在消息传递过程中担任检验者的角色,负责消息的中转及错误恢复操作的启动。

4 结束语

软件X-CTU是一款专门用于测试模块或程序性能的软件,本文利用它来检测XBee无线通信模块的配置和性能。X-CTU软件操作相对简单,需要的辅助设备较少。但X-CTU软件也存在一些不足,比如它只有在Windows平台上才能完成检测,且 系统操作平台的版本不能低于Windows98。设计出来的检测终端已经过实际的验证,将检测信息进行分析,这些信息就体现了该企业设备的使用效率,针对缺陷做出改善,从而达到提高生产效率的目的。

[1] 吕强, 刘玉华, 刘志军, 王国胜.基于ZigBee技术的无线温湿度检测终端设计[J].科学技术与工程, 2008, 8(23).

[2] 包盛花.基于DSP和CPLD的电力参数检测终端的设计[J].电子设计应用, 2004(1): 88-90.

[3] 王玮, 樊则宾.基于CC2430的无线温度检测终端的设计[J].电子工程师, 2007, 33(8): 78-80.

[4] 赵洪军.基于GPRS的电能质量检测终端设计[J].农业科技与装备, 2011(2).

猜你喜欢
串口终端无线
复杂线束在双BCI耦合下的终端响应机理
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
《无线互联科技》征稿词(2021)
浅谈AB PLC串口跟RFID传感器的通讯应用
X美术馆首届三年展:“终端〉_How Do We Begin?”
基于EM9000工控板高性能双串口通信模型设计与实现
通信控制服务器(CCS)维护终端的设计与实现
无线追踪3
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析