2013-06-21 46 views
0

我的团队一直试图通过使用 MSPEXP430F5438开发板的CC2520发送数据。我们尝试使用FIFO_READ和FIFO_WRITE 命令,但它无济于事。我们还尝试使用RAM_READ和 RAM_WRITE命令,但结果仍然相同。我们检查了MSP430和CC2520的接口连接 ,看起来很好。任何人都可以推荐一些方法来找出我们的问题在哪里(发件人/收件人)?使用CC2520进行通信

问候,Pratyush

回答

1

在高层次上,所述CC2520是SPI控制状态机。这意味着无线电收发器需要特定的命令序列来发送或接收数据。

我建议在CC2520 Datasheet内看看第21节(写入时为第85页)。此外,第19节和第20节分别显示了TX和RX程序。

SmartRF Studio通常是最简单的入门方式,因为它有一个完整的无线电GUI界面。但是,您可能需要购买CC2520 dev kit或为CC2520提供受支持的基板。我相信MSP-EXP430F5438 board不支持SmartRF Studio,但我无法轻松找到答案。我知道当您启动软件时,SmartRF工作室会识别MSP-EXP430F5438,但我不确定该软件能否使用MSP-EXP430F5438作为无线电桌面GUI控制的基板。

如果你想在你的MSP-EXP430F5438和CC2520上编写一个“hello world”,我建议使用TI提供的sample code作为CC2520,并阅读CC2520 page

TI的CCxxxx收音机,在C伪代码,发送/送你可以做以下的消息:

SPI_Strobe(IDLE); /* Reset radio state machine to 'start' state (IDLE) */ 
SPI_WriteBurstReg(TXFIFO, tx_data, tx_data_length); /* Write data to TX FIFO */ 
SPI_Strobe(TX); /* Start radio transmission */ 

_BIS(LPM3+GIE); /* While TX finishes, sleep MCU with general interrupt enable */ 
       /* Use GPIO to interrupt. When TX is finished, RETI from ISR */ 
       /*  and continue to next line */ 

SPI_Strobe(FLUSH_TXFIFO); /* Flush TX buffer (optional) */ 
SPI_Strobe(IDLE);   /* Reset radio state machine to 'start' state (IDLE) 
          /*  Can auto enter IDLE when TX done - see doc. */ 
SPI_Strobe(PWR_DOWN);  /* Turn off radio to save power (optional) */ 

上面,我用全部大写来表示一个静态地址/字节定义从一个头文件。