[经验] 【Artix-7 50T FPGA试用体验】基于7A50T FPGA开发套件的工业通信管理机设计(一)

[复制链接]

版主

发表于 2016-12-16 10:43:40   511 查看 2 回复 显示全部楼层 倒序浏览
分享


什么是工业通信管理机

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


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

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

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

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

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

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


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


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

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

标签:modbus
发表于 2017-1-16 11:20:02  
积分不够用了,来凑积分
回复

点赞

发表于 2017-3-21 10:51:20  

PCB在线计价下单

板子大小:

cm
X
cm

层数:

2

板子数量:

10

厚度:

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

点赞

高级模式
您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐 上一条 /9 下一条

小黑屋|手机版|Archiver| 电子发烧友 ( 粤ICP备14022951号-2 )     

GMT+8, 2017-7-25 06:43 , Processed in 0.186037 second(s), 18 queries , Memcache On.

微信扫描
快速回复 返回顶部 返回列表
-

推荐专区

技术干货集中营

专家问答

用户帮助┃咨询与建议┃版主议事

我的提问

工程师杂谈

工程师创意

工程师职场

论坛电子赛事

社区活动专版

发烧友活动

-

嵌入式论坛

单片机/MCU论坛

FPGA|CPLD|ASIC论坛

DSP论坛

嵌入式系统论坛

-

电源技术论坛

电源技术论坛

-

硬件设计论坛

PCB设计论坛

电路设计论坛

电子元器件论坛

控制|传感

总线技术|接口技术

-

测试测量论坛

LabVIEW论坛

Matlab论坛

测试测量技术专区

仪器仪表技术专区

-

EDA设计论坛

multisim论坛

PADS技术论坛

Protel|AD|DXP论坛

Allegro论坛

proteus论坛|仿真论坛

EasyEDA-中国人自已的EDA工具

Orcad论坛

-

综合技术与应用

电机控制

智能电网

光电及显示

参考设计中心

汽车电子技术论坛

医疗电子论坛

-

开源硬件

DFRobot专区

树莓派论坛

智能硬件论坛

开发快智能硬件开发平台

Intel物联网开发者专区

Waveshare

乐美客SBC专区

Arduino论坛

BeagleBone论坛

机器人论坛

创客神器NanoPi

小钢炮CANNON

比派科技banana pi专区

-

无线通信论坛

无线通信技术专区

天线|RF射频|微波|雷达技术

-

IC设计论坛

芯片测试与失效分析

Mixed Signal/SOC[数模混合芯片设计]

Analog/RF IC设计

设计与制造封装测试

-

个人版区

阿东Verilog技术专版

直流马达驱动电路设计

LabVIEW英雄联盟

特权同学FPGA专区

-

厂商专区

灵动微电子 MM32

盈鹏飞嵌入式

TI论坛

TI Deyisupport社区

芯灵思嵌入式论坛

Tisan

米尔科技

庆科社区

WIZnet技术专区

Cypress技术论坛

飞凌嵌入式

Qualcomm技术论坛

英创嵌入式

机智云GoKit论坛

-

检测技术与质量

电磁兼容(EMC)设计与整改

安规知识论坛

检测与认证

-

消费电子论坛

手机技术论坛

平板电脑/mid论坛

音视/视频/机顶盒论坛

-

电子论坛综合区

聚丰众筹官方社区

新人报道区

聚丰供应链

-

论坛服务区

-

供求信息发布

供需广告

招聘┃求职发布区

电子展览展会专区