12万转、1μs、16位:读完 KTH7815 对比 AS5047P,几个规格表之外的现场问题

首发于公众号「如是有为」 · 查看原文

12万转、1μs、16位:读完 KTH7815 对比 AS5047P,几个规格表之外的现场问题

刚看完满度科技这篇《12万转、1μs延时、16位输出,昆泰芯 KTH7815 对比 AS5047P 优势在哪》。

参数昆泰芯 KTH7815ams AS5047P
核心分辨率16 位(65536 点/圈)14 位(16384 点/圈)
非线性误差 INL±0.35°(典型)±0.8°(25°C 最佳摆放),全温区最高 ±1.2°
数据刷新/延时1μsSPI 读取路径 90–110μs(ABI/UVW 经 DAEC 后 1.5–1.9μs)
最高转速120000rpm28000rpm
工作磁场30–150mT35–70mT(低于 35mT 噪声变差)
输出噪声(1σ)0.24°0.068°
ABZ 分辨率4–4096 步/圈,任意整数可编程固定档位(25–1000 ppr 及 1024/512/256)
ABZ 输出形式差分 A/~A、B/~B、Z/~Z单端
配置存储MTP,125℃ 下 1000 次写入OTP,仅一次
磁场诊断MGH/MGL 独立报警引脚,阈值可编程需经 SPI 读取诊断标志
启动时间1ms(典型)最长 10ms
ESD(HBM)±5kV±2kV
封装QFN-16L 3×3mm / SOP-8TSSOP-14(本体约 5×4.4mm)

原文已经把 16 位对 14 位、120000 rpm 对 28000 rpm、MTP 对 OTP、差分 ABZ 对单端 ABI 这些规格拆得很清楚了。下面不重复这些参数,只顺着其中几个数字,补一点规格表之外的工程语义。

这里先把边界说清楚:下面不是替 KTH7815 或 AS5047P 判定整体优劣。KTH7815 的 1μs、MTP 和差分 ABZ,按原文给出的规格来解释它们在工程上意味着什么;能不能在真实系统里形成优势,还要看两款器件是否使用同一延时定义、同一动态工况和同一线束条件测试。

因为参数表里一行字,到了现场,可能就是一次返工、一轮重新布线,或者一整晚查不出原因。

1μs真正要追的是测量时刻

120000 rpm 时,一圈机械角只有 500μs。因此 1μs 对应的机械角位移是:

Δ𝜃=360∘×1500=0.72∘

而 16 位输出的一个码值只有:

Δ𝜃LSB=360∘65536=0.00549∘

两者相除:

0.720.00549≈131

转子在这 1μs 里已经走过了大约 131 个 16 位 LSB。

所以“16 位”和“1μs”不能只放在同一张参数表里并排看。16 位回答的是角度被切得多细,1μs回答的是这个角度还新不新。

但这里还缺一个限定:这 1μs 的起点和终点是什么?是磁场变化到内部角度计算完成,是角度寄存器锁存到输出有效,还是芯片完成计算到 ABZ 边沿产生?如果还要经过 SPI、DMA 和 RTOS,主控真正拿到数据的时间又是另一件事。

没有边界定义的延时数字,不能直接拿去和另一颗芯片的内部传播延迟比较。

AS5047P 的 90–110μs,不能直接和 1μs做100倍对比

AS5047P 公开资料里的 90–110μs,首先要看它描述的是哪一段。它更接近芯片内部的 core propagation delay,不等于主控从发出 SPI 命令到拿到数据的全部年龄。

AS5047P 的 DAEC 又是另一层含义。DAEC 会根据速度,对固定延时造成的角度滞后进行补偿。公开资料给出的补偿后延时是微秒级,但这个数字不能不加条件地套到所有输出链路,更不能直接当成 SPI 数据从采样到主控读取的总延时。

这也是 DAEC 最容易变成“障眼法”的地方:只做恒速角度误差测试时,补偿后的曲线可能漂亮得足以让人忽略原始延时;一旦进入速度闭环,问题就会从角度误差里露出来。速度环关心的是角度变化的相位和时间间隔,补偿器的速度估计带宽、加减速残差、处理延时抖动,都会重新进入环路。

这里至少要拆成三段:磁场变化到内部完成解算的时间,角度寄存器被锁存的时间,以及主控拿到完整数据的时间。

如果只拿 AS5047P 的 90–110μs 去除以另一颗芯片的 1μs,很容易得到一个漂亮的“100倍”结论,但这个比较未必处在同一个测量边界上。更合理的比较方式,是给每颗芯片画出同一条时间链:

𝑡age=𝑡read−𝑡epoch

真正进入控制环的,是这段数据年龄,而不是宣传页上孤立的一个 delay 数字。

恒速时补得漂亮,加减速时还要看残差

对于一个延时为 τ 的角度测量,真实位置差可以近似写成:

𝜃(𝑡)−𝜃(𝑡−𝜏)=𝜔(𝑡)𝜏−12𝛼(𝑡)𝜏2+⋯

第一项是速度造成的角度滞后,第二项就是加速度带来的动态残差。如果补偿器只使用当前速度,而速度估计本身又有误差,残差还会增加:

𝑒𝛼≈12𝛼𝜏2+𝜏𝑒𝜔

这解释了一个现场里很常见的现象:匀速测试看起来很漂亮,启停、换向、加减速时角度却开始抖。

这不一定是磁铁突然变差,也不一定是 INL 在动态工况下突然变大。静态误差、固定延时、速度估计误差和加速度残差,本来就是不同的误差来源。

如果延时没有被补偿,高速下它直接变成角度:

Δ𝜃=𝜔𝜏

如果转子还有较高极对数,换算到电角度以后还要继续放大:

Δ𝜃e=𝑝Δ𝜃m

机械角看起来不到一度,到了换相和电流环里,可能已经是更大的电角滞后。

ABZ 的 PPR、四倍频和 16 位,根本不是一回事

ABZ 是接口形式,PPR 是每转输出多少个周期,四倍频是接收端如何利用 A、B 两路边沿计数,16 位则是绝对角度编码的码值数量。

如果 A、B 每转输出 N 个周期,理想四倍频后的计数是:

𝑁count=4𝑁

每个计数对应的机械角为:

Δ𝜃=360∘4𝑁

Z 相通常是一转一个索引脉冲,用于回零、校准或建立机械参考。它不是把 AB 两路再增加一个角度分辨率位。

所以不能写成“ABZ 也是 16 位”,也不能看到四倍频就把它等同于芯片内部的 16 位绝对角度。

ABZ 输出的是位置变化事件,绝对式接口输出的是某个测量时刻的角度状态。系统选择哪一种,取决于控制器需要边沿累计、同步锁存,还是直接读取绝对位置。

差分 ABZ 的价值,在线束和 PWM 旁边才真正显出来

在实验室里,一根短线接到示波器,单端 ABI 往往已经够用。但真实电机系统不是这样。编码器线束可能和 PWM、栅极驱动、电机制动线、母线电流采样线并行走线。

这时干扰往往不是干净的高频正弦,而是快速共模跳变、地电位差和边沿串扰叠在一起。差分 A、B 信号的价值,是让接收端可以利用两根线的相反变化,抵消一部分共模干扰。

但差分输出也不是自动免疫 EMI。现场仍然要看差分对是否成对走线、终端电阻是否匹配、接收端共模范围是否足够、屏蔽层接在哪一端,以及 PWM 回路和编码器回路是否形成大面积环路。

如果是 AB 相本身被干扰,通常表现为多边沿、少边沿或相位关系错误。如果是计数器、DMA 或软件读取时序出问题,波形可能完全正常,但最终位置已经错了。

MTP 的真实价值,是给产线留一条返工路径

MTP 和 OTP 的差别,不能只写成“一个能改,一个不能改”。对磁编码器来说,磁体、气隙、芯片偏置、封装应力和装配误差叠在一起,最终参数往往要在接近成品状态下才能确定。

具备 MTP 的器件,可以把部分校准参数写入非易失存储,让芯片和具体磁体、具体装配状态匹配起来。它对量产的价值,是校准可以更靠近最终装配状态进行,返工时不必把整颗器件直接判废,校准结果也可以留下记录。

但是 MTP 不是无限修改的内存。量产要管写入次数、写入时序、掉电风险、数据锁定、读回校验和重新上电后的保持状态。

尤其不能把“写入动作完成”当成“参数已经可靠生效”。至少要做:

write→readback→power cycle→verify

如果校准表写错,芯片可能不会报通信错误,输出仍然是合法的角度数据,只是角度已经不属于真实转子位置。这类故障最难查,因为 CRC 可以全过,状态字也可以正常。

离轴不是打开几个 XY 参数就结束了

离轴安装时,传感器看到的 X、Y 信号通常会同时受到偏置、幅值不一致、正交误差、相位误差和磁场非线性的影响。

理想信号可以写成:

𝑥=𝐴cos⁡𝜃

𝑦=𝐴sin⁡𝜃

实际信号更接近:

圆心偏移、X/Y 增益不一致和正交误差,通常还能通过 offset、gain、phase 这类线性校准处理。画出来的 Lissajous 图可能是偏心、椭圆或倾斜椭圆。

但如果图形已经出现“蛋形”,就说明增益随输入幅度变化,问题进入了非线性区域。此时继续拧几个线性参数,往往只是把误差从一个角度区间推到另一个角度区间,需要多点校准、谐波补偿,或者从磁路、前端和 ADC 重新查误差来源。

离轴样机上调通一次,不代表换一批磁体、气隙变一点、芯片装偏一点以后,误差仍然能收回来。台架上看着还行,量产后却出现少数角度段突然变差,很多编码器项目就是在这里开始返工的。

应作如是观
公众号「如是有为」二维码

关注公众号「如是有为」

微信扫一扫,新文章先在公众号发出。