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.

[参考译文] CC110L:使用 CC110L 启动- SPI 通信问题

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1033086/cc110l-starting-out-with-cc110l---spi-communication-problems

器件型号:CC110L

您好!

我构建了一个 PCB、其中 CC110L 通过 SPI 总线连接到 PIC16F1828控制器。

但是、与 CC110L 的通信似乎失败了、我还没有找到原因。

下面是我要做的:

  1. 加电
  2. 等待1秒钟
  3. 尝试通过首先发送0xF1来读取版本状态寄存器(0x31 +用于状态寄存器访问的读取位+突发位)。 在传输过程中、CC110L 按预期发回默认状态字节、值0x0F、明显表明器件处于空闲模式、FIFO 为空。 (此状态字节也意味着没有硬件问题。)
  4. 发送0xF1命令字节后、发送0x00虚拟字节、读取 CC110L 返回的字节。

遗憾的是、我再次获得默认状态字节、而不是版本寄存器(0x17)的预期值。 实际上、无论我发送什么内容或尝试读取什么内容、我始终会获得此默认状态字节。

我正在使用4通道数字示波器监视 SPI 总线、因此我可以查看发送和接收的数据:

Ch.1 = CSn、Ch.2 = DI、Ch. 3 = SCLK、Ch. 4 = DO

SCLK 速度设置为1MHz、这应该是可以的。

有没有人知道我在这里做错了什么? 就好像 CC110L 不能识别我发送的命令一样。

提前感谢、

此致、

Richard

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

    您未正确配置 SPI。 如果您将您的图与数据表中的 SPI 图进行比较、您将看到您有用于 SPI 的相位。 数据在 SCLK 的上升沿被采样、所以需要在下降沿被设置。

    BR

    Siri

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

    是的、这确实是问题的原因、感谢您的快速回答!

    PIC 微控制器数据表似乎令人困惑、因为 SPI 设置是在"活动状态"和"非活动状态"以及"在时钟从(处于)活动状态转换到相反的状态时发生传输"中定义的。

    我想我指定数据采样应该在 SCLK 上升沿的每个字节中间进行、但很明显、这是完全错误的。 我应该在我的图中看到它。

    再次感谢您、

    此致、

    Richard