TI中文支持网
TI专业的中文技术问题咨询交流网站

关于CC1352跳频失败问题

您好,

关于CC1352有两个问题想请教下。

背景:我使用两块CC1352的EVK板子进行传输实验,A发送数据给B,B接收且处理完毕后回传给A,频率是915M,传输速率50K,传输频率2S/次(0.5Hz),即每2S EVK_A会传输一次数据,A/B的radio_init配置如下:

A:

    /* Modify CMD_PROP_TX and CMD_PROP_RX commands for application needs */
    RF_cmdPropTx.pktLen = PAYLOAD_LENGTH;
    RF_cmdPropTx.pPkt = txData;
    RF_cmdPropTx.startTrigger.triggerType = TRIG_NOW;
    RF_cmdPropTx.pNextOp = (rfc_radioOp_t *)&RF_cmdPropRx;
    /* Only run the RX command if TX is successful */
    RF_cmdPropTx.condition.rule = COND_STOP_ON_FALSE;

    /* Set the Data Entity queue for received data */
    RF_cmdPropRx.pQueue = &dataQueue;
    /* Discard ignored packets from Rx queue */
    RF_cmdPropRx.rxConf.bAutoFlushIgnored = 1;
    /* Discard packets with CRC error from Rx queue */
    RF_cmdPropRx.rxConf.bAutoFlushCrcErr = 1;
    /* Implement packet length filtering to avoid PROP_ERROR_RXBUF */
    RF_cmdPropRx.maxPktLen = PAYLOAD_LENGTH;
    RF_cmdPropRx.pktConf.bRepeatOk = 0;
    RF_cmdPropRx.pktConf.bRepeatNok = 0;
    RF_cmdPropRx.pOutput = (uint8_t *)&rxStatistics;
B:
        /* Modify CMD_PROP_TX and CMD_PROP_RX commands for application needs */
        /* Set the Data Entity queue for received data */
        RF_cmdPropRx.pQueue = &dataQueue;
        /* Discard ignored packets from Rx queue */
        RF_cmdPropRx.rxConf.bAutoFlushIgnored = 1;
        /* Discard packets with CRC error from Rx queue */
        RF_cmdPropRx.rxConf.bAutoFlushCrcErr = 1;
        /* Implement packet length filtering to avoid PROP_ERROR_RXBUF */
        RF_cmdPropRx.maxPktLen = PAYLOAD_LENGTH;
        /* End RX operation when a packet is received correctly and move on to the
        * next command in the chain */
        RF_cmdPropRx.pktConf.bRepeatOk = 0;
        RF_cmdPropRx.pktConf.bRepeatNok = 1;
        RF_cmdPropRx.startTrigger.triggerType = TRIG_NOW;
        //RF_cmdPropRx.endTrigger.triggerType = TRIG_REL_START;
        //RF_cmdPropRx.endTime = RX_TIMEOUT;
        RF_cmdPropRx.pNextOp = (rfc_radioOp_t *)&RF_cmdPropTx;
        RF_cmdPropRx.condition.rule = COND_STOP_ON_FALSE;
        RF_cmdPropTx.pktLen = PAYLOAD_LENGTH;
        RF_cmdPropTx.pPkt = txData;
        RF_cmdPropTx.startTrigger.triggerType = TRIG_NOW;
        RF_cmdPropTx.pNextOp = (rfc_radioOp_t *)&RF_cmdPropRx;
        /* Only run the RX command if TX is successful */
        RF_cmdPropTx.condition.rule = COND_STOP_ON_FALSE;
问题1:在不使用跳频的时候该程序可以实现正常收发,但是使用跳频后,发现A板子可以正常切换成920M,B板子不能切换频率,依旧是915M,切频程序如下:
            RF_cmdFs.frequency = 0x398;
            RF_cmdFs.fractFreq = 0;
            RF_postCmd(rfHandle, (RF_Op*)&RF_cmdFs, RF_PriorityNormal,NULL, 0);
我一直感觉这个radio的配置有问题,看了好久也没发现问题。
问题2:在不切频的情况下,A与B通讯正常,我使用第三块EVK_C加RFStudio软件的数据接收模式抓取A与B的通讯数据,假设A发出数据的时间为T1,A接收B发送数据的时间为T2,无论在传输速率是50/100/200Kbps的时候,T2 与 T1的时间差值基本都是在40-50毫秒之间,基本没什么变化。按理说这个50ms,应该包含射频打开时间,数据处理时间、空间传输时间等,一旦传输速率改变,空间传输时间改变,这个RFStudio上抓取的时间差值应该是有变化的。
感谢您的技术支持,谢谢。
Kevin Qiu1:

跳频可以看下这里:dev.ti.com/…/node

赞(0)
未经允许不得转载:TI中文支持网 » 关于CC1352跳频失败问题
分享到: 更多 (0)