一、一台伺服驱动器里,总线和扭矩分居了很久
拆开一台典型的 EtherCAT 伺服驱动器,板上至少有两颗"大脑级"的数字芯片。
一颗是电机控制 MCU,负责电流环、速度环、位置环,算出三相占空比去驱动逆变器;另一颗是 EtherCAT 从站控制器(ESC),负责在以太网帧流经自己的那一瞬间,把属于自己的那几个字节抠下来,把要上报的字节塞回去。
两颗芯片之间还得有一条数据通道——并行总线或者 SPI。MCU 每隔一个通信周期,通过这条通道去 ESC 的双口 RAM 里读回目标位置、目标扭矩,再把实际位置、实际电流写进去。
这段通道是过去二十年伺服板上最别扭的一段。它本身不贵,但它要吃掉十几个 IO、要占 PCB 面积、要专门写驱动、要处理读写冲突,还会在每一次数据交换时把 MCU 拖进一段不短的中断里。更要命的是:它把一次"网络侧事件"变成了一次"CPU 侧事件"——只要 MCU 正忙着算电流环,总线这边的抖动就跟着涨。
所以"把 ESC 做进 MCU 片内"这件事,从来不是省一颗芯片的钱那么简单。它真正解决的是两颗芯片之间那条通道。
瑞萨 RA8T2 是这条路线上的一个明确答案。今天我们就把它拆开,看清楚一件事:它到底合掉了什么,以及——更重要的——没合掉什么。
二、合掉的那颗芯片:ESC 进了片内
先看硬参数。RA8T2 的 datasheet 在连接性清单里写着:EtherCAT 从站控制器 × 2;官方新闻稿把这套接口描述为"双端口 EtherCAT 从站"(英文稿件中写作 "a two-port EtherCAT slave interface")。
配套的还有:
Layer 3 以太网交换模块(ESWM),含 2 个千兆以太网 MAC,官网特性另列 TSN 交换机;
最高 1GHz 的 Cortex-M85(Armv8.1-M,带 Helium 向量扩展、TrustZone、FPU)+ 可选配的 Cortex-M33(最高 250MHz)——注意该产品群同时有 600MHz、800MHz 的料号,"1GHz"是顶配;
2MB SRAM(带 ECC),其中 M85 有 256KB TCM、M33 有 128KB TCM,另余 1664KB 用户 SRAM;
最高 1MB MRAM,官方口径访问速度 100MHz;22nm ULL 工艺,标准电压 1.62–3.63V——
但 datasheet 的推荐工作条件里写了一行很多人不看的前提:启用片上 ESC 时,VCC 是 2.70–3.60V;启用 ESWM 时是 2.30–3.63V。
也就是说,你把 ESC 用起来的那一刻,这颗芯片的供电下限就从 1.62V 抬到了 2.7V。 做 3.3V 系统的没感觉,做低压供电方案的要提前算进去。
把 ESC 挪进片内之后,那十几个 IO、那段并行总线、那套双口 RAM 驱动,一次性消失。取而代之的是片上总线访问——总线和扭矩,从此跑在同一颗芯片的地址空间里。
但这里必须立刻踩一脚刹车,因为有个坑就摆在官网上:
RA8T2 参数表里的 EtherCAT 通道数一栏,同时列着 0 和 2。
好在 datasheet 给了可操作的抓手。它的型号命名规则里专门有一个 "Feature set" 字段,直接把这件事编进了料号:
| Feature set | 内核配置 | EtherCAT 从站控制器 |
|---|---|---|
| A | 单核(仅 CM85) | 不带 |
| C | 单核(仅 CM85) | 带 |
| J / L | 双核(CM85 + M33) | 带 |
datasheet 的功能对照表(Table 1.13)也逐料号列了 ESC 这一栏的 Yes / No。所以选型时不是"猜这颗带不带",而是看料号里 Feature set 那一位。官方描述里 ESC 始终写作 "optional(可选)",就是因为这个字段的存在。
顺带说一个公开资料里的口径差异,免得你被绕进去:datasheet 的连接性清单写"EtherCAT 从站控制器 ×2",而官方新闻稿写的是"双端口 EtherCAT 从站"。芯片引脚里能查到成对的 CATLINKACT0 / CATLINKACT1 链路指示灯,以及成对的 CATSYNC0 / CATSYNC1 同步信号输出——两个端口是确定的;但"2 个 ESC 实例"与"1 个 ESC 带 2 个端口"这两种解释,公开资料没有明确区分。要接两条独立 EtherCAT 链路的项目,请拿具体料号找原厂确认。
这条我在上一篇三方横评里提过一次,这里再说一遍是因为:这是全篇最容易让你在量产前一个月炸雷的地方,值得重复。
三、没合掉的三样东西
"单芯片合体"这四个字,很容易让人以为板子上少画了一整片电路。我们把瑞萨自己的 datasheet 和开发板手册一起翻开,看看实际上还剩什么。
第一样:PHY
先看芯片自己的 datasheet 怎么说以太网控制器的:
The Gigabit Ethernet controller conforms to the definition of the Ethernet MAC (Media Access Control) layer in the IEEE 802.3 standard. This can transmit and receive Ethernet (IEEE 802.3) frames by connecting with an external physical-layer LSI chip (PHY-LSI) which complies with the standard.
"external physical-layer LSI chip"——datasheet 自己写明了 PHY 是外部的。
再看瑞萨的开发板手册《EK-RA8T2 v1 User's Manual》,同一个结论:
The Ethernet interfaces use two GMII Ethernet Physical Layer Transceivers (PHY) (U8 and U12), each connected to an RJ45 standard Ethernet connector (J15 and J34) with integrated magnetics.
两个以太网接口,各用一颗外置 GMII PHY(板上 U8、U12),各接一个带网络变压器的 RJ45。
芯片引脚表里还有一条更直白的旁证:ESC 专用的 CATRESETOUT 引脚,功能定义就是 "PHY reset signal"——ESC 还负责给外置 PHY 发复位。
RA8T2 集成的是 MAC 和 ESC,不是 PHY。真正的以太网物理层收发器,还得外挂。
而且开发板手册里还有一张更值得注意的表——以太网通道模式配置表。每个通道可以在 MII(默认)/ GMII / EtherCAT / RGMII / RMII 之间切换,不同模式对应不同的电阻搭接。
芯片引脚表则给出了更硬的证据:像 ET0_RX_CLK / RMII0_REF50CK / CAT0_RX_CLK 这样一串复用引脚,把以太网 MAC 的收发时钟和 EtherCAT 的收发时钟放在了同一个引脚上。
这意味着:ESC 和以太网 MAC 共用同一套物理端口资源,一个通道只能按一种模式搭出来。 你把某个通道配成 EtherCAT,它就不再是那个千兆网口了。规划端口数的时候,请按"模式分配"来算,不要按"外设清单"来算。
第二样:ESC 的配置 EEPROM
这一点在 datasheet 的引脚表里藏得很深,但写得很清楚:ESC 专门有一对引脚 CATI2CCLK / CATI2CDATA,功能定义就是 "EEPROM I2C clock / data"。
EtherCAT 从站上电时,主站要从这颗 EEPROM 里读 ESI(EtherCAT SubDevice Information)配置。这是协议决定的,跟 ESC 在片内还是片外无关——只要用 EtherCAT,这颗 EEPROM 就必须在你的 BOM 上。
开发板上它长这样:EK-RA8T2 给 EtherCAT 从站配了 ID 拨码开关、状态 LED,以及一颗 32Kb EEPROM。应用笔记里也专门有一节讲"更新 EEPROM 数据",还有一个附录讲"如何修改 EEPROM 容量设置"。
所以合体之后,ESC 旁边那颗小小的 EEPROM 还在。
第三样:协议栈本身
这是最容易被忽略、也最容易在立项时踩空的一样。
瑞萨确实给了完整的 EtherCAT 从站示例工程——应用笔记 R01AN8328EJ0100(2026-06-30 发布)讲了怎么用 MCK-RA8T2 套件跑通一个 EtherCAT SubDevice。但这份文档里有一句话:
EtherCAT SubDevice stack code is not included in this sample project. "EtherCAT SubDevice Stack Code (SSC) Tool" is required to generate EtherCAT SubDevice stack code. SSC Tool is available from the ETG Association.
从站协议栈代码不包含在示例工程里。你需要用倍福的 SSC 工具(Slave Stack Code,应用笔记里用的是 SSC Tool 5.13 / ET9300)自己生成,而 SSC 工具要从 ETG 协会获取。
换句话说:硬件合体了,软件和会员资格没合体。 ESC 那块硅已经在你的芯片里了,但跑在它上面的协议栈仍然要经过 ETG 的授权路径。这一条不会出现在任何一颗芯片的 BOM 成本里,但它会出现在你的项目排期和法务流程里。
好消息是,瑞萨把能做的都做了:示例工程直接提供了两套配置——
CiA402(伺服驱动行规,另有一份专门的应用笔记 R01AN8327);
ETG.5003(半导体器件行规,含 ETG.5003.1 通用器件行规与 ETG.5003.2 固件更新功能)。
支持的同步模式也是三种全给:Free Run、Sync Manager Synchronization、DC Synchronization。邮箱协议支持 CoE 和 FoE(FoE 直接被用来做固件更新,示例里演示了通过 EtherCAT 更新设备固件),主站侧用 TwinCAT3 验证。
▲ 分体与合体架构对照
把这张图上的信息压缩成一句话:RA8T2 帮你干掉的是"ESC 芯片 + 连接它的一整条并行/SPI 总线",不是"整个 EtherCAT 接口"。 剩余的 PHY、变压器、RJ45、EEPROM、协议栈授权,一样都不能少画。
四、双核到底谁干啥:这不是算力问题,是隔离问题
上一篇我们讨论过"双核在 EtherCAT 方案里是不是智商税"这个争论。放到 RA8T2 这个具体场景里,答案是清楚的。
官方新闻稿的原话是:
可选配的 Cortex-M33 处理器使客户能够在单芯片上同时实现实时控制、通信功能及非实时操作,从而节省成本、降低功耗和减少电路板空间占用。
注意"同时"两个字。RA8T2 上双核的价值不是把 FOC 算得更快——单轴 FOC 在一颗 240MHz 的 Cortex-M33 上早已跑得很好(瑞萨上一代 RA6T2 就是这么干的)。双核的价值是隔离:
M85(1GHz + Helium + 256KB TCM)
-
- 跑电流环、速度环、位置环,以及预测性维护那类偏重的 ML 运算;
M33(250MHz + 128KB TCM)
- 跑 EtherCAT 协议栈、诊断、监控、HMI、非实时任务。
这个隔离之所以关键,是因为电机控制最怕的不是"慢",是"抖"。
一条 1GHz 的 CPU 跑 FOC,算力绰绰有余;但如果你的中断里混进了以太网收包、SDO 应答、故障诊断日志,那每一帧电流环的执行时间就会变得不可预测。CoreMark 决定这条河有多宽,抖动决定你能不能准时过桥。
这也是为什么 RA8T2 要给两个核各配一块 TCM。官方的说法是:TCM 提供"低抖动的高精度实时性能,即使于存在大量中断和分支的电机控制处理中仍可保持稳定运行"。
▲ RA8T2 内部任务分区
一句话总结这一节:当你的芯片既要算扭矩、又要跑总线的时候,双核不是浪费,是给实时性买的保险。 兆易在纯关节场景说双核没必要,那是对的;在"伺服驱动器 + 多协议 + 诊断"的场景里,瑞萨这个 M33 是刚需。
五、四个周期加一个分辨率:从 100μs 到 52ps
这是全文我最想让工程师记住的一节,因为它是事故高发区。
一个带网络的伺服系统里,至少同时跑着四个完全不同量级的"周期",它们经常被混为一谈:
1. EtherCAT 通信周期(网络节拍) ETG 的技术资料把设计目标定得很明确:短周期时间(≤ 100μs)、低抖动(≤ 1μs)。官方给出的实测数据是:100 个伺服轴,每轴 8 字节输入 + 8 字节输出,全部更新一遍只要 100μs;分布时钟(DC)带来的全网时基抖动"远小于 1 微秒",300 节点、120 米电缆的实测抖动约 ±20ns。
2. 位置环 / 速度环节拍 通常等于通信周期,或者是它的整数分频。工程上常见 250μs、500μs、1ms。
3. 电流环控制节拍(FOC 运算节拍) 典型 8–20kHz,即周期 50–125μs。注意 ETG 那份性能表里有个耐人寻味的数字:200 路 16bit 模拟量 I/O 的更新时间是 50μs,对应 20kHz——这个量级正好卡在电流环的常规区间上。
4. PWM 开关频率 伺服常见 8–16kHz,部分场景到 20kHz 以上。
然后是第 5 个数字——它不属于上面这套"周期"体系,它是分辨率,也是被误读最多的一个:
RA8T2 的高分辨率 GPT 定时器,在 300MHz 计数时钟下步进 52ps。
请务必搞清楚:52ps 是 PWM 边沿的时间分辨率——也就是你调整占空比时,边沿能挪动的最小步长。它跟电流环周期差了六七个数量级。
把 52ps 理解成"控制精度 52ps",是我在选型会上见过最常见的误读。 它真正的作用是在高频化、LLC 谐振、精细死区补偿这类场景里,让你在调边沿的时候不至于被计数器的量化台阶卡住。
▲ 四个周期与一个分辨率
这一节的价值在于:下次有人问你"这个驱动器电流环多少 k",先问清楚他问的是开关频率、控制节拍还是闭环带宽——这三个词在会议室里被混用的频率,比你想象的高得多。
六、电流环的硬件链路:ADC → TCM → PWM,以及那条不经过 CPU 的保护路径
FOC 的本质是一条闭环链路:采样 → 变换 → 运算 → 更新 PWM。RA8T2 在这条链路上做了几件很具体的事。
采样端:两颗 16-bit ADC,各带 3 路独立采样保持。
瑞萨官方发布稿(英文)对这颗 ADC 的描述是:
The RA8T2's ADC has 16-bit resolution and a channel-specific sample and hold function (three channels), enabling high-precision simultaneous sampling of three-phase current values... Equipped with two units, it is possible to simultaneously sample three-channel currents of two motors.
翻成工程语言,两个含义:
两个 ADC 单元 = 可以同时采两台电机的三相电流
- → 双轴控制有硬件基础。
此外还有 2 路 ΔΣ 调制器接口(DSMIF),走隔离 ΣΔ 采样的方案可以直接接。
(顺带提个口径问题:这里三份官方资料的数字并不一致——datasheet 写 "up to 23 channels",官网参数表按料号列 12 或 30,英文发布稿写 "30 analog channels"。通道数本身就会因料号而变,定板前请以对应料号的 datasheet 为准,别拿宣传页的数字去数引脚。)
运算端:TCM + Helium。
FOC 的 Clarke / Park / iPark / SVPWM 那几步运算,连同中断向量表一起放进 TCM,避免 Cache miss 带来的抖动。官方口径是 TCM "在存在大量中断和分支的电机控制处理中仍可保持稳定运行"——这句话说的就是这件事。
输出端:GPT32 定时器,其中 4 路是高分辨率通道(52ps @ 300MHz),另有 10 路普通 GPT32。
官方对这套定时器的描述很具体:支持多相互补 PWM 输出(含三相)、自动插入死区、生成非对称 PWM、与 ADC 和比较器联锁,还有相位计数功能——可以用两相脉冲编码器做需要轴位置信息的交流伺服控制。
保护路径:POEG + 4 路高速比较器。
这是整条链路里我最看重的一段,因为它不经过 CPU:
The port output enable (POEG) and high-speed comparator function allows the PWM output to be quickly shut off when an overcurrent is detected. The shutoff state can be selected (Hi-Z, Hi, Low) according to the inverter specifications.
即:过流被检测到的那一刻,PWM 输出可以被硬件快速关断,而且关断后的电平状态(高阻 / 高 / 低)可以按逆变器规格选。
过流信号从比较器进来,直接按掉 PWM 输出。走这条路,关断延迟是硬件门电路级别;走"ADC 采样 → CPU 判断 → 软件关 PWM"这条路,你还得把一个中断响应时间和一个控制节拍算进去。
做伺服的都知道,IGBT/SiC 能扛过流的时间,通常比你一个控制节拍短得多。
▲ 电流环硬件链路与保护路径
七、自家内战:什么时候该买 RZ/T2M,而不是 RA8T2
这段是给已经在瑞萨体系里选型的工程师看的。因为"EtherCAT + 电机控制单芯片"这件事,瑞萨自己就有两条产品线在做。
| 维度 | RA8T2(MCU) | RZ/T2M(MPU) |
|---|---|---|
| 内核 | 最高 1GHz Cortex-M85 + 可选最高 250MHz M33 | 双核 Cortex-R52 @800MHz |
| 以太网 | 2× 千兆 MAC + Layer 3 交换模块(ESWM)+ TSN 交换机 + ESC(按料号,见 Feature set) | 3 端口千兆 TSN 交换机 + ESC |
| 多协议 | EtherCAT(双端口从站) | EtherCAT、PROFINET RT/IRT、EtherNet/IP 等 |
| 编码器 | GPT 相位计数(两相脉冲) | 2 通道硬件编码器接口:A-format、EnDat、BiSS、HIPERFACE DSL、FA-CODER |
| ADC | 16-bit × 2 单元(各 3 路 S/H) | 12-bit × 2 单元 |
| PWM | 高分辨率 GPT32 ×4(52ps @300MHz)+ GPT32 ×10 | 双电机 3 相互补 PWM |
| ΔΣ 接口 | 2 路 | 6 路 |
| 存储 | 最高 1MB MRAM + 2MB SRAM(含 384KB TCM) | TCM 576KB + 内部 RAM 2MB(均带 ECC) |
| 功能安全 | 安全功能(Safety functions) | 官方口径:支持到 SIL3 的功能安全 |
| 电流环指标 | 官方未公开同类口径 | 官方口径:电机电流环 < 1µs |
| 封装 | HLQFP176、BGA224/289/303 | QFP128/176、BGA225/320 |
怎么选?我的判断标准只有两条:
选 RZ/T2M 的信号:你的系统要接绝对值编码器(EnDat / BiSS / HIPERFACE DSL 这类协议要靠硬件解析)、要过功能安全、要同时支持多种工业以太网协议、或者你的电流环指标已经被写进规格书(官方给了 <1µs)。AC 伺服驱动器是它的主场。
选 RA8T2 的信号:你需要一颗单芯片 MCU 把控制和通信都吃掉,需要更大的 CPU 余量跑 ML / 预测性维护,看重 MRAM 的高速写入与高耐久,或者你的编码器方案是增量式/两相脉冲 + 通用接口就够。工业机器人、运动控制器、CNC、以及"一台设备里塞多轴 + 边缘智能"的场景是它的主场。
再往上还有 RZ/T2H:4 核 Cortex-A55 1.2GHz 加双核 Cortex-R52 1.0GHz,PWM 45 通道支持 9 轴,绝对值编码器接口 16 通道——那是多轴运动控制器的位置,不是单轴驱动器该看的。
同一家公司、同一个"总线 + 扭矩单芯片"的命题,给出三条不同价位段的答案——这才是瑞萨在这条赛道上真正的厚度。
八、PM 视角:五个必须在立项前确认的坑
坑一:ESC 是 optional,认料号里 Feature set 那一位。 官网参数表里 EtherCAT 通道数是 0 或 2。datasheet 的命名规则给出了直接判据:Feature set = A 不带 ESC,C 带(单核),J / L 带(双核)。别按系列买,按料号买。
坑二:PHY 外置,而且端口是互斥复用的。 两个以太网通道,每个都要外挂 PHY + 变压器 + RJ45;每个通道还只能在 MII / GMII / EtherCAT / RGMII / RMII 里选一种模式。画板之前先把端口分配表定死——EtherCAT 用了哪个口,那个口就不是千兆网口了。
坑三:协议栈不在芯片里,也不在示例工程里。 SSC 工具要从 ETG 拿,会牵出会员资格和授权流程。把它写进项目排期,不要等板子回来才发现。
坑四:认证口径别张冠李戴。 RA8T2 的官方口径是"安全功能(Safety functions)",不是车规,也不是型号级功能安全证书。它需要 AEC-Q100 或明确 SIL 等级的项目,请直接向原厂索要对应料号的证书编号,不要用"工业/机器人应用"反推。同理,RZ/T2M 的"支持到 SIL3 功能安全"也是能力表述,落地到具体料号的证书同样要单独确认。
坑五:用 ESC 会把供电下限抬起来。 datasheet 推荐工作条件写得很清楚:不用 ESC 时 VCC 可以低到 1.62V,用 ESC 时下限是 2.70V(用 ESWM 时是 2.30V)。3.3V 系统无感,但如果你原本规划的是低压供电轨,这一条会直接改你的电源方案。
写在最后
"单芯片"这个词在半导体行业里被用得太随意了。
真正的单芯片,不是把所有东西都塞进去——那既不经济也不可能。真正的单芯片,是把系统里最别扭的那条边界给抹掉。
RA8T2 抹掉的是"MCU ↔ ESC"这条边界。这条边界曾经吃掉十几个 IO、一段 PCB 面积、一套双口 RAM 驱动,以及每一次数据交换时的中断抖动。抹掉之后,总线和扭矩第一次跑在同一个地址空间里,由同一套工具链(FSP)、同一个调试器、同一份代码仓库管理。
而它没抹掉的——PHY、EEPROM、协议栈授权、栅极驱动、隔离、采样前端——依然老老实实躺在你的 BOM 上。
知道芯片合掉了什么,能让你少画几颗料;知道它没合掉什么,能让你少改一次板。
后者通常更值钱。
174