打印
[XMC™]

基于KIT_XMC48_IOT_AWS_WIFI的EtherCAT开发

[复制链接]
925|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 IFX_OwenSu 于 2024-5-21 10:18 编辑

Ethernet for Control Automation (EtherCAT)是一种基于以太网的高性能工业控制总线。它的通讯速度可以达到100Mbps,在一个网络配置中最多支持65535个从站节点。它支持多种拓扑结构例如星型,线型,树形等。
XMC4000系列中XMC4300/XMC4800集成了EtherCAT模块。XMC4800内部集成了电机控制模块和模拟信号检测模块,可以用于电机控制领域。XMC4300刨除了XMC4800中电机应用模块,可以用于工业控制中的I/O模块。
以下是基于XMC4800的EtherCAT控制方案和其它方案比较。
左上是基于XMC4800的EtherCAT控制方案,可以看到这个方案仅需2片外部PHY,无需外部EEPROM和外部存储器。右上是基于其它带EtherCAT模块的MCU,大部分这类MCU都需要外部的Flash和EEPROM,而且PHY需要外部的晶振。左下是基于ASIC(例如ET1100)的解决方案,这种方案需要额外的MCU去做控制,而且同样需要外置的EEPROM和外部晶振。右下是基于FPGA实现EtherCAT IP,除此之外,有些FPGA还可以作主控,这种方案虽然运算性能和扩展性能都比较好,但是成本很高,而且同样需要外部的存储器和外部晶振。

XMC4800系列的官方KIT主要有以下两款:

KIT_XMC48_RLX_ECAT_V2.1:

KIT_XMC48_IOT_AWS_WIFI:


两块板子的Key features对比:
  
Features
  
KIT_XMC48_RLX_ECAT_V2.1
KIT_XMC48_IOT_AWS_WIFI
Processor
XMC4800 microcontroller, 144MHz, 2MB  Flash, 352kB SRAM, LQFP144
XMC4800 microcontroller, 144MHz, 2MB  Flash, 352kB SRAM, LQFP100
Dimensions
66 x 99 mm (66 x 101 mm with  connectors)
75 x 138 mm (91 x 144 mm with  connectors incl. Phy-2-Phy)
Clock
  
crystals
12 MHz and 32.768 kHz crystal for CPU.
  
25 MHz crystal for Ethernet Phy
12 MHz and 32.768 kHz crystal for CPU
Power
5 V external powering
  
• Micro-AB USB Connector interface or
  
• On-Board Debugger USB interface
Via USB connector (Micro-AB USB) or
  
Via On-Board Debugger (Micro-AB USB)
Connectors
1)      Arduino compatible connectors
  
2)      All relevant XMC™ pins available on expansion pads (X1, X2)
  
3)      All EtherCAT signals available on expansion pads (X1, X2)
  
4)      Ethernet interface via RJ45 jac
  
5)      microUSB
  
6)      microSD-Card slot
  
7)      Serial Wire Debug interface (2x5, 50 mil pitch) to XMC™
  
(on board debugger can be overridden  by externally connected debugger)
  
1)      EtherCAT® Slave IN and OUT interface via RJ45 jack
  
2)      mikroBUS™ socket (2x8-pin)
  
3)      Arduino compatible connectors (1x10-pin, 2x8-pin, 1x6pin, 2x3pin)
  
4)      USB connector (Micro-AB USB)
  
5)      CAN connector (D-Sub DE-9)
  
6)      EtherCAT® Phy-2-Phy connector (not assembled)
  
7)      Serial Wire Debug interface (2x5, 50 mil pitch) to XMC™ (not  assembled) (on board debugger can be overridden by externally connected  debugger)
  
Debugger
On-Board J-Link debug probe via USB supporting.
  
• Serial Wire Debug (SWD)
  
• UART-to-USB bridge (virtual COM)
On-Board J-Link debug probe via USB supporting.
  
• Serial Wire Debug (SWD)
  
• UART-to-USB bridge (virtual COM)
Others
1) On-board debug probe, based on XMC4200 microcontroller.
2) Ethernet Phy
3) CAN transceiver
4) 32 Mbit Quad-SPI Flash Memory
5) 2 user push-buttons, 2 user LEDs
6) Reset push-button

1) On-board debug probe, based on XMC4200 microcontroller.
2) 2x EtherCAT® Phys
3) CAN transceiver
4) 2 user push-buttons
5) 2 user LEDs
6) Reset push-buttons



从上面的表格可以看到,两块板子主要的区别在于:芯片的封装不同;KIT_XMC48_RLX_ECAT_V2.1在没有外接板的情况下可以实现Ethernet,接上外接板之后可以实现EtherCAT;而KIT_XMC48_IOT_AWS_WIFI无法实现Ethernet,但其接上mikroBUS™之后可以实现Wi-Fi功能
官方目前提供的EtherCAT例程是基于KIT_XMC48_RLX_ECAT_V2.1进行开发的,但因为上述的区别,这个例程直接烧录到KIT_XMC48_IOT_AWS_WIFI上是无法正常运行的,所以我们可以基于官方的例程来创建相应的工程。
前提条件:
1) DAVE IDE,可从以下链接下载:
2) TwinCAT3,可从以下链接下载:
3) 需要参考‘ETHCAT_SSC_XMC43’和‘ETHCAT_SSC_XMC48’这两个例程进行开发,可从以下链接下载:
4) SSC Tool可以从以下链接下载,但是需要ETG的membership:


步骤:
1.     在DAVE IDE中基于KIT_XMC48_IOT_AWS_WIFI创建一个新的DAVE CE工程.

2.     完成之后添加’ECAT_SSC’ APP,这时候工程中应该会添加一系列的APP,但这并不能完全实现相应的功能,我们还需要添加两个‘INTERRUPT’分别对应INT_SYNC0/1,然后再添加两对’EVENT_GENERATOR’和’EVENT_DETECTOR’分别代表EG_SYNC0/1和ED_SYNC0/1。
3.     然后再添加一个PWM_CCU8,这个模块主要是检查主机OUT_GEN_INT1设置的整数,并相应设置PWM驱动LED2的占空比,但在我们这个基础的例子中可以不使用。
4.     最后添加完成之后结果如下:
5.     点击‘Manual Pin Allocator’进行引脚的分配,在每个引脚的下拉框中应该都能看到ECAT对应的引脚,所有的都选上ECAT对应的引脚即可。
6.     完成之后在‘ECAT_SSC’上击右键点击‘HW Signal Connections’,将对应信号进行连接。除了‘ECAT_SSC’之外,还需对‘ED_SYNC0/1’和‘EG_SYNC0/1’进行配置。
完成之后的HW Signal Connectivity应该如下图所示:

7.     完成之后记得点击‘Generate Code’,这一步很重要。
8.     修改main.c,这一步可以将‘ETHCAT_SSC_XMC43’的main.c直接复制过来,因为这两块板子的schematic非常相似,几乎不需要进行改动。
9.     接下来在编译之前还需要生成Slave Stack Code和ESI file。在创建工程的时候SSC文件夹中就会生成对应的XMC_ESC.xlsx表格,但是点开之后会发现里边缺少相应的配置,所以你可以参考‘ETHCAT_SSC_XMC48’中的XMC_ESC.xlsx表格(直接复制到对应目录下即可)。生成Slave Stack Code和ESI file的步骤在getting started中都有详细的介绍,这里就不过多赘述。

10.  完成之后还需要修改相关的代码,这一部分也可以在getting started中看到:

11.  上述步骤都是新建工程之后的一些基本配置,完成之后就可以按照我们的getting started说明文档一步一步的进行测试了。附件工程是配置好并测试过的,可以对照一下看看有没有什么遗漏。


XMC4800_IOT_Ethercat.zip

39.44 MB

使用特权

评论回复
沙发
huquanz711| | 2024-5-20 09:00 | 只看该作者
集成度很高,以前的实现方式都是MCU外挂ETHERCat控制器

使用特权

评论回复
板凳
Burnon_FAE_3| | 2024-7-28 00:07 | 只看该作者
EtherCAT换PHY的调试步骤是什么?

使用特权

评论回复
地板
IFX-XiaoluZhu| | 2024-7-29 09:46 | 只看该作者
精彩的分析,手把手知道如何set up

使用特权

评论回复
5
IFX_OwenSu|  楼主 | 2024-7-29 09:50 | 只看该作者
Burnon_FAE_3 发表于 2024-7-28 00:07
EtherCAT换PHY的调试步骤是什么?

更换PHY之后的调试步骤也是类似的,主要需要确认PHY address是否需要修改,如果不需要修改,那硬件配置完成之后可以按照getting started直接进行set up,软件不需要修改。

使用特权

评论回复
6
shenxiaolin| | 2024-7-29 22:01 | 只看该作者
感谢分享

使用特权

评论回复
7
yangjiaxu| | 2024-7-30 10:36 | 只看该作者
EtherCAT属于车规方面的模块/产品吗?

使用特权

评论回复
8
IFX_OwenSu|  楼主 | 2024-7-30 13:09 | 只看该作者
yangjiaxu 发表于 2024-7-30 10:36
EtherCAT属于车规方面的模块/产品吗?

工业上用的更多些

使用特权

评论回复
9
梵蒂冈是神uy| | 2024-7-30 17:27 | 只看该作者
这个例程直接烧录到KIT_XMC48_IOT_AWS_WIFI上是无法正常运行的

使用特权

评论回复
10
IFX_OwenSu|  楼主 | 2024-7-31 09:28 | 只看该作者
梵蒂冈是神uy 发表于 2024-7-30 17:27
这个例程直接烧录到KIT_XMC48_IOT_AWS_WIFI上是无法正常运行的

您烧录的哪一个例程呢?附件的XMC4800_IOT这个例程我在IOT板子上是测试过的,能正常运行。
您可以截图分享一下遇到的错误是啥。

BR,
Owen

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:英飞凌科技股份公司
简介:关于英飞凌——我们致力于打造一个更加便利、安全和环保的世界,在赢得自身成功发展的同时,积极践行企业社会责任。

68

主题

183

帖子

6

粉丝