This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2530:CC2530 SPI 问题

Guru**** 2556800 points
Other Parts Discussed in Thread: Z-STACK, CC2530

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/738505/cc2530-cc2530-spi-issue

器件型号:CC2530
Thread 中讨论的其他器件:Z-stack

您好!

有两个问题需要您的帮助:

 

  1. 我们使用 SPI 接口与 CC2530进行通信、固件版本为 Z-Stack Home 1.2.2a。 我们在 I/O 引脚映射表(图1)中使用 USART 1 SPI (P0_2-P0_5)、而不是如图2所示的主引脚配置。 SRDY 引脚为 P0_6、MRDY 引脚硬接线至 SS。 但 CC2530没有任何响应。 此硬件设计是否有任何站点影响?

图1:

图2:

Z-Stack Home 1.2.2a 中的 ZNP_SPI.c 文件已修改如下:

#define NP_RDYIN_BIT  BV (2)

#define NP_RDYIn     P0_2

#define NP_RDYOut     P0_6

#define NP_RDYOUT_BIT  BV (6)

空 npSpiInit (空)

 IF (ZNP_CFG1_UART == znpCfg1)

 {

  返回;

 }

  

 /*将位顺序设置为 MSB */

 U1GCR |= BV (5);

 /*将 UART1 I/O 设置为 P1引脚上的替代2个位置。 *

 //PERCFG |= 0x02; // U1CFG */

 /*模式选择 UART1 SPI 模式作为从器件。 *

 U1CSR = NP_CSR_MODE;

 /*在 I/O 引脚上选择外设功能。 *

 P0SEL |= 0x3C; /* SELP0_[5:2]*/

 /*给 P1 UART1优先级高于 Timer3。 *

 //P2SEL &=~0x20; // PRI2P1 */

 /*将 RDY 设置为高电平无效。 *

 NP_RDYOut = 1;

 /*在 I/O 引脚上选择通用。 *

 P0SEL &=~(NP_RDYIn_BIT); /* P0.2 MRDY - GPIO *

 P0SEL &=~(NP_RDYOUT_BIT); /* P0.6 SRDY - GPIO *

 /*选择 GPIO 方向*/

 P0DIR &=~NP_RDYIN_BIT; // P0.2 MRDY - IN */

 P0DIR |= NP_RDYOUT_BIT; // P0.6 SRDY - OUT *

 P0INP &=~NP_RDYIN_BIT; /* MRDY 输入的上拉/下拉使能。 *

 P2INP &=~BV (5);     /*上拉所有 P0输入。 *

 P0引脚上的下降沿触发中断。 *

 PICTL |= BV (0); /* P0ICON *

 /*在 MRDY 输入上触发中断。 *

 P0IFG &=~NP_RDYIN_BIT;

 P0IEN |= NP_RDYIn_BIT;

 P0IE = 1;

 dmaInit();

 U1CSR |= csr_re;

2.我们尝试修改 SPI 硬件引脚设计、以遵循 CC2530主引脚配置、默认为 Z-Stack Home 1.2.2a。 初始过程遵循图3 (在 CC2530ZNP 接口规范.pdf 中)。 但每次都无法成功初始化 CC2530。 有时 MOSI 信号是正确的(使用示波器测量),但 CC2530没有响应。 是否有解决此问题的建议?

图3:

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Angela:

    请查看以下任意选项是否回答了您的问题。

    e2e.ti.com/.../
    e2e.ti.com/.../
    e2e.ti.com/.../
    e2e.ti.com/.../

    此致、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请帮助澄清以下一些问题:
    MRDY 和 SS 是否可以共享 P0.2引脚?
    SRDY、MRDY 和四个 SPI 引脚均位于端口0中。 这是可以的吗?
    3.如果问题1和问题2是可行的,如何在昨天的帖子中修改 Z-Stack 中的引脚配置?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1. MRDY 可单独控制或硬接线至从器件选择(SS)信号。
    2.将所有六个逻辑引脚都放置在同一端口上不是问题。
    3、ZNP_SPI.c 根据是否定义了 CC2530_MK 来提供 npSpiInit 的两种配置、我建议您在整个项目中搜索 CC2530_MK、以查看可能存在的其他引脚相关性。

    此致、
    Ryan