APP下载

剧院观演空间环境参数自动测试系统研究

2021-02-24任慧赵博彭景

关键词:环境参数流程图以太网

任慧,赵博,彭景

(1.中国传媒大学信息与通信工程学院,北京 100024;2.视听技术与智能控制系统文化和旅游部重点实验室,北京 100024;3.现代演艺技术北京市重点实验室,北京 100024)

1 引言

剧院是一个用来表演话剧、歌剧、歌舞等文化艺术活动的场所,在文娱活动演出期间,室内舞台设备和机械的运行、相关人员的密集流动都会导致剧院室内噪声、温度、相对湿度和二氧化碳等环境参数的变化扰动。上述环境参数的变化会直接影响表演者的心理、身体状态,观演者的观看感受,进而影响整个剧院演出效果。为保障剧院的演出效果和观众的观看感受,国家在《剧场建筑设计规范》(JGJ 57-2016)中对剧院室内的一些环境参数制定了相关标准,如在设有空气调节的剧院内,夏季室内相对湿度应在40%-70%之间,温度应在24 ℃-28 ℃之间,稳定状态下二氧化碳的允许浓度小于0.25%,对于升降乐池及台口内舞台设备运行时的噪声,在观众席第一排中部应小于60dB(A)。此外,对于目前配置复杂、规模大、精度高、高度集成化、自动化和信息化的舞台设备来说,合适的剧院室内环境是其安全稳定运行以及保证演出安全和人身安全的必要条件[1]。

目前,国内外对于剧院室内环境参数的测试只有单点、单一且非自动、非实时的手持式设备,还未有综合的多参数自动测试系统。因此,针对此问题,本文以STM32F407ZGT6微控制器的主控电路、LCD液晶显示触摸屏、RS485通信接口、环境传感器以及Modbus RTU通信协议、UCSOII操作系统、LWIP网络协议栈等软硬件为基础,研究设计了剧院观演空间环境参数自动测试系统。

2 系统硬件设计

2.1 系统总体硬件结构

系统总体硬件结构如图1 所示,其工作原理是主控电路按照Modbus RTU通信协议与RS485通信接口相连的四个CO2、温湿度一体化传感器和四个噪声传感器进行通信,RS485通信接口负责转发主控电路的下传命令和传感器的上传数据,主控电路收到由传感器发送来的环境数据后进行处理和转换,并将其显示在LCD液晶屏上。屏幕共设置6个显示页面,第1页为开机界面,第二页为剧院环境参数选择页面,其余4页分别对应相对湿度、温度、二氧化碳浓度和噪声分贝值的界面显示,通过触摸屏实现不同页面间切换。同时,主控电路可以通过以太网或串口(RS232标准)的方式直接或间接的将环境数据向上传送给具有以太网接口的上位机系统进行集中管理、远程监控和数据存储等。

图1 系统总体硬件结构图

2.2 主控电路设计

主控电路结构如图2所示,STM32F407ZGT6是主控电路的核心,它是完全围绕ARM Cortex-M4内核构建的微控制器,有着非常丰富的资源,如集成FPU和DSP指令、192KB SRAM、1024KB FLASH、12个16位定时器、位定时器、2个32位定时器、10/100M以太网MAC控制器、FSMC以及各种常用通信接口等,集高性能与低功耗于一身,从而为计算机应用提供了很好的解决方案。

图2 主控电路结构图

由于STM32F407ZGT6内部存储资源有限,且系统的软件设计需要移植UCOSII操作系统和LWIP协议栈,所以为了满足系统的运行内存需求和字库存储,主控电路中加入了1MByte SRAM和128Mbit FLASH。同时为了方便下载程序代码和调试,板载了SWD接口电路。

因为主控电路要通过RS485接口与传感器通信,并且可以将采集到的环境数据通过以太网传输到上位机进行进行集中管理、远程监控和数据存储,所以在设计主控电路时需要包含RS485接口电路和以太网接口电路,并且增设了一个RS232接口电路以增加数据传输接口的多样性。

LCD接口用于外接显示环境参数的LCD液晶显示触摸屏,触摸控制显示屏的翻页,LED用于指示电源状态和程序运行状态,引出的SPI、IIC等I/O口用于增加更多的外部设备。

3 系统软件设计

3.1 Modbus RTU通信协议分析

Modbus 是一种串行的、非同步的通讯协议和全球通用的工业标准,此协议无需特别的接口,典型的物理接口是RS485[2]。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信,不同厂商生产的控制设备可以连成工业网络,进行集中监控[3]。Modbus协议规定了主节点的请求的格式、功能码、错误检测域等。

控制器通信使用主-从技术,即仅主设备能初始化传输(查询),从设备根据主设备查询提供的数据作出相应反应。Modbus 协议建立了主设备查询的格式:设备地址、功能代码、所有要发送的数据、错误检测域。主-从查询、回应周期如图3所示。

图3 主-从查询、回应周期图

RTU(远程终端单元)是Modbus的两种传输模式之一,当控制器设为在Modbus网络上以RTU模式通信,消息中的每个8Bit字节包含两个4Bit的十六进制字符。其数据帧如表1所示。

表1 RTU数据帧

使用RTU 模式,消息发送至少要以3.5 个字符时间的停顿间隔开始,在最后一个传输字符之后,至少3.5个字符时间的停顿标志着传输的结束。

整个消息帧的传输必须连续进行。

标准的Modbus协议有两种错误检测方法:奇偶校验和帧检测(LRC、CRC),RTU模式下,消息帧包含了基于CRC方法的错误检测域,CRC域是两个字节,是一个16 位的二进制值。它由传输设备计算后加入到消息中,接收设备收到消息后重新计算CRC,并与接收到的CRC 域中的值比较,如果两值不同,则有误。

3.2 UCOSII操作系统与LWIP协议栈

3.2.1 UCOSII操作系统

本系统移植了UCOSII操作系统,UCOSII由Micrium 公司提供,是一个可移植、可固化、可裁剪、可固化、执行效率高、占用空间小、抢占式多任务实时内核,它适用于多种微处理器,微控制器和数字处理芯片,该系统源代码开放整洁、一致,注释详尽,适合系统开发[4]。UCOSII最多可以管理60个任务,可以供用户使用的任务数最多为56个。

UCOSII的软硬件体系结构如图4所示,主要分为应用层、中间软件层和硬件层,中间软件层为UCOSII源码内容,移植工作需要结合其体系结构进行,具体步骤为:移植准备(基础工程、UCOSII源码下载)➝在基础工程中按图4中间软件层的分类建立UCOSII相关文件夹➝UCOSII源码分类存入文件夹➝UCOSII有关文件加入到工程中➝屏蔽ucos_ii.h 中 的app_cfg.h,添 加includes.h ➝屏 蔽stm32f4xx_it.c 中的中断服务函数SysTick_Handler、PendSV_Handler➝开启sys.h中支持os的宏定义SYSTEM_SUPPORT_OS。经过以上步骤,可完成UCOSII的移植。

图4 UCOSII软硬件体系结构图

3.2.2 LWIP协议栈

LWIP协议栈是瑞典计算机科学院的Adam Dunkeis开发的一个小型开源的TCP/IP 协议栈,LWIP 是Light Weight(轻型)IP 协议,即可以运行操作系统上,也可以运行于无操作系统环境[5]。因为它只需要很小的RAM和ROM便可运行,所以适合在中低端嵌入式系统中使用。LWIP提供RAW、SOCKET和NETCONN三种接口方式。本系统采用的接口方式为有操作系统的NETCONN API。

LWIP1.4.1版本的源码内容如图5所示,其中src文件夹是移植的重点,该文件夹由api、core、include、netif四个文件夹组成。api文件夹里面是SequentialAPI以及Socket API两种接口函数的源码,core文件夹里面是LWIP内核源码,include文件夹里面是LWIP相关的头文件,netif文件夹里面是与网络底层接口有关的头文件。

图5 lwip1.4.1源码内容

有操作系统LWIP的移植步骤具体为:移植准备工作(基础工程、LWIP文件下载、ST以太网库)➝添加及修改ST以太网库➝添加网卡驱动程序➝LWIP数据包和网络接口管理➝添加LWIP源文件➝添加及修改arch、lwip_comm等中间文件➝LWIP源码修改➝LWIP的裁剪与配置。经过以上步骤,可完成LWIP的移植。

3.3 系统程序设计

3.3.1 UCOSII用户任务设计

本系统共设计了六个UCOSII用户任务,任务参数如表2所示,其中TCPSERVER任务用于创建TCP服务器线程,LWIP_DHCP用于获取动态IP地址、子网掩码以及默认网关等,GET_DATA任务用于实现传感器数据获取与处理、触摸检测翻页、TCP传输数据处理等功能,TCP任务用于实现LWIP初始化、TCP服务器初始化、DHCP任务等,LED任务用于检测系统运行情况,START任务用于创建GET_DATA、TCP、LED任务。

表2 任务参数

3.3.2 系统主程序设计

系统首先进行HAL库、时钟、延时、USART、USMART、LED、RS485、触摸屏、外部SRAM、外部FLASH、内存池等相关功能和外设的初始化,然后对UCOSII初始化,初始化成功后创建START任务,最后开启UCOSII。主程序流程图如图6所示。

图6 主程序流程图

3.3.3 系统功能模块程序设计

(1)基于Modbus RTU协议的RS485通信程序

根据Modbus RTU协议主设备的查询格式,依次将设备地址、功能代码、所有要发送的数据,CRC校验函数计算的校验值存入发送数组,在发送命令后,依据数据段长度的不同分别将接收到的且校验无误的温湿度、CO2和噪声数据存入不同的缓存数组。具体通信流程如图7所示。

图7 RS485通信流程图

(2)传感器数据获取与处理程序

八个传感器的地址码依次被设定为01H-08H,依据地址码八个传感器分别被编号为0-7,前四个为温湿度、CO2传感器,后四个为噪声传感器。当传感器编号小于4时,将获取到的原始数据存入以太网发送数组,将处理后的数据依次存入湿度、温度、CO2和CRC数组,当传感器编号大于4时,将获取到的原始数据存入以太网发送数组,将处理后的数据依次存入噪声和CRC数组。具体流程如图8所示。

图8 传感器数据获取与处理流程图

(3)TCP连接与数据传输程序

为了节省CPU资源,加快运行速度,经由以太网向上位机传输的环境数据需要先经过缓存处理,当缓存完一次采集的所有传感器数据时(72个字节)下位机将数据打包后(加入CRC校验)发送到上位机进行分析、图形化显示和存储,发送过程是在TCP服务器线程进行的,其具体流程如图9所示。

图9 TCP连接与数据传输流程图

(4)LCD显示程序

根据功能需求,系统共设计了开机、参数种类选择、湿度、温度、CO2、噪声界面六个界面,界面页数依次被设定为0-5,界面的选择显示由界面页数确定,其具体显示方式和过程如图10所示。

图10 LCD显示流程图

(5)触摸检测翻页程序

本系统在触摸屏上共设定了“进入系统”、“湿度”、“温度”、“CO2”“噪声”、“返回”等六个触摸按键,当在相应界面触摸按键被按下时,系统会执行界面跳转动作,具体触摸控制流程如图11所示。

图11 触摸检测翻页流程图

(6)串口数据传输程序

当获取到一个传感器采集的环境参数时,经RS232标准串口传输数据的过程如图12所示,串口依据传感器编号是否大于4 选择发送温湿度、CO2数据或噪声数据。

图12 串口数据传输流程图

4 结论

目前,对于国内外剧院观演空间没有完整的环境参数自动测试系统,本文采用先进的ARM嵌入式技术将多个环境参数进行了集成化、自动化测试,填补了国内外剧院环境多参数自动测试的空白。系统调试结果表明,实现了操作便捷、功能齐全的要求,具有较高的可靠性、稳定性和扩展性,可以很好的完成剧院观演空间环境参数自动测试任务。本系统的研究,对剧院观演空间环境的实时监测提供了有效的参考数据,保障了剧院演出效果,具有一定的实用价值。

猜你喜欢

环境参数流程图以太网
云的识别指南
Microchip推出首款车载以太网音视频桥接(AVB)全集成解决方案
基于梯度提升决策树算法的鄱阳湖水环境参数遥感反演
三大因素驱动创新提速以太网快步迈入“灵活”时代
三大因素驱动创新提速 以太网快步迈入“灵活”时代
基于ZigBee的多环境参数监测系统设计
农业大棚环境远程监控系统的研究与设计
一种基于三模冗余的智能复合传感器设计
流程图学习指南
基于ENC28J60的嵌入式以太网/CAN网关设计