微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 基于7A50T FPGA开发套件的工业通信管理机设计(一)

基于7A50T FPGA开发套件的工业通信管理机设计(一)

时间:10-02 整理:3721RD 点击:


什么是工业通信管理机


通讯管理机也称作DPU


其具有多个下行通讯接口及一个或者多个上行网络接口,相当于前置机即监控计算机,用于将一个变电所内所有的智能监控/保护装置的通讯数据整理汇总后,实时上送上级主站系统(监控中心后台机和DCS),完成遥信、遥测功能。另一方面接收后台机或DCS下达的命令,并转发给变电所内的智能系列单元,完成对厂站内各开关设备的分、合闸远方控制或装置的参数整定,实现遥控和遥调功能。同时还应该配备多个串行接口即便于厂站内的其它智能设备进行通讯。


通讯管理机一般运用于变电所,调度站,通讯管理机通过控制平台控制下行的RRtu设备,实现遥信,遥测,遥控等信息的采集,将消息反馈回调度中心,然后,控制中心管理员通过消息的处理分析,选择将执行的命令,达到远动输出调度命令的目标。



通信管理机的基本特性


1)具有多网络功能用户可根据实际使用网络情况配置不同的通信接口卡,组成用户需要的多种网络结构。


●可以组成RS232全双工星型网络结构;


●可以组成RS485总线的半双工总线结构;


●可以组成RS422总线的全双工总线结构;


●可以组成CAN总线的无主总线结构;


●可以通过TXJ-2提供的以太网功能组成局域网。


2)具有多串口功能 通信管理机具有灵活配置串口的功能,它可以根据用户的需求配置串口,其配置范围是1-23个,对不同的接口卡具有不同的串口个数。


3) 具有多规约功能 通信管理机能够实现多种国际、国内部通信规约及其它设备生产厂家提供的内部通信规约,具体规约如下:


●DL/T 643-1997 传输规约 101 基本远动任务的配套标准规约;


●DL/T 667-1999 传输规约 103 继电保护设备信息接口配套标准规约;


●DL/T 645-1997 传输规约 多功能电能表通信规约;


●DL 451-91 循环式远动规约(CDT)


●DISA系统远动规约;


●1801规约;


●DNP3.0规约;


●MODBUS规约;


●其他各个厂家的内部专用规约


4) 具有热插拔功能 通信管理机的主机、通信接口卡都具有热插拔功能,当发现某一个板卡出现故障时,可将此板卡拔除,并插入同一型号的备用板卡,真正做到系统带电维护及系统故障恢复零等待。此功能对于双机热备冗余系统尤其重要,因在更换主机时,不影响系统运行


5) GPS卫星对时功能 当配置了GPS卫星对时功能板卡时, 通信管理机就能够接收卫星时钟,并可对连接到通信管理机上的设备进行对时。


6) 具有热备冗余的供电系统 在通信管理机上可以配置两台电源同时供电,当一台电源故障时,另外一台电源可立即对系统进行供电而不会使系统停止运行。


7) 灵活方便的组态工具 全汉化的组态工具软件,方便调试人员进行通信管理机的组态。


8) 丰富的调试手段 通讯机在前面板提供了两个用于调试的传口,接到Windows自带的超级终端即可进行维护调试,不需要令安装调试软件。同时提供了监视通讯报文,查看,修改系统遥信,遥测,电度等数据库的操作功能。以及其他一些特殊的调试功能。


8) 具有远程调试维护功能 能够远程监视通信管理机的每一个通信接口的接收和发送数据;能够远程监视和修改每一个通信接口的数据库数据;能够远程进行组态数据的上载和下载及下载运行程序。


9) 具有五防闭锁功能 当后台监控、远端调度等设备或系统想通过通信管理机操作其它控制设备时,通信管理机将对控制操作进行五防逻辑判断,只有通过五防逻辑判断正确的控制操作,才能被执行,否则将被拒绝执行。


10) 黑匣子功能 根据组态配置通讯机可以具有黑匣子功能,可以记录通讯机的运行情况,捕捉通过通讯机进行控制的所有控制命令,还可以记录所有子站产生的SOE,便于事故分析。


11) 遥信采集和遥控输出功能 如果配置的开关量输入输出板,通讯机还可以进行少量的遥信采集,和遥控开出,用于某些特定场合,方便用户使用,节省投资




通信管理机关键设计点分析

通信管理机系统设计主要分为软件设计和硬件设计两部分。对于软件设计,主要涉及到协议实现部分和系统调度部分。根据实际情况,目前在电站中使用较多的主要有MODBUS协议、网络103、网络104协议。对于MODBUS协议,网络上有设计好的现成的MODBUS协议栈可以使用,如论坛http://bbs.elecfans.com/jishu_736180_1_1.html,就是一篇如何移植并使用libmodbus开源库的帖子。对于网络104协议则主要移植南瑞继保和四方电气开源出来的部分协议代码。也就是说,但从软件协议上来说,实现并没有太多的创新点和盲区。而且整个系统貌似使用ARM处理器运行linux操作系统设计起来更加的方便。而本设计采用7A50T开发板进行设计,当然不是看中了7A50T能够嵌入软核并运行网络协议,看中的是FPGA在通信协议加速上的各种优势。



为什么使用FPGA设计通信管理机

我们曾经使用单一的ARM处理器完成过通信管理机的开发,但是在使用ARM做通信管理机的时候,往往使用8个以内的485口实现对电站所有设备的管理。如有80台设备需要通过一台通信管理机连接到中控楼,如果平均分配,则8个485口,每个口分得10台设备。虽然MODBUS协议规定,两帧数据间的间隔最小只需要1.5+3.5个字节的时间,但是,485总线上挂载的设备各自对数据的处理能力不一样,如果就按照这个最小间隔时间频繁的发送命令并召唤数据,可能会导致总线上挂载的设备处理能力不够而导致设备工作异常。因此在实际使用中一般设置两帧间隔时间在100ms以上。很多时候甚至直接设置为1秒钟。即485总线上需要10秒钟才能收发10次数据,完成对一个485总线上挂载的10台设备的一次访问。所以完成所有设备的数据刷新,至少得10s的时间。所以,要想使数据刷新速率提高,一种可行的方式就是增加485接口的数目,如使用16个485口来管理这80台设备,每个485口只需要管理5台设备,则刷新时间就可缩短为5秒。



但是,485接口增多,也会带来很多的问题,比如常见的ARM处理器很少有自带10个以上串口的型号,所以,要想使得ARM处理器能够支持16个串口,就需要使用外部串口芯片扩展的方式。另外,串口数量的增多,也会显著增加处理器的负担,因为在MODBUS协议中,每次发送和接受数据时,都需要对收发的数据进行CRC校验,而CRC校验则比较的耗费时间。所以,当串口数量超过一定的数目之后,会使得处理器负担加重到无法轻快的运行。


解决此问题一个比较折中的方案就是使用FPGA设计串口扩展芯片,通过FPGA实现完整的数据收发、帧长判断、CRC校验的工作。既使用FPGA设计一个串口扩展电路,该电路对处理器呈现fifo接口,每个串口呈现一个fifo,当处理器需要使用某个串口发送数据时,只需要将需要发送的数据写入该串口的发送fifo,FPGA就会自动的将数据发送出去,并在结尾添加CRC校验码。


即传统方案的处理方式是:


确定要发送的内容—>计算CRC校验码—>将待含校验的数据传给串口驱动—>串口驱动实现数据发送


         而使用FPGA加速后的方案则是:


确定要发送的内容—>将待发送数据写入FPGA的fifo—>FPGA进行数据的发送并自动计算和添加校验码。



传统方式,所有的工作都需要处理器来完成,使得处理器软件开销大,性能有限。而使用FPGA,则能够将这些重复性工作使用并行的方式完成,大大减轻处理器负担。



另外,使用此种方式,能够减少串口对处理器的中断数量,中断数量减少了,CPU的效率也就高了。


选择7A50T完成本设计的理由

在分析了通信管理机的基本概念和设计要点之后,接下来就是针对传统方案遇到的问题寻找合理的解决方案。除了上面提到的串口加速的问题,还有一些问题同样需要考虑,如成本、性能、稳定性、可扩展性、架构的升级空间。综合考虑以上问题后,认为xilinx的zynq7000是个非常合适的产品。但是,zynq7000一般运行linux操作系统,由于前代产品是使用的非linux操作系统设计的,在进行新的方案设计时,希望从前代产品继承较多的软件设计,因为本次改进主要是希望探索使用FPGA进行数据收发的加速,减轻处理器负担,因此决定先使用7A50T,运行Microblaze软核来实现相关的功能,从而保证设计的继承性。而且,经过FPGA加速后,可能MicroBlaze的性能也足够来处理当前的数据,因此也算是一种新方案的探索吧。最关键的是,本次申请到的7A50T开发板支持双网口,因为工业通信管理机都要求具备主备双网口,以保证在一个网口发生故障时,另一个网口能及时替补而不至于使得系统瘫痪。


积分不够用了,来凑积分

技术大牛,真想有个人带我

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top