技术专题 / 几何与解算

100kHz输入、1MHz刷新、250kHz帧率,不能直接取最小值

先统一输入周期、机械转速、位置样本与总线事务,再检查ABZ和数据年龄。

核对于 2026.10.24

“前端100kHz、内部1MHz、总线250kHz,系统由最小的100kHz决定。”这句话把三种不同对象的频率排在一起,容易得到错误转速。先问每一项数的究竟是什么。

输入频率要先除周期数

设编码结构每机械圈有N个有效信号周期,机械归一化位置为u,转速为r(rpm)。信号频率为:

fsig=Nu˙=Nr60 f_{\rm sig}=N\dot u=\frac{Nr}{60}

设定N=1024、r=6000 rpm,输入信号是102.4kHz。若前端只允许100kHz,最高转速便约5859rpm;内部即使每秒计算一百万次,也不能补救前端已经跟不上的输入。

串行与增量还各有限制

作另一组独立设定:总线时钟10MHz,一次完整事务64个时钟,忽略间隔时的上限为156250帧/s,不是10M帧/s。真实事务还要加入片选间隔、请求等待和协议开销。

若使用ABZ,每通道PPR个周期,四倍频边沿率为:

fedge=4 PPR r/60 f_{\rm edge}=4\,\mathrm{PPR}\,r/60

设PPR=16384、r=6000rpm,边沿率为6.5536M/s。只能接收5M边沿/s的计数器会先成为瓶颈。这条约束仅适用于实际使用ABZ的链路,不能套到串行输出。

频率都够,还要问数据有多旧

输入电周期频率、内部新位置样本率和总线帧率,需要先变成相应需求与容量,不能直接取min。总线也可能反复读出同一个内部样本。

相反,流水线可以每拍给新结果,但每个结果已经经历多拍处理。1MHz输出间隔不等于1µs延迟。若内部采样、计算和传输可重叠,也不能简单把所有周期机械相加。

实测应同时抓取转换触发、数据有效、片选和控制器使用时刻;逐步提高转速,观察样本重复、ABZ欠计和相位滞后。规格表的匀速补偿延迟与阶跃响应分开记录,避免用一个最快数字代表整条动态链。

有时间戳和缓冲的系统可以在较低总线帧率下传回多份采样,再由控制器按时间重建;这时平均吞吐与最大等待时间又是两个限制。反过来,频率足够高而没有有效时刻定义,也不能直接保证多轴数据同步。应把容量检查与时序检查分别列项。

公开依据

回到概念与器件