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 一下测试一下延迟时间?需要先确认一下是不是校准时间过长还是别的原因。