APP下载

基于DSP和PowerPC的EtherCAT主站控制器设计

2013-12-29李建峰苏金涛

电脑知识与技术 2013年16期

摘要:文章介绍了EtherCAT总线的原理与相关协议,根据协议的内容给出EtherCAT总线主站设计方案,通过对PowerPC处理器MPC5200和DSP信号处理器TMS320C6455的研究,设计出以该器件为核心控制的Ethercat主站硬件平台,并完成主站协议软件在MPC5200的具体实现。

关键词:实时以太网; EtherCAT;DSP;MPC5200;主站软件

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)16-3678-04

将以太网技术应用于现场总线技术是分布式控制系统发展的必然趋势,与传统的现场总线相比,以太网现场总线具有刷新周期短,数据传输容量大,数据传输效率高,同步性能高等优点。目前常用的实时工业以太网技术有EtherCAT技术、EtherNet/IPIP技术、Ethernet Powerlink技术、Modbus/TCP技术等[1-3]。

EtherCAT是由德国Beckhoff 自动化公司开发,该总线具有高速和高数据有效率的特点,在硬件实现上具有网络拓扑结构灵活、接线简单、性价比高等优点,为今后实时工业以太网的发展趋势,更是今后实时分布式控制系统的首选[4]。

1 Ethercat总线的工作原理与相关协议[5-6]

1.1 Ethercat总线的工作原理

2 主站的硬件设计

2.1 DSP单元

核心器件采用TMS320C6455[9],该器件TI公司推出的高速信号处理器,最高工作频率为1.2GHz,该模块主要电路包括时钟、复位、JTAG调试接口、存储器、通信电路、模拟量接收电路等组成。DSP主要用于复杂的实时信号处理(如:数控系统多轴的运动轨迹规划、实时的插补算法、误差补偿、伺服滤波算法),并将运算结果通过FPGA传送到PowerPC控制的EtherCAT总线上。存储器电路主要包括DDR2存储器以及FLASH存储器和DSP的接口,DDR2存储器用于存放数据,FLASH存储器用于存储运行程序和系统重要参数。模拟量接收电路在FPGA控制下,将外部输入的模拟信号数字化后送入DSP,用于数据信号处理。通信电路主要为千兆以太网接口电路,DSP内部集成了100/1000Mb/s的MAC控制器,通过外部扩展PHY芯片实现网络功能,千兆网主要用于系统参数设置和调试使用。

2.2 FPGA单元

在设计中FPGA采用是Altera 公司的EP3C40F484-C8N,器件内部有39600个LE 资源,有1兆位的RAM,可提供三百多个输入输出 引脚,芯片内部集成了一百多个个乘法器和4 个PLL 锁相环,满足硬件设计需求。FPGA用于实现DSP和PowerPC的双向数据交换,PowerPC将接收到的EtherCAT总线上各控制单元的信息通过FPGA传送到DSP内部,DSP通过FPGA可以将相应的数据传到EtherCAT总线上各单元。另外,FPGA还用于逻辑控制,实现模拟量输入输出信息、开关量输入输出信息与DSP、PowerPC的无缝连接。

2.3 PowerPC (MPC5200B)单元

主站PowerPC采用MPC5200B[7 8],该器件为Freescale 公司推出的32位高性能处理器,器件主频工作频率为400MHz,为了提高程序运算速度,器件内核分别带有16K字节的程序、数据高速缓存,带有一个双精度浮点处理单元。对于外部关键信号,片内带有标准中断管理单元。为了实现器件与外部通信,MPC5200B片内集成一路100M的以太网控制器,两路CAN总线控制器,多路串行口控制器。该单元由MPC5200B、时钟电路、复位电路、JTAG 调试接口、通信接口电路、存储器接口电路以及对外扩展接口电路等组成。该模块主要用于实现用于实现EtherCAT的物理接口以及主站协议的软件实现,并提供相应的控制软件。

2.4 电源单元

2.5 通信单元

在设计中为了考虑硬件的兼容性,采用了多种通信接口,在DSP上挂接一路1000M的以太网,用于DSP系统调试参数设置,在PowerPC上挂接一路100M以太网接口,六路串行接口(分别为2个RS232口、两个RS485口、2个CAN接口)。1000M的以太网用于实现EtherCAT总线物理接口,RS232口用于实现与PC通信,RS485口和CAN接口可以实现与其他设备接口,满足系统通用性要求。

3 主站软件设计

EtherCAT主站程序包括DSP和PowerPC两个运行程序,DSP程序主要功能是实现复杂控制算法,PowerPC程序功能为实现EtherCAT协议的通信和设备的控制。DSP运行的软件主要为算法研究,由于篇幅所限,文章着重详述在PowerPC硬件平台下,EtherCAT协议和控制软件在Linux操作系统中的实现。

3.1 PowerPC(MPC5200B)下主站软件功能

在PowerPC下运行的EtherCAT 主站软件主要包含如下功能:首先,完成系统主站硬件的初始化,软件能够对系统运行时间进行计数,对系统运行状态进行监控;其次,主站软件通过发送命令要对EtherCAT 系统以及各个从站进行初始化,实现主站与各从站之间的数据实时交换,实现相关协议解析和转发;再次,主站软件可支持在线下载、实时更新。软件结构采用模块化编程,底层软件提供硬件驱动,中间层软件为上层应用软件和底层软件提供接口,实现上层应用软件与驱动软件隔离。

3.2 基于Linux的 EtherCAT主站下主站软件具体实现

EtherCAT初始化完成后,在Linux内新建两个内核定时器,一个用于完成周期性数据通信,另一个用于轮询非周期性任务,也就是状态机处理任务。周期性数据通信定时器的优先级最高,定时器运行周期通过配置软件设置,非周期任务查询定时器的优先级较低,周期可定为50毫秒。

初始化和配置完成后,启动定时器开始发送周期性数据帧,并检查返回的数据帧,对返回的数据帧进行解析,获取从站的数据交给DSP处理,DSP对数据进行处理后,将新的输出命令发给PowerPC,PowerPC继续发送周期性数据帧。

4 结论

采用基于DSP和PowerPC的硬件平台实现了EtherCAT总线主站相关协议,通过测试可知, 主站周期性的向各从站(测试时,从站数量为3)发送EtherCAT 数据包(数据包数量为1518字节),各从站接收到自己的数据包,再向主站返回相应信息,EtherCAT总线延时时间为3.02μS,可以看出主站设计满足实时性要求。

参考文献:

[1] 杜品圣.工业以太网技术的介绍和比较[J].仪器仪表标准化与计量,2005,5:16-19.

[2] 缪学勤.论六种实时以太网的通信协议[J].自动化仪表,2005,26(4):1-6.

[3] 刘艳春.工业以太网现场总线EtherCAT驱动程序设计及应用[M].北京:北京航空航天大学出版社,2010.

[4] EtherCAT Technology Group.EtherCAT Technical Introduction and Overview. December 2004.

[5] 周千翔.基于实时以太网的分布式电子控制器设计[D].南京:南京航空航天大学硕士论文,2008.

[6] EtherCAT Communication Principles[R].EtherCAT Technology Group,2007.

[7] Freescale Semiconductor.MPC5200B Data Sheet, Rev.1,1/2006.

[8] Freescale Semiconductor.MPC5200B User's Manual, Rev.1,1/2006.

[9] TEXAS INSTRUMENTS.TMS320C6455 Fixed-Point Digital Signal Processor APRIL,2009.