This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2500发送时间的问题

Other Parts Discussed in Thread: CC2500

在完成对TX_buffer写操作后,设置CC2500为发送状态,这个时候用示波器观察GDO0的变化(GDO0配置为0x06模式),发现GDO0大约在2.4ms之后才变为高电平。

并且这段时间和发送的字节长度没关系,即使是发送1个字节也有2.4ms的延时。

1、这段延时存在的原因,为什么会怎么大?

2、这段时间能通过什么方式优化,尽量减小吗?

谢谢~!

  • Xi Wei,

    您好!

    请参考DN506-GDO PIN Usage 这篇application note中3.2.2章节,链接如下

    http://www.ti.com/lit/an/swra121a/swra121a.pdf

    谢谢!

  • 我看了文档,好像和我问的不是一个问题,其实是想问从执行了STX指令,到实际开始发送Sync word需要多少时间?

    发送了Sync word后GDO会被声明,但是我测试的结果是执行了STX指令后需要2.4ms的时间GDO才被声明,我想知道从执行了STX指令到GDO被声明会有哪些过程,都会占用多少时间?

    如下过程中红色字段:

    halSpiStrobe1(CCxxx0_SIDLE);
    halSpiStrobe1(CCxxx0_SFTX);
    halSpiWriteBurstReg(CCxxx0_TXFIFO,txBuffer,size);//写入要发的数据
    halSpiStrobe1(CCxxx0_STX);//进入发模式发数据

    while(!GDO);   //该处测试,会持续2.4ms
    while(GDO);
    halSpiStrobe1(CCxxx0_SFTX);

    注:Sync word选择的是32bit,发送波特率是40K(关于发送速率还有个问题:就是开启了FEC功能后,实际测试得到的速率只有设置速率的一半左右,而关闭了FEC后,测试的结果和理论值接近)

    谢谢!

  • 发送时有做 Calibration 吗?

  • 有做Calibration,我的设置是每次从idle转为发送的时候都校准。

    一般除了状态转变会自动校准,但是模块有可能长时间处于接收状态,但是又长时间没有数据,这个时候是不是也需要手动校准来辅助,这个手动校准时间一般以多少比较合适?

  • 你把校准 Disable 一下测试一下延迟时间?需要先确认一下是不是校准时间过长还是别的原因。

  • 你把校准 Disable 一下测试一下延迟时间?需要先确认一下是不是校准时间过长还是别的原因。