资源描述:
《基于fpga的工业实时通信模块分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于FPGA的工业实时通信模块分析摘要:在传统工业实时通信模块的设计中,采用的多是PLC编程的方式,以CAN总线作为扩展总线,其通信速率无法满足工业现场大型应用场合的需求,影响了信息的有效穿在。对于这种情况,本文提岀了一种基于FPGA的工业实时以太网通信模块,立足标准以太网,通过定时器实现PLC主从站之间通信的周期性,可以显著提升通信速率。关键词:FPGA江业实时通信模块;设计1概述在当前的技术条件下,PLC内部通信采用的多是分层结构,将通信分为不同插箱之间的通信以及插箱内部各个模块之间的通信,而传统PLC采用的是单层通信模式,在不同插箱之间利用CAN总线实现串联通信,不仅通
2、信距离短z而且通信的速率不高,通常仅能达到500Kbpsz在这种情况下,系统扫描一个模件所需的时间约为1.6ms,信息传输存在着很大的滞后性。如果利用通讯速率100Mbps的工业实时以太网z在同等条件下,完成所有模件扫描的时间也仅需0.8ms,通信速率得到了极大的提升。因此,针对当前CAN总线通信效率低下的问题,可以结合FPGA技术,将其升级为工业实时以太网,在提升通信速率的同时,满足工业现场的各种复杂需求。2STFPGA的工业实时通信模块设计FPGA,全称FieldProgrammableGateArray,即现场可编程逻辑门阵列,属于一种比较特殊的半导体,在其中含有可以根
3、据用户需求进行编辑的元件,其在程序编辑方面具有设计周期短,便捷方便,修改简单等特点。在实际应用中,FPGA相比较ASIC(专用集成短路)的响应速度要慢,实现同样的功能也需要更大的面积,不过其同样具有非常显著的优势,如能够实现快速成品,成本更加低廉,可以对程序中存在的错误进行改正等。考虑到通信接口模块本身的连接的受控模块较多,其各自的接口形式和通信协议存在着一定的区别,加上部分数据对于通信延时有着较高的要求,可以采用具备较强灵活性的FPGA技术,进行工业实时以太网通信模块的设计,需要从硬件和软件两个方面进行考虑[1]。2.1硬件结构主控芯片选择Xilinx公司的Spartan-
4、6XC6SLX45FPGA,外'部存储器选择DDR3SRAM芯片MT41J64M16LA-:L87臼T以及Flash芯片25P64V6P。在网路芯片的选择种,采用了100M单物理层芯片的方案,选择PHY芯片DP8363SQ,以IPcore在FPGA内部实现EthernetMAC;与PHY芯片通过RMII接口连接在一起。这里的Microblaze是基于Xilinx公司FPGA的微处理器IP核,采用RISC架构以及哈佛结构的32位指令及数据总线,能够对存储在片上存储器和外部存储器中的程序进行全速执行,同时对其中的数据进行访问。系统CPU设置有大量的夕卜部设备,如SRAM、Flas
5、h、MAC等,系统为每一个设备分配了独有的地质,CPU对于各个设备的访问可以看做是相应地址的操作过程。以太网IPcoreAXIEthernetLiteMAC支持IEEE802.3标准z可以结合简化媒体独立结构,与工业标准PHY芯片连接,通过AXI4-Lite以及Microblaze实现相互之间的信息传递z支持10M乃至100M的以太网通讯速率。IP核采用同步设计,为了确保以太网的通信速率能够达到最大的100Mbps,系统时钟频率设置为50Mbps。本系统硬件平台的搭设以及软件应用程序的开发都是在嵌入式软件开发工具EDK中实现的,硬件平台的搭设环境为XPS,软件程度的开发环境为
6、SDK。2.2软件设计2.2.1数据接收与发送在通信模块中,软件设计主要是实现PHY芯片的初始化z确保其能够对以太网接收中断处理函数进行定义,同时以实现以太网接收中断的初始化。初始化主要是针对以太网MAC数据帧而言,在IEEE802.3标准中,数据包的格式类型,如图1所示。在系统中,以太网接收数据端为PHY.dv,在程序运行时z会首先判断PHY.dv是否置1;如果置1则可以进行数据帧的接收,接收完成后,MAC会自动进行自身目的地地址与数据帧目的地地址的对比,如果无法匹配,则地址无效,会将接收到的数据全部丢失,重新接收;如果匹配,MAC会针对数据帧进行CRC计算,并且继续与接收
7、到的数据帧的帧校验序列FCS中的CRC进行比对,若匹配,完成数据接收,若不匹配,表明FCS错误z重新接收数据[2]。MAC对于数据帧的发送主要是依照以太网CSMA/CD技术。2.2.2周期同步处理在标准以太网中,数据发送采用的是CSMA/CD技术,当网络负荷不高时,很少发生冲突,基本上能够满足对于通信实时性的要求。但是,在工业现场,具有容量巨大、传输速率快、10点众多的特点,网络的负荷通常都比较重,容易发生冲突问题,从而造成网络性能的下降。考虑到冲突和处理的随机性以及网络通信延时的不确定性,想要保证通信