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.

[参考译文] RTOS/EK-TM4C123GXL:SSI FSS 是否等效于 SPI SS?

Guru**** 2611705 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/769539/rtos-ek-tm4c123gxl-is-ssi-fss-is-equivalent-to-spi-ss

器件型号:EK-TM4C123GXL
主题中讨论的其他器件:TM4C123

工具/软件:TI-RTOS

尊敬的团队:

我使用 TM4C123GXL 进行评估、需要使用 SPI 与传感器通信。 我将 TI-RTOS 用于该项目、 并将 SPI_Transfer 用于 SPI 通信。
在连接硬件时、我不确定 SSI FSS 是否等效于 SPI SS/CS?
我的连接如下:

主器件             从器件

PA2 (SSI0CLK)        SCK

PA3 (SSI0FSS)        CS

PA4 (SSI0RX)        MISO

PA5 (SSI0TX)        MOSI

我的配置 是否正确? 或者我是否需要更改任何连接?

此致、

Yashwanth  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Yashwanth,
    您的理解是正确的。 FSS 信号相当于 Freescale 模式下的 SPI CS。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Charles:

    感谢您的回复。 我对从器件的应答是否正确、即微控制器 TX 连接到传感器的 MISO?

    此致、
    Yashwanth Kumar。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Yashwanth、
    请将 PA5 (TX)连接到传感器的 MISO。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Charles:

    感谢您的回答。 我将连接并检查 SPI 连接、并进行相同的更新。

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

    尊敬的 Charles:

       SPI 通信出现问题 我 使用 SSI0FSS 引脚对传感器进行片选、并尝试读取这些值。 由于芯片选择每8个时钟周期将高电平、所有值都读作00。 (如下图所示)

    我对   上述 SPI 参数输出的配置如下:

    SPI_Handle rightSpi;
    SPI_Params 右侧 SpiParams;
    SPI_Transaction rightSpiTrans;
    bool transferOK;
    bool receiveProper;
    
    SPI_Params_init (&rightSpiParams);
    rightSpiParams.mode = SPI_MASTER;
    rightSpiParams.dataSize = 8;
    rightSpiParams.bitrate = 1000000;
    rightSpiParams.frameFormat = SPI_POL0_PHA0;
    
    rightSpiTrans.count = sizeof (rightTxBuffer);
    rightSpiTrans.txBuf =(ptr) rightTxBuffer;
    rightSpiTrans.rxBuf =空;
    
    transferOK = SPI_transfer (rightSpi、&rightSpiTrans); 

    我手动使用一个 GPIO 引脚在 SPI 传输前下拉、在 SPI 传输后上拉  、从而提供 所需 的输出。 但  速度不快。(如下图所示。)

    
    
    GPIOPinWrite (GPIO_PORTD_BASE、GPIO_PIN_0、0);
    transferOK = SPI_transfer (rightSpi、&rightSpiTrans);
    GPIOPinWrite (GPIO_PORTD_BASE、GPIO_PIN_0、1); 
    
    

      我觉得问题是芯片选择线。 这 需要 在整个事务中下拉。 但 在我的情况 下、如果我不使用手动 GPIO 芯片选择、则每8位将变为高电平。

    请帮助解决   此问题。  是否需要   更改参数配置值?

    谢谢、此致、

    Yashwanth Kumar。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Yashwanth、
    遗憾的是、在 TM4C123器件中多个字节的数据传输期间、FSS 引脚无法保持低电平。 除非您愿意切换到 TM4C129器件、否则您可以将 FSS 配置为在 TXFIFO 不为空的情况下保持活动状态、否则使用 GPIO 的权变措施是我唯一能想到的解决方案。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Charles:

    感谢您的快速回复。 我现在将使用变通办法。

    此致、
    Yashwanth Kumar