数据监测模块的实时性分析与设计

2012-03-19 14:46:06来源: 互联网

数据监测模块的实时性分析与设计

在分析实时数据监测模块实时性需求的基础上,提出一个通用实时数据监测模块系统结构,并阐述该模块的软件实现。该系统采用MODBUS_RTU通信协议,采集各个监测模块的实时数据,并在LCD上以图形方式显示系统运行的情况。

关键词 实时性 数据监测 LCD μC/OS-II

  实时数据监测是保证大中型旋转机械安全运行的重要手段。随着工业自动化程度的日益提高,对旋转机械的实时数据监测的实时性、可靠性也提出了更高的要求。

  笔者在S3C44B0上基于μC/OS-II进行通用实时数据监测模块的设计,并将其应用在旋转机械监视保护系统中,实现了很好的实时性。该监测模块具有对32个模拟量测点进行采集、显示、通信与管理的功能。

1  系统实时性需求

  该实时数据监测模块是基于μC/OS-II进行设计的,而保证系统实时性的重要策略是系统的中断处理机制。下面首先对系统设计的中断处理机制进行分析。

1.1  中断处理机制分析

  实时系统最根本的特点是实时性,而中断处理程序是实时系统的重要组成部分,是RTOS实时性的重要体现。系统通过中断机制了解外部世界,并对外部事件立刻作出响应。实时系统的反应速度取决于系统对于中断的响应速度和中断处理程序的处理速度。为了获取对外部事件的最短反应时间,μC/OS-II系统中断响应过程如图1所示。第①阶段是中断延迟时间,从出现中断请求到当前任务开中断这一过程。实时系统在进入临界区代码段之前都要关中断,执行完临界代码之后再开中断。关中断的时间越长,中断延迟就越长。第②阶段是内核保存当前任务的状态,将CPU寄存器压栈,以便为中断服务。第③阶段调用OSIntEnter()函数或把中断嵌套层数计数器直接加1,用OSIntExit()函数,将中断嵌套层数计数器减1,当嵌套计数器减到零时,μC/OS-II要判定有没有优先级较高的任务被中断服务子程序唤醒。如果有优先级高的任务进入了就绪态,μC/OS-II就返回到那个优先级高的任务B。如果中断嵌套层数计数器大于0,μC/OS-II将被返回到被中断了的任务A。OSIntExit()函数的作用是进行中断级的任务调度。第④阶段恢复已压栈的寄存器值;最后执行中断返回指令,结束中断。

按此在新窗口浏览图片
图1  系统中断处理机制分析

  根据上述中断处理机制,中断响应时间是影响中断实时性的最重要指标,而中断延迟是其主要因素,延迟时间主要由系统时钟和关中断的时间决定。由于系统存在对任务和多中断的调度,所以中断延迟是个变量,一般为4~28个处理器周期。

1.2  实时数据监测模块实时性需求分析

  该实时数据监测模块最多同时对32个测点的数据进行实时监测。下面就以32个测点数目对该系统的实时性进行分析,并从系统测量时间、功能要求两个方面说明系统保证实时性的时间条件。

1.2.1  功能要求

  ①  32同步采样,即系统能够进行多通道采样,并且系统的A/D转换芯片对采样信号可以进行高速动态采集波形的要求,通道采集频率高达240 Hz。
  ②  A/D转换位数,不小于16位。
  ③  要求系统必须与计算机接口进行通信,并且接口具有足够的传输速率来满足系统的实时性要求。
  ④  要求该系统具有即插即用功能,在即插即用的同时,系统能够实时更新测点的数据以及状态参数。
  ⑤  该系统必须具有报警延时和报警保持功能。各个通道的报警延时用户可以根据自己的需要设定,并且报警状态可以被保持。

1.2.2  测量时间

  因为每个测点就是需要采集的一个数据源,因此系统需要同时对32个数据源的数据进行采集。每个测点可以分为多个通道(假设都为2个通道),系统需要同时采集的数据有64个。这样可以计算出系统测量周期t为:

  t=64×系统对每个通道数据源的测量时间

  每个通道的测量时间包括通信时间和A/D采集时间、显示时间。

(1)  通信时间

  系统通信采用工业控制和分布式系统协议MODBUS_RTU通信协议。通信协议采用十六进制的形式,所有寄存器采用的都是16位寄存器。寄存器中数据的排列采用大端格式。MODBUS_RTU基本帧格式如表1所列。

表1  MODBUS_RTU基本帧格式
按此在新窗口浏览图片

  该系统按照上述MODBUS_RTU的基本帧格式发送命令。发送命令基本流程如下:上位机按照表1叙述的MODBUS_RTU基本帧格式向下位机发送,下位机接收到上位机发送过来的命令后,执行相应的操作,然后将返回上位机应答信号。这一过程成为一个通信过程。该系统的一个通道的通信时间为10 ms。

(2)  A/D采集时间

  系统A/D采集转换需要采用高速动态的波形采集方式,每秒最高可采50 000个数据,那么采集一个数据源的时间为 2 μs。完成对32个测点64个数据源的采集时间仅为2 μs×64=128 μs。

  采集数据的频率最低可以为每秒钟采集2500个数据,那么采集一个数据的时间最大值为0.5 ms。

(3)  显示时间

  嵌入式触摸屏装置是一种人机交互设备,将触摸屏安装在LCD液晶屏上,配以相应的控制电路对触摸屏和LCD进行控制。用户通过触摸操作,就可以对相应的设备进行交互。触摸屏由触摸检测部件和触摸屏控制器组成。

  采集到的数据送回到触摸屏控制器的X与Y值仅是对当前触摸点的电压值的A/D转换值,它不具有实用价值。这个值的大小不但与触摸屏的分辨率有关,也与触摸屏与LCD的贴合情况有关。因此,要想得到比较精确的体现LCD坐标的触摸屏位置,还需要在程序中进行转换。假设LCD的分辨率是320×240,坐标原点在左上角;触摸屏分辨率是900×900,坐标原点在左上角,则转换公式如下:

按此在新窗口浏览图片

  式中:X、Y是对当前触摸点电压值的A/D转换值;X1、X2、Y1、Y2分别是触摸屏坐标的最大值和最小值。

  LCD显示时将采集到的坐标经过具体的转换程序进行转换。转换需要有一定的时间,所以LCD的显示时间t包括取得当前触摸点的电压值的时间以及由程序转换得到当前A/D转换值的时间。触摸屏采用中断方式对数据进行采样,可以利用定时器对触摸屏的采样基准时间进行设定,一般设定触摸屏的采样基准时间为10 ms。触摸屏每隔10 ms对数据进行一次采样,即每隔10 ms对每个通道的数据进行一次采样,并将其显示在LCD上。

  根据以上所述,系统对每个通道数据源的测量时间tchannel =通信时间tc +采集时间ts+显示时间tl=10 ms + 0.5 ms +10 ms = 20.5 ms。此时系统中最多64个通道,那么系统完成64个通道的测量周期为T=64×tchannel=64×20.5 s≈1 s,实时数据监测模块的设计必须满足上述要求才能很好地满足系统的实时性。

2  系统设计

  根据上述对实时数据监测模块实时性的需求分析,将整个系统的体系结构分为3个模块: 第1个模块是LCD显示模块,第2个模块是采集和通信模块,第3个模块是监测点模块。如图2所示,LCD显示模块用于显示采集数据和以按键方式发送命令。通信模块中LCD通过按键操作的方式通过MODBUS_RTU通信协议与各个监测点之间的通信连接,通信采用RS232/RS485无源转接器连接。该实时数据监测模块通过RS232/RS485对各个监测点的数据进行采集,并将采集到的数据送入各个监测点的数据缓冲区(数据缓冲区包括保持寄存器、控制寄存器和状态寄存器)。系统的数据链路层采用MODBUS_RTU通信协议。

按此在新窗口浏览图片
图2  模块结构

3  软件设计

  通过对各嵌入式操作系统的特点、性能进行可行性分析及比较,本模块采用了μC/OS-II作为该模块需要移植的操作系统。

3.1  任务划分

  μC/OS-II是一种占先式多任务内核,其实现的任务调度是基于优先级的,即优先级最高的任务一旦准备就绪,就取得CPU的所有权开始投入运行。目前,μC/OS-II管理多达64个任务,其中8个保留给系统,应用程序最多有56个任务,能满足一般嵌入式系统的需要。在μC/OS-II中,每个任务的优先级要求不一样且是唯一的,所以任务调度工作非常简单,即查找准备就绪的最高优先级任务,然后进行上下文切换。μC/OS-II下每个任务有休眠、就绪、运行和中断等状态。

  分析μC/OS-II的源码会发现,它把任务的优先级作为任务的标识符来使用。只有进入就绪态的最高优先级的任务才能得到CPU的使用权。任务划分是开发实时系统软件的重要一步。要基于简化任务间的通信这一目的进行任务划分,使各任务程序实现的功能模块化。在此模块中,将处理采集和通信任务都设置了较高的任务优先级,通信任务为Task40_ComputerCom,采集任务划分为TMapStaticData和TMapDynamicData。为使系统能够及时更新管理模块中的静态数据,将对功能模块静态数据进行更新的任务的优先级设置成两者中的最高。在模块中的其他任务可根据具体情况进行设置。表2详述此模块中创建的各任务的任务说明及优先级划分。

3.2  任务调度策略

TMapDynamicData任务轮询所有在线测点的实时数据;同时,该实时数据监测模块在RAM中为每个功能模块建立一个数据映射区,并在映射区中保存各功能模块的表号、变量参数、报警状态、工作状态等实时信息。在映射区中的数据可分为动态数

[1] [2]

关键字:模块  实时  分析  设计

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2012/0319/article_15271.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
模块
实时
分析
设计

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved