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.

[参考译文] CC2520:有关 CC2520的问题

Guru**** 2513185 points
Other Parts Discussed in Thread: CC2520

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/895840/cc2520-questions-about-cc2520

器件型号:CC2520

您好!

我正在使用 CC2520。 我对数据表和示例代码有两个问题。 希望我能在这里得到一些帮助。

在此 FSM 图中、"所有状态"是什么意思? 它是否包括所有状态、如"空闲"? 那么、如果我在 STXON 处于"空闲"状态时调用它、它将转换为"TX 校准"状态吗? 与"任何 RX 状态"相同的问题、因此无论它处于"SFD 等待"或 RX 校准"状态、只要我调用 STXONCCA 和 CCA=1、它都将转到"TX 校准"、对吧?

2. 我知道 pan_ID、地址由小端字节序存储在 RAM 中、因此、在写入 TXFIFO 之前、我们需要将它们转换为网络字节顺序。  

但是、在 basic_rf.c 文件中、我不理解为什么用小端字节序编写 FCF。 例如、如果 FCF 器件为0x8861、则首先写入数组的值为低8位、从而使 TXFIFO 中的 FCF 为0x6188。  它们是否应按此顺序传输? 或者我在某个地方弄乱了吗?  

谢谢、

查尔斯

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

    我正在使用两个器件、这两个器件都通过 SPI 连接 CC2520。 我只想通过无线电从发送器向接收器发送一个帧。 这是我被卡住的情况。 发送器重复发送帧并将所有内容发送出去、但接收器无法接收 RXBUF 中的任何内容。 我还没有使用任何中断。 我已经仔细检查了发送器和接收器的通信通道是相同的。 我从未在发送器的 TX_ACTIVE 上捕获到高电平状态、我认为这是因为时钟频率(32MHz)远高于 SPI、TX_ACTIVE 的时间真的很短。  

    发送器上的寄存器状态:  

    EXCFLAG0:3 (TX_FRM_DONE、RF_IDLE 为高电平)

    EXCFLAG1:32 (SFD 异常为高电平)

    如果 FRMCTRL1上的 RXENABLE 为低电平、FSMSTAT0将为0 (空闲)。 在发送器状态下将 FRMCTRL1上的 RXENABLE 设置为高电平后、  

    FSMSTAT0:6 (FSM_FFCTRL_STATE:110,SFD 等待)

    FSMSTAT1: 29 (CCA、SAMPLE_CCA、LOCK_STATUS、RX_ACTIVE 为高电平)、不知道 LOCK_STATUS 为何为高电平。 (当 PLL 处于锁定状态时为"1"、否则为"0"。)

    TXFIFONT:22 (正确、我向 TXFIFO 写入了22个字节)

    TXPOWER:147 (似乎正确)   

    我从 TXBUF 打印出来的帧是:0x17 (帧长度)+ 0X61 0X88 (FCF)+ 0 (序列号)+ 0x07 0x20 (PANID)+ 0xFF 0xFF (目标地址)+ 0x20 0X25 (源地址)+..... (有效载荷)

    接收器上的寄存器状态:  

    EXCFLAG0 :32 (RX_下溢高电平)

    EXCFLAG1: 0

    EXCFLAG2:  16 (RF_NO_LOCK 高电平)

    FSMSTAT0 :6 (FSM_FFCTRL_STATE:110,SFD 等待)

    FSMSTAT1: 21 (CCA、LOCK_STATUS、RX_ACTIVE 为高电平)

    我已禁用接收器侧的 FRMFILT0.FRM_FILTER_EN、以便它可以接收所有类型的帧。 SFD 应自动生成、但它似乎看不到 接收器侧的 SFD。

    有关调试的任何建议都将有所帮助。 谢谢。

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

    您好!

    我将对此进行研究、并尽快返回。

    感谢您的耐心等待。

    此致

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

    您好、FI、

    我想我已经使它工作了。 这是由于 TXPOWER 问题造成的。 其他人写了这些代码、每当他写值到寄存器或存储器时、就写了额外的数据、因此、某些寄存器和存储器、如 TXPOWER、都被这个操作覆盖。  

    希望您没有花太多的时间。 很抱歉。

    我现在只对金融活动基金的次序有疑问(我的第一个职位的第二个问题)。 在示例代码中、为什么它首先加载低8位?

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

    您好!

    我认为这是器件的工作方式。 这是否会导致您的实施中出现任何问题?

    谢谢、

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

    不是真的。 只是对它很好奇。 数据表中没有提到这一点、因此在编写代码时可能会导致错误、而无需查看样片的详细信息。

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

    您好!

    我现在要关闭这个线程。 如果在实现中看到任何错误,则可以重新打开此选项。

    此致