您现在的位置是:心海E站 > 文案短句 > >正文

lan9252(基于STM32F205及LAN9252的EtherCAT伺服开发)

发布时间:2023-11-02 08:19:33 admin 阅读:59

导读一、基于STM32F407+LAN9252的EtherCAT从站开发 1、硬件准备: 烧写单片机程序:安装开发环境keilMDK,烧写单片机程序,注意烧写完成后需重启开发板电源。 烧写EEPROM:参考《烧写EEPROM的方...
一、基于STM32F407+LAN9252的EtherCAT从站开发

1、硬件准备: 烧写单片机程序:安装开发环境keilMDK,烧写单片机程序,注意烧写完成后需重启开发板电源。 烧写EEPROM:参考《烧写EEPROM的方法-Rdocx》 软件准备: twincat软件目录下放置XML文件:安装twincat,将XML文件拷贝到目录C:TwinCAT1ConfigIoEtherCAT下。按照图示连接好开发板。。

2、注意:安装前请卸载360相关的软件,且关闭系统更新。系统配置win764bit,安装twincat时关联VS20若关联其他版本的VS或在win10上运行,可能导致系统崩溃或其他问题。 注意:twincat支持intel网卡,或者realtek系列的网卡。若为台式PC,推荐购买一个PCIe的intel网卡,这样上网和通信调试可以同时进行。 在Twincat内安装ecat主站网卡驱动:打开twincat,点击TWINCAT—>showrealtime… 。

3、打开安装好了的twincat软件,在电脑右下角右键点击twincat图标,然后点击TwinCATXAE(VS2012)。 。

4、文件→新建→项目→Twincatproject→修改工程名→确定。。

5、右键点击device→scan扫描连接的从站设备 。

6、正常扫描到设备会显示如下:。

7、然后按图示操作相应的LED,就可以看到开发板上对应的LED亮灭了。。

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

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

2、2EtherCAT从站软件简介   由上图得知,处理器STM32F205RB中需要移植EtherCAT从站协议栈。在本方案中,移植的是德国KPA公司的EtherCAT从站协议栈。该协议栈包含完整的源代码,以及四个针对硬件平台的样例工程,即STM32F40DSP283TISitara系列以及赛灵思FPGA的uBlaze软核。   KPAEtherCAT从站协议栈结构框架如下图所示。Application部分为用户的应用部分,只需要调用协议栈的API函数即可实现EtherCAT通信。EtherCATSlaveStackcore是源代码部分,用户不需要做任何的修改,只需要调用其丰富的API函数即可。而EtherCATSlaveStackcore与ESC之间的通信已经由源代码实现了,用户只需适配好PDI通道如SPI即可。。

3、3EtherCAT从站移植   本方案中,实现的是一个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中。本方案代码工程如下图所示。。

4、4EtherCAT从站代码分析   代码在进入main()函数后,首先是基本的初始化代码,如时钟初始化,中断向量初始化,延迟初始化,时钟初始化等;接着重置ESC的寄存器,初始化内部协议栈结构;初始化SyncManager;创建并初始化从站对象字典;根据应用程序需要配置从站状态机的回调函数;清除ESC的寄存器,并置于“started”状态,启动对象字典,使能PDO映射。   接着进入While在While(1)中,必须周期调用KPAEcatSlaveMainLoopStep(0)函数完成EtherCAT从站源代码的一次完整运行。然后调用checkRxOutputsSmIsFull(0,RxSm)函数检查PI过程数据是否已被主站刷新,如果是,调用updateOdRxOutputsViaPI(0,RxSm)函数把PI过程数据传送给对象字典的输出对象。再接着调用DS402的处理函数CoeApplication(),该处理函数会更新对象字典的相关的输入对象,最后调用updateOdTxInputsViaPI(0,TxSm)函数把对象字典中的输入对象的值传送给PI过程数据。部分代码如下图。。

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

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

下一篇:没有了 上一篇:脊椎动物分类(无脊椎动物的分类)