基于STM32F205及LAN9252的EtherCAT伺服开发

2024-10-12 06:46:57

1、苇质缵爨EtherCAT从站硬件简介 EtherCAT 从站是 EtherCAT 网络非常重要的一部分,其主要组成部分是 EtherCAT 瞀闩程狨从站控制器(ESC,EtherCAT Slave Controller)、微处理器以及运行其上的从站软件协议栈。ESC用于EtherCAT数据帧的转发与处理,微处理器及软件协议栈用于实现邮箱数据和过程数据的处理以及控制任务功能。 从站控制器ESC多种多样,有Beckhoff的ET1100,ET1200,ET181X;Hilscher的netX50,netX100;Microchip的LAN9252;TI的Sitara AM335X等,本方案采用的是Microchip的LAN9252。而微处理器则种类更多,本方案中采用的是STM32F205系列,相信很多研发工程师对这款微处理器都比较熟悉。 从站硬件的整体框架如下图所示。微处理器STM32F205通过SPI总线与从站控制器LAN9252通信,EtherCAT协议栈必须移植到STM32F205中。而LAN9252完成数据链路层的工作,并通过I2C接口连接EEPROM,以保存ESC的配置信息。底层的PHY芯片,RJ45等完成物理层的工作,且PHY芯片也是LAN9252自带的。

基于STM32F205及LAN9252的EtherCAT伺服开发

3、EtherCAT从站移植 本方案中,实现的是一个EtherCAT从站的基本功能,包括PDO,SDO,DC等功能。同时,该方案demo代码中还实现了DS402的部分功能(DS402状态机,模拟CSP控制模式,常规伺服驱动器的对象字典等)。 移植步骤如下:先新建一个Keil工程,根据KPA提供头文件和源文件加载到工程中,在ecatslave_osal_basicio.c中适配SPI初始化代码,在ecatslave-platformconfig.h中做EtherCAT功能裁剪,如使能CoE,DC等,再添加GPIO,LED等的初始化,编写自己的应用程序逻辑,编译并下载到STM32F205RB上。最后,编写从站的xml文件,并生成bin文件下载到从站的eeprom中。本方案代码工程如下图所示。

基于STM32F205及LAN9252的EtherCAT伺服开发

5、EtherCAT从站运行测试 为了测试EtherCAT从站的基本功能及DS402的部分功能,工程师根据要求做了样板,烧写了程序,实物如下图所示。 另外,需要用到EtherCAT主站对该从站进行控制。在本方案中,采用的EtherCAT主站是由KPA公司提供的X86+INtime+KPA EtherCAT Master Stack+KPA EtherCAT Studio的方案,在实时操作系统INtime的支持下,主站可设置的最小周期时间为50us,而KPA EtherCAT Studio是一款集配置和监控功能于一身的软件工具。 经测试,状态机可正常切换,PDO数据可正常读写,SDO数据也可正常读写,对象字典可正常工作。下面还有一部分软件测试截图。

基于STM32F205及LAN9252的EtherCAT伺服开发基于STM32F205及LAN9252的EtherCAT伺服开发

6、总结 本文首先介绍了EtherCAT的基本原理,然后介绍了EtherCAT从站软硬件的整体开发流程,并做了代码分析和运行测试,但未加入电机驱动部分的执行代码,后续会把这一部分完善,再继续测试。总的来说,采用STM32系列微处理器及LAN9252进行EtherCAT伺服开发,开发难度低,开发周期短,性价比高,是一个可行且可靠的解决方案。

猜你喜欢