ZHDU116G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
表 20-16 介绍了 AUX_PROG_DLY_IDLE 事件。该事件的电平取决于 16 位 AUX_EVCTL:PROGDLY 计数器的值。当计数器值为零时,电平为高;否则,电平为低。
当计数器被加载一个非零值时,它会随着占空比为 50% 的 500kHz 时钟的每个边沿递减 1 个 LSB,直到计数器值为零。500kHz 时钟信号以 SCE 速率同步。因此,由于边沿检测逻辑易受同步抖动的影响,平均而言,1 个 LSB 对应 1µs 的延迟。
下面的示例展示了如何将传感器控制器的后续执行延迟至少 15µs。
# Sample assembly (Example code produced by the Sensor Controller Studio)
0: ld R4, #(15+1) ; Load value for AUX_EVCTL:PROGDLY counter
1: out R4, [#IOP_EVCTL_PROGDLY] ; Load the AUX_EVCTL:PROGDLY counter
2: wev1 #0 ; Wait until AUX_EVCTL:PROGDLY counter is 0.
3: ...
# The Sensor Controller uses the alias I/O memory space
IOP_EVCTL_PROGDLY equ 73
AUX_EVCTL:PROGDLY 的写入时刻与 500kHz 时钟边沿之间存在随机相位。因此,需要在 15μs 的基础上增加 1μs,以确保至少 15μs 的延迟。
AUX_EVCTL:PROGDLY 计数器仅在活动和低功耗工作模式下有效。在断电工作模式下不得使用 AUX_PROG_DLY_IDLE 事件。