微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > CC2500,自制板发出的数据无法被SmartRF识别。

CC2500,自制板发出的数据无法被SmartRF识别。

时间:12-22 整理:3721RD 点击:

现有:

(1)TI的SmartRF用板子2块。

(2)自制板1块。

(3)CC2500模块板3块。

情况如下:

(1)对TI的两块板子:一块设成TX,一块设成RX。

           SmartRF下,在RX侧可以收到TX侧发来的数据包。

(2)将上述TX侧板子的SmartRF中看到的寄存器设置导出,写入自制板。

(3)自制板做如下操作:

       1,SCAL→SFTX

       2,向FIFO中写入 abc[]={0x01,0x02,0x03};

       3,发送STX命令。

(4)周期1[s]循环上述(3)的操作,

          此时无线信号检测机能够检出对应频率电波。但是SmartRF的RX侧板却无法收到任何数据包。

(5)发送时查看TX FIFO的Byte数,确实在减少,说明确实已经发出去了。

          直到最后系统的状态返回值变成70h/7Fh,也就是UnderFlow状态。

问题:

寄存器设置明明是一样的,就是说同步码、字长、频率等各种设置等都是相同的,

可是为什么SmartRF侧无法收到数据包呢?

除了寄存器设置外,还应该注意些别的什么吗?

现在已经黔驴技穷了。恳请各位高手给点提示!

(2)(3)步能再详细点吗?你的MCU用的什么(SPI是否调通了)?你怎么导出的?贴点发送程序看看。

实在不行,下个SIMPLICITI,在目录下搜family 1的mac_radio.c.看看初始化,和发送函数。(MRFI_Transmit(。。。))

您好,感谢回信!我听您的参考一下相关资料。

现在问题已经解决了。十分感谢!

我的MCU用的是瑞萨的RX系列。SPI设置OK,读写寄存器也没问题。

这次的原因是因为将CC2500设置成了“可变长”的数据包。

SmartRF里面数据包开头的“数据包长度”和“地址”是自动生成并发送的。

但是自己写的程序没有注意到这一点,所以发送 A[]={0xf0,0xf1,0xf2};

的时候“0xf0”被当作了“数据包长度”,导致underflow情况。

所以SmartRF侧无法正常接收。

 

也感谢你分享经验。^_^

您好,得打扰您一下,请问怎么实现串口透传,需要自己增加定义profile,属性吗

您好。

我不太理解您说的【透传】和【profile】的意思。

请告诉我您搭建的系统环境。

比如MCU,所用的编译环境,语言等。

 

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top