使用CC2520进行通讯

时间:2013-06-21 10:38:48

标签: communication msp430

  

我的团队一直在尝试使用CC2520通过CC2520发送数据   MSPEXP430F5438板。我们尝试使用FIFO_READ和FIFO_WRITE   命令,但没有用。我们也尝试过使用RAM_READ和   RAM_WRITE命令但结果仍然相同。我们查了一下   接口MSP430和CC2520似乎很好。任何人都可以   提出一些方法来找出问题所在(发件人/收件人)?

     

此致,Pratyush

1 个答案:

答案 0 :(得分:2)

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

我建议在CC2520 Datasheet内查看第21节(第85页,写作时)。另外,第19节和第20节分别显示了TX和RX过程。

SmartRF Studio通常是最简单的入门方式,因为它有一个完整的无线电GUI界面。但是,您可能需要购买CC2520 dev kit或拥有CC2520支持的基板。我相信MSP-EXP430F5438 board不支持SmartRF Studio,但我无法轻易找到答案。我知道SmartRF studio在您启动软件时会识别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) */

上面,我使用全大写来表示头文件中的静态地址/字节定义。