EtherCAT主站协议栈源代码
KPA EtherCAT主站保证了所有EtherCAT技术优势的实现,比如实现操作、特别是极短的循环时间、最小的成本实现最优的性能等优势。KPA EtherCAT主站的架构已经被概念化,而且提供了很方便的接口可以直接移植到不同的操作系统和硬件平台,产品分为三种等级:Basic (Class B), Standard (Class A) 和Premium。
KPA EtherCAT主站支持EtherCAT Network Information格式,它的宗旨在于将EtherCAT技术应用得更全面更高效。该协议栈完全按照ETG规范开发,采用ANSI “C”,遵从技术要求。KPA EtherCAT主站在最短的执行时间、最小的内存占用上做了很多的优化,以达到实时操作和而且在不同硬件平台行利用嵌入式系统的要求。
KPA主站开发包MDK使研发工程师可以直接通过配置主站的功能来实现开发。
硬件平台/供应商:
· Altera / Cyclone V
· ARM / ARM
· Freescale / PowerPC
· Intel / x86
· Xilinx / Zynq Vivado
ETHERCAT MASTER STACK ARCHITECTURE(EtherCAT主站架构):
EtherCAT主站协议栈采用模块化的架构,可以实现每个特殊的项目应用。它使得主站可以自由扩展以适应不同大小的应用程序、可以移植不同的操作系统和
各种各样的硬件平台。它允许每个模块单独定制化或者二次开发,而且不会破坏其他模块的完整性。
KPA EtherCAT主站协议栈的模块是根据下图中显示的不同层结构来分组的。所以,所有的功能都很清晰的单独列出:
Application Layer应用层:应用层负责与各种不同的编程/配置环境交互,负责与不同的应用或设备交互。它包括并且:
l 确保在应用或过程任务端顺利访问主站功能函数
l 允许与主站通过Remote Procedure Calls服务交互,提供了TCP/IP以及UDP连接,比如:通过UDP与从站设备进行mailbox相关的通讯
Master核心模块:
信箱服务模块:KPA主站核心mailbox模块利用不同的协议处理服务数据对象(SDP),数据传输以及数据交换。KPA主站已经支持完全符合EtherCAT标准的以下协议:
· CAN application protocol over EtherCAT (CoE)
· Ethernet over EtherCAT (EoE)
· Servo Profile over EtherCAT (SoE)
· File Access over EtherCAT (FoE)
· Vendor specific Profile over EtherCAT (VoE)
· ADS over EtherCAT (AoE)
PROCESS IMAGE MODULE过程映像模块Process Image 过程映像的地址是由EtherCAT network information (ENI) 文件提出的,它由配置工具自动生成。从控制/过程任务访问过程映像是由主站接口执行的。
DISTRIBUTED CLOCKS MODULE分布时钟模块Distributed Clocks (DC) 模块使得所有的EtherCAT设备(包括主站和从站)总是能够共享相同的EtherCAT系统时间。这是通过补偿编译和漂移时间来实现的。更多详细内容请参考文件:
KPA Master Synchronization description
FRAME SCHEDULER MODULE帧调度模块 – DIFFERENT SCAN RATES FOR PDO
在配置工具里,用户可以单独定义每个从站的扫描速率。帧调度模块管理EtherCAT报文帧的转
EtherCAT主站抽象层OPERATING SYSTEM ABSTRACTION LAYER (OSAL)操作系统抽象层KPA 主站操作系统抽象层使得主站与操作系统的对接工作量更少。
OSAL包括两个模块· 操作系统功能模块:含与操作系统相关的功能函数的包装,比如处理线程、计时器、互斥量等
· 网络适配驱动器模块:从底层的网络实现提取主站堆栈的core核心
KPA ETHERCAT MASTER OPERATING SYSTEMS操作系统列表:OnTime RTOS-32, PikeOS (partly), RTAI with RTnet已经移植。可以另外咨询最新情况。
KPA ETHERCAT MASTER STACK BENCHMARK
KPA EtherCAT主站参照标准:
过程数据大小:30个字节(18字节输入/12字节输出)
Cycle Times Required | 50 | 100 | 50 | 50 | 100 | 100 |
Average | 49 | 109 | 49 | 50 | 99 | 99 |
Jitter | -1 | 9 | -1 | 0 | -1 | -1 |
Minimum | 43 | 104 | 39 | 42 | 86 | 87 |
Maximum | 57 | 123 | 59 | 57 | 113 | 112 |
过程数据大小:1630个字节(1586字节输入/44字节输出)
Cycle Times Required | 200 | 200 | 200 | 200 | 200 | 200 |
Average | 199 | 208 | 197 | 200 | 199 | 199 |
Jitter | -1 | 8 | -3 | 0 | -1 | -1 |
Minimum | 194 | 204 | 183 | 197 | 185 | 189 |
Maximum | 205 | 211 | 209 | 203 | 214 | 213 |
注意:Note: 这些测试是基于x86 架构下的PC完成的。KPA EtherCAT主站方案也支持VxWorks和QNX RTOS 的Power-PC 架构。
测试平台:
Processor: Intel® Xeon® 5150
NIC: Intel® PRO
100
KPA EtherCAT 主站包:
每个EtherCAT主站包根据特定的功能和特性分成不同的级别,因此,您可以根据自己的应用选择最合适的主站包。不同级别的主站包对比表请参考这个文件:分Basic (Class B) 和 Standard (Class A) ,还有Premium三种级别。
KPA EtherCAT Master Classes
功能包和拓展选项除了ClassA和B之外,您还可以从以下列表选择主站的功能包和拓展选项:
主站功能包· Cable Redundancy(线缆冗余)
· Hot Connect(热连接)
· TCP/UDP Mailbox Gateway(TCP/UDP信箱服务网关)
· External Synchronization(外部同步)
KPA主站拓展选项· Data- and Frame-Logger(数据和报文记录器)
· Access Rights(访问权限)
· Multi Master for RTX (Master 1.6.) (RTX多主站 Master1.6)
· Extended Master Diagnostics (Master 1.6.) (扩展的主站诊断功能 Master1.6)
· Database CAN (DBC) (Master 1.6.) (CAN DBC文件 Master1.6)
操作系统
第三步,您还可以选择操作系统:Operating System