APP下载

基于星型拓扑网络结构的无线数据采集系统

2018-06-11关凯元夏静

电子设计工程 2018年11期
关键词:机软件参数设置上位

关凯元,夏静

(南京理工大学机械工程学院,江苏南京210094)

工业现场及武器试验场中数据采集单元往往分布在不同的地方,通常需要利用总线设计将分散采集到的数据传输到一个集中的监控设备,以便于监控和管理。采用无线通信技术组建数据采集网络可以简化布线操作且不受工作环境限制,适用于多点分布的数据采集情况[1-8]。本文设计一种基于STM32和SX1278的星型拓扑网络结构无线数据采集系统,可实现1 km范围内网络主从节点之间的指令传输和数据交换。

系统由数据采集模块和主机两部分组成。数采模块作为数采网络从节点分布于测试现场,以STM32为核心实现数据采集的参数配置、采集、存储等功能。主机作为网络主节点,负责对数据采集模块发出指令并接收模块上传的数据文件。此外,数据采集模块可通过触摸屏进行独立操作完成数据采集任务。

1 总体结构设计

无线数据采集系统的组成如图1所示。星型拓扑网络具有结构简单、组网方便、控制容易等优点,非常适合于无线数据采集网络的搭建[9]。网络主从节点之间通过地址识别实现点对点通信。

数采模块通过无线网络接收主机指令进行数据采集的参数设置,也可以根据模块触摸屏输入的指令进行参数设置。接入数采模块8个通道的模拟信号输入到STM32的ADC单元进行A/D转换,STM32根据预设参数及指令将转换结果进行处理后保存至存储卡中。数采模块根据主机发出的命令,通过无线网络或串口将存储卡中的数据发送至主机进行后续处理与保存。本无线数据采集系统的技术要求如下:

图1 无线数据采集系统原理图

1)系统支持8模块*8通道数据采集;

2)主从节点通信距离可达1 km;

3)数采模块可实现人机交互,能独立工作;

4)数采模块可进行多触发方式选择,实现多模块同步触发或分时触发;

5)数采模块中的数据可通过无线网络、串口或存储卡3种方式上传至主机;

6)模块最高采样频率为10 kHz;

7)模块A/D转换精度为12 Bit;

8)数采模块数据保存在外扩存储芯片中,实现掉电保存。

2 系统硬件设计

数据采集模块硬件PCB和组装实物图如图2所示。数采模块由5部分构成:主控单元、通信单元、数据存储单元、电源管理单元和辅助单元。

图2 系统硬件PCB和组装实物图

2.1 主控单元

数采模块采用意法半导体公司(ST)生产的STM32F103ZET6作为控制中心。STM32F103ZET6基于Cortex-M3内核,其最高主频率为72 MHz,拥有512 Kb FLASH,同时拥有SPI、IIC和SDIO等丰富的外围接口。STM32拥有16个12位逐次逼近型的模拟数字转换器,最大转换速率为1 MHz,满足系统设计要求[10-14]。由于STM32供电电压最高为3.3 V,所以输入AD单元的最高电压应钳制在3.3 V,而本数据采集系统输入电压信号上限为10 V,故信号电压经串并联分压电阻分压至原始电压值的1/3后输入AD单元。

数采模块采用4.3寸TFT彩屏作为显示屏,该显示屏采用NT35510作为驱动显示芯片,触摸驱动IC采用OTT2001A芯片,支持IIC通信[14],其分辨率为800RGB*480像素点。液晶显示屏通过2*17的排针与主电路板连接。TFTLCD模块采用8080总线接口,8080并口是由因特尔公司提出的,全称为8080并口协议,主要通过“读使能(RE)”和“写使能(WR)”两条控制线进行操作[14]。LCD控制器需要21个I/O口,背光控制1个I/O口,电容触摸屏需要4个I/O口,其中背光供电需要5 V电源,其他部分电源供电需要3.3 V,因此要求模块有双电源。

2.2 通信单元

数采模块可以采用无线和有线两种方式与主机建立连接。无线方式即通过无线网络连接,有线方式通过串口转USB方式连接。

2.2.1 无线通信单元

主机与数采模块均通过串口与无线通信单元连接,构成星型拓扑网络结构。数采模块搭载以SX1278为核心的TTL-32-1W串口无线通信单元,具有软件FEC向前纠错算法,在突发干扰的情况下,能主动纠正被干扰的数据包,提高数据传输的可靠性和传输距离。通过实测,无线通信单元有效通信距离可达1 km,可通过串口指令进行在线参数配置,可配置65536个地址,设置多信道,无线空中传输速率最大为19.2 kb/s。

主控芯片 STM32的串口 2(PA2,PA3)与无线通信单元串口连接,GPIO口的PC2、PC3连接无线单元M0、M1端口。通过配置M0、M1引脚实现无线单元4种工作模式的切换,如表1所示。

表1 无线单元工作模式

2.2.2 USB通信单元

数采模块采用串口转USB的方式与主机有线连接。STM32串口 1(PA9,PA10)经过 CH340芯片与USB+、USB-端口相连。主机通过安装虚拟串口驱动程序与模块串口连接。

2.3 数据存储单元

在保证采样频率和可存储数据量的前提下,要求数采模块具有掉电保存数据的能力,实现数据离线采集与存储的功能。因此数采模块存储单元由片外FLASH和存储卡组成。片外FLASH选用W25Q128存储芯片,芯片容量为16 MByte,选用STM32的SPI2接口连接,满足模块设计要求。存储卡选用TF卡,通过SDIO接口与主控芯片连接。

2.4 电源管理单元

数采模块可选用7.4 V锂电池或外接12 V直流电源2种供电方式。主控芯片标准电源电压为3.3 V,LCD屏需5 V供电。为提高电源利用率并满足双电压要求,模块采用二级降压的方式,先通过MP2359降压芯片将输入电压降至5 V后,再经过AMS1117-3.3芯片将5 V电压转降至3.3 V。

2.5 辅助单元

为提高数采模块独立工作的能力,完善其人机交互功能,模块设计有电源和工作状态指示灯、蜂鸣器、传感器电源、触发电路、自检报警、功能按键等辅助功能单元。

3 系统软件设计

3.1 上位机软件设计

上位机软件基于LabVIEW平台开发,主要分为模块设置单元、在线查询单元、数据载入单元、数据保存单元等,上位机软件界面如图3所示。

图3 上位机软件界面

上位机主程序主要采用改进的LabVIEW“生产者-消费者循环”为主要设计框架。经典的“生产者-消费者循环”主要由事件响应循环-生产者循环,以及事件处理循环-消费者循环组成[15-16]。本系统软件在经典的循环上增加了通知器和通知器循环,用来传输和显示子VI传递来的数据;并且增加了用户事件,使得改进的“生产者-消费者循环”能更加稳定的退出。

3.1.1 串口参数配置单元

上位机软件第一次运行或添加数采模块,都需要进行串口参数配置,包括串口地址、通道号、波特率的配置,使上位机软件串口地址和数采模块无线通信地址对应,以实现点对点数据传输。

3.1.2 数据采集参数设置单元

在进行数据采集之前,必须对数采模块进行单独的数据采集参数设置。参数设置完成后,上位机软件将设置信息通过串口发送到无线通信单元,无线通信单元通过点对点模式(上位机无线通信单元目标地址设置为对应数采模块地址),将参数发送至对应数采模块。数据采集参数设置主要包括采样率、采样时间、文件编号、零点设置、通道选择、标定系数设置和触发方式选择等。

3.1.3 在线查选单元

为了判断选择的数采模块能否正常工作,需要对其进行在线查询。检查完毕之后,上位机软件会自动关闭无法正常通讯的数据采集模块。

3.1.4 无线开始数据采集命令单元

上位机软件通过串口向无线通信单元发送开始数据采集命令,无线通信单元通过广播模式(上位机无线通信单元目标地址设置为0xFFFF)向所有在线的数采模块发送开始数据采集命令,并且等待1.2倍的的最大采集时间,使上位机程序在采集进行中不响应用户命令,以防止上位机软件对数据采集产生干扰。无线开始数据采集方式与另外3种触发方式(按键触发、上升沿触发、下降沿触发)不同时兼容,需在数据采集参数配置过程中进行唯一设置。

3.1.5 数据载入及保存

在数据采集完成之后,需要载入采集到的数据。点击上位机软件数采模块指示灯下面的载入按钮,可以选择单通道载入数据或全通道载入数据。

数据载入时,每100点数据将会通过通知器来显示数据。载入完成之后,上位机软件会将数据转换成波形数据,转换后的波形数据自动保存至软件根目录的“数据”文件夹。

3.2 下位机软件设计

下位机程序使用C语言基于Keil 5平台进行编写,实现数采模块初始化、触摸屏参数设置、无线通信、数据采集、曲线显示和存储等功能。

数采模块通过STM32的FSMC接口来控制TFTLCD触摸屏,通过存储于W25Q128芯片中的GBK字库和FSMC相关库函数绘制模块触摸屏界面,如图4所示。

图4 数采模块屏幕界面

数采模块通过FATFS文件系统单元管理TF卡,实现TF卡新建文件、写入文件、存储文件、修改文件等功能。FATFS单元移植的时候,需修改2个文件:即ffconf.h和didkio.c。FATFS单元的所有配置选项都是存放在ffconf.h里,通过配置其中的一些选项来满足要求。FATFS的移植主要步骤:

1)在integer.h里定义的数据类型需与使用的MDK编译器一致;

2)通过ffconf.h配置FATFS相关功能;

3)打开diskio,c进行底层驱动编写。

4 实验验证

为了验证本系统功能,对某小型固体火箭发动机进行压力、推力的两通道数据采集试验。在该固体火箭发动机燃烧室壁面安装压力传感器,推力传感器固定于测试台的承力桩,另一端与发动机的头部接触但不产生轴向力。数据采集模块1通道用于采集压力信号,2通道用于采集推力信号。两传感器供电桥压设置为10 V,采样时间为2 s,采样频率为1 kHz。

图5 某固体火箭发动机推压力试验曲线

如图5所示为某固体火箭发动机推力和压力试验曲线,试验数据经无线网络上传至上位机软件显示并保存。该固体火箭发动推压力结果分析如表2所示。

表2 某固体火箭发动机推压力参数

通过验证试验的数据分析,本测试系统达到设计技术要求,具有较高的稳定性和采样精度,具备一定的实用价值。

5 结束语

本文介绍了一种基于星型拓扑网络的分布式无线数据采集系统。数据采集模块采用前置液晶屏作为人机交互界面,基于STM32主控芯片实现模块8通道的离线数据采集与存储功能。数采模块搭载的TTL-32-1W串口无线通讯单元实现了复杂环境下的稳定无线通讯。作为网络主节点的上位机通过LabVIEW软件实现发送指令和接收数据的功能。通过试验验证本数据采集系统达到了预期要求,具有较好的运用价值。

猜你喜欢

机软件参数设置上位
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
蚁群算法求解TSP中的参数设置
道岔监测系统上位机软件设计
基于正交试验法的北斗用户机软件测试用例设计
PCI-e高速数据采集卡的驱动与上位机软件设计
RTK技术在放线测量中的应用
动车环境下U900异频切换参数设置探讨
以新思路促推现代农业上位