第 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控制器设计