[原创] 【 XMC4800 Relax EtherCAT Kit测评】+上手DAVE,XMC4800 EtherCAT从站模块例程简析

flyword   2019-2-4 22:53 楼主
XMC4800 Relax EtherCAT Kit测评】+上手DAVEXMC4800 EtherCAT从站模块例程简析
本次主要简单的分享一下XMC4800 relax kit EtherCAT从站例程的分析,为下一步我们添加自己的应用打下基础。
EtherCAT总线技术源自德国倍福公司,物理介质一般采用RJ45网络接口,即普通的网线形式,该技术最大的特点是实时性好,为什么会这样,主要是因为它对采用标准格式的以太网数据帧,但是重新定义了报文格式,满足EtherCAT硬件接口的处理需求,最终使得软硬件能完美结合。EtherCAT总线技术采用的是主—从模式,分为主站和从站,XMC4800系列单片机是面向从站开发的,也有XMC4800做主站的方案,例如基于SOME的,具体可以github上找找。
       春节年前这几天看了看XMC4800 EtherCAT《从站例程用户指南》,里面关于工具、上位机测试环境等介绍的很清楚,可以说是手把手教你使用XMC4800的ESC模块,这里简单分析和总结一下。
1.    关于ESC开发工具,SSC Tool软件工具是主角,必须要用到。我们自己开发相关的EtherCAT从站时,一般涉及到的输入、输出量,布尔类型或者INT类型都是在一个excel里面定义的,而SSC 工具通过这个excel表对应自动生成相关的从站协议栈代码。
2.    SSC软件工具的使用需要涉及2个文件,上面的excel表是1个,还有1个是与MCU厂家IDE对应的相关的xml文件,这个文件与上面的excel文件配合,会生成符合ETG从站规范的协议栈,同时也会生成TwinCAT主站里的EtherCAT从站描述文件(生成后,需要手动存放在twincat软件目录里)
3.    我使用的是英飞凌提供最新V3.1版本的ESC例程,这个例程可以从DAVE软件中安装得到。与之前的例程相比,相关接口程序已经移植到main.c中了。
4.    最重要的与指南里一直,首先是我们需要注意的是应用涉及到的输入输出如何映射出去。具体看下图:这里使用很简单,用的是memcpy函数,直接将数据拷贝,实现映射,非常简单!
image001.jpg image001.jpg
5.    输入输出口在xmc4800 kit中具体对应的是哪里呢?可以参考process_app()函数中的定义,这个函数非常重要,我们要添加自己的应用也是在这里,这里定义的变量名实际上是之前在excel表里定义的名称。比如OUT_GEN_Bit1,都是之前excel里定义好的。
image002.jpg
6.    上图可以看出,这里把XMC4800的led灯、按钮资源分别与输入端口、输出端口(相对于主站而言的)进行了对接,也就是我们会在主站TwinCAT软件中操作相关的OUT位,就可以操作相应的LED灯。我们在操作XMC4800 kit板上的2个按钮时,相应的IN位就变化了,这里不再截图说明了。
7.    Process_app函数不是ETG官方定义的,我们需要把这个函数添加到相应的协议栈函数中。如下图:
image003.jpg
8.    在应用设计时,我们完全可以依靠英飞凌提供的这个例程,来完成自己的从站硬件开发,而不需要考虑更深层次的协议栈等。目前市场上的EtherCAT从站,一般都是开关量的IO模块,没有模拟量模块,通过这个例程简单的开发,就可以依靠ADC、DAC,来设计模拟量输入和输出模块。
9.    XMC4800从站APP模块的配置,需要说明的是里面的4个引脚分配,如下图:
image004.png
这里面没有标明引脚具体位置,其实是在ESC从站APP的Pin分配里,一个细节问题,需要注意。
10.   最后,编译相关的程序,下载运行,利用TwinCAT主站软件,让xmc4800 kit开发板在free run模式下,就可以看到相应通讯效果了。相关效果与指南手册一致,则说明程序配置没有问题。
猪年马上就要到了,当别人在与家人团圆时,我还在岗位坚守,一想到2018年自己的收获颇丰,现在的努力和辛苦就什么都不是了,2019年其实已经过去了一个月了,加油!
下个帖子,将会分享一下在EtherCAT从站例程基础上,添加自己的应用,并编写简单的TwinCAT PLC程序,敬请期待!!



此内容由EEWORLD论坛网友flyword原创,如需转载或用于商业用途需征得作者同意并注明出处

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复