数据监测模块的实时性分析与设计
[09-13 17:02:56] 来源:http://www.88dzw.com 控制技术 阅读:8269次
文章摘要:表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个数据,那么采集一
数据监测模块的实时性分析与设计,标签:计算机控制技术,工厂电气控制技术,http://www.88dzw.com表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详述此模块中创建的各任务的任务说明及优先级划分。
- 上一篇:步态加速度信号的无线采集系统设计
《数据监测模块的实时性分析与设计》相关文章
- › 数据监测模块的实时性分析与设计
- 在百度中搜索相关文章:数据监测模块的实时性分析与设计
- 在谷歌中搜索相关文章:数据监测模块的实时性分析与设计
- 在soso中搜索相关文章:数据监测模块的实时性分析与设计
- 在搜狗中搜索相关文章:数据监测模块的实时性分析与设计