2、通讯协议概览:主流协议对比(SSI、BiSS、EnDat、HIPERFACE),各自优缺点。

各位工程师朋友,大家好。这一章我们来聊聊绝对式编码器的通讯协议。说实话,我刚入行那会儿,面对SSI、BiSS、EnDat、HIPERFACE这些名字,头都大了。每个厂家都说自己的好,到底选哪个?

其实,搞懂它们并不难。你想想看,这些协议本质上都是在干同一件事:把编码器内部的位置数据,通过一根或几根线,高速、可靠地传给控制器。区别就在于怎么传、传多快、能传多远、以及容不容易坏。

我个人习惯,先看物理层,再看数据链路层。物理层决定了你能不能连得上,数据链路层决定了数据准不准。下面我逐个拆解。

2.1 SSI(同步串行接口)—— 老将出马,一个顶俩?

SSI是历史最悠久的协议之一,1980年代就出来了。它的结构非常简单:一对时钟线(CLK+、CLK-),一对数据线(DATA+、DATA-)。控制器发时钟,编码器在时钟的边沿把数据吐出来。

优点:

  • 简单可靠:硬件接口就是标准的RS-422差分信号,抗干扰能力强。我在一个老旧的生产线上见过,用了20年的SSI编码器,还在稳定工作。
  • 距离远:因为差分信号,传输距离可以到100米甚至更远。对于大型龙门吊、长行程直线电机,SSI是首选。
  • 成本低:主控端只需要一个定时器+一个UART(模拟SPI模式)就能搞定,不需要专用芯片。

缺点:

  • 速度慢:时钟频率通常不超过2MHz,数据位宽一般25-32位。算下来,更新速率也就几十kHz。对于高速伺服,这不够用。
  • 单向通信:控制器只能读数据,不能写参数。你想改分辨率、方向?对不起,得拆下来用专用工具。
  • 无校验:早期的SSI协议没有CRC校验。数据错了就是错了,控制器不知道。我曾经遇到过,编码器线缆被机械臂压了一下,位置跳变,导致撞机。后来加了硬件滤波才解决。

核心总结:SSI适合对成本敏感、距离远、速度要求不高的场合。比如重工机械、纺织机械、普通机床。

2.2 BiSS(双向同步串行接口)—— 德国人的严谨之作

BiSS是德国iC-Haus公司搞出来的,可以理解为SSI的升级版。它保留了SSI的物理层(RS-422),但数据链路层做了大改进。

优点:

  • 速度快:时钟频率可以到10MHz甚至更高。数据位宽灵活,从32位到64位都有。更新速率轻松上MHz级别,适合高速伺服。
  • 双向通信:除了读位置,还能写参数。比如在线修改分辨率、设置报警阈值。我在调试一个协作机器人时,就用BiSS在线调整了编码器的零位偏移,省去了机械对零的麻烦。
  • 强校验:BiSS-C(最常用版本)强制要求6位CRC校验。数据错误率极低,安全性高。
  • 开源免费:协议是开放的,不需要授权费。很多国产编码器厂家都支持BiSS。

缺点:

  • 实现复杂:虽然物理层简单,但数据链路层的时序要求很严格。主控端需要FPGA或高性能MCU的硬件SPI才能稳定跑高速。用软件模拟?嗯,我试过,10MHz下经常丢数据。
  • 距离受限:高速下,传输距离一般不超过50米。超过这个距离,信号质量会下降。
  • 兼容性:BiSS有多个版本(BiSS-A、BiSS-B、BiSS-C),互不兼容。买编码器时一定要确认版本。

个人经验:如果你做伺服驱动器,BiSS-C是目前性价比最高的选择。协议免费,性能足够,生态也成熟。但记得,主控端一定要用硬件SPI,别省那几块钱。

2.3 EnDat(海德汉的看家本领)

EnDat是德国海德汉(Heidenhain)公司的专利协议。海德汉在光栅尺和编码器领域是绝对的霸主,EnDat就是为他们的高端产品量身定做的。

优点:

  • 极致精度:EnDat支持高达128位的绝对位置数据。配合海德汉的光栅尺,分辨率可以做到纳米级。我在半导体光刻机项目里用过,位置重复精度0.1微米,稳如老狗。
  • 功能丰富:除了位置,还能传输温度、诊断信息、电子铭牌。甚至可以通过协议在线校准编码器。
  • 高速:EnDat 2.2版本时钟频率可达16MHz,延迟极低。

缺点:

  • :海德汉的产品,一个字,贵。一个EnDat编码器的价格,能买三个BiSS的。而且需要专用协议芯片或IP核,授权费也不便宜。
  • 封闭:协议是海德汉的专利,其他厂家不能随便用。你想用EnDat,就得买海德汉的编码器,或者交授权费。
  • 依赖性强:一旦用了EnDat,基本就被海德汉绑定了。换供应商?协议不兼容,整个系统都得改。

避坑指南:我曾经在一个项目中,为了追求极致精度选了EnDat。结果后来客户要求降成本,想换国产编码器,发现根本换不了。最后只能硬着头皮继续用海德汉。所以,选EnDat前,想清楚你的产品生命周期和供应链策略。

2.4 HIPERFACE(SICK的混合方案)

HIPERFACE是德国SICK公司的协议。它不走寻常路,把绝对位置数据和增量信号混在一起传。

优点:

  • 兼容性好:HIPERFACE编码器同时输出绝对位置(通过RS-485)和增量信号(通过正弦/余弦)。这意味着,你可以把它当绝对式用,也可以当增量式用。很多老式伺服驱动器,稍微改改就能支持。
  • 长距离:RS-485的传输距离可以到100米以上。
  • 低成本实现:主控端不需要高速时钟,只需要一个UART就能读绝对位置。增量信号直接进伺服驱动器的模拟接口。

缺点:

  • 速度慢:绝对位置的更新速率只有几十kHz。因为RS-485的波特率一般限制在2Mbps以下。
  • 协议复杂:HIPERFACE的协议栈比较重,有状态机、有命令帧、有应答帧。调试起来比BiSS麻烦。
  • 生态局限:主要用在SICK自己的编码器和一些欧洲伺服驱动器上。国产驱动器支持的不多。

我的看法:HIPERFACE是一个过渡方案。它试图同时满足绝对式和增量式的需求,但两头都不够极致。如果你在做伺服系统升级,旧驱动器不想换,那HIPERFACE是个不错的选择。如果是全新设计,我建议直接上BiSS或EnDat。

2.5 核心对比:一张表看懂

说了这么多,我整理了一张对比表。你保存下来,选型时直接看。

特性 SSI BiSS-C EnDat 2.2 HIPERFACE
物理层 RS-422 RS-422 RS-422 RS-485 + 模拟
最大时钟频率 2 MHz 10 MHz 16 MHz 2 Mbps (UART)
数据位宽 25-32位 32-64位 32-128位 32位
双向通信
CRC校验 6位 6位
传输距离 100m+ 50m 50m 100m+
成本
典型应用 重工、纺织 伺服、机器人 光刻机、高端机床 伺服系统升级

2.6 知识体系图:协议选型决策树

下面这张图,是我自己画的一个决策树。你选型时,按这个思路走,基本不会错。

绝对式编码器协议选型决策树 开始选型 速度要求高?(>1MHz更新率) 成本敏感? BiSS-C EnDat 距离远?(>50m) SSI HIPERFACE 注:此决策树基于常见应用场景,特殊需求请结合实际评估 起始节点 决策节点 条件分支 协议选择

2.7 我的最终建议

好了,四种协议都讲完了。最后说点实在的。

如果你在做新产品开发:我建议优先考虑BiSS-C。它性能好、成本适中、生态开放。除非你的产品定位是顶级精度,非EnDat不可。

如果你在维护老设备:SSI和HIPERFACE可能是你的老朋友。别急着换,只要稳定,就继续用。但新项目就别再选它们了。

如果你在选型时拿不准:记住一句话——速度不够上BiSS,精度不够上EnDat,距离不够上SSI,兼容不够上HIPERFACE。这句话我用了十年,没出过大错。

最后一个小技巧:不管你选哪种协议,一定要在原理图阶段就把终端电阻、共模电感、ESD保护器件留好。我见过太多工程师,板子画完了才发现信号质量不行,然后飞线加电阻,那叫一个难看。嗯,提前规划,后面省心。


专注资料整理