第 6 期
2016 年 6 月
文章编号:1001 -2265(2016)06 -0084 -04 
D0I:10.13462/j. cnki. mmtamt. 2016. 06. 022
组 合 机 床 与 自 动 化 加 工 技 术
Modular  Machine Tool  & Automatic  Manufacturing  Technitjue
No. 6
Jun.  2016
基 于 ARM + FPGA 的 EtherCAT主站设计及实现!
徐 健 ,唐小琦,宋 宝
( 华 中 科 技 大 学 机 械 科 学 与 工 程 学 院 ,武 汉 4 3 0 0 7 4 )
摘 要 :为 解 决实时工业 以 太 网 协 议 E th e rC A T 应 用 于 嵌 入式 主 站 控 制 器 所 产 生 的 实 时 性 和 稳 定 性 等  
问 题,首先研究了 E th e rC A T 主 站 控 制 器 在 E th e rC A T 网络控制系统 中 的 功 能 需 求,分析并提出了实现 
嵌入式 E th e rC A T 主 站 的 架 构,然 后 针 对 上 述 架 构 设 计 了 基 于 ARM   + F P G A 的 E th e rC A T 主站实现的 
硬 件 方 案,并 设 计 了 基 于 X e n o m a i补 丁 的 实 时 L in u x 操 作 系 统 的 软 件 实 现 方 案,最后搭建了互联互通  
的 互 操 作 性 测 试 平 台,实 验 结 果 表 明,该 主 站 控 制 器 具 有 E th e rC A T 标 准 协 议 的 兼 容 性、极 高 的 实 时  
性 以 及 稳 定 性。
关 键 词 :E therC AT  主 站;FPG A  # ARM
中 图 分 类 号 :T H 166 "TG 506 
文 献 标 识 码 :A
D esign and  Im plem entation o f E th e rC A T  M aster B ased  on A R M  + F P G A
X U J i a n ,TANG  X iao -q i,SONG  Bao
(School  of  M echanical Science  and  E ngineering ,  H uaZhong  U niversity  of  Science  and  T echnology,  W uhan
4 3 0 0 7 4 ,C hina)
A b s tr a c t: In  order  to  solve  real-tim e  industrial E thernet protocol  E therC A T   applied  to  em bedded  m aster  con- 
trailer  producing  re a l-tim e ,stability  and 
control  system   functional req u irem en ts,analyze  and  propose  architecture  o f em bedded  E therC A T   m a ste r,
then  for  the  above  architecture  design  E therC A T   m aster hardw are  solution  based  on  A R M   +  F P G A   and  soft
w are  solution  based  on  real-tim e  X enom ai  patch  the  L inux  operating  sy ste m , and  finally  build  a  interopera
bility  testing  p la tfo rm ,the  experim ental  results  show   that  the  E therC A T   m aster  controller has  standard  proto
c o l   s  co m p atib ility ,high  real-tim e  perform ance  and  stability.
K e y  w o rd s : E therC  A T m a s te r ; F P G A  & A R M
other  issu e s,first 
study 
E th e rC A T m a ste r 
controller 
in 
〇 引言
实时工业以太网技术是在常规以太网技术上发展 
起 来 的 ,由 于 传 统 以 太 网 采 用CSMA/ ⑶ 机 制 ,应用于 
工 业 自 动 化 控 制 系 统 时 会 产 生 实 时 性 和 稳 定 性 问  
题 [1_3]。因 此 ,在传统以太网的通信模型基础之上进行 
修 改 来 实 现 强 实 时 性 和 稳 定 性 的 工 业 以 太 网 ,如 Eth- 
erC A T 'S E R C O S 等协议[4-],不仅能够实现大数据量的 
高带宽传输,而且可以方便接人以太网网段,实现以太 
网直达现场级控制设备[6-]。
E th e rC A T 由 于 其 具 有 较 为 优 良 的 性 能 而 广 泛 应  
用 于 各 类 自 动 化 控 制 系 统 当 中 。E th e rC A T 主站 的实  
现大部分基于普通的网 卡 设备,利用 系统软 件 的实时  
性 来 保 证 E th erC A T 主站的实时性,可以实现微秒级别 
的实时性;其 次 ,主 站 也 可 以 利 用 专 用 硬 件 来 实 现 ,利
用 硬 件 的 实 时 特 性 可 以 达 到 纳 秒 级 别 的 实 时 性 ,同时
具有较高的稳定性[8-]。
本 文 针 对 实 时 工 业 以 太 网 E th erC A T 主站的实现 
进行了深人的研究,并 设 计 和 实 现 了 基 于 嵌 人 式 ARM 
处 理 器 外 挂 主 站 专 用 硬 件 F P G A 的 软 硬 件 实 现 方 案 , 
解决了 E th erC A T 主 站 控 制 器 所 要 求 的 协 议 兼 容 一 致  
性 、强实时性和高的稳定性等技术问题。
1  EtherCAT 主 站 控 制 系 统
1.1  E t h e r C A T 控制系统
将 E th erC A T 协 议 应 用 于 工业自 动化控制系统当  
中 ,其 控 制 系 统 结 构 如 图 1 所 示 。E th erC A T 工业以太 
网的控制系统属于一主多从的控制体系架构[10],其中 
主 站 属 于 整个网 络控制 系统的核心,用来调度整个网 
络的 数据通信;而 从 站 作 为 E th erC A T 控制系统的执行
收 稿 日 期 :2015 -07 -10
! 基 金 项 目 :国家自然科学基金(51475185);"髙档数控机床与基础制造装备"科技重大专项(2013ZX04007 -021)
作 者 简 介 :徐健(1992—),男,江西宜春人,华中科技大学硕士研究生,研究方向为数控技术、现场总线及网络,(E- mail)Xujian0935@163.C〇ml
2016年 6 月
徐 健 ,等:基 于ARM  +FPGA 的 EtheCAT主站设计及实现
. 85  .
部件,分布于整个控制系统当中,其类型可以包括I/O 
' 
主站
备 。
从控制器(ESC)
处理  TX
从控制器(ESC)
— ^► RX ^ j 处理  TX
从控制器(ESC)
— ^► R X H 处理  TX
------- [RX
T^
------- [r x
T^
------- [RX
j 从站1 
|1/〇端子I 
< 1   EtherCAT控制系统
从站i 
I伺服=设备I 
从站n
I伺服设备I
完成E th erC A T 协议驱动,负责应用层部分。通过这三 
部分的硬件 
完成E th erC A T 主站控制功能。
从站, 
E th erC A T : 
,  根据相应 
总帧数据帧依 
,作为网络信息管理的输入迭代进行 
个
非常低  的数据上传和下载操作后
的响应  另IJ  的
期的
,E th erC A T 主站作为系统上位机
通信数据准备。 
的调用  ,也为各种  种类的自动控制应用提供
了不同的A P I 函数调用  。
1.2  EterCAT主站控制器架构
根据E th erC A T 主站置于E th erC A T 控制系统中的 
作用  ,一 方面E th e rC A T 主站负责E th e rC A T 网络 
息的管理任务, 
方面要负责与应用程序交互
数据的 A P I! A pplication  Program m ing  Interface)接口。
图 3  EtherCAT主站硬件总体方案
对  挂专用硬件F P G A 的  , 
框图如
图 4 所示。F P G A 中存  个  数据帧缓存区
SB uf1、SB u C 和两个  缓存区rB uf1、r B u f ,分别用来
冲
存放周期性数据帧和非周期性数据帧。利用 
硬件 
冲
生序列能产生硬件 
, 
为基  生数据帧 
冲序歹 用 
了 E th e rC A T 主站的实时性。 
数据帧,
生 
刻 
冲序列后,  数据流控制  根据ARM  的本
应的数据帧,
期的 
P H Y 芯
,数据帧  个周期
C R C 3 2 后将数据 
寄存器  缓冲 
片。对 P H Y 芯片数据 
并行硬件 
t 
| 过 程 数 据 | 
a  
v  
| 周期性数据服务| 
应用程序API
i 
|状 态 机 |
a
v
____ i____
FoE
CoE  EoE 
邮箱协议 
爾 服 务 丄
非周期性数据服务 
|
生相应的  标志寄存器供A R M 进行读取
EtherCAT^ 据帧接口层
硬件接口层
|主要网口| 
|冗余网口|
图 2  EtherCAT主站控制器架构
因此,基 E th erC A T 的  控制器架构如图2 所
示,EtherC A T 主站通过网口接人E th erC A T 网络中,网口 
通过硬件 
够被处理的数据帧流,数据帧 
络中的差分  进行处理生成能
E th erC A T 数据帧接
校  后  应用层协议处理  ,其
E therC A T 协议来处理相对于的数据服务,例如周期性过 
数据、非周期性的邮箱数据等,对  应的数据
生相应的应用程序A P /   调用有效数据。
2  基 于 ARM + FPGA 的 EtherCAT主 站 硬 件  
计
针对嵌入式处理器A R M 外挂专用硬件F P G A 实 
现的EtherC A T  方案,其硬件  框图如图3 所
示。  采用的嵌入式A R M 处理器为T I 公司基于
Cortex-A8  的处理器 A M 335x, FPGA  为 A ltera 
Cy
clone  IV  系歹^的 E P 4C E 10F 17I8N 。
, 络  和 P H Y 芯片等硬件部分主要完成
与网络  与处理数据  的交互,负责E th erC A T 通
操作相应的  缓冲数据帧。
Com_period
^ 中 断 脉 冲 产 生 序 列 |
' 
~
|发 送 时 刻 脉 冲 产 生 序 列 |
i  
sB ufl
sBuf2
!___________ i _____________jsB ufl_datalen
sB uf2  datalen
发 送 数 据 流 控 制 模 块 SBuf  tran  en 
SBuf_rp_times
数据帧发送及硬件 
CRC32计算模块
|数据流至PHY芯片
sBufl
sBuf2
Update_flag
Recv time o  .
接收数据流 Crc32 flag  議
控制模块 Crc32 flame o
Crc vs o
数据帧接收 
及硬件CRC32 
验算模块
PHY芯片至数据流
图 4  FPGA设计链路层框图
发送缓冲区使能控制
发送缓冲区1发送长度设置 
发送缓冲区2发送长度设置 
定时发送周期设置 
缓冲区1重发次数设置 
硬件中断控制
接收到有效数据帧更新 
一个周期内接收到的数据帧数 
CRC32有效标志位 
数据帧中的CRC32中的低16|立 
计算所得的CRC32中的低16位
发送缓存区1周期性发送缓存区
发送缓存区2非周期性发送缓存区 
接收缓存区1周期性接收缓存区 
接收缓存区2非周期性接收缓存区
图 5 数据帧接口层设计
A R M 与 F P G A 交互的数据层接口设计如图5 所 
的物理层部分;F P G A 主要完成数据帧的 
析和 
,负责数据链路层部分;A R M 主要
示,分为三个部分,分别为  数据帧  缓存区、数
据帧  反馈缓存区和  的数据帧缓存区。 
,
•  86  •
组合机床与自动化加工技术
第 6 期
F P G A 操作的寄存器 
配置数据帧  缓 存 区 为 A R M 写 入 区 域 ,作为上位机
&数据帧  反馈缓存
作 为 F P G A 接收数据的  寄 存 器 ,作 为 A R M 获取
&  的 数 据 帧 缓 存 区 作 为 A R M 和 FPGA
的 
交互有效数据帧区域。
3  基 于 ARM + FPGA 的 Ethe rCAT主站软件 
计
挂 F P G A 后 ,E th erC A T 主 站 的 实 时 性 由 FPGA 
和 X enom ai实时补  共 
,如 图 9 所 示 。 
,
实时任 
执行三个函数, 
步  函数的 
为 
核
, 
F P G A 产
生的 
。实 任 务 负 责
与 F P G A 中的缓存区进行数据帧的交互,只要  FPGA 
后 该 实  
的 
数据帧之间的时间范 
是 受 的 ,而实际的数据帧 
动都
刻 是 以 F P G A 的
本 文 采 用 基 于 X e n o m a i的 补 丁 构 建 的 实 时 Linux 
精 
的 ,确保了硬实时的任务调度。
操 作 系 统 , 
CAT  : 
件 构 如 图 6 所 示 。 
是一个 内核空 间 的  
,E ther
载 在 Linux
内核中,相 比 用   间的代码有更 好的实 时 性和更
件 的 功 能 主 要 完 成 E ther
短的硬件操作特性。 
CAT 协  动 、基  F P G A 的 
备 驱 动 和 应 用 程
序
实 现 E th erC A T 主站对普通  的兼容。
,  还包含了标 
的驱 动 ,以便
EtheiCAT主站模块
可卡设备接口丨
f 本地EtheiCA工业^
I 以太网设备驱动^
Ilg
l-K
s
¥
4
囊
x
nl.s
q
rt_dev_ioctl( ^ ^
茼步信号)
W h ile ( l )
实
时
任
务
••-y
j g S M i m g ) 
用户态)
E therC A T : 
件的三个 
间的数据流如图
7 所 示 ,用 
通过应用程序 
(包括实  备接
和 字 备 ) 
的 数 据  
,
根 据 E th erC A T 网络 
息将用户的  数
据 进 行 包 成 E th erC A T 数据帧 
备 ,
备将数据帧处理后 
E th erC A T 网络中实
4 系 统 集 成 测 试 及 结 果
用 
类似。
备的通 
&反之接收数据的过程
所搭建的互联互通的互操作性实验平台采用 
发送的用户数据 
发送的数据帧
的  是 基 于 ARM  + F P G A 的 E th erC A T 主 站 , 
用 SANYO  D E N K I公 司 生 产 的 R S 2 系列 
P a n a so n ic 公 司 生 产 的 A 5 B 系列 
动器和 自制 伺
采
动 器 、
接收的用户数据
接收的数据帧
图 7  EttierCAT主站的顶层数据流
动 器 ,  了一个 上 位 机 运 行 数 控 系 统 G 代码的
三轴测试平台,如 图 1 0 所 示 。
嵌入式处理器A R M 外挂 专 用 硬 件F P G A 的软件 
实现的方案中,最关键的技术就是基于F P G A 的硬件实 
动的调度  。 
的 处 理 器 加 Xenomai
补  行 Linux 操作系 统的 软件实 时 调度为 例 ,如 图 8
实 
系 统 G 代码 下长时间运 行,表明该系统 
测  明 ,该三轴控制系统能  数控
的协
兼容性和 
性 。
后 ,对 专 用 外 挂 硬 件 F P G A 方案的实时性进行  
所示。用户的实时任务通  期调用实时控制函数来
了测试,以 F P G A 产生的 
冲  为  基
实时性,但是这种方式的实时性主要由X en o m ai补 
的实  性保证,当系统的负载过大或者存在多个实
时任务调度的时候就会难 
实时性的稳定。
,测 
数据帧使能时刻的 
动 ,测 
如
图 1 1 所 示 。 由图 
内 ,数据帧发送的时刻几乎维  变 ,  了纳秒级别
看 出 , 
个 
期
2016年 6 月
徐 健 ,等:基 于ARM  +FPGA 的 EtheCAT主站设计及实现
. 87  .
的精度,远远高于传统网卡的方案,对于实时性要求高 
主站控制器功能,实验达到了令 人  的效 果 ,并且具
的控制系统 
重要的  。
的协议兼容性、稳定性和较高的实时性。
[参考文献]
[ 1 ]  单春荣,刘艳强,郇极 .工  
总 线 EtheCAT
[J].制造业自动化,2007 (11):79 -82.
动程序 
[ 2 ]  张 少 勋 .基 于 嵌 人 式 数 控 平 台 的 EtherCAT主站实现 
[D ] . 广州:华南理工大学,2013.
[3] 
d . 基 于 EtW C A T 的  通信控制器设计[D ] . 广
州:广东工业大学,2013.
[4] 
[5] 
. 基 于 EtherCAT工业以太网嵌人式主站研究 
[D ]. 广州:华南理工大学,2014.
. 基 于 EtheCAT 工 
与应用研究[D ] . 南京:南京理工大学,2014.
的现场控制系统主站
[6 ] Cereia M, Bertolotti I C, Scanzio S.  Performance of a real
time EtlierC!AT master under Linux [ J ].  Industrial Informat
ics, IEEE Transactions on,2011,7(4) : 679 -687.
[ 7 ]  马  ,康存锋,黄  ,等 . 基 于 Linux的 EtWCAT
的研究[J] . 制造  动化,2011,33(4): 78 -82.
[8] Moon Y , Ko N Y , Lee K, et al. Real-time EtlierC^AT master 
implementation on Xenomai for a robot system [ J ].  Interna
tional Journal of Fuzzy Logic and Intelligent Systems,2009, 
9(3) : 244 -248.
[9 ]  Cereia M, Scanzio S.  A user space EtlierC^AT master archi
tecture for hard real-time control systems [ C ]//Emerging 
Technologies &  Factory Automation (ETFA) ,2012 IEEE 
17th Conference on.  IEEE,2012: 1-8.
[ 1 0 ] 徐健,宋宝,唐小琦. EtheCAT 与 Modbus协议转换网 
实 现 [J ] . 组合机床与自动  工 技 术 ,
( 编 辑 赵 蓉 )
2015(4) : 71 -73. 
关的 
图 1 0 系统实验测试平台
MS0-X 3024^ Mf5136049e Wed JJ 08 223346 2015 
I  2.00V/  2 
3  2.00V/  4 
762. IS 
______
120.00:/1
IO  
ik tf 
°〇 
I 
I 
i)t 除 
余》___________ 4 ® ____________ 金 
■  H 格充度 
《 除 
II- 
1tH  
20%
I
图1 1 实时性测试结果
5 结束语
入分析和研究了 Eth e C A T 主站控制器的 
体系架构之上,对比了基于通用  方 案和 专用硬件
F P G A 方案的优缺点,提 了 基 于 嵌 入 式 处 理 器 A R M 外 
挂专用硬件F P G A 实现的软硬件方案,实现了 EtherCAT
(上 接 第 8 3 页)
[7]  学智, 
[1]  马伦,康建设,孟妍,等. 基 于 M ole t 小波变换的滚动轴
[ 参 文 献 ]
幅 
(5) :572 -577.
, . 奇异值分解对 
动信号中调
息 的 提 取 [J ] . . 京 理 工 大 学 学 报 ,2011,31
期故障  提取研究[J ]. 仪器仪表学报,2013,34
[ 8 ]   国 ,关
, 
(4 ) :920 -926.
[2 ] 
, 力, 
, . 基 
精度
动态测量法[J].   机床与自动化加工技术,2015(5 ) :
73 - 7 5 ,79.
消噪的 
[3 ]  莉 ,桂预风, 
,等. . 阈值法在机械信号降
的  机振动 
(8) :149 -152.
[9]  学智, 
箱故障 
⑴ :100 -108.
.基  
包变换和奇异值分解
提取研究[J ] . 振动与冲击,2011
, 统 . 奇 异 值 差 分 谱 理  
车床
的应用[J ] . 机械工程学报,2010,46
噪 研 究中 的应用[J ]. 机械  与制造,2014( 1 ) : 
222 -225.
[10] 
平 ,蒋 永 ,张 详 . 基  
奇异值分解和经验
分解的滚动  故障  提取方法[J ] . 机械工程
[4 ]  飞飞, 奎,王  ,等. 航空滚动 
动信号的
学报,2010,46(5):37 -42,48.
降噪研究[J] . 机械研究与应用,2014(2 ) :89-91.
[11]  斌 ,朱云博,  刚,等.一种有效奇异值选择方法
[5 ]  大 ,钟 功 ,吴英. 非线性  阈值选取  对
弱 
提取中的应用[J ] . 机械科学与技术,
降噪效果的影响分析[J] . 四川理工学院学报(自然科学
2012,31(9):1449 -1453.
) ,2014,27(3) :50 -54.
[6 ]  …  阈值法降噪分析与改进[J ]. 信息与电子工 
,2011,9 (2 ) :211 -214.
[12]  学智, 
, 统坚. 基 
一奇异值分解差分
谱的弱故障  提取方法[J ] . 机械工程学报,2012,48
( 编 辑 赵 蓉 )
(7):37 -48. 
免费论文查重:http://free.paperyy.com
3亿免费文献下载:http://www.ixueshu.com
超值论文自动降重:http://www.paperyy.com/reduce_repetition
PPT免费模版下载:http://ppt.ixueshu.com
-------------------------------------------------------------------------------
阅读此文的还阅读了:
1. 基于FPGA的DDR3 SDRAM控制器设计及实现
2. 基于FPGA的通用可逆计数器的设计及实现
3. 基于ARM的PROFIBUS-DP智能主站设计
4. 基于INtime的EtherCAT实时采集系统主站设计
5. 基于FPGA和ARM的GPS信号处理平台
6. 基于ARM和FPGA的LXI触发机制实现
7. 基于ARM的FPGA加载配置实现
8. 基于ARM11和Linux的DS18B20温度测量系统设计及实现
9. 基于FPGA与ARM的遥测数据网络化采集
10. 基于FPGA和ARM的视频采集处理系统
11. 基于ARM9和Linux的FPGA驱动设计
12. 基于ARM/Linux的嵌入式卫星定位平台设计及实现
13. 基于Linux的EtherCAT主站的研究
14. 基于Linux-RTAI的EtherCAT主站研究
15. 基于FPGA+ARM的智能图像门控系统
16. 基于ARM-Linux的车载监控终端设计及实现
17. 基于DSP和ARM的光电跟踪系统伺服控制器设计及实现
18. EtherCAT 主站 和 EtherCAT 配置器
19. 基于FPGA与ARM的智能合并单元设计
20. 基于ARM和FPGA的图像识别系统
21. 基于FPGA的EtherCAT从站节点开发
22. KPA EtherCAT 主站开发套件MDK简介
23. 基于VxWorks+ARM9的PROFIBUS-DP冗余主站的设计
24. 基于FPGA和ARM的GPS基带处理平台设计
25. 基于ARM9和CS8900A的网络通信电路的设计及实现
26. 基于ARM的EDB系统设计及实现
27. 基于FPGA的E~2PROM读写控制设计及实现
28. 基于FPGA的ARM SoC原型验证平台设计
29. 基于FPGA和ARM的GPS多径实验平台
30. 基于ARM和FPGA的电脑横机控制器的设计
31. 基于ARM & FPGA的CCD图像识别装置
32. 基于ARM&FPGA的USB通信软件设计
33. 基于FPGA和H16110的多通道1553BMT设计及实现
34. 基于ARM+FPGA的PLC计数器的设计
35. 基于FPGA的可控ARM异常表设计实现
36. FPGA和ARM的Profibus-DP主站通信平台设计
37. 基于ARM+FPGA的GPS接收机设计
38. 基于ARM的远程监控系统的设计及实现
39. 基于ARM技术的EtherCAT与Modbus/TCP协议转换卡设计
40. 基于ARM-FPGA的PLC通讯与编译的设计
41. 基于ARM7TDMI的FPGA加载配置
42. 基于ARM、FPGA、多DSP的嵌入式
43. 浅谈基于WinCE环境下的ARM+FPGA系统
44. 基于ARM和FPGA的DVB-S2数据分类系统研究
45. 基于DSP和PowerPC的EtherCAT主站控制器设计
46. 一种基于ARM-Linux的FPGA程序加载方法
47. 基于FPGA和ARM的图像处理系统
48. 基于ARM点到点通讯协议的设计及实现
49. 基于FPGA的DDS设计及实现
50. 基于ARM与FPGA的LCD控制器设计