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.

[参考译文] MSP430FR5962:UCB0SPI

Guru**** 2434370 points
Other Parts Discussed in Thread: TCAN4550, MSP430FR5994

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1186141/msp430fr5962-ucb0spi

器件型号:MSP430FR5962
主题中讨论的其他器件:TCAN4550MSP430FR5994

定制 PCB 需要使用 UCBO SPI 与 TCAN4550通信。 我还没有用于探测 PCB 上 CAN SPI 的跳线。 我已经多次擦除 SPI 设置。 感谢您查看以下内容:

#define MCU_CAN_SPI_SIMO_PORT       GPIO_PORT_P1
#define MCU_CAN_SPI_SIMO_PIN        GPIO_PIN6
#define MCU_CAN_SPI_SOMI_PORT       GPIO_PORT_P1
#define MCU_CAN_SPI_SOMI_PIN        GPIO_PIN7
#define MCU_CAN_SPI_CLK_PORT        GPIO_PORT_P2
#define MCU_CAN_SPI_CLK_PIN         GPIO_PIN2

#define MCU_CAN_SPI_CTLW0                       UCB0CTLW0
#define MCU_CAN_SPI_BRW                         UCB0BRW
#define MCU_CAN_SPI_PERIPH_MOD_FUNC_SELECT1     P1SEL1
#define MCU_CAN_SPI_PERIPH_MOD_FUNC_SELECT2     P2SEL1

#define MCU_CAN_INT_PORT        GPIO_PORT_P1
#define MCU_CAN_INT_PIN         GPIO_PIN1
#define MCU_CAN_PORT_IFG        P1IFG
#define MCU_CAN_PORT_VECTOR     PORT1_VECTOR
#define MCU_CAN_ISR             P1_ISR

#define MCU_CAN_RST_PORT        GPIO_PORT_P1
#define MCU_CAN_RST_PIN         GPIO_PIN2
#define MCU_CAN_RST_PIN_REG         P1OUT

  #define SPI_CS_GPIO_PORT                GPIO_PORT_P1
   #define SPI_CS_GPIO_PIN                 GPIO_PIN3
   #define SPI_HW_ADDR                     EUSCI_B0_BASE
   // MSP430 Specific commands to proper sequencing on the SPI bus
   #define WAIT_FOR_TRANSMIT               while (!(UCB0IFG & UCTXIFG))
   #define WAIT_FOR_IDLE                   while ((UCB0STAT&UCBUSY))
   
  void init_can_spi_peripheral(){


    MCU_CAN_SPI_CTLW0 = UCSWRST;                                // **Put state machine in reset**
    MCU_CAN_SPI_CTLW0 |=  UCCKPH | UCCKPL_0 | UCMSB | UCSYNC
                          | UCMST | UCSSEL__SMCLK;              // 3-pin, 8-bit MAB SPI master SMCLK=4M
    MCU_CAN_SPI_BRW = 2;                                        // UCB0CLK=2MHz
    MCU_CAN_SPI_CTLW0 &= ~UCSWRST;                              // **Initialize USCI state machine**

    MCU_CAN_SPI_PERIPH_MOD_FUNC_SELECT1 |= MCU_CAN_SPI_SIMO_PIN | MCU_CAN_SPI_SOMI_PIN;
    MCU_CAN_SPI_PERIPH_MOD_FUNC_SELECT2 |= MCU_CAN_SPI_CLK_PIN;



} 

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

    您好!

    您的问题是什么? 您是否希望我们检查引脚分配是否正确?

    伊斯天

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

    是的。 UCB1 SPI 接口适用于 MSP430FR5994和 TCAN4550 EVM。 我正在使用修改后的 TCAN 演示项目。 我将同一个项目更改为将 UCB0与定制 PCB 一起使用、并且看不到 CAN 数据包。

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

    定制 PCB 附带 TCAN4551芯片。 以前的 PCB 使用 TCAN4550。 我被告知 CS 正在与 MOSI 和 SPI_CLK 一起激活。 但没有 MISO

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

    代码似乎可以与  TCAN4550搭配使用、但不能与 TCAN4551搭配使用、对吧?

    如果您担心 SPI 问题、我建议您使用示波 器捕获波形以查看发生了什么。

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

    如果/CS、SCK 和 MOSI 正常工作、但不会出现 MISO、则问题听起来像是在 TCAN 侧。 您能告诉我们它是否已加电?