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.

[参考译文] TMDSCNCD28P65X:TMDSCNCD28P65X

Guru**** 2528040 points
Other Parts Discussed in Thread: TMDSCNCD28P65X, C2000WARE, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1377951/tmdscncd28p65x-tmdscncd28p65x

器件型号:TMDSCNCD28P65X
主题中讨论的其他器件: C2000WARESysConfig

工具与软件:

大家好、

是否有文档或其他参考资料说明 GPIO 引脚的映射方式?

我设置了 SPIA 模块来控制我的器件 A、集线站板上的默认引脚是  

SPISIMOA - 67
SPISOMIA - 69
SPICLKA-71.
SPISTEA - 73.

到目前为止一切正常!

现在、我创建了 SPIB、希望通过 MCU 电路板控制器件 B。 应在集线站上输出 SPIB 信号的引脚有哪些?

如何配置  电路板图上的引脚编号与头文件中的 GPIOxxx 定义相对应?

是否可以将 SPIA 输出映射到电路板上的不同引脚? 流程是怎样的?

我不熟悉 MCU 编程、所以请尽可能详细地说明、以便我可以跟随我的项目并成功完成。

谢谢、Sergey。

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

    尊敬的 Sergey:

    请参阅 TMDSCNCD28P65X EVM 的引脚排列。   pinout_p65x

    您应该已经能够在这些位置访问 controlCARD 上的 SPI-A 和 SPI-B 引脚。  理想之选 如果您的应用使用 controlCARD、则在这些指定引脚上使用 SPI 功能。  

     

    否则、您需要将这些 SPI 引脚路由到另一个 GPIO 位置、但我们需要检查这些引脚是否可通过 XBAR 使用、这有点复杂。  

    此外、您还可以参阅以下有关如何配置这些 SPI 及其用例的示例  C:\ti\c2000\C2000Ware_5_02_00_00\driverlib\f28p65x\examples\c28x\spi

    此致、

    Uttam Reddy

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

    谢谢 Uttam!  

    这份文件解决了大部分问题、希望我能尽快找到它!

    现在、我已经连接好所有电线、捕获信号等

    但 SPIB 仍然有另一个问题、  

    我已基于 SPI_EX7_EEPROM_DMA 项目扩展或基于我的项目。

    我必须添加另一个 SPI 控制器(SPIB) 来控制连接到电路板上的两个器件。

    问题是 SPIB 不会触发 DMA 中断来继续 SPI 事务。

    SPIB 设置参数或触发中断的 DMA 设置参数是否有任何差异?

    请查看上面的项目、帮助我设置 SPIB、使其运行。

    此致、

    Sergey。

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

    尊敬的 Sergey:我们的 DMA 专家不在办公室、您应该在几天内收到他们的回复。

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

    尊敬的 Sergey:

    很抱歉耽误你的时间。  

    为了将 SPI/DMA 功能与 SPIB 一起使用、应该没有任何重大差异。 您只需要使用 其他两个 DMA 通道(例如、如果 SPIA TX 是 DMA CH1且 SPIA RX 是 DMA CH2、则可以对 SPIB TX 和 SPIB RX 使用 DMA CH3和 CH4)、并更改 DMA 触发源以改用 SPIB 触发器。

    您是否为正在使用的2个新的 DMA 通道设置了 DMA 中断? 或者您是指 SPIB 中断吗? 通常、使用 SPI 实现 DMA 时应该无需包含 SPIB 中断。 您还可以用示波器验证是否未发送 TX 信号、以及是否可以看到 RX 信号从另一个器件正确传入?

    此致、

    Delaney

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

    谢谢  Delaney!

    我对项目的设置非常符合针对 DMA 通道等建议  

    唯一缺少的东西是将 DMA_TRIGGER_SPIBRX 用于 SPIB。

    现在一切都能正常工作!

    我还有几个问题。

    1.是否可以同时并行运行 SPIA 和 SPIB?

    当我触发它们运行时、在示波器上、我会看到信号按顺序传入、先是 SPIA、然后是 SPIB。

    我们很快必须使用更多的 SPI 接口(SPI、SPID)、可能多达4个、并且 EthrCAT 位于同一 MCU 上。

    2.集线站上的 SPI C、D、引脚是什么?如何配置额外的 SPI 接口?   

    3.如何配置,以及什么是映射到集线站的附加 GPIO 引脚?

    所有 PWMxA 和 PWMxB 都 已使用。

    此致、

    Sergey。

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

    尊敬的 Sergey:

    以下是您的问题的答案:

    1、DMA 本身不能同时运行两个通道、它是采用一种仲裁机制来决定要服务的通道的顺序的。 这应该是您看到这种顺序行为的原因。 仲裁方案有两个选项:轮询 模式(在该模式下、每个通道具有相同的优先级并一次处理一个)和通道1优先级模式(在该模式下、始终首先处理 DMA CH1)。 如果您想将 SPI 与 DMA 真正并行使用、则必须在 CPU1和 CPU2上配置一个实例、因为它们 具有单独的 DMA 模块。 另一个注意事项:每个 CPU 的 DMA 模块只有6个 DMA 通道、因此 CPU1 DMA 最多只能与三个不同的 SPI 通道连接(如果为 TX 使用一个通道、为每个 SPI 使用一个通道)。

    2和3:我建议使用 SysConfig 中的 pinmux 工具确定哪些 GPIO  可用于 F28P65x controlCARD。 您可以将电路板设置为 controlCARD、并为每个说(接头)的 SPI 模块选择 GPIO 以确保它们在集线站上具有引脚输出。 您还可以在该处添加 ePWM 实例和 GPIO、如果多个外设或外设实例使用的引脚之间存在任何冲突、SysConfig 将触发错误。

    此致、

    Delaney