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.

[参考译文] TRF7970A:TRF7970A SPI 通信问题

Guru**** 2587365 points
Other Parts Discussed in Thread: MSP430FR4133, TRF7970A

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/682387/trf7970a-trf7970a-spi-communication-problem

器件型号:TRF7970A
主题中讨论的其他器件:MSP430FR4133

大家好。

我们为具有 TRF7970A 芯片的 AM 项目设计了自己的电路。 MCU 采用 MSP430FR4133并由3V3 DC 供电

在自己的设计中、我们将 TRF7970A 数据表作为根据其数据表执行的线缆连接的参考。

但是、MCU 和 TRF7970A 芯片之间的 SPI 通信存在问题。 序列如下;

1.为 TRF 加电(EN 引脚 H)

2.发送 SPI 读取命令。 读取 ISO 控制寄存器(例如)

3.显示使用 UART 接收到的 SPI 数据

ISO 控制寄存器的默认值是0x02对吗? 但是、我有时会收到0x00、有时会收到0xC1等、有时会收到0x00。

CPOL=0和 CPHA =1、SPI 时钟 MCLK/4 (2MHz)、并且使用 SS 引脚。

什么是错误的?

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

    Mesut、您好!

    您可能很幸运、因为我们实际上有一个适用于该精确 MCU 的示例代码! 查看此代码、看看它是否能让您快速运行: http://www.ti.com/lit/zip/sloa233

    SPI 设置为:

    void
    SPI_usciSet (void)//使用 USCI_B0
    {
    UCB0CTLW0 |= UCSWRST;//启用 SW 复位
    UCB0CTLW0 |= UCMSB + UCMST + UCSYNC;// 3引脚8位 SPI 主
    设备#if (TRF79xxA_VERSION =60)| UCB0CTL0
    
    
    | UCB0| UCS0BR0 | UCB0 = UCSK0 | UCB0CLK0 | UCB0 = UCB0
    
    
    
    
    // P5.1、5.2、5.3 UCBOCLK、UCB0SIMO、UCB0SOMI 选择
    
    SLAVE_SELECT_PORT_SET;// P8.2 -从器件选择
    SLAVE_SELECT_HIGH;//从器件选择-非活动(高电平)
    
    UCB0CTLW0 &=~UCSWRST;//**初始化 USCI 状态机**//
    
    禁用
    先前配置的
    PM5CTL0高阻抗设置
    ;//禁用 PMCTL0 ~上的默认设置 

    您可以在 SPI.c 的硬件文件夹中找到所有 SPI 代码

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

    实际上、我在 TRF7970A 芯片上取得了相当大的进步。 当前问题与此不同。
    前面的问题与 SPI 速度和寄存器的一些配置有关。 (至少我认为)