CORDIC
简介
CORDIC IP提供数学函数(主要是三角函数)的硬件加速,这些函数通常用于电机控制、计量、信号处理和许多其他应用。与软件实现相比,它加速了这些函数的计算,使得可以使用更低的工作频率,或释放处理器周期以执行其他任务。
主要特性
CORDIC支持以下特性:
24位CORDIC旋转引擎
圆形和双曲模式
旋转和矢量模式
函数:正弦、余弦、双曲正弦、双曲余弦、反正切、双反正切、双曲反正切、模数、平方根、自然对数、指数
可编程精度
低延迟AHB从接口
结果就绪即可读取,无需轮询或中断
DMA读写通道
支持通过DMA进行多寄存器读/写
功能描述
概述
CORDIC是一种计算高效的逐次逼近算法,用于评估三角函数和双曲函数。
在三角(圆形)模式下,角度θ的正弦和余弦通过旋转单位向量[1, 0]经过递减的角度来确定,直到旋转角度的累积和等于输入角度θ。然后,旋转向量的x和y笛卡尔分量分别对应于θ的余弦和正弦。相反,向量[x, y]的角度对应于反正切(y / x),通过将[x, y]旋转经过连续递减的角度来获得单位向量[1, 0]来确定。旋转角度的累积和给出原始向量的角度。
CORDIC算法也可以用于计算双曲函数(双曲正弦、双曲余弦、双曲反正切),通过用沿双曲线的步骤替换连续的圆形旋转。其他函数可以从上述基本函数派生。
CORDIC函数
使用协处理器的第一步是通过相应地编程CORDIC_CSR寄存器的FUNC字段来选择所需的函数。
表6.1: CORDIC函数列出了CORDIC协处理器支持的函数。
函数 |
主参数(ARG1) |
次参数(ARG2) |
主结果(RES1) |
次结果(RES2) |
|---|---|---|---|---|
余弦 |
角度θ |
模数m |
m·cosθ |
m·sinθ |
正弦 |
角度θ |
模数m |
m·sinθ |
m·cosθ |
相位 |
x |
y |
atan2(y,x) |
√(x²+y²) |
模数 |
x |
y |
√(x²+y²) |
atan2(y,x) |
反正切 |
x |
无 |
tan⁻¹x |
无 |
双曲余弦 |
x |
无 |
cosh x |
sinh x |
双曲正弦 |
x |
无 |
sinh x |
cosh x |
双曲反正切 |
x |
无 |
tanh⁻¹x |
无 |
自然对数 |
x |
无 |
ln x |
无 |
平方根 |
x |
无 |
√x |
无 |
自然指数 |
x |
无 |
eˣ |
无 |
几个函数接受两个输入参数(ARG1和ARG2),有些同时生成两个结果(RES1和RES2)。这是算法的副作用,意味着只需要一次操作就能获得两个值。例如,在执行极坐标到直角坐标转换时:sin θ也生成cos θ,cos θ也生成sin θ。
同样适用于直角坐标到极坐标转换(phase(x,y), modulus(x,y))和双曲函数(coshθ, sinhθ)。
注意:指数函数exp x可以作为sinh x和cosh x的和获得。此外,底数N的对数log_N x可以通过将ln x乘以常数K得出,其中K = 1/ln N。
对于某些函数(atan, log, sqrt),可以应用缩放因子来扩展函数的范围,超出q1.31定点格式支持的最大[-1, 1]范围。对于所有其他圆形函数,缩放因子必须设置为θ,对于双曲函数设置为1。
余弦
参数 |
描述 |
范围 |
|---|---|---|
ARG1 |
角度θ(弧度),除以π |
[-1, 1] |
ARG2 |
模数m |
[0, 1] |
RES1 |
m·cosθ |
[-1, 1] |
RES2 |
m·sinθ |
[-1, 1] |
SCALE |
不适用 |
0 |
此函数计算范围[-π, π]内角度的余弦。它也可用于执行极坐标到直角坐标的转换。
主参数是弧度角度θ。在编程ARG1之前必须除以π。
次参数是模数m。如果m大于1,必须在软件中应用缩放以将其适配到ARG2的q1.31范围。
主结果RES1是角度的余弦乘以模数。
次结果RES2是角度的正弦乘以模数。
正弦
参数 |
描述 |
范围 |
|---|---|---|
ARG1 |
角度θ(弧度),除以π |
[-1, 1] |
ARG2 |
模数m |
[0, 1] |
RES1 |
m·sinθ |
[-1, 1] |
RES2 |
m·cosθ |
[-1, 1] |
SCALE |
不适用 |
0 |
此函数计算范围[-π, π]内角度的正弦。它也可用于执行极坐标到直角坐标的转换。
主参数是弧度角度θ。在编程ARG1之前必须除以π。
次参数是模数m。如果m大于1,必须在软件中应用缩放以将其适配到ARG2的q1.31范围。
主结果RES1是角度的正弦乘以模数。
次结果RES2是角度的余弦乘以模数。
相位
参数 |
描述 |
范围 |
|---|---|---|
ARG1 |
x坐标 |
[-1, 1] |
ARG2 |
y坐标 |
[-1, 1] |
RES1 |
相位角θ(弧度),除以π |
[-1, 1] |
RES2 |
模数m |
[0, 1] |
SCALE |
不适用 |
0 |
此函数计算向量v = [x y]在范围[-π, π]内的相位角(也称为atan2(y,x))。它也可用于执行直角坐标到极坐标的转换。
主参数为 x 坐标,即沿 x 轴方向的向量分量;若 \(|x|\) > 1,应在软件中缩放以适配 ARG1 的 q1.31 范围。 次参数为 y 坐标,即沿 y 轴方向的向量分量;若 \(|y|\) > 1,应在软件中缩放以适配 ARG2 的 q1.31 范围。
RES1 为相位角 θ,需再乘以 π 才得到弧度制角度。由于相位的环形特性,接近 +π 的值可能回绕至 −π。 RES2 为模值 √(x²+y²),若 \(|v|\) > 1 则饱和为 1。
模数
参数 |
描述 |
范围 |
|---|---|---|
ARG1 |
x坐标 |
[-1, 1] |
ARG2 |
y坐标 |
[-1, 1] |
RES1 |
模数m |
[0, 1] |
RES2 |
相位角θ |
[-1, 1] |
SCALE |
不适用 |
0 |
此函数计算向量 v = [x y] 的幅度(模数),也可用于直角坐标到极坐标转换。
主参数为 x 坐标;若 \(|x|\) > 1,需缩放至 ARG1 的 q1.31 范围。 次参数为 y 坐标;若 \(|y|\) > 1,需缩放至 ARG2 的 q1.31 范围。
RES1 为模值 √(x²+y²),若 \(|v|\) > 1 则在 RES1 饱和至 1。 RES2 为相位角 θ(除以 π 的归一化值),转换为弧度需乘以 π。
反正切
参数 |
描述 |
范围 |
|---|---|---|
ARG1 |
x·2⁻ⁿ |
[-1, 1] |
ARG2 |
不适用 |
– |
RES1 |
2⁻ⁿ·tan⁻¹x,弧度,除以π |
[-1, 1] |
RES2 |
不适用 |
– |
SCALE |
n |
[0,7] |
此函数计算输入参数 x 的反正切值。
当 \(|x|\) > 1 时,需按 2⁻ⁿ 进行缩放,使 2⁻ⁿ·x ∈ (-1,1) 后写入 ARG1,并将 n 写入 SCALE。注意最大允许输入 tanθ = 128(约 89.55°),超过时需用软件方法分段或变换。 RES1 为角度 θ = atan(x)(已除以 π 的归一化格式),转换为弧度需乘以 2ⁿ·π。RES2 不使用。
双曲余弦
参数 |
描述 |
范围 |
|---|---|---|
ARG1 |
x·2⁻ⁿ |
[-0.559,0.559] |
ARG2 |
不适用 |
– |
RES1 |
2⁻ⁿ·cosh x |
[0.5,0.846] |
RES2 |
2⁻ⁿ·sinh x |
[-0.683,0.683] |
SCALE |
n |
1 |
此函数计算双曲角 x 的双曲余弦。亦可用于计算指数:eˣ = cosh x + sinh x,e⁻ˣ = cosh x − sinh x。
仅支持 x ∈ [−1.118, 1.118]。由于 cosh x 的最小值为 1 超出 q1.31,需对输入按 2⁻ⁿ 缩放并设 SCALE = 1。 输出需还原:RES1=cosh x 与 RES2=sinh x 需各乘以 2。
双曲正弦
参数 |
描述 |
范围 |
|---|---|---|
ARG1 |
x·2⁻ⁿ |
[-0.559,0.559] |
ARG2 |
不适用 |
– |
RES1 |
2⁻ⁿ·sinh x |
[-0.683,0.683] |
RES2 |
2⁻ⁿ·cosh x |
[0.5,0.846] |
SCALE |
n |
1 |
此函数计算双曲角 x 的双曲正弦,亦可用于 eˣ 和 e⁻ˣ 的组合。
支持 x ∈ [−1.118, 1.118]。输入按 2⁻ⁿ 缩放、SCALE = 1(n=1),写入 ARG1 为 x·0.5。 输出还原:RES1=sinh x 与 RES2=cosh x 需各乘以 2。
双曲反正切
参数 |
描述 |
范围 |
|---|---|---|
ARG1 |
x·2⁻ⁿ |
[-0.403,0.403] |
ARG2 |
不适用 |
– |
RES1 |
2⁻ⁿ·atanh x |
[-0.559,0.559] |
RES2 |
不适用 |
– |
SCALE |
n |
1 |
此函数计算输入参数 x 的双曲反正切。
支持 \(|x|\) ≤ 0.806。输入按 2⁻ⁿ 缩放,并设 SCALE = 1(n=1),写入 ARG1 为 x·0.5。 输出还原:RES1=atanh x 需乘以 2。RES2 不使用。
自然对数
参数 |
描述 |
范围 |
|---|---|---|
ARG1 |
x·2⁻ⁿ |
[-0.054,0.875] |
ARG2 |
不适用 |
– |
RES1 |
2⁻⁽ⁿ⁺¹⁾·ln x |
[-0.279,0.137] |
RES2 |
不适用 |
– |
SCALE |
n |
[1,4] |
此函数计算输入参数 x 的自然对数。
仅支持 x ∈ [0.107, 9.35]。需选择缩放因子 n ∈ [1,4] 使 ARG1= x·2⁻ⁿ 满足 ARG1 < 1 − 2⁻ⁿ,并将 n 写入 SCALE。 RES1 为 2⁻(n+1)·ln(x),需乘以 2⁽ⁿ⁺¹⁾ 还原。RES2 不使用。
n |
x 范围 |
ARG1 范围 |
|---|---|---|
1 |
0.107 ≤ x < 1 |
0.0535 ≤ ARG1 < 0.5 |
2 |
1 ≤ x < 3 |
0.25 ≤ ARG1 < 0.75 |
3 |
3 ≤ x < 7 |
0.375 ≤ ARG1 < 0.875 |
4 |
7 ≤ x ≤ 9.35 |
0.4375 ≤ ARG1 < 0.584 |
平方根
参数 |
描述 |
范围 |
|---|---|---|
ARG1 |
x·2⁻ⁿ |
[0.027,0.875] |
ARG2 |
不适用 |
– |
RES1 |
2⁻ⁿ√x |
[0.04,1] |
RES2 |
不适用 |
– |
SCALE |
n |
[0,2] |
此函数计算输入参数 x 的平方根。
仅支持 x ∈ [0.027, 2.34]。选择 n ∈ [0,2] 使 ARG1 = x·2⁻ⁿ 满足 ARG1 < (1 − 2^(−n−2)),并将 n 写入 SCALE。 RES1 为 2⁻ⁿ·√x,需乘以 2ⁿ 还原。RES2 不使用。
n |
x 范围 |
ARG1 范围 |
|---|---|---|
0 |
0.027 ≤ x < 0.75 |
0.027 ≤ ARG1 < 0.75 |
1 |
0.75 ≤ x < 1.75 |
0.375 ≤ ARG1 < 0.875 |
2 |
1.75 ≤ x < 2.341 |
0.4375 ≤ ARG1 < 0.585 |
自然指数
参数 |
描述 |
范围 |
|---|---|---|
ARG1 |
x·2⁻ⁿ |
[-0.2795,0.2795] |
ARG2 |
不适用 |
– |
RES1 |
2⁻ⁿ·eˣ |
[0.0817,0.7648] |
RES2 |
2⁻ⁿ·eˣ |
[0.0817,0.7648] |
SCALE |
n |
2 |
此函数计算输入参数 x 的指数(exp)。
支持 x ∈ [−1.11817, 1.11817]。需固定按 2⁻² 缩放(n=2):ARG1 = x·0.25,SCALE 写入 2。 RES1、RES2 为 2⁻²·eˣ,均需乘以 4 还原。
定点表示
CORDIC以定点有符号整数格式操作。输入和输出值可以是q1.31或q1.15。
在q1.31格式中,数字由一个符号位和31个小数位(二进制小数位)表示。因此数字范围是-1 (0x80000000)到1 - 2⁻³¹ (0x7FFFFFFF)。
在q1.15格式中,数字范围是-1 (0x8000)到1 - 2⁻¹⁵ (0x7FFF)。此格式的优点是两个输入参数可以打包到单个32位写入中,两个结果可以在一次32位读取中获取。
缩放因子
CORDIC函数中列出的几个函数指定了缩放因子SCALE。这允许将函数输入范围扩展到覆盖CORDIC支持的完整值范围,而不会使输入、输出或内部寄存器饱和。如果需要缩放因子,必须在软件中计算并编程到CORDIC_CSR寄存器的SCALE字段中。在将缩放值编程到CORDIC_WDATA寄存器之前,必须相应地缩放输入参数。还必须在从CORDIC_RDATA寄存器读取的结果上撤销缩放。
注意:缩放因子由于缩放值的截断而导致精度损失。
精度
结果的精度取决于CORDIC迭代次数。算法以每次迭代一个二进制位的恒定速率收敛。
CORDIC每个时钟周期可以执行四次迭代。对于每个函数,表6.15:精度与迭代次数显示了每四次迭代后剩余的最大误差,以及达到该精度所需的时钟周期数。
根据该表,可以确定所需的时钟周期数,并将其对应的“迭代次数/4”编码写入 CORDIC_CSR 寄存器的 PRECISION 字段。协处理器在完成所编程的迭代次数后即停止,结果可立即读取。
函数 |
迭代次数 |
周期数 |
最大残余误差 |
最大残余误差 |
|---|---|---|---|---|
q1.31格式 |
q1.15格式 |
|||
Sin,Cos,Phase, Mod,Atan |
4 |
1 |
2⁻³ |
2⁻³ |
8 |
2 |
2⁻⁷ |
2⁻⁷ |
|
12 |
3 |
2⁻¹¹ |
2⁻¹¹ |
|
16 |
4 |
2⁻¹⁵ |
2⁻¹⁵ |
|
20 |
5 |
2⁻¹⁸ |
2⁻¹⁶ |
|
24 |
6 |
2⁻¹⁹ |
2⁻¹⁶ |
|
Sinh,Cosh,Atanh, Ln,Exp |
4 |
1 |
2⁻² |
2⁻² |
8 |
2 |
2⁻⁶ |
2⁻⁶ |
|
12 |
3 |
2⁻¹⁰ |
2⁻¹⁰ |
|
16 |
4 |
2⁻¹³ |
2⁻¹³ |
|
20 |
5 |
2⁻¹⁷ |
2⁻¹⁵ |
|
24 |
6 |
2⁻¹⁸ |
2⁻¹⁵ |
|
Sqrt |
4 |
1 |
2⁻⁷ |
2⁻⁷ |
8 |
2 |
2⁻¹⁴ |
2⁻¹⁴ |
|
12 |
3 |
2⁻¹⁹ |
2⁻¹⁵ |
Note
最大残余误差是指在给定迭代次数后,相对于双精度浮点参考计算结果所剩余的最大误差。另可能存在舍入误差:q1.15 格式最多 2⁻¹⁶,q1.31 格式最多 2⁻²⁰。
对于模数(Modulus)> 0.5 的情况,量化误差会增大,可达精度会按模数大小成比例降低。
对于 ln,SCALE 应为 1;若使用更大的缩放因子,可达精度将按比例降低。
对于 sqrt,SCALE 应为 0;若使用更大的缩放因子,可达精度将按比例降低。
根据该表,可以确定所需的时钟周期数,并将其对应的“迭代次数/4”编码写入 CORDIC_CSR 寄存器的 PRECISION 字段。协处理器在完成所编程的迭代次数后即停止,结果可立即读取。
零开销模式
使用协处理器的最快方式是预编程CORDIC_CSR寄存器,包括要执行的函数(FUNC)、所需的时钟周期数(PRECISION)、输入和输出值的大小(ARGSIZE, RESSIZE)、输入参数数量(NARGS)和/或结果数量(NRES),以及缩放因子(SCALE)(如果适用)。
随后,通过向 CORDIC_WDATA 寄存器写入输入参数来触发计算。一旦写入了正确数量的输入参数(且任何正在进行的计算已完成),将以当前 CORDIC_CSR 设置启动新计算。如设置不变,无需重复编程 CORDIC_CSR。
若需要两个 32 位输入(ARGSIZE=0, NARGS=1),需先写 ARG1 再写 ARG2。若一系列计算中 ARG2 不变,可在首个计算启动后将 NARGS 改为 0,以后只写 ARG1。复位后 ARG2 缺省为 +1 (0x7FFFFFFF)。
当使用 16 位输入(ARGSIZE=1)时,将 ARG1 放低 16 位、ARG2 放高 16 位打包为 32 位写入(NARGS=0)。
对于仅单输入的函数,建议设 NARGS=0;若设为 1,则需执行第二次写入以触发计算(该次的 ARG2 数据不会被使用)。
计算进行中若读取 CORDIC_RDATA,则总线会等待直至结果就绪,因此可“写后立即读”而无需轮询;也可等待预期周期数后再读。在不影响当前计算结果的前提下,可在计算过程中重编程 CORDIC_CSR 或预装入下一次的参数到 CORDIC_WDATA。这些更新在上一计算完成后生效。
当一次计算完成后,可从 CORDIC_RDATA 寄存器读取结果。若期望两个 32 位结果(NRES = 1,RESSIZE = 0),将先读出主结果(RES1),随后读出次结果(RES2)。若仅期望一个 32 位结果(NRES = 0,RESSIZE = 0),第一次读取即输出 RES1。
若期望 16 位结果(RESSIZE = 1),对 CORDIC_RDATA 的一次读取会返回打包在同一 32 位字中的两个结果:RES1 位于低半字,RES2 位于高半字。此时推荐将 NRES 设为 0;若 NRES = 1,为了释放协处理器以启动下一次计算,必须执行第二次对 CORDIC_RDATA 的读取,并丢弃该次读取的数据。
当读出预期数量的结果(取决于 NRES/RESSIZE)且已写入预期数量的参数后,下一次计算开始。任意在挂起操作存在时对 CORDIC_WDATA 的额外写入会取消原挂起并覆盖数据。
使用流程概述: 1) 配置 CORDIC_CSR 2) 写入本次计算的参数到 CORDIC_WDATA(启动计算) 3) 如需,更新下一次计算的 CORDIC_CSR 4) 写入下一次计算的参数到 CORDIC_WDATA 5) 读取 CORDIC_RDATA 的结果(触发下一次计算) 6) 重复 3)
轮询模式
当 CORDIC_RDATA 有新结果时,CORDIC_CSR 的 RRDY 被置位。可通过读取 CORDIC_CSR 轮询该标志,并通过读取 CORDIC_RDATA(次数取决于 NRES)复位该标志。相比直接读取结果,轮询稍慢,但不会阻塞处理器或总线,适合需要低中断延迟的场景。
中断模式
通过设置CORDIC_CSR寄存器中的中断使能(IE)位,每当RRDY标志被设置时就会生成中断。当标志被复位时中断被清除。此模式允许在中断服务例程下读取计算结果,从而相对于其他任务给予优先级。但是,由于中断处理延迟,它比直接读取结果或轮询标志要慢。
DMA模式
当 DMA 写使能(DMAWEN=1)且无挂起操作时,产生 DMA 写请求,将 ARG1 传输到 CORDIC_WDATA;若 NARGS=1,将产生第二个写请求传输 ARG2。待输入齐备且上一计算结果已被读走后,启动新计算并产生下一轮 DMA 写请求。
当 DMA 读使能(DMAREN=1)且 RRDY 置位时,产生 DMA 读请求,将 RES1 从 CORDIC_RDATA 传输到内存;若 NRES=1,将产生第二次读请求传出 RES2,随后 RRDY 清除。
读写通道可独立使能。若同时使能,CORDIC 可在 DMA 协助下对缓冲数据进行自动往复计算,CPU 可并行处理其他任务。常见链路: - 结果被外设定期取走时,可由外设发起 DMA 读,读走 CORDIC_RDATA 同时触发下一次写请求以装入下一输入(此时开启 DMAWEN,禁用 DMAREN)。 - 若输入来自外设(如 ADC),可由外设发起 DMA 写,将样本直接写入 CORDIC_WDATA;计算完成后若 DMAREN=1,再由 DMA 将结果读回内存。
注意: - DMA 不会用于配置 CORDIC_CSR,适用于重复执行相同功能与参数设置的情形,SCALE 期间不可变化。 - 每个 DMA 请求必须由对应的对 CORDIC_WDATA 或 CORDIC_RDATA 的访问予以应答。启用 DMA 读时避免 CPU 访问 CORDIC_RDATA;启用 DMA 写时避免 CPU 访问 CORDIC_WDATA,以免提前应答阻塞 DMA。
中断
此IP有一个中断信号。这是一个电平中断。这是一个功能完成中断。没有错误中断。
操作完成时生成中断。中断是可屏蔽的。
相关寄存器是CORDIC_CSR。
寄存器
寄存器描述
CORDIC_RF寄存器
CORDIC_RF中的寄存器及其相应的偏移量如表8.1:CORDIC_RF中寄存器的偏移地址所示。
偏移量 |
寄存器名称 |
功能描述 |
|---|---|---|
0x0 |
IP_VER |
IP版本号 |
0x4 |
GIT_VER |
Git版本号 |
0x8 |
CORDIC_CSR |
CORDIC控制/状态寄存器 |
0xC |
CORDIC_WDATA |
CORDIC参数寄存器 |
0x10 |
CORDIC_RDATA |
CORDIC结果寄存器 |
0x14 |
CORDIC_DBG |
CORDIC调试寄存器 |
IP版本号
地址偏移:0x0
字段 |
位 |
访问 |
复位值 |
描述 |
|---|---|---|---|---|
IP_VER |
23:0 |
RO |
24’h010002 |
IP版本号 |
保留 |
31:24 |
/ |
0x0 |
/ |
Git版本号
地址偏移:0x4
字段 |
位 |
访问 |
复位值 |
描述 |
|---|---|---|---|---|
GIT_VER |
31:0 |
RO |
32’h0 |
Git版本号 |
CORDIC控制/状态寄存器
地址偏移:0x8
字段 |
位 |
访问 |
复位值 |
描述 |
|---|---|---|---|---|
func |
3:0 |
R/W |
0 |
函数
|
precision |
7:4 |
R/W |
5 |
所需精度,精度值为1到15
|
scale |
10:8 |
R/W |
0 |
缩放因子 应用于参数和/或结果的缩放因子 |
保留 |
15:11 |
/ |
0x0 |
/ |
ien |
16 |
R/W |
0 |
使能中断
|
dmaren |
17 |
R/W |
0 |
使能DMA读通道
|
dmawen |
18 |
R/W |
0 |
使能DMA写通道
|
nres |
19 |
R/W |
0 |
CORDIC_RDATA寄存器中的结果数量
|
nargs |
20 |
R/W |
0 |
CORDIC_WDATA寄存器期望的参数数量
|
ressize |
21 |
R/W |
0 |
输出数据宽度
|
argsize |
22 |
R/W |
0 |
输入数据宽度
|
保留 |
30:23 |
/ |
0x0 |
/ |
rrdy |
31 |
RO |
0 |
结果就绪标志
|
CORDIC参数寄存器
地址偏移:0xC
字段 |
位 |
访问 |
复位值 |
描述 |
|---|---|---|---|---|
arg |
31:0 |
R/W |
0 |
函数输入参数 |
CORDIC结果寄存器
地址偏移:0x10
字段 |
位 |
访问 |
复位值 |
描述 |
|---|---|---|---|---|
res |
31:0 |
RO |
0 |
函数结果 |
CORDIC调试寄存器
地址偏移:0x14
字段 |
位 |
访问 |
复位值 |
描述 |
|---|---|---|---|---|
arg_cnt |
7:0 |
RO |
0 |
循环计数器,RC。记录核心接受的参数数量。计算开始时递增。 |
res_cnt |
15:8 |
RO |
0 |
循环计数器,RC。记录用户读取的结果数量。获取计算结果时递增。 |
保留 |
29:16 |
/ |
0x0 |
/ |
core_busy |
30 |
RO |
0 |
core_busy,指示CORE忙碌 |
busy |
31 |
RO |
0 |
busy,指示IP忙碌。当参数挂起、核心忙碌或结果挂起时设置忙碌。 |