首页/协议速查/EtherCAT
⚙️

EtherCAT 工业实时以太网

网络协议
运动控制实时标杆:以太网硬件处理+微秒级周期+分布式时钟。
🧩 核心原理
📈 时序 / 工作过程图
TCP 三次握手时序SYN → SYN-ACK → ACK,建立可靠连接客户端主动打开服务端被动监听SYN=1, seq=xSYN=1,ACK=1, seq=y, ack=x+1ACK=1, ack=y+1为什么三次握手?保证双方收发能力都确认,并同步初始序列号,防止旧连接请求误建立关闭:FIN→ACK→FIN→ACK(四次挥手)· 服务端可先发数据再 FIN
⚙️ 配置 / 使用要点
  1. 主站:EtherCAT主站协议栈(如SOEM/IgH)
  2. 从站:ESC芯片(如LAN9252) + 从站堆栈
  3. 配置:从站信息XML(ESI) → 网络扫描 → 映射PDO
  4. 同步模式:DC 同步中断做控制周期
  5. 冗余:环形拓扑链路冗余
🛠️ 项目示例
EtherCAT 主站周期运行(SOEM 风格)
ecx_context_t ctx;                    // SOEM 上下文
ecx_init(&ctx, "eth0");
ecx_config_init(&ctx, FALSE);         // 扫描从站
uint16_t slaves = ecx_config_map_group(&ctx, IOmap, 0);
// IOmap 中每从站输入/输出区域已映射

// 实时周期任务(如 1ms):
while(1){
  wait_dc_sync();                     // 等分布式时钟同步
  ecx_send_processdata(&ctx);         // 发帧(飞过所有从站)
  ecx_receive_processdata(&ctx, 0);   // 收返回帧
  // 读写 IOmap → 从站输入/输出
  servo_pos = (int16_t*)&IOmap[0];
  *servo_pos = target_pos;
}
❓ 面试高频
EtherCAT为什么快?
报文像火车在环上飞过从站,从站ESC硬件边收边插,不需要逐站协议处理,一帧搞定所有从站
分布式时钟有什么用?
全网从站时钟同步到纳秒级,多轴插补同步运动;每个周期所有轴同一时刻执行
EtherCAT和普通以太网区别?
普通以太网交换机存储转发延迟大;EtherCAT从站硬件直通、帧内分片寻址,周期可达微秒级
✅ 自查清单 (点击勾选,本地保存)
0/0
知道帧飞过从站原理
知道ESC硬件处理
知道DC分布式时钟
知道线形拓扑
知道CoE应用层