基于NUC972的多总线数据采集控制器设计
2021-01-07黄飞
黄 飞
(南京国铁电气有限责任公司,江苏 南京 210046)
0 引言
近几年,国家发展改革委员会和国家节能中心非常重视能耗在线监测工作,并先后组织了一些能耗在线监测试点项目的验收和总结会,推广能耗在线监测在交通行业、建筑行业等重点用能单位的实施应用,促进社会节能减排工作的推广。目前,智能建筑的能耗监测与管理存在三个主要问题:缺乏建筑大规模联网监测;缺乏建筑能耗的大数据统计和分析;缺少与智能电网输电、配电侧的联动[1]。
在这样市场背景下,研究开发一款稳定可靠、使用灵活、功能强大的数据采集控制器,兼容接入楼宇自动控制系统中的变配电、照明、电梯、空调、供热、给排水、消防、安防等众多分散设备,监控其运行、安全状况以及能源使用状况等显得十分必要。
1 总体设计
市场已经有一些数据采集控制器或者叫通信管理机,比如“基于ARM的通信管理机的研发与设计”[2]、“基于ARM的智能配电房通信管理机设计”[3]、“许继WTX-803通信管理机升级改造技术研究”[4]等技术方案。这些方案设计专注于管理机本身协议转换功能,缺乏中枢控制功能。本文介绍的技术方案相比集成度更高,功能更丰富,除了兼容多种接口和协议,还能实现一定模型的数据计算控制功能。数据采集控制器的系统应用架构如图1所示。数据采集控制器对下通过Modbus、DLT-645、BACNet/IP、IEC-104、IEC-103等协议,与智能传感器或各种现有数据采集系统对接,得到水、电、气、热、温湿度、光照度等信息,并通过存储在数据采集控制器中的控制策略控制相应的可执行设备;对上通过用户配置的一种或者多种协议将数据上传到中心监控平台,同时接收中心监控平台发回来的遥控和遥调指令。
图1 数据采集控制器应用系统架构图
2 硬件设计
数据采集控制器电路主要包括电源模块、 MCU模块、 Flash存储模块、以太网接口模块、LTE-Cat1无线通讯模块、 M-Bus接口模块、 RS-485接口模块、 RS-232接口模块、 CAN总线接口模块、DI/DO接口模块以及 LED灯显示模块。
图2 硬件设计总体框图
2.1 MCU模块
MCU模块采用NUC972DF62Y芯片。该芯片是新唐科技(Nuvoton)针对电力及其他工控领域推出的工业级ARM9处理器,主频最高至 300 MHz。与其他ARM9内核芯片相比,该芯片最大的特色是内部集成了高达 64 M的DDR2内存,并具有 11组UART接口、两路以太网接口。丰富的片内资源极大简化了外围电路设计,并提供了软件编程的灵活性。
2.2 以太网接口模块
由于系统应用可能涉及到接入多个设备、多种协议、多方主站以及主备双网应用等,因此设计了6个网口。NUC972内部集成两路以太网 MAC控制器,需要通过EBI总线拓展另外四路以太网接口。对于集成的MAC接口,外围电路只需扩展一个LAN8720AI PHY芯片。对于拓展的以太网接口,采用DM9000芯片,该芯片集成了MAC控制器和10/100M自适应的 PHY。
2.3 串行接口模块
NUC972集成了11组UART,用其中 8组结合 GPIO形成8路RS-485接口电路。RS-485驱动芯片采用自带隔离的 ISO3082芯片,支持4000V尖峰隔离,总线节点可达 256个,通信速率最高可达20 Mb/s。
RS-232接口采用 MCU剩余的 UART接口,通过MAX232A接口芯片完成。电源隔离采用 F0505S模块,信号隔离采用 AduM1201芯片。
CAN总线接口采用 SN65HVD232芯片,支持 1 Mb/s的通信速率。 CAN接口默认用于主备机之间的心跳控制。
2.4 M-Bus接口模块
M-BUS具有成本低、布线简便、抗干扰能力强等优点,常用于水表和气表。 M-Bus总线接口需要 +24 V和+36 V电源,其中 +36 V电源通过开关升压芯片 LM2577从+24 V电源获取。 M-BUS主机通过电压调制的方式向从机发送数据。 UART的TXD信号通过光耦 6N137控制P-MOS管的通断来控制 M-Bus的输出在 +36 V和+24 V之间切换。从机通过调制总线电流的方式向主机返回数据。接收电路解调电流信号是通过在总线上采集电流并转换成电压,电压信号经跟随器后分别通过相应的阻容延时电路和二极管电路,接到比较器 LM393的正负极完成数据的解调。
2.5 无线通信接口模块
无线通信接口模块采用 EC02-SNC模块。该模块集成了 FDD-LTE/TDD-LTE/GSM/GPRS/ EDGE等多种网络制式,内置 TCP、UDP、PAP、 PPP、CHAP等网络协议,还支持 GPS定位功能。 MCU模块通过串口 UART信号( TXD、RXD、 CTS、RTS)与无线通信模块进行命令和数据交互。无线通信模块的串口型号是 1.8 V电平的,UART信号通过 TXB0104芯片进行电平转换。
2.6 输入输出接口模块
DI接口模块由四组电阻降压电路、稳压电路、光耦电路组成,形成一个 9-30 V电压输入为“ 1”,0-5 V电压输入为“ 0”的输入电压识别电路。 DO接口模块有四组光耦电路、达林顿驱动电路、继电器组成,输出节点容量为 10A250AC,10A30VDC。输入输出模块常用于现场一些辅助设备信号的逻辑监控,比如多告警信号与输出,遥测越限告警输出等。
3 软件设计
软件设计由配置模块、数据采集模块、数据存储模块,数据转发模块,特别逻辑处理模块五部分组成。软件采用基于 POSIX标准的自主研发的 Micro eX操作系统平台,开发语言为 C/C++并用以提高开发和运行效率。
3.1 配置模块软件设计
系统配置主要分为网口配置、串口配置、服务配置、数据采集配置、数据转发配置、数据存储配置、特别逻辑处理配置。配置采用 JSON文件格式,由专为其开发的配置工具软件生成。系统开机读取配置文件,并检查配置文件的 CRC校验码。为防止 Flash长期读写可能造成位反转,增加了另外三个备份的处理。如果其中某个备份的配置文件或者校验码文件匹配失效,系统软件自动寻找其他有效备份,任一份加载成功后自动修复失效的备份。完成备份文件检查后,根据加载的用户配置分别初始化网口和串口,启动系统服务、采集服务、数据转发服务和特别处理服务。
3.2 数据采集模块
系统软件将每一种数据采集协议抽象成一种采集服务对象,当对象和采集对应的端口绑定后就可以创建一个采集服务对象实例,对其服务初始化,然后开始采集。当收到采集数据时,按照数据采集配置中的数据解析模型对采集数据进行相应处理,处理后的数据转移给数据存储模块。每个数据项都具有一个惟一的标识 ID,数据储存模块会触发数据采集更新事件,通知其他模块更新处理。数据采集服务同时也接受数据更新事件,从而实现对采集设备的遥控和遥调。
3.3 数据转发模块
系统软件同样将每一个数据转发协议抽象成一种对象,与其服务对应的端口绑定,形成一个对象实例。初始化成功后的数据转发服务会根据不同协议的不同需要主动循环上报,或者越步长上报,或者等待主站召唤上报。当数据转发服务收到主站的遥控和遥调命令后,调用数据存储模块,触发数据更新事件,通知相应的模块处理。
3.4 特别逻辑处理模块
特别逻辑处理模块是应对特殊应用场景而生,系统将一组输入数据项和输出数据项按照特定的模型建模,这种模型可以是时序控制模型、组合逻辑控制模型、数学控制模型以及用户自定义的模型。
4 实际应用案例
上海局某铁路站房对高低压配电所进行改造升级,为了管理便捷,站房又上了一套智慧运维管理平台,系统结构如图 3所示。一个高压所和两个低压所的电力监控数据上传到本站房的电力综合监控系统,同时远传给调度中心。配电所的电力数据、电梯扶梯的运行状态、消防系统涉及的排水坑水位和排水泵的工作状态既上传给站房监控系统,也上传给智慧管理平台。数据采集控制器对下通过 DLT-645、Modbus-RTU、Modbus-TCP、IEC104、IEC103等协议与各种设备交互,对上通过IEC104与HTTP协议与主站交互。经过三个多月的实际运行,整个系统稳定可靠。
图3 实际应用案例系统结构图
5 结束语
本文介绍一款具有中枢控制功能的数据采集控制器设计。该设计充分利用NUC972片内丰富的外设资源和大容量RAM,简化了外围电路设计,已成功应用于楼宇自控系统和高低压配电所的综合自动化系统中。通过现场应用总结、改善和配置工具的改进,大大提高配置的可重复利用性,工程实施人员能方便、高效地实现现场数据采集和转发的配置,从而降低现场联调联试的难度,节省调试时间。下一步考虑在这个架构的基础上,增加MQTTServer的部署,完善特殊处理模块的抽象实现,从而搭建一个以数据采集控制器为中心的高速分布式实时控制网络。