关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于FPGA的报文数据分析模块的设计

基于FPGA的报文数据分析模块的设计

作者:孙玥 魏欣时间:2014-10-28来源:电子产品世界收藏
编者按:  摘要:网络报文数据的记录和分析在智能化变电站中尤为重要,通过对整个通信过程的记录可以为事故分析及运行维护提供依据。本文提出了一种基于FPGA技术、结合相关通信协议的报文数据分析系统的设计方案,实现了报文数据分析系统的各功能子模块,通过仿真运行验证了系统良好的处理能力。   引言   随着计算机技术、通信技术及网络技术的迅速发展,基于这三种核心技术的自动化智能装置在电网控制中的作用越来越突出。其中以交换式以太网和光纤光缆实现的网络通信系统已经逐渐成为变电站的重要单元。   如何记录、分析某个智能单

  根据其工作原理,本文设计了报文数据分析模块的结构,如图3所示。

本文引用地址:http://www.eepw.com.cn/article/264527.htm

  图中网络芯片将网络上的数据帧接收下来后,按先后顺序存放在数据缓冲区中,然后由实现数据预处理单元的工作。

  数据预处理实现网络报文的统计、分类、定位、分析和缓存操作,分类指的是报文属于哪种类型,定位指的是报文由哪个网络设备发送和发往哪个网络设备,统计指的是报文所处的流量统计,分析指的是对特定类型的报文进行简单分析,缓存操作指的是经过前述所有操作后将报文按指定格式进行重组放置于数据缓存区。

  数据缓冲区A的任务是暂存由网络芯片接收的数据帧。当网络中的数据帧被芯片接收下来后,数据帧的前导码和帧开始符将被PHY芯片识别并丢弃。从目的MAC地址开始,后面的所有数据将进行重组并发送到数据缓冲区A中。此项工作由PHY芯片完成。

  数据缓冲区A中的数据经过的接收和分析后,必须进行重组,按照事先约定好的数据格式存储到数据缓冲区B中,以便后端的准确地接收到数据,方便进行处理。

  在接收一帧网络报文并分析后,生成一个32个字节的包头。包头初始化时,logo字段置0x58,macno字段置对应的MAC编号,dmuno字段置DMU板编号,len字段置报文长度,type字段置‘C’,sec和nsec字段置报文的时间戳的秒和纳秒,flag字段置0xFF,result字段置0x0000。包头所有字段都由数据预处理单元负责填写,包头type字段表明报文所属类型,报文类型分为A(0x40)、B(0x41)、C(0x41)三类,默认为C类。

  数据分析处理系统从数据缓冲区A中取出一帧加入包头的网络报文,并开始分析操作。这一过程可以使用流水线式作业,启用几条流水线由选定的FPGA的资源来决定。

  根据报文处理流程,将整个模块分为3个功能子单元,如图4所示。由于MAC地址是由6个字节的数据构成,数据较长,分析起来比较困难,为了简化的分析过程,提高CPU的使用率,将6个字节的MCA地址简化为2个字节的地址标记,这样就大大减轻了CPU的工作负担。根据MAC地址不同,将其分为A、B、C三类地址:A类终端信息链表定义为ATMList;B类终端信息链表定义为BTMList;C类终端信息链表定义为CTMList。

fpga相关文章:fpga是什么


通信相关文章:通信原理


交换机相关文章:交换机工作原理




评论


相关推荐

技术专区

关闭