完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
I wonder if anyone else has ever met with the same case, the command stobe SFRX could not clean the rx fifo of cc1200 successfully , sometimes and somewhere. "sometimes" means not always, and "somewhere" means, I executed the SFRX command at 6 different places of my source code project and just found this error occur at two of them. Let me show more details.
I used infinite packet length to send and receive data. The rx fifo is cleaned when unexpected abort during receiving, when packet receiving finished, when cc1200 initialised, when unexpected abort during transmitting... The error occurred just when unexpected abort during receiving. "unexpected abort" might be cases such as some unexpected data was received or rx/tx fifo error was detected. In the whole source code, I clean the rx fifo with three sentences listed below: set cc1200 to idle state, send command SFRX, check if cc1200 is in idle state. CC1200P__cmd_strobe(CMD_SIDLE); CC1200P__cmd_strobe(CMD_SFRX); while ((CC1200P__reg_read_robust(REG_MARCSTATE) & 0x1f) !=0x01) ; I found the rx fifo not cleaned as the value of cc1200 register NUM_RXBYTES , read out exactly after the three sentences above, does not equal to zero. Sometimes I got 0x0B, 0x0C or other values. while(CC1200P__reg_read_robust(REG_NUM_RXBYTES); I'm sure function CC1200P__reg_read_robust() always works ok. The SPI signals(SI and CS) I captured when commands SIDLE and SFRX are sent to cc1200 in order is as below. Anyone has ideas about this? I'd appreciate it very much ! |
|
相关推荐
2个回答
|
|
Hi Maxing,
thanks for asking. Unfortunately, looks nobody here can reply you. As your English is pretty good, could you please post your question to our WorldWide forum? https://e2e.ti.com/support/wireless_connectivity/proprietary_sub_1_ghz_simpliciti/f/156 Thanks. BR. Albin |
|
|
|
zweipcb 发表于 2018-6-6 09:45 Hi Albin, Thanks for your advice, actully I've already done that with this link http://e2e.ti.com/support/wireless_connectivity/proprietary_sub_1_ghz_simpliciti/f/156/t/536527. Although I got no more reply from both , I found the root cause last week after two months' debugging and would like to share it. It was all about the SPI signal timing. As the datasheet required, the time Tns, negative edge on SCLK to CSn high, should be greater than 200ns. In bad case(the error could be replicated), this time I got was between 350ns and 450ns. In good case(some nop operations were added and the error never occurred), this time was extended to about 700ns. So I'm afaid the 200ns is not always the case, especially in some state like infinite length receiving process . |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
666 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
597 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1047 浏览 1 评论
730 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
519 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
157浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
119浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
123浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
121浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
163浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 05:31 , Processed in 0.809334 second(s), Total 80, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号