嵌入式多ARM架构的配电网自动化远方终端设计
随着我国经济的不断发展,电力用户对电力能源供应的安全性和稳定性的要求逐步提高。为了满足电力用户的需求,配电自动化系统以及配电自动化装置都在不断进行改造和升级,以提高电力能源供应的安全性和稳定性[1]。
在配电自动化系统不断发展的过程中,配电自动化装置的研究与开发也在持续进行。随着计算机技术和半导体技术的快速发展,配电自动化远方终端装置的硬件系统不再仅限于ARM+DSP架构。为提高DTU设备的数据处理能力及通信的兼容性和稳定性,本文将STM32微处理器与由Modbus协议和IEC 60870-5系列协议等组成的通信协议组相结合,并将嵌入式实时操作系统μC/OS-II成功移植到基于ARM-Cortex M3内核的STM32处理器上。在μC/OS-II环境下,实现了DTU设备的快速数据处理和不同通信网络下通信的兼容性和稳定性。这使得配电自动化远方终端设备可以更加安全稳定地运行,保证了配电网的电力能源的高效、稳定、安全供应。
1系统设计
1.1系统硬件设计
系统硬件采用多CPU构架,选用的芯片为STM32F103和STM32F107。这两个芯片是意法半导体(ST)公司推出的基于ARM Cortex-M3内核的STM32F10X系列的32位ARM处理器,最高运行时钟可达到72 MHz,具有丰富的片上资源和接口资源。本设计使用STM32F103的大容量芯片、小容量芯片和STM32F107芯片。大容量芯片作为测控模块的微处理器,拥有144个管脚,且完全满足数据的高速处理功能;小容量芯片作为人机交互模块的微处理器,在功能性上与大容量产品无差别,只是管脚和容量相对较少; STM32F107芯片作为通信模块的微处理器,内部集成高性能以太网控制模块(MAC),既简化了网络端口的设计,又能满足通信要求。整个系统硬件划分为交流输入模块、测控模块、开关量输入输出模块、通信模块、无线模块、人机交互模块和电源管理模块共7个独立模块,模块化的设计方案便于系统维护和升级[2]。DTU系统硬件设计如图1所示。
图1 系统硬件设计图
1.2遥测量采集部分
遥测量采集部分包括交流输入模块和测控模块。交流输入模块使用5路PT和4路CT,将电网的电压和电流转换为可采集的模拟信号。测控模块上的16位高速A/D芯片对模拟信号进行转换,并将结果通过SPI接口送给ARM1处理器。ARM1处理器使用FFT算法对数据进行处理,以获得所需要的遥测数据,包括电压、电流、有功功率、无功功率、功角等。
1.3遥信采集和遥控输出部分
遥信采集和遥控输出部分包括测控模块和开关量输入输出模块。需要采集的遥信量主要包括开关位置信号、弹簧储能信号、接地开关信号、工作电源失电信号等,每条线路需要采集6~8路遥信量[3]。在电网正常运行时,测控模块需按一定的时间间隔(1~5 ms)对开关量输入输出模块进行扫描,记录遥信量的变位信息,并保存到相应存储器[3]。
在电网运行异常时,DTU将向区域监控主站反馈采集到的遥测量,区域监控主站根据DTU反馈的数据判断发生故障的区域并下达遥控命令。DTU接收到遥控信息后,测控模块通过开关量输入输出模块输出相应的遥控量,控制相应的功率继电器分、合现场的开关设备,处理电网故障。为保证遥控输出的正确性,遥控输出还提供反校回路,校验遥控命令是否正确。若遥控命令错误,立即闭锁遥控出口,防止事故发生;若遥控命令正确,则记录遥控执行情况[3]。
1.4通信模块部分
通信模块主要负责DTU装置和区域监控主站之间的数据交换。本文从数据传送的兼容性和稳定性角度出发,设计实现了以STM32F107处理器为核心,并配置有RS-232串口、RS-485串口和10/100 Mbit/s以太网口的通信模块。以RS-232串行接口为例,STM32F107通过基于MAX3232的RS-232串行接口与区域监控主站相连,建立串行通信网络。DTU设备将采集的遥测量、遥信量等信息通过串行链路传送到区域监控主站,或者接收区域监控主站的遥控命令。
串行链路RS-232的接口硬件电路如图2所示。
图2 串行链路接口电路图
STM32F107微处理器的USART3_RX和USART3_TX管脚与MAX3232的Rout1和DIN1链接,经过电平转换芯片MAX3232处理后,从Dout1和RIN1管脚输出,这样RS-232串口就配置好了。同理,用同样的设计方法配置RS-485串行网络接口。
针对以太网通信网络接口的设计,STM32F107芯片上集成以太网控制模块(MAC),它符合IEE 802.3-2002标准,且同时支持两种标准接口。它与物理层(PHY)芯片DM9161连接,即可组成以太网口,电路设计简单且稳定。物理层(PHY)芯片DM9161在时钟信号提高到50 MHz时,可支持10/100 Mbit/s的通信速率[4]。本文按照图3设计接口连线图。其中“/2”代表100 Mbit/s,“/20”代表10 Mbit/s。
图3 STM32F107以太网RMII连接图
2配电自动化远方终端的软件设计
本文设计的配电自动化远方终端装置,基于32位ARM微处理器和网络通信协议组。这使得数据处理更加精准,数据交换更加稳定,对不同通信网络的兼容性更强。为实现该设计方案,本文构建了基于嵌入式操作系统μC/OS-II和通信协议组(Modbus协议和IEC 60870-5系列协议组成)的软件开发环境,并在此基础上开发软件功能,确保稳定的数据采集和交换[5]。
2.1μC/OS-Ⅱ的移植
μC/OS-II是一个完整的实时多任务内核的操作系统,用ANSI C语言描述大多数代码,与处理器联系较紧密的代码采用汇编语言编写,具有较好的可移植性。针对不同架构的处理器,设计人员可以通过对工程目录下的core_cm3.c和相应启动文件的修改,实现μC/OS-II对不同硬件平台的兼容[5]。
2.2系统功能任务设计
本文在进行软件设计时,以μC/OS-II实时操作系统为平台,采用模块化的软件设计理念,将应用程序划分为不同的任务。这使得系统软件更加简洁,便于今后程序的维护和升级。由于DTU设备对数据的实时性和准确性要求非常高,因此在对系统功能进行任务划分时,要使系统的所有任务能够在最坏的情况下满足实时性的要求;任务数要合理,避免浪费资源[6]。
首先是测控模块的功能实现。测控模块作为DTU数据采集的核心,为保证数据采集的实时性,尤其是遥测数据采集时,采样时间是跟随电网频率实时调整的,因此适合使用裸机程序作为测控模块。测控模块使用定时器来启动各功能任务。
其次是通信模块的功能实现。其主要负责DTU和区域监控主站间的数据交换,适合在嵌入式操作系统上运行,以保证其稳定性。结合本文需要实现网络通信的功能,通信模块的功能任务划分如表1所示。
表1 通信模块功能任务划分
2.3嵌入式TCP/IP协议栈的实现
本文所设计的DTU装置不仅要实现串行链路通信的功能,还要实现以太网通信的功能。串行链路通信使用Modbus RTU协议或IEC 60870-5-101协议,即可实现串行链路中互联设备的数据交换。然而在以太网上实现数据的收发比在串行链路网络更复杂。本文设计DTU设备的通信模块使用STM32F107芯片和操作系统μC/OS-II,STM32F107芯片内置以太网控制器。但由于嵌入式操作系统不具备网络服务功能,因此需要移植一款嵌入式TCP/IP协议栈,并在此基础上实现Modbus/TCP和IEC 60870-5-104通信协议。
目前,开源的TCP/IP协议栈有多种,各有其优缺点。本文在综合考虑协议栈的代码容量、功能的完整性、移植操作的方便性和灵活性等因素的基础上,选择轻型协议(light weight protocol,LwIP)协议栈作为系统的嵌入式TCP/IP协议栈。LwIP能够在嵌入式硬件平台中实现TCP/IP协议,而且它在有操作系统和没有操作系统情况下均能够可靠稳定地运行;同时,在实现TCP协议主要功能的基础上减小对内存的占用[7]。
LwIP协议栈的移植非常方便,只需移植其内核核心。LwIP协议栈的重点就是底层函数的编写,LwIP协议在源文件的ethernetif.c文件中已经为底层的网络驱动提供了一个总体的框架,用户需要根据自己的硬件编写相应的功能函数,以实现网络的初始化、中断处理、数据报文的发送和接收等操作。
LwIP以太网底层接口函数的框架如图4所示。
图4 LwIP以太网底层接口函数框架图
3DTU装置通信协议组的实现
DTU设备是配电自动化系统的终端设备,通过接入串行链路或者以太网与区域监控主站相连接,由通信网络与监控主站进行数据交换。本文提出了将Modbus协议和IEC 60870-5系列协议相结合的通信协议组的方案。在基于微处理器STM32F107的DTU设备的通信模块上,以μC/OS-II操作系统和通信协议组为软件开发平台,实现DTU装置在不同通信网络介质上稳定的数据交换。
3.1通信协议组的介绍
配电自动化系统通过串行链路或以太网组网,DTU设备作为配电网终端设备,通过串行链路或者以太网接入通信网络。不同的网络介质使用不同的通信协议,相同的网络介质也会使用不同的网络协议。串行链路可使用Modbus RTU协议或者IEC 60870-5-101协议,而以太网则需要使用Modbus/TCP协议或者IEC 60870-5-104协议。为了使DTU设备不需要外接协议转换器即可兼容不同通信网络和通信协议,本文设计了包括Modbus协议和IEC 60870-5系列协议在内的通信协议组。
3.2DTU设备通信结构模型
配电自动化系统的整个终端层网络包含各种不同类型的设备,如图5所示。所有的智能终端设备按照一定的方式接入到通信网络中。通信链路可选择串行链路RS-232、RS-485、TCP/IP以太网络。通信协议可针对串行链路选择,Modbus RTU协议和IEC 60870-5-101协议;针对以太网络,选择Modbus/TCP协议和IEC 60870-5-104协议。所有链接到网络上的智能终端设备按照相应的通信协议来收发报文,完成终端设备和区域监控主站间的数据交换。
图5 通信结构模型图
3.3串行链路通信协议的实现
串行链路通信协议包括:Modbus RTU协议、IEC 60870-5-101协议。串行链路的通信模型为一主多从结构。一主即是指区域监控主站,多从即是指多个终端设备,每个从站设备都分配了不同的地址,主站可以通过地址对确定的从站进行问询。以IEC 60870-5-101协议为例,从站对接收到的主站的报文进行解析,并作相应的响应。IEC 60870-5-101协议的处理流程如图6所示。
IEC 60870-5-101协议通信程序的思路如下。首先,系统进行初始化,再通过接收中断函数来完成IEC 60870-5-101协议帧数据的接收,并将其存入接收缓冲区中。然后通过IEC 60870-5-101协议帧处理函数比较接收写指针和读指针的大小,区分出每一帧;按照每一帧的启动字符来分辨是可变帧还是固定帧,再按照相应的帧格式进行校验。在所需要的校验正确完成后,固定帧通过控制域来判断请求的报文类型,可变帧通过链路用户数据中的类型标志来判断请求的报文类型,通过相应的数据处理函数来发送写指针,写指针按照帧的两种帧格式进行打包,打包结束后发送中断。发送中断函数通过发送读指针将打包完成的数据发送出去,直到全部发送完毕。至此,完整的收发数据处理过程结束[8]。
3.4TCP/IP通信网络协议的实现
TCP/IP通信网络协议包括Modbus/TCP协议和IEC 60870-5-104协议。以太网络中的通信模型为客户机和服务器结构,DTU终端设备是配电自动化系统TCP/IP通信网络的服务器端,区域监控主站是客户机端。建立TCP连接后,服务器端一直处于监听状态,并不主动发起连接请求;当监听到客户端的连接请求后,服务器端接受此请求并建立TCP连接,服务器和客户端即可通过这个虚拟的通信链路进行数据的收发[9]。
以IEC 60870-5-104协议为例,DTU终端一直处于监听状态,等待连接请求。当客户端发出连接请求后,建立TCP连接。当DTU收到U格式的报文STARTDT后,回应确认报文,然后开始传输数据。对于来自客户端的各种命令报文,包括总召唤、时钟同步、遥测、遥信、遥控等功能,进行输入有效性检查,并回应客户端。当有故障时,主动上送遥信变位信息和事件顺序记功能(sequence of event,SOE)报文。
3.5通信功能测试
由于协议组包含多个协议,在实验室组网测试时,选择使用104协议测试,利用通信协议分析及测试软件(protocols measurement and analysis software,PMA)来模拟主站,下位机使用DTU设备的通信模块。为了保证IEC 60870-5-104协议的可靠性和准确性,需对其报文进行分析,而PMA协议测试软件提供了设备测试和报文输出功能。IEC 60870-5-104协议通信的测试步骤为:首先选择IEC 60870-5-104协议,然后设置主站IP地址192.168.1.10,从站地址192.168.1.11,公共地址为0x01;子站的端口号为2404,在运行模式上选择模拟主站,与DTU设备的通信板连接后,开始 TCP 连接。
图6 IEC 60870-5-101协议处理流程图
报文测试如下所示。
Mtx:10 49 01 4a 16
主站发送:PRM=1 FCB=0 FCV=0 LA=1 FUN=9
召唤链路状态
Stx:10 0b 01 0c 16
从站发送:PRM=0 ACD=0 DFC=0 LA=1 FUN=11 以链路状态或访问请求回答请求帧
Mtx:10 40 01 41 16
主站发送:PRM=1 FCB=0 FCV=0 LA=1 FUN=0
复位远方链路
Stx:10 00 01 01 16
从站发送:PRM=0 ACD=0 DFC=0 LA=1 FUN=0 确认
Mtx:68 09 09 68 73 01 2d 01 06 01 01 00 81 2b 16
主站发送:PRM=1 FCB=1 FCV=1 LA=1 FUN= 3 召唤链路状态
传送数据TI=45 VSQ=01 INFONUM=1 COT= 06
T=0 PN=0 CAUSE=6 COA=1 C_SC_NA_1
单点遥控命令肯定确认激活QU=0默认值选择点号=1合
Stx:10 20 01 21 16
从站发送:PRM=0 ACD=1 DFC=0 LA=1 FUN=0 确认
IEC 60870-5-104协议程序流程图如图7所示[10]。
图7 IEC 60870-5-104协议处理流程图
上文所示报文信息包括链路状态召唤报文和单点遥控报文等,选取单点遥控预指令进行分析,指令如下。
单点遥控预指令:68 09 09 68 73 01 2d 01 06 01 01 00 81 2b16
其中:68代表启动字符;09代表数据长度;09 68代表发送序号;73 01代表接收序号;2d代表类型标志符(单点遥控);01代表可变结构限定词;06代表传输原因;01代表公共地址,即DTU设备的地址;01 00代表遥控开关号;81代表遥控合操作;2b代表帧校验和;16代表停止字符。
IEC 60870-5-104协议可以实现总召唤、分组召唤、遥测、遥信和遥控等,这些均在主站请求时才上传。
由于IEC60870-5-104协议是依靠全双工的以太网进行通信,所以当发故障时,DTU 可主动上传遥信变位帧和 SOE事件。
4结束语
针对目前电力用户对电力能源供应稳定性的要求和配电自动化系统的发展,本文提出将STM32微处理器与通信协议组(包括Modbus协议和IEC 60870-5系列协议)相结合的设计方案;并且在嵌入式实时操作系统μC/OS-II上实现了多通信协议,使得DTU设备可以稳定、安全、高效地运行。
通过实验测试,本文所介绍的通信协议组可以很好地兼容各种通信网络,配电自动化远方终端装置和区域监控主站之间的数据传输更加可靠且传输速率快,因此在不断发展的配电自动化系统中将具有实际的应用价值和广阔的应用前景。
参考文献
[1] 田劲.电力系统站所远方终端DTU的设计与应用研究[D].武汉:武汉理工大学,2012.
[2] 北京水木源华电气有限公司.配电线路自动化远方终端[P].中国,CN201020639393.8,2012.
[3] 郭谋发.配电网自动化技术[M].北京:机械工业出版社,2012.
[4] 常一鸣.基于MODBUS/TCP协议的上下位机通信监控功能的实现[D].呼和浩特:内蒙古大学,2014.
[5] 祝庆峰.基于STM32的嵌入式网络控制器设计[D].哈尔滨:哈尔滨理工大学,2014.
[6] 邵贝贝,王瑛.嵌入式实时操作系统[M].北京:北京航空航天大学出版社,2003.
[7] 袁中书,陆阳.轻量级TCP/IP协议栈机制分析与优化[J].计算机工程,2015(2):317-321.
[8] 闫飞飞.基于IEC 60870-5-101规约和104规约的FTU的设计与实现[D].西安:西安科技大学,2012.
[9] 薛飞.IEC 60870-5-104协议的软件建模与实现[D].北京:华北电力大学,2012.
[10]赵渊,沈智健.基于TCP/IP的IEC 60870-5-104远动规约在电力系统中的应用[J].电网技术,2003,27(10):56-60,71.
Data Transfer Unit Based on Embedded More ARM Framework for Power Distribution System
彭道刚1赵斌斌1宋磊1黄义超2朱灏1胡迅1
(上海电力学院自动化工程学院上海发电过程智能管控工程技术研究中心1,上海200090;
上海翔骋电气设备有限公司2,上海201900)
摘要:配电自动化远方终端数据传输单元(DTU)装置作为配电自动化系统的基础设备,其稳定性尤为重要。通过对DTU装置系统的稳定性以及数据通信的稳定性和兼容性的研究,提出了将通信协议组(包括Modbus协议和IEC 60870-5系列协议)和STM32处理器相结合的设计方案。设计了系统软硬件的总体架构,并在嵌入式实时操作系统μC/OS-II上实现了兼容多种通信网络的通信协议组。实验结果表明,该配电自动化远方终端可靠地实现了DTU设备的稳定运行和数据信息的稳定传输。
关键词:电力能源供能电系统电网自动化通信协议数据处理信号采集TCP/IPModbus安全
Abstract:DTU,as the basic equipment of power distribution automation system,its stability is particularly important.Through the study of both the stability of the DTU device and the stability and compatibility of data communication,this paper presents a design which combined communication protocol group(include Modbus protocol and IEC60870-5 protocols) and STM32 microprocessor.In this paper, the overall architecture of the system hardware and software is designed.In addition,it has achieved the communication protocol group which compatible with a variety of communication network under the embedded operating system μC/OS-II.The experiment shows that this power distribution automation remote terminal system can achieve the stability operation of DTU device and of data transmission.
Keywords:Electric energyPower supply and distribution systemGridAutomationCommunication protocolData processingSignal acquisitionTCP/IPModbusSafety
中图分类号:TP23;HT89
文献标志码:A
DOI:10.16086/j.cnki.issn1000-0380.201604017
上海市科委"科技创新行动计划"高新技术领域科研基金资助项目(编号:15111106800);
上海市科委发电过程智能管控工程技术研究中心基金资助项目(编号:14DZ2251100);
上海市科委电站自动化技术重点实验室开放课题基金资助项目(编号:13DZ2273800)。
修改稿收到日期: 2015-06-29。
第一作者彭道刚(1977-),男,2009年毕业于同济大学系统工程专业,获博士学位,教授;主要从事发电过程自动化、电力设备状态监测与故障诊断、工业网络与嵌入式测控技术等方向的研究。