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.

[参考译文] MSPM0G3507:SPI DMA TX

Guru**** 2394305 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1498009/mspm0g3507-spi-dma-tx

器件型号:MSPM0G3507
主题:SysConfig 中讨论的其他器件

工具/软件:

你好。

试图理解这一点。。。

我想做什么?

SPI 外设 TX DMA... SPI 将以16 MHz 最小值运行。

我不明白  

"SPI"选项卡中配置的 DMA 触发机制。

"配置 DMA 事件2触发器"。  "SPI TX 中断"

1.这与中断有什么关系?

2. DMA 在这里执行的操作...正在填充 FIFO 或仅写入 TX 寄存器...

3、我认为这样做是有效的(可能是错误的)方式是 DMA 将不断地填充 FIFO ,并在达到某种水平时被触发,如半满,因此不会错过一个数据包。

任何线索请...

谢谢。

Phil

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

    1) TRM (SLAU846B)表197-7有3组"中断"控制寄存器:CPU_INT、DMA_TRIG_RX、DMA_TRIG_TX。 第一个(猜测)控制将中断条件路由到 CPU。 另外两个将这些条件路由到 DMA、每个条件都仅包含条件的子集[参考 TRM (例如)表19-44]。 我想称他们为"中断"位是一种语言超载,但这并不是完全不自然的。

    2)写入 TXDATA 寄存器将项目存储到 FIFO 中。

    3)我不是完全确定 DMA 是否总是填充 FIFO 或只填充直到条件满足(我怀疑后者)。 我认为最后期限是一样的。

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

    谢谢。

    我现在有一些工作了...

    DMA 启动并完成、但出于某种原因、它仅传输八个字节、尽管设置为128……

    我认为这与 TX FIFO 为8 bytes...no这一事实有关、但不确定发生了什么情况。

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

    一件事,如何协调 SPI DMA 设置与 SPI 帧大小?

    请参阅随附的。

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

    1)您希望 Word (或 SysConfig 用于16位的任何术语)的源/目标长度。

    2)对于传输模式、您需要单个、因此它将为每个触发器移动一个帧。 使用块时、它会在单个触发器上传输所有(128)帧、使 FIFO 溢出。 (我怀疑这是您观察到的情况。)

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

    感谢16 MHz 的所有出色工作。

    不幸的是、它在32 MHz 落下了! 以为它可以做到...

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

    你能详细说明一下"跌倒"吗? [挂起? 丢弃帧? 镜头?]

    数据表(SLASEX6B)第7.20.1节提到32MHz 需要(a) BUSCLK >= 64MHz (b) HSIO 引脚。

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

    你好 Bruce……是的、这不是一个有用的评论……

    MCU 是从器件。

    SPI 采用差分驱动(LVDS)、并且在逻辑分析仪上、信号完整性在主器件中看起来很好、包括在主器件中建立和保持。

    链路物理距离很小、为5厘米、但我非常关心信号完整性。

    我有 HSIO 引脚、

    我会看看 ck....can't 找到 busclk 任何地方??

    还想知道 DMA 是否足够快?

    MCU 在32 MHz 下运行。

    速率为32 Mbps - 在500ns 内发送一个十六位字...我想、至少需要十个周期、因此应该足够好...因此、我想我已经回答了我自己的问题。

    谢谢

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

    数据表第7.20.1节规定从器件仅限于16MHz。 [我很确定我也在 TRM 中看到了这一点、但现在我找不到。]

    两个 SPI 单元都在 PD1中、因此 BUSCLK=MCLK。

    我没有 找到 关于 DMA 传输需要多长时间(MCLK)的语句。

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

    谢谢...错过了。

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

    G3519数据表(SLASFA2)第7.18.1节表示它不存在此限制。 [因此、我不得在 TRM 中阅读它。]

    对于该器件、主器件或从器件都可以在32MHz 下运行、假设采用适当的(2个) BUSCLK 和 HSIO。

    但我不知道 G3519何时(通常)可用。