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.

[参考译文] CCS/MSP430F5529:具有 LTC6820 ISOSPI 的 MSP430 SPI

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/830464/ccs-msp430f5529-msp430-spi-with-ltc6820-isospi

器件型号:MSP430F5529

工具/软件:Code Composer Studio

当 我将 Arduino UNO 与 ltc6820配合使用时、我正在尝试使用 MSP430F5529实现 isoSPI 隔离式通信接口 IC。第一幅图像中显示了 isoSPI 信号波。它工作正常、接收到数据。 但 MSP430是第2幅图像中所示的波形。 使用 MSP430采取第1波形式应该怎么办? 这些是设置 void init_SPI (void)

 WDTCTL = WDTPW + WDTHOLD;//停止看门狗计时器
 UCBxCTL1 |= UCSWRST;                    //停止 USCI 状态机
 
 // SPI 控制引脚
 CLK_PxSEL |= IO_SPI_SCLK;  
 SIMO_PxSEL |= IO_SPI_SDI;
 SOMI_PxSEL |= IO_SPI_SDO;
 
 STE_PxSEL &=~(IO_SPI_CS);// SPI_CS 需要由 SW 驱动输出
 STE_PxREN &=~Ω(IO_SPI_CS);//上拉/下拉电阻器被禁用  
 STE_PxOUT |= IO_SPI_CS;   //将 CS 设置为高电平
 STE_PxDIR |= IO_SPI_CS;   // SPI_CS 需要由 SW 驱动输出  
 
 UCBxCTL0 |= 0x29;//UCMSB + UCMST + UCSYNC;      // 3引脚、8位 SPI MSTR、MSB 在前
 UCBxCTL1 |= UCSSEL_2;                    // SMCLK = 8MHz Hz
 UCBxBR0 = 0x8;//SPI_BAUDRATE_REG;                             // SMCLK/8 = 1.04MHz
 UCBxBR1 = 0;
 UCBxCTL1 &=~UCSWRST;                    //启动 USCI 状态机

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

    根据 LTC6820数据表(修订版 C)表1-3、第一个看起来像"long -1"(CS 下降)、第二个看起来像"long +1"(CS 上升)。 隔离而言、CS 上升是无害的、我认为这可能表示瞬态启动事件。

    您的交易的其余部分是什么样子的? 如果您有更多示波器通道、则可以使用/CS 和/或 SCK 探头。

    此外、您的数据传输代码是什么样的?

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

    谢谢你。 问题已解决。 UCCKPH 位变为0、MISO 线路被上拉、然后数据传输恢复正常。