ZHDU116G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
在接收或尝试接收 SCAN_RSP、AUX_SCAN_RSP 或 AUX_CONNECT_RSP 数据包后,退避参数应由无线电 CPU 更新。更新取决于响应数据包结果和退避参数的旧值。pParams->backoffPar 中给出的退避参数应按表 26-167 中所示进行更新。更新完成后,无线电 CPU 应将 pParams->backoffCount 设置为介于 1 和 2 pParams->backoffPar.logUpperLimit 之间的假随机数。
| 响应数据包结果 | 旧 pParams->backoffPar | 新建 pParams->backoffPar | |||
|---|---|---|---|---|---|
| bLastSucceeded | bLastFailed | bLastSucceeded | bLastFailed | logUpperLimit | |
| 失败 | X | 0 | 0 | 1 | logUpperLimit |
| 失败 | 0 | 1 | 0 | 0 | min(logUpperLimit+1, 8) |
| 成功 | 0 | X | 1 | 0 | logUpperLimit |
| 成功 | 1 | 0 | 0 | 0 | max(logUpperLimit-1, 0) |
假随机算法应基于最大长度的 16 位线性反馈移位寄存器 (LFSR)。种子应按照 pParams->randomState 中的规定。当操作结束时,无线电 CPU 应将当前状态写回此字段。如果 pParams->randomState 为 0,则无线电 CPU 应通过将 LFSR 初始化为无线电计时器的 16 个最低有效位来自行播种。只有在首次需要 LFSR(即收到 ADV*_IND 之后)时才应执行此操作,因此该值会有一定的随机性。如果无线电计时器的 16 个最低有效位全部为 0,则应替换另一个固定值。
当器件进入扫描或启动(仅限蓝牙 5)状态时,系统 CPU 应将 pParams->backoffCount 初始化为 1、将 pParams->backoffPar.logUpperLimit 初始化为 0、将 pParams->backoffPar.bLastSucceeded 和 pParams->backoffPar.bLastFailed 初始化为 0、将 pParams->randomState 初始化为真随机数字(或基于真随机种子初始化为假随机数)。当在保持扫描状态的情况下启动新的扫描仪操作时,系统 CPU 应将 pParams->randomState、pParams->backoffCount 和 pParams->backoffPar 保持为上次扫描仪操作结束时的值。