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.

[参考译文] TMS570LC4357:TMS570LC4357:具有 DMA 的 SPI 示例代码

Guru**** 2393725 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1172733/tms570lc4357-tms570lc4357-spi-with-dma-example-code

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

您好!

我正在寻找一个使用 DMA 功能且 SPI 处于主控模式的示例代码  

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

    您好、Usha、

    请参阅以下链接  

    6.1.项目0—Hercules 安全 MCU 文档

    --

    谢谢、此致、
    Jagadish。

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

    您好 Jagadish、

    感谢您的回复。 我尝试了存储库中的示例代码。  我需要稍微调整一下。 但我有一个问题。 启用 SPI DMA 传输后、我只看到时钟未发送数据是通过 MOSI 发送的。 您能指导我吗?

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

    您好、Usha、

    您能确定以下事项吗  

    如果 MOSI 引脚具有多个引脚功能、则确保在引脚复用中启用 MOSI

    如果该引脚没有多种功能、则无需在此处进行配置、事实上、HALCoGen 引脚多路复用器窗口中未列出此类引脚。

    2.确保 MOSI 引脚方向被启用为输出

    在上面的引脚中、SPI 被选为主器件、因此 MOSI 信号被选为输出、而 MISO 信号被选为输入。通过不启用方向、请确保项目中的内容相同。

    3.最后确保探测正确的引脚以测量 MOSI。

    --

    谢谢、此致、

    Jagadish。

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

    交叉检查您提到的所有内容。 我仍然具有相同的行为

    谢谢、诚挚的问候

    Usha  

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

    您好、Usha、

    您是否可以附上您的代码? 以便我可以轻松地验证什么是错误的?

    --

    谢谢、此致、

    Jagadish。

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

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

    您是否可以访问文件?

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

    没有 Usha、我无法访问它。

    您可以压缩整个项目并附加它吗? 因为只有在 main.c 中、我无法验证 HALCoGen 配置。

    压缩 项目后、请单击"插入"按钮

    现在单击 image/video/file 选项

    现在单击上传选项

    现在、浏览到 zip 路径、然后选择并上传。

    --

    谢谢、此致、
    Jagadish。

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

    e2e.ti.com/.../spi_5F00_dma_5F00_if_5F00_example.zip

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

    谢谢 Usha、现在我可以下载了。

    我将验证并向您提供更新。

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

    您好、Usha、

    请通过禁用缓存进行检查  

    取消选中上面的复选框、重新生成代码并进行测试。

    --

    谢谢、此致、

    Jagadish。

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

    谢谢 Jagadish。 我会尝试一下

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

    您好 Jagadish、  

    没有帮助。 我仍然有同样的问题。

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

    您好、Usha、

    我忘记了提到我做过的另一项修改、

    我们必须反向为 DMA 提供的帧计数和元素计数输入(即元素计数应为1,帧计数应为128), 这是因为每当数据被移动到 DAT1寄存器到移位寄存器时、DMA 就会被触发、此时我们只应移动一个元素、而不是同时移动128个元素。

    执行上述更改后、您可以看到 SPI3 MOSI 输出如下所示、我在我的末尾进行了测试

    我将我的项目附加在这里、只需将其作为参考并进行测试即可

    e2e.ti.com/.../SPI_5F00_DMA_5F00_TEST_5F00_LC4357.zip

    注1:在我的项目属性中、调试探针是 XDS100v2、因为我在 HDK 板上进行测试、而不是在您的 XDS110上进行测试。

    注2:如果要在128个元素后停止 DMA 通信、请将其设置为 AUTOINIT_OFF、否则即使在128个字节后数据也将持续发送

    --

    谢谢、此致、
    Jagadish。

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

    感谢 Jagadish、我也可以让它从主端工作。 但从器件接收有问题  

    此致

    Usha

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

    您好、Usha、

    您能否详细说明您在从器件端面临的问题?

    --

    谢谢、

    Jagadish。

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

    您好 Jagadish、

    感谢您回来。嗯、我没有使 DMA BTC 中断被触发、而 SPI1的接收缓冲器(从器件)为空。 这就是我在 halcogen 上配置的内容

    从机:取消选中主控模式、内部时钟,然后取消选中 CS_0的输出方向。

    DMA 总是忙( GlbCtrl 0x00010300 )

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

    您好、Usha、

    很抱歉耽误你的时间、

    如果从器件端数据根本没有接收到、请确保下面的 b 项、

    对于从器件 SPI、ENA 引脚应位于 GIO 侧。

    2.从机侧的内部时钟应处于禁用状态

    确保这两件事、并让我知道状态。

    --

    谢谢、此致、

    Jagadish。

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

    您好 Jagadish、

    感谢您的回复。 没有帮助保持相同的行为。

    此致

    Usha

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

    您好、Usha、

    您能否在下面的项目中打开 HALCoGen 配置、并确保我们以相同的方式进行配置

    e2e.ti.com/.../SPI_5F00_DMA_5F00_TEST_5F00_LC4357-_2800_2_2900_.zip

    --
    谢谢、此致、
    Jagadish。

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

    你好,Jagadish  

    是否确定这是您发送的正确文件。 因为我看到 ENA 被配置为从器件侧的 SPI 功能引脚。

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

    您好、Usha、

    是的、这是正确的项目。

    请勿配置 ENA、除非这样、否则请确保其余内容符合共享工程的要求、并对其进行一次测试。 让我知道结果、即、您是否在接收到的缓冲区中看到任何数据?

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

    您好 Jagadish、

    我让从端也工作。 感谢您的支持!