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.

[参考译文] TMS320F280049:具有2个绝对编码器的双轴驱动系统+可与 SPI 通信

Guru**** 1688270 points
Other Parts Discussed in Thread: SN65HVD73, SN65HVD76, SN65HVD70, TMS320F280049, C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/840698/tms320f280049-dual-axis-drive-system-with-2-absolut-encoder-communication-with-spi-possible

器件型号:TMS320F280049
主题中讨论的其他器件:SN65HVD73SN65HVD76SN65HVD70C2000WARE

你(们)好

我正在考虑使用 TMS320F28004x 系列来开发具有2个绝对编码器的双轴驱动系统。 据我所知、使用绝对编码器功能需要 SPI 外设(与 CLB 一起)。 是否仍然可以将2个绝对编码器与1个 SPI 同时使用以进行正常通信?

感谢你的帮助

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

    常见编码器没有任何 CS 信号。 假设是 RS422接口、则应使用具有使能信号的 RS422/485全双工收发器(例如 SN65HVD70、SN65HVD73或 SN65HVD76)。

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

    很抱歉、我看不到您的答案和我的问题之间的链接。 我会使用 RS422收发器将差分信号转换为"正常"信号。 您可以在 BiSS-C 绝对编码器主接口参考设计原理图中看到的是我的计划--> http://www.ti.com/lit/df/tidrst7/tidrst7.pdf

     由于 TMS320F280049 uC 上只有2个 SPI 可用、并且它们似乎用于绝对编码器功能、因此我的问题是、您是否仍然可以使用一个 SPI 进行正常通信。 我认为这是不可能的、但也许我已经监督了一些事情。

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

    很抱歉我太麻烦了。

    我要将两个编码器连接到一个 SPI,MCU 将通过 GPIO 驱动两个收发器的使能信号。 这将为您留下一个 SPI 用于正常通信。

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

    啊、现在我看到你在想哪个方向。 但我仍然有点困惑、您希望如何将两个编码器连接到一个 SPI。  

    如果您看一下 EnDat 实现图、我看不到使用两个编码器和一个 SPI 的方法(MISO 和 MOSI 都用于一个编码器)。 两个收发器的使能信号已通过 GPIO 完成。

    您能否进一步解释一下如何将它们连接到一个 SPI?

    非常感谢您的努力!

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

    您好!

    我们的当前库仅支持一个绝对编码器、如 BiSS-C 或 ENDat22。
    目前还没有计划支持多个编码器。 我们的绝对编码器实现基于 CLB (可配置逻辑块)。
    我们将在本月末在即将推出的 C2000Ware 版本中发布用于配置 CLB 的工具。
    除 SPI 外、CLB 资源也是一个限制因素。
    如果您使用的是 QEP 或 SINCOS 等其他编码器、则可以创建自己的实现方案。

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

    感谢您的回答。 为什么该库仅支持一个编码器? 硬件是否会限制它、或者在实施具有多个编码器的库时是否需要大量工作。 在以下文档中、CLB 应支持两个编码器:

    http://www.ti.com/lit/wp/sway022/sway022.pdf

    "在位置管理器解决方案中、将 CLB 与串行端口相结合可创建适用于 EnDat2.2、双向/串行/同步(BiSS)、Tamagawa T-format 和其他串行编码器标准的解决方案。 F28004x 上的 CLB 有足够的能力来实现大多数协议的两个通道。"

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

    您好!

    正如我之前所说的-库仅供单个编码器使用。
    从硬件角度而言-这取决于所使用的编码器以及用于编码器实现的 CLB 资源。  
    例如、不可能实现2个 EnDat22编码器、但可以实现2个 Tformat 编码器、或1个 BiSS_C + 1个 T-format 等
    此外、虽然理论上可能存在多个编码器、但由于当前的使用仅通过库启用-您只能支持一个编码器。
    本月晚些时候发布 CLB 工具时、您可以使用 CLB 设计自己的编码器接口、并验证多编码器的可行性。

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

    非常感谢您提供的详细信息!

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

    我主要处理的是采用简单单向 SPI 接口的解码器。 为此、以下原理图应显示该方法:

    对于我处理过的两个 BiSS 和 EnDat 编码器、我直接使用 SPI 模块而不使用 CLB (这是10年前的情况)。 事实证明、CLB 最重要的特性是时钟延迟补偿。 如果您的 MCU 具有 McBSP 端口、则可以使用它并通过外部 RC 电路生成延迟时钟。 您甚至可以通过使用电缆并联电容器的 GPIO 来设定延迟。 现在、如果您降低时钟频率、则无需时钟延迟补偿即可实现。 在某些情况下、您甚至可以推送时钟频率、并且可以更改 SPI 中的时钟极性和时钟相位设置、以便在正确的时刻对数据进行采样。 但这更多的是适合原型设计的解决方案、我不建议将其用于生产。

    现在、如果您可以在没有时钟延迟补偿的情况下生活、您可以仅将不带 CLB 的 SPI 用于 BiSS 或 EnDat 通信、如果您想要具有读/写访问权限、则需要使用额外的 MOSI 信号收发器来扩展所示的原理图。 但是、我一直设法仅与 BiSS 和 EnDat 进行单向通信。 也许我刚刚有幸接触到编码器、因为它们开箱即可正确配置、并且不需要任何写入访问即可工作。

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

    非常感谢您描述过去项目的方法和经验!

    遗憾的是、您所附的原理图不可见。 如果你能找到一分钟、然后再次尝试发布、那会很酷。

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

    又来了。

    您实际上不需要2个 GPIO。 一个就足够了、但您需要使用外部逆变器来生成另一个使能信号。

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

    谢谢!