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.

[参考译文] TMS570LS1224:如何读取 MIBSPI5NCS[0]信号

Guru**** 2540720 points
Other Parts Discussed in Thread: TMS570LS1224

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1026292/tms570ls1224-how-to-read-the-mibspi5ncs-0-signal

器件型号:TMS570LS1224

大家好、我不知道如何编写代码来读取连接到 TMS570引脚32的 MIBSPI5NCS[0]信号的状态。  例如、我了解该信号如何与 N2HET2[12]相似、并且我知道 N2HET1[12]、当配置为输出时、可使用以下方式切换:

gioToggleBit (hetPORT1、12);

实际上,以前的支持级别提到了一个类似的问题,其中建议使用以下内容:

gioSetBit (mibspiPORT5、bit_index、value)

不过、虽然我想我可以用"gioGetBit"代替"gioSetBit"(我 已经考虑过的内容)、但 MIBSPI5NCS[0]仍存在混淆 :

  1. 让我感到困惑的第一件事是 、mibspiPORT5的 def 中使用的地址与 spiPORT5的地址相同:
    #define MibspiPORT5 ((gioPORT_t *) 0xFFF7FC18U
    #define spiPORT5 ((gioPORT_t *) 0xFFF7FC18U)
  2.  0xFFF7FC18地址指向 SPIPC1 reg (偏移量18h)、然后 gioGetBit()使用"port->DIN"后到达 SPIPC2 (偏移量1Ch = 18h+4)、但我不知道在对 gioGetBit()的调用中"port"使用的值。
  3. 如何确保 MIBSPI5NCS[0]配置为输入?
  4. SPNU515C 文档中的表4-21是 该文档中引用的 MIBSPI5NCS[0]唯一的位置、但该表会使我感到困惑。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Marcus、

    1. mibspiPORT5与 spiPORT5相同

    2.您可以使用其中任何一个。 SPIPC[5:1](DIR、DIN、 DOUT、DOUT_SET、DOUT_CLEAR)仅在引脚配置为 GIO 引脚时使用。

    3.如果此引脚(32)配置为  MibPSI5NCS[0](PINMMR[3:0]= 0x1)、 则 MibPSI5NCS[0] 可用于 SPI 功能性(CS[0])或 GIO。 向 SPICS0[0]写入1将其用作 SPI functon 引脚(MIBSPINCS[0])、向 SPIPC0[1]写入1将此引脚配置为 GIO 引脚。  

       如果  MIBSPI5NCS[0] 用作 GIO 引脚、SPIPC1[0]= 0表示该引脚为输入。  

      如果 MIBSPI5NCS[0]用作 SPI CS[0]引脚、则在 MibSPI5配置为 SPI 从器件时该引脚为输入。 如果 MibSPI5是 SPI 主器件、则它被输出。

    在 TMS570LS1224 144引脚封装中、引脚32用作  MIBSPI5NCS[0]或 EPWM4A。 TRM 中的表4-21显示了引脚多路复用器配置。

      向 PINMMR27[3:0]写入0x1是为了将引脚32配置为 MibPSI5NCS[0]

      向 PINMMR27[3:0]写入0x2将引脚32配置为 EPWM4A

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

    感谢您对该问题的快速回答;遗憾的是、您可能低估了我的无知深度、因为您的回答会打开更多问题-如果我有点匆忙、请原谅我、但我尝试将您的答案与 TRM 相关联:

    ====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

    回复:

    [引用 userid="45190" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1026292/tms570ls1224-how-to-read-the-mibspi5ncs-0-signal/3793715 #3793715]3. 如果此引脚(32)配置为  MibPSI5NCS[0](PINMMR[3:0]= 0x1)、 则 MibPSI5NCS[0] 可用于 SPI 功能(CS[0])或 GIO。 向 SPICS0[0]写入1将其用作 SPI functon 引脚(MIBSPINCS[0])、向 SPIPC0[1]写入1将此引脚配置为 GIO 引脚。  [/报价]

    当您提到"PINMMR[3:0]"时、您是否确实是指项目符号4中的"PINMMR27[3:0]"?

    =2============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

    回复:

    [引用 userid="45190" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1026292/tms570ls1224-how-to-read-the-mibspi5ncs-0-signal/3793715 #3793715"]

    向 PINMMR27[3:0]写入0x1是为了将引脚32配置为 MibPSI5NCS[0]

      向 PINMMR27[3:0]写入0x2将引脚32配置为 EPWM4A

    [/报价]

    "[3:0]是什么意思?  我通常希望此类索引用于引用指定寄存器中的特定位、但我无法将您在 TRM 中写入的图4-17/表4-20中的内容关联起来。  此外、还有阻尼表4-21的问题:这必须与该文本相关、因为它也引用了 PINMMR27、但在这样做的过程中、引用 了 PINMMR27[0]、 PINMMR27[1]、 PINMMR27[2]、 PINMMR27[3]并显著地增加 了我的困惑

    =================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

    回复:

    [引用 userid="45190" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1026292/tms570ls1224-how-to-read-the-mibspi5ncs-0-signal/3793715 #3793715"]向 SPICS0[0]写入1是将其用作 SPI functon

    恐怕我不知道"SPICS0[0]"与 TRM 的关系是什么;我希望 SPIPC0 reg (表28-13)

    =4.============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

    回复:

    [引用 userid="45190" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1026292/tms570ls1224-how-to-read-the-mibspi5ncs-0-signal/3793715 #3793715"]将1写入 SPIPC0[1]时,将此引脚配置为 GIO 引脚[/quot]

    从角度来看、这看起来更好、但"[1]"位混淆了我的意思:我本可以用像"[7:0]"这样的头来解决问题、因为表28-13将位7-0定义为 SCSFUN、但我也不确定、因为我不知道 SCSFUN 必须专门针对 MIBSOI5NCS[0]执行什么操作。

    =5====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

    回复:

    [引用 userid="45190" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1026292/tms570ls1224-how-to-read-the-mibspi5ncs-0-signal/3793715 #3793715"]如果  MIBSPI5NCS[0] 用作 GIO 引脚、SPIPC1[0]= 0表示该引脚为输入引脚。  [/报价]

    "SPIPC1"的引用使我返回到开始时我几乎理解的内容、但索引"SPIPC1[0]"再次使我感到困惑;这与表28-14有何关系?  如果只有我知道"SCSDIR"对于  MIBSOI5NCS[0]的重要性、那么选择[7:0]可能对我来说是有意义的。

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

    是的、它是 PINMMR27。 PINMMRs 中的每个字节控制一个单端子上的功能性输出。 从 TRM 的表4-21中、PINMMR27[7:0]控制引脚32上 MIBSPI5NCS[0]和 EPWM4A 之间的复用。 引脚32上的默认功能是 MIBSPI5NCS[0]、该功能由置位的 PINMMR27寄存器的位0指示。

    如果要将引脚32用作 EPWM4A 信号、 则必须设置 PINMMR27的位2 (在我之前的帖子中位1不正确)、并且位0必须清除。 PINMMR27[7:0]的其它位被保留。

    MIBSPI5NC[0]可用作 SPI 功能引脚或 GIO 引脚、可通过 SPIPC0寄存器进行配置。

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

    感谢 PINMMR27的澄清 和 MIBSPI5NCS[0]的选择; 这样、我们就只需考虑实际控制该信号的小问题、而我现在认为该信号是 SPIPCx 寄存器的任务、并且鉴于目标是监控输入信号的状态、SPIPCx 集会简化为以下子集:

    • SPIPC0:控制我认为需要为 GIO 的函数(正确?)
    • SPIPC1:cols 方向-足够简单、需要作为输入
    • SPIPC2:数据输入

    这将使问题得以解决、但 同样的问题适用于所有 SPIPCx 集:哪个位与 MIBSPI5NCS[0]信号相关?  使用 TRM 回答这个问题似乎几乎是不可能的(对我来说完全是不可能的)。  但是、pinmux.h 中的以下代码表示应答是位0:

    #define PINMUX_PIN_32_SHIFT          0U

    #define PINMUX_PIN_32_MIBSPI5NCS_0       ((uint32)(((uint32) 0x1U << PINMUX_PIN_32_SHIFT))

    请确认。

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

    PINMMR27[7:0]用于为引脚32: MIBSPI5NCS[0]或  EPWM4A 选择信号。  PINMMR27寄存器的位0用于 MIBSPI5NCS[0]、位2用于 EPWM4A。

    PINMMR27[7:0]= 0x01 ->引脚32用于 MIBSPI5NCS[0] ->MIBSPI5NCS[0] (SPIPC0[0]= 1)

                                                       --> GIO (SPIPC0[0]= 0)

    PINMMR27[7:0]= 0x04 -> 引脚32用于 EPWM4A

    [引用 userid="495240" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1026292/tms570ls1224-how-to-read-the-mibspi5ncs-0-signal/3795020 #3795020"] SPIPC0:控制我认为需要为 GIO 的函数(正确?)

    是的、您回答正确。

    [引用 userid="495240" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1026292/tms570ls1224-how-to-read-the-mibspi5ncs-0-signal/3795020 #3795020"]哪个位与 MIBSPI5NCS[0]信号相关?  [/报价]

    SPIPC0寄存器的位0用于 NCS[0]

     SPIPC0的位1用于 NCS[1]

     SPIPC0的位2用于 NCS[2]

    (笑声) (笑声)

     SPIPC0的位8用于 SPI ENA 引脚

     SPIPC0的位9用于 SPI CLK 引脚

    (笑声)

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

    QJ、您好、再次感谢您与我的持续合作。  我认为我们非常接近我、因为"已解决"了这个问题、但是、请注意语义(实际上、无论您喜欢什么、都可以呼叫我)、我一直在您的参考上选择"nCS[0]、nCS[1]和 nCS[2]、因为这种后缀会应用于 TRM 中的多个信号;我能否简单地假设:

    SPIPCx 集中每个寄存器的位0:

    适用于 MIBSPI5NCS[0]?  就像这样简单!

    Marcus

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

    是的、您的理解是正确的。

    SPIPCx 的位0应用于 MibSPIxNCS[0]

    SPIPCx 的位1应用于 MibSPIxNCS[1]

    (笑声)

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

    您好、感谢您的澄清。

    Marcus