raspberry pi RT-Linux平台搭建IgH环境

1、编译安装内核

        参考Raspberry Pi官方文档选择相应的内核版本进行编译安装,这里不多介绍

Raspberry Pi Documentation - The Linux kernelThe official documentation for Raspberry Pi computers and microcontrollershttps://www.raspberrypi.com/documentation/computers/linux_kernel.html

2、编译IgH

        把IgH主站代码放到开发板上,进行配置编译(配置和编译可以参考网上ubuntu下安装IgH的文章),如果遇到报错可以参考网上相关解决办法。

        编译出 ec_master.ko  ec_generic.ko, 不过这里不会使用ec_generic.ko驱动文件,这个通用的驱动文件是在TCP/IP协议栈接口之上进行调用的,所以会走TCP/IP协议栈,会影响实时性。下面优化网卡驱动,会在网卡驱动上直接支持IgH接口。

3、实时网卡优化

         树莓派上使用的bcmgenet网卡,在网卡驱动中加上对应的IgH功能支持,编译成ec_genet.ko。

raspberry pi RT-Linux平台搭建IgH环境_第1张图片raspberry pi RT-Linux平台搭建IgH环境_第2张图片

4、编写测试demo

        在examples添加编写测试程序

raspberry pi RT-Linux平台搭建IgH环境_第3张图片

5、运行程序

需要先卸载掉系统自带的genet网卡驱动,以便加载实时网卡驱动

raspberry pi RT-Linux平台搭建IgH环境_第4张图片

加载完成后可以看到正常识别出了6轴伺服。

进行各种优化之后,运行100小时,周期4ms,无负载下,控制6轴伺服周期任务抖动在12us左右

raspberry pi RT-Linux平台搭建IgH环境_第5张图片

 网络无丢包(相差一个包是因为发送出去还没有接收)

raspberry pi RT-Linux平台搭建IgH环境_第6张图片

 6、总结

        上面测试结果可以看到还有一些地方实时性不好,这个RT-linux本身的实时性有一定的关系,需要后续进行继续优化。

你可能感兴趣的:(EtherCAT,ethercat)