智慧机场数据采集板卡设计

2021-05-10 03:10刘国栋张海涛张晓冬
微处理机 2021年2期
关键词:板卡空管字节

王 丹,刘国栋,张海涛,张晓冬

(1.中国电子科技集团公司第四十七研究所,沈阳110000;2.中国人民解放军95979 部队,山东 新泰 271207)

1 引 言

智慧机场[1-2]是目前机场建设和发展的趋势,在智慧机场的规划中,应该力求实现集成化、智能化、简洁化的管理。但现实情况是,我国大型机场一般都存在多种相似、相关、独立的系统,彼此数据传输协议不统一,各自采集的数据无法共享,更谈不上数据分析和挖掘,而数据共享和挖掘恰恰是实现智慧机场的精髓,因此,打破信息孤岛是建设具备“互联网+”属性的机场管理系统的关键一步。鉴于此,针对智慧机场项目,设计一款数据采集板卡,其功能是采集空管设备集中监控系统中的导航设备数据,通过互联网传输到云平台,实现统一的数据管理和数据共享。

2 数据采集板卡功能介绍

空管设备集中监控系统是为民航系统设计的智能数据采集控制平台,其功能框图如图1 所示。数据采集板卡是其重要组成部分,负责采集导航设备信息。数据采集板卡与导航设备通过串口进行数据传输,完成数据解析、判断、显示,并通过网络接口发送给中间机,再由中间机发送给云服务器。

图1 空管设备集中监控系统功能简图

3 硬件设计

数据采集板卡的核心芯片选用ST 公司的低功耗微控制器STM32F107。STM32F107 基于ARM[3-4]Cortex-M3 的 32 位 RISC 内核,内嵌 256 kB Flash及64 kB SRAM。片上集成GPIO、数模转换器、模数转换器、定时器、RTC、DMA、看门狗。此外片上还载有丰富的通信接口,如 I2C、SPI、I2S、USART、UART、USB、CAN、Ethernet 控制器等,能够完全满足项目的资源需求。

该数据采集板卡硬件设计功能框图如图2 所示。程序代码是被存放在STM32F107 的内部Flash中;数据存放在片上的SRAM 中。串口负责接收空管设备集中监控系统中导航设备数据,由STM32F107 进行数据CRC 校验、数据分析等处理,在LCD 上显示导航设备的相关数据及调试信息,通过以太网发送到远端的云平台。另外通过以太网实现远程固件更新功能,EEPROM 存储器存放配置信息;LED 指示灯会提示板卡运行状态;按键提供板卡复位等功能。

图2 数据采集板卡硬件功能框图

STM32F107 内部还集成了以太网控制器MAC,因此需要外接以太网收发芯片PHY。为此,该板卡选用了LAN8720 芯片。使STM32F107 与LAN8720通过RMII 接口实现彼此互联。具体连接形式如图3所示。

图3 STM32F107 与 LAN8720 连接图

4 软件设计

4.1 开发环境介绍

数据采集板卡软件采用的是Keil 集成开发环境,包括编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库等,同时提供仿真调试等功能,完全满足项目的开发需求。

4.2 软件功能设计

数据采集板卡的软件流程如图4 所示。

图4 数据采集板卡软件流程

4.2.1 设备初始化

如图4 流程图可见,软件工作的第一步要对设备进行初始化处理,其详细过程如下:

1、STM32F107 内部系统时钟设置为72MHz;

2、定时器配置为5 秒产生一个中断,发送PING数据帧给导航设备;

3、启动看门狗,防止程序跑飞;

4、初始化串口;

5、初始化 I2C,通过 I2C 读写 EEPROM;

6、初始化网络相关软硬件配置;

7、初始化LCD 控制,并显示程序启动信息。

4.2.2 与外界设备通信

该数据采集板卡与外界设备通信接口包括两大部分:串口收发导航设备数据;网络接口收发数据给中间机。

1) 串口收发数据

数据采集板卡通过串口与导航设备之间进行数据传输。根据导航设备的接口要求,串口要求波特率9600,数据位1 位,停止位1 位,无奇偶检验。

数据采集板卡与导航设备之间的帧格式如图5所示。

图5 数据帧格式

其中各部分说明如下:

帧头:占3 个字节,内容固定为7EH 7EH 7EH。

指令:占1 个字节,详细的请求与应答指令如表1 所示。

表1 通信指令

数据长度:占2 个字节,数据长度包括数据内容及CRC32 所占用的字节数,低位在前。例如:连接测试请求“7E 7E 7E 01 05 00 00 92 7A 33 9F”中,数据长度为5 个字节。

数据内容:占用的字节数不确定,会根据不同的指令有所变化。

CRC32:占4 个字节,从指令开始至CRC32 前的所有字节均要进行校验,多项式为EDB88320H。

2) 网络收发数据

数据采集板卡通过网络接口与中间机进行数据传输,网络接口遵守的网络协议是基于轻量级的TCP/IP[5]协议栈——LwIP[6]。该协议栈是由瑞士计算机科学院开发的用于嵌入式系统的网络协议族。LwIP 的优点是在保留TCP/IP 协议主要功能的基础上,减少存储器利用量和代码尺寸,更适合应用于小的、资源有限的处理器,如STM32F107。

LwIP 的主要特性可归纳如下:

支持多网络接口下的IP 转发;

支持ICMP 协议;

包括实验性扩展的UDP;

包括阻塞控制、RTT 估算、快速恢复和快速转发的TCP;

提供专门的内部回调接口(Raw API),用于提高应用程序性能;

具有可选择的Berkeley 接口API;

支持 ppp、IP fragment、DHCP 协议;

动态分配IP 地址;

支持IPv6。

该数据采集板卡的软件核心代码是基于TCP协议[7](Transfer Control Protocol),为应用层提供可靠的二进制数据流服务。TCP 流程图如图6 所示。

图6 TCP 流程图

4.2.3 μC/OS 操作系统

由于该平台需要并行处理多个任务,因此需要选用一款适用的操作系统,本设计选用μC/OS-II 操作系统[8],并行处理的任务包括:

串口收发处理数据;

网络TCP_SERVER;

连接到TCP_SERVER 的TCP_CLIENT;

LCD 显示任务;

软件定时器任务,5s 产生一次中断,发送PING帧给导航设备。

5 结 束 语

以一款具体产品的设计为例,介绍了数据采集板卡的基本设计框架。该设计目前已应用于空管设备集中监控系统。由于产品具有一定的可升级性,可以加入蓝牙、红外、4G/5G 等其他功能,应用于包括铁路、港口、智慧军营、智慧城市等诸多领域,具有广阔的市场前景。

猜你喜欢
板卡空管字节
No.8 字节跳动将推出独立出口电商APP
车载控制器CVRE板卡显红故障分析及处理
解析民航空中交通管制安全及人为影响因素
No.10 “字节跳动手机”要来了?
民航空管2018年运行统计公报
民航空管气象视频会商系统应用研究
乙醇蒸气放空管设置室内引发爆炸
基于MSP430的四旋翼飞行器的S-BUS通信协议的设计与实现
基于组态王软件和泓格PIO-D64 板卡的流水灯控制
一种基于光纤数据传输的多板卡软件程序烧写技术