基于SoC的NCSF总线系统的研究与设计术
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将数据结构发送到总线
SoCNCSF总线系 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)