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.

[参考译文] TMS570LS3137:多缓冲器配置中的 TMS570LS3137 MIBSPI 从器件

Guru**** 2605845 points
Other Parts Discussed in Thread: TMS570LS3137, TMS570LC4357, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/747086/tms570ls3137-tms570ls3137-mibspi-slave-in-multi-buffer-configuration

器件型号:TMS570LS3137
主题中讨论的其他器件: TMS570LC4357HALCOGEN

您好!

我们将 TMS570LS3137控制器 MIBSPI 接口用作启用单次触发的从模式。 我希望"spnu563a"适用于我们使用的控制器。 参阅第28.2.6.7节、附注如下

注:如果禁用了所选的传输组、并且没有更新 SPIDAT1寄存器、则要传输的数据将毫无意义。 即使接收到的数据也不会复制到多缓冲器 RAM 中。 但是、在后续接收数据覆盖之前、它将在 SPIBUF 寄存器中可用。

 

我有以下两个问题:

一旦我们用所需的数据和使能传输组填充 MIBSPI RAM (发送缓冲器)、我们就会看到传输组使能字段始终设置为1。 这是预期行为吗?

2、一旦我们向 MIBSPI RAM (发送缓冲器)填充所需的数据和启用的传输组、在传输完成之前、我们可以立即将另一个数据复制到 MIBSPI RAM (发送缓冲器)。 如果是、将传输哪些数据。 请帮助我详细了解本案例中的行为。

谢谢、

Kalyan

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

    在主题标题上、您指的是 TMS570LS3137、但"spnu563a.pdf"用于 TMS570LC4357。。。

    一旦我们用所需的数据和使能传输组填充 MIBSPI RAM (发送缓冲器)、我们就会看到传输组使能字段始终设置为1。 这是预期行为吗?

    --> TGENA 位(TGxCTRL[31])使能 TG 进行发送。 如果 TGENA 被清零、那么触发事件将不会启动传输;
    -->当触发事件被设置为"始终"时,设置 TGENA 位将触发传输组;
    -->如果 ONESHOTx 位(TGxCTRL[30])被置位,那么在传输完成后 TGENA 位将被清零。
    -->如果 OneShot 位被清除,TGENA 将保持置位-我认为这是您的情况。


    2、一旦我们向 MIBSPI RAM (发送缓冲器)填充所需的数据和启用的传输组、在传输完成之前、我们可以立即将另一个数据复制到 MIBSPI RAM (发送缓冲器)。 如果是、将传输哪些数据。 请帮助我详细了解本案例中的行为。

    -->请查看以下主题:
    e2e.ti.com/.../172572


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

    您好、Miro、

    感谢您的快速响应。

    我们已将 TMS570LS3137 MibSPI 配置为从器件、如(spnu217b)中的以下屏幕截图所示、在从器件模式下不需要配置一次性字段。 我看到、即使在发送之后、TGENA 位也总是置位、这是预期的行为吗?

    关于我的第二个问题:

    2、一旦我们向 MIBSPI RAM (发送缓冲器)填充所需的数据和启用的传输组、在传输完成之前、我们可以立即将另一个数据复制到 MIBSPI RAM (发送缓冲器)。 如果是、将传输哪些数据。 请帮助我详细了解本案例中的行为。

    -->请查看以下主题:
    e2e.ti.com/.../172572

    我参考了共享的线程。 实际上、我的问题是、我们能否使用 HALCOGEN 工具生成的"mibspiSetData"函数将 MibSPI 传输缓冲区 RAM 设置回原来的位置、如果是、将传输哪个数据集?

    谢谢、

    Kalyan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Kalyan、
    在受控模式中、TGENA 位将保持置位!

    2.我的理解是您不应以这种方式使用 MIBSPI。 CPU 和 FSM 之间将会发生竞争。

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

    感谢您提供信息。

    与我的第二个问题相关、下面是我的代码中的确切步骤:
    1.使用"mibspiSetData"设置 MibSPI Tx 数据。
    2.使能 TGENA 位的发送。
    3.使用"mibspiSetData"设置 MibSPI Tx 数据。 (此时不确定是否发送了之前的数据集)
    4、使能 TGENA 位的发送。

    在执行上述步骤后,我们不会观察到 TGINTFLG 寄存器的"INTFLGRDY"字段没有被置位。 这是在本例中的预期结果。

    您是否有任何处理此问题的建议?

    谢谢、
    Kalyan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Kalyan、
    由于您发布了另一个线程、我将关闭这个线程。
    我会将您的新主题转发给我们的一位 MIBSPI 专家、以对此进行澄清。

    由于美国假期,答复可能会推迟到11月26日这一周。

    此致、
    米罗