我把源码开源到到了gitee,https://gitee.com/rathon/rt-thread-smart-soem
有兴趣的去可以下载下来跑一下
软件工程推荐用vscode 打开。rt thread smart的教程可以参考官网资料,这里就不多阐述了。


用的是100ask的imx6ull开发板,雷赛的dm3e-556步进电机。实验需要用到两个网口,一个走tcp数据(基于lwip协议栈),一个走ethercat数据(基于soem)。
工程目录如下

tcp目录下为实验用到的应用程序代码。

实验方案

PC通过tcp/ip通讯向rt smart开发板发送报文,rt smart后台运行“tcp”进程。tcp进程的NetDataThread线程实时接收PC数据,并通过共享内存将数据转发给内核空间的“simpletest”线程。simpletest线程实时接收进程发来的数据,解析数据内容,并通过全局变量将参数传递给EtherCAT定时器中断服务函数。根据tcp传输数据,控制EtherCAT步进电机运转。
数据为“left”,电机正转
数据为“right”,电机反转
数据为“stop”,电机停止运动
数据为“up”,电机加速
数据为“down”,电机减速

1.首先,编译内核代码,生成rtthread.imx等文件。

2.接着编译应用程序代码,实验所用代码为tcp.c代码,编译生成tcp.elf文件。然后将tcp.elf文件拷贝至emmc或者sd卡中。

scons --app=tcp

可以通过 100ask_imx6ull_flashing_tool 烧录工具将 rt-smart 内核固件文件 rtthread.imx,通过 USB 加载至内存中运行。

此时系统运行后,会打印出如下数据


然后后台运行tcp.elf程序

./tcp.elf &

然后用上位机与rt smart建立tcp连接,我这里用的是野火的上位机。

连接成功后打印数据如下:

最后通过上位机发送“left”、“right”、“up”、“down”、“stop”字符串可以实现电机的运动。
pc的ip地址为192.168.1.100
开发板的ip地址为192.168.1.30:7575.

实验效果如下

基于rt thread smart构建EtherCAT主站

软件架构

rt thread的lwip协议栈


RT-Thread 的 lwIP 移植在原版的基础上,添加了网络设备层以替换原来的驱动层。和原来的驱动层不同的是,对于以太网数据的收发采用了独立的双线程结构,erx 线程和 etx 线程在正常情况下,两者的优先级设置成相同,用户可以根据自身实际要求进行微调以侧重接收或发送。

lwip接收过程

soem收发函数

基于rt thread smart构建EtherCAT主站相关推荐

  1. 创龙基于TI Sitara处理器的EtherCAT主站开发案例

    创龙基于TI Sitara处理器的EtherCAT主站开发案例 EtherCAT介绍 EtherCAT(以太网控制自动化技术)是一个开放架构,以以太网为基础的现场总线系统,其名称的CAT为控制自动化技 ...

  2. 基于zynq的千兆网udp项目_基于Zynq平台的EtherCAT主站方案实现

    作者:陈秋苑 谢晓锋 陈海焕 广州虹科电子科技有限公司 摘 要:EtherCAT 是开放的实时以太网通讯协议,由德国倍福自动化有限公司研发.EtherCAT 具有高性能.低成本.容易使用等特点,目前在 ...

  3. 米尔基于ARM架构核心板的国产化EtherCAT主站控制器解决方案

    EtherCAT是由德国BECKHOFF自动化公司于2003年提出的实时工业以太网技术.它具有高速和高数据有效率的特点,支持多种设备连接拓扑结构.其从站节点使用专用的控制芯片,主站使用标准的以太网控制 ...

  4. STM32H743 SOEM EtherCAT基于STM32H743芯片和SOEM的EtherCAT主站源码

    STM32H743 SOEM EtherCAT基于STM32H743芯片和SOEM的EtherCAT主站源码 提供配套CUBE工程 STM32H743 SOEM EtherCAT基于STM32H743 ...

  5. 基于AM335X开发板 ARM Cortex-A8——Acontis EtherCAT主站开发案例

    前 言 本文档主要说明TL335x-EVM-S评估板基于德国Acontis公司EtherCAT主站协议栈控制伺服电机的方法,内容包含有EC-Master.EC-Engineer简介.EtherCAT主 ...

  6. 基于GD32F103C8T6添加RT Thread nano设备框架并添加串口设备(以控制台console( uart0 )为例)

    最近没事琢磨了一下使用设备框架的问题.因为将串口注册到设备框架可以应用十分丰富的软件包. 于是就整理了一下手上的工程,重新将工程梳理了一遍. 像这样是十分清爽了,其中RTOS是操作系统源代码 并且学习 ...

  7. igh ethercat主站文档(中文翻译下)

    此翻译主要是用翻译软件翻译,部分自己修改,若有不当之处,可以下方评论或私聊我提醒修改,若转载,请注明出处 这篇是5-9章内容,前四章链接 5状态机 EtherCAT主站的许多部分都实现为有限状态机(F ...

  8. EtherCAT主站IgH解析(一)--主站初始化、状态机与EtherCAT报文

    文章目录 0 获取源码 1 启动脚本 1.1 start 1.2 stop 2 主站实例创建 2.1 Master Phases 2.2 数据报与状态机 数据报 状态机 2.3 master状态机及数 ...

  9. (转载)STM32与LAN9252构建EtherCAT从站

    目录 (一):项目简介 EtherCAT及项目简述 LAN9252工作模式 整体开发流程 移植要处理的问题 代码层面的工作 开发中使用的工具 (二):SSC的使用 SSC简介和下载 SSC构建协议栈文 ...

最新文章

  1. 随机矩阵理论_MIMO 信道容量的理论模型
  2. 官方教育网代理地址MSN
  3. 笔记本电脑怎样连接打印机_佳能无线便携打印机上市
  4. 软件测试反例,基于模型检测多反例对软件进行调试
  5. .NET BackgroundWorker的一般使用方式
  6. linux mrtg,鳥哥的 Linux 私房菜 -- MRTG 流量偵測法
  7. 关于NGINX变量的一些测试结果
  8. SQL语句中 NOT IN 子句的“正确打开方式”
  9. Fastdfs读取文件内容
  10. jQuery如何使用most()方法?代码示例和解析
  11. 场景图生成论文阅读笔记 之 LinkNet: Relational Embedding for Scene Graph
  12. Grafana 6.7的sqlite3数据库报错“database is locked”的修复方法
  13. Unreal Engine 4 渲染目标(Render Target)教程 之 实现雪地足迹(下)
  14. 09.5. 机器翻译与数据集
  15. PS学习笔记(88天和我一起学会PS)(5/88)
  16. UGC、PGC、OGC
  17. 因果推断——现代统计的思想飞跃
  18. SPA(单页面应用)
  19. 软件测试肖sir_搭建环境讲解(03)
  20. F280049C配置CLB模块时遇到的许多问题

热门文章

  1. 《PTA——拼题A》之第1004题
  2. NKOI 1006 护卫队
  3. 振幅和差单脉冲雷达在自动测角系统中的应用
  4. ksu7对讲机调频软件_对讲机
  5. iOS:新浪微博OAuth认证
  6. 在 ASP.NET Core MVC 中使用 Areas
  7. 手机静电放电ESD测试及其整改措施
  8. CCNA2.0笔记_STP
  9. mysqldump的tz-utc选项引发的MySQL时区问题
  10. 基于用户标签的活跃人群特征分析_用户特征分析(行为分析是关键)