技术专题 / 时间与动态

AS5047P这次返回的角度,属于哪一次读取?

按公开SPI流水时序计算寄存器快照年龄,分开命令、返回、模拟采样与控制使用时刻。

核对于 2026.10.24

同一颗AS5047P,连续发两帧取数,和每个控制周期只发一帧,读到的位置可以有很不一样的年龄。差别先发生在主控安排的帧间隔里。

本文依据英飞凌当前提供的AS5047P手册,技术正文为v2-00、2021-07-22。正文第12—13页说明16位命令、16位返回及读操作流水:SPI读值在CSn上升沿取样,数据随下一条读命令返回。官方PDF物理第14—15页包含对应时序图;下载件前置说明使物理页码与正文页码不同。

先给数据编号

时刻主机动作与返回含义
帧A结束,CSn上升形成该读操作对应的寄存器快照A
帧B传输返回快照A,同时接收下一条命令
帧B结束后控制使用A已是更早时刻的信息

表中的“快照”指SPI读操作的取值事件,不能进一步断言霍尔模拟信号也恰好在这个沿采样。内部转换、滤波及补偿形成另一个时间问题。ADI MT-007也将实际模拟采样时刻与外部命令沿之间的延时分别定义。

两种主控计划,先算已经知道的那一段

设控制使用时刻为 tuset_{\rm use},快照A时刻为 tAt_A,可直接核算的年龄为:

Areg=tuse−tA. A_{\rm reg}=t_{\rm use}-t_A.

合成计划一:实测并确认帧A到帧B的CSn上升沿相隔3µs,B结束立即使用,则这段年龄约3µs。计划二:每100µs发一帧,下一周期才使用返回值,则约100µs。3µs是人为选定的计划,不是手册最小帧间隔。

归一化角度 uu 以圈计,匀速50圈/秒时,两段未补偿的运动量分别为0.00015圈与0.005圈,即0.054°与1.8°。它们仅表示快照以后继续运动的量,不是该器件的总动态误差。

调度抖动怎么量

在逻辑分析仪上同时记录CSn、时钟、命令地址和控制任务标记,逐帧配对命令与返回,再统计 AregA_{\rm reg}。施加其他任务负载,检查最大值与散布是否变化;不要只记录平均总线频率。

反例是连续读同一地址:返回值看起来平滑,仍可能来自上一帧。刷新快、校验正确,都不能证明主控把数据配到了正确时刻。无法确认内部有效测量时刻时,应将它列为独立未知项,而不是随手假设一个100µs内部刷新周期。

回到概念与器件