0 导言
数控体系现场总线以其高牢靠性、抗干扰性的长处适用于数控体系操控通讯,跟着现场总线在工业操控范畴的运用,现场总线已经成为下一代数控体系各设备单元之间数据交换的首要媒体。高级数控体系的特点是高速、高精,而高速高精的数控加工要求数控各设备单元之间的数据交换媒体能完结数据的高速实时传输,因而数控体系现场总线体系是决议下一代高级数控工业开展的一个重要因素。
传统的总线体系(详细体系结构联系如图1所示)完结为数控体系渠道通讯体系日。的一部分,首要完结上层运用软件如PLC模块,运动操控模块等与数控体系总线所连的伺服,I/0等从站设备之间的数据通讯。总线体系经过NC(Numerical Control,数控)主机的通讯接口(PCI、USB等)将通讯数据发送到主站板卡,由主站板卡履行PC机并行数据—总线串行数据的发送/接纳处理作业。主站板卡为简略的硬件转发电路,数据帧的封装、解封,过失操控,时钟同步等作业完全由总线体系履行,需求占用很多的CPU时刻和NC主机内存,然后增加了NC主机的负载。
图1传统总线体系结构联系
中国科学院沈阳计算技术研究所数控总线实验室参照国家标准GB/T 18759.3-2009《开放式数控体系第3部分:总线接口与通讯协议》研制的数控同步现场总线NCSF(Numerical Control Synchronous FieldBus)在数控现场总线实时通讯方面具有优胜的功用体现。
针对上述问题本文依据数控现场总线NCSF提出一种依据SoC的总线体系完结办法,规划选用Xilinx公司的XC3S500E FPGA芯片,详细规划中,选用MicroBlaze软核CPU完结链路层及运用层协议处理。本文将在后续章节对总线体系的架构规划和完结办法进行详细论述并对统功用进行剖析。
1 布景介绍
1.1 NCSF简介
为满意开放式数控体系总线通讯的实时性、同步性、牢靠性及可扩展要求,NCSF总线参阅ISO/OSI通讯模型,由物理层、数据链路层、运用层、用户层行规组成,如图2所示。
图2数控现场总线NCSF网络模型
物理层担任和谐总线在物理媒体中传送比特流所需的各种功用,界说总线接插件和传输媒体的机械和电气规约,以及为产生传输所有必要完结的进程和功用;数据链路层为运用层供给周期、实时、无过失的数据链路;运用层担任保护站点间的安全、牢靠的数据传输通路,并为用户层行规的指令与应对供给传输服务;用户层行规为设备特征、功用特性和行为的标准。
NCSF依据ISO/IEC 8802.3物理层标准规划,运用网络完结高速、高牢靠实时数据和依据以太网的非实时数据的传输。通讯由主设备建议,首要支撑单个主设备和多个从设备间的数据通讯、站号的主动分配、网络拓扑结构检测、播送通讯、依据播送机制的集总帧通讯服务、点对点通讯服务、总线延时丈量和时刻戳服务。在确认的网络拓扑结构下,从站设备对集总帧实时转发保证了通讯的实时性,而周期性操控为主站行为。
1.2 SoC及硬件简介
SoC称为体系级芯片,也有称片上体系,意指它是一个产品,是一个有专用方针的集成电路,其间包含完好体系并有嵌入软件的全部内容。
FPGA(Filed Programmable Gate Array)是用户现场可编程门阵列%&&&&&%的简称,它运用方便,改动逻辑功用易于完结,可以满意现代通讯开展的需求。
MicroBlaze嵌入式软核是一个被Xilinx公司优化过的可嵌入在FPGA中的RISC处理器软核,运转速度高达150MHz,选用哈佛体系结构,具有独立的32位指令总线和32位数据总线,十分合适规划针对网络、电信、数据通讯和消费市场的杂乱嵌入式体系。
2 依据SoC的NCSF总线体系的架构规划
依据SoC的NCSF总线体系保存NCSF总线协议栈的用户层行规在NC主机中完结,以用户层行规接口的方式为伺服驱动、主轴驱动、I/O等从站供给通用的体系运用接口(API)。协议栈的运用层和数据链路层完结在FPGA内嵌的MicroBlaze处理器中,合作FPGA内部的高精度时钟、CRC处理、PHY操控等硬逻辑模块,完结NCSF总线通讯操控功用。FPGA开发板运用PCI卡与用户层行规接口程序通讯,数据链路层封装的数据最终经由以太网PHY芯片发送。详细层次结构如图3所示。
图3依据SoC的总线体系
2.1 NC主机用户层行规接口的规划
用户层行规经过界说指令与应对的数据结构,保证设备间的互操作,支撑面向运用的完结。依据开放式数控体系中设备的参数与行为特性,用户层行规包含办理、传感器操控、驱动操控与I/O操控等部分。用户层行规接口程序首要担任通讯数据的接纳与发送。在发送阶段,程序首要读取运动操控、PLC等模块的指令,然后将其封装成相应的指令数据结构,最终经过NC主机的PCI将数据结构发送到总线通讯操控卡上;接纳阶段,程序首要读取PCI上由总线通讯操控卡发来的数据,然后将其解析为应对数据结构并传送给相应的功用模块。详细进程如图4所示。