ZHDU116G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
CMD_PROP_TX_ADV 命令发送具有图 26-10 中格式的数据包。在特殊情况下,用户可以如图 26-9 中所示设置数据包。无线电必须设置为兼容模式(例如专有模式)并且使用 CMD_FS 对合成器进行编程。参数如表 26-173 中所示。
数据包传输从给定的启动触发开始,延迟固定。或者,如果 startConf.bExtTXTrig 为 1,则数据包传输在 RF 内核的外部触发时开始。触发器被识别为无线电计时器的输入之一,可以通过 startConf 参数配置为上升沿、下降沿或两个边沿。系统必须确保该触发信号在启动触发后发出,否则将丢失。启动触发后的最小延迟取决于实现,并取决于特性。
调制解调器首先传输配置的前导码和同步字。如果 preTrigger 不是 TRIG_NOW,则会重复配置的前导码,直到观察到该触发(与 preTime 结合使用时看到)。观察到触发后,传输下配置的前导码在同步字传输开始之前完成。如果 preTrigger 为 TRIG_NOW,则前导码将发送一次,然后发送同步字。要传输的同步字在 syncWord 字段中给出(如果使用的位少于 32 位,则在 LSB 中给出),并按照在无线电中编程的位顺序进行传输。
如果 numHdrBits 大于 0,则接下来会发送 numHdrBits 的标头。标头可包含长度字段或者地址。如果是,这些字段必须正确插入数据包缓冲器中。要传输的标头是 pPkt 指向的缓冲器的前几个字节。如果 numHdrBits 未除以 8,则标头最后一个字节的 MSB 将被忽略。
标头作为无线电中编程的位顺序中的一个字段来传输。如果标头具有 8 位以上,则始终按照小端字节序的顺序从发送缓冲器读取。如果将无线电配置为首先传输 MSB,则首先发送 TX 缓冲器的最后一个标头字节。
在标头之后,传输 pPkt 指向的缓冲器中的剩余字节。有效载荷是按字节传输的,因此在标头之后,无论通过无线方式进行的位排序如何,都不会发生字节交换。此缓冲器中的总字节数(包括标头)由 pktLen 给出。如果该长度太小而无法适应标头,则操作结束时将 PROP_ERROR_PAR 作为状态。如果需要如图 26-10 所示的标头之后的地址字段,则必须将其作为第一个有效载荷字节发送。
如果 pktLen 为 0,则使用不受限制的长度。在这种情况下,pPkt 指向传输队列而不是缓冲器,请参阅节 26.5.3.2。
如果 pktConf.bUseCrc 为 1,则计算 CRC 并在末尾发送。CRC 位的数量、多项式和初始化在无线电中配置。如果 pktConf.bCrcIncSw 为 1,则发送的同步字将包含在计算 CRC 的数据集中。如果 pktConf.bCrcIncHdr 为 1,则发送的标头将包含在计算 CRC 的数据集中。有效载荷始终用于计算 CRC。
如果启用了白化,则如果 pktConf.bCrcIncHdr 为 1,则可选标头会进行白化处理。启用时,整个有效载荷和 CRC 始终会进行白化处理。在将数据用于 CRC 计算后进行白化。