主题:SysConfig 中讨论的其他器件
工具/软件:
尊敬的专家:
我们相信我们遇到了 EnDat PRU 固件中的一个错误、非常感谢您在调试它时提供的帮助。
在我们的硬件设计中、我们将两个 EnDat 编码器连接到 ICSSG0-PRU0 片的通道 0 和 2。 由于编码器具有不同的分辨率、因此我们需要使用负载共享模式。
在调查过程中、我们确认此配置在 LaunchPad 的 PRU1 切片上正常工作。 但是、在 PRU0 片上、只有通道 0 按预期运行。 当通道 2 激活时、两个通道都会停止完全工作。
在 LP-AM243 上重现错误的简单示例、无需编码器
- 无需任何外部 BoosterPack 即可使用 LaunchPad
- 电机控制 SDK 版本:09.02.00.11
- 通过 DIP 开关 SW6 将 LaunchPad 设置为双电机驱动模式
- 使用 endat_diagnostic 示例、在 SysConfig 中、可以选择所需的通道和 PRU 片 0/1
- 如果使用 PRU 切片 0、在将预定义的符号 SLICE1 切换到 SLICE0 后、重新编译 endat PRU 固件 CCS 工程、然后通过 makefile 重新编译电机控制 SDK 库
- 要检测 endat 固件是否至少尝试启动通信、可以监控相应通道的 CLK 引脚。 即使没有编码器、也有一个通信周期可见
- Slice1
- 通道 0:PRG0_PRU1_GPO0
- 通道 2:PRG0_PRU1_GPO6
- Slice0
- 通道 0:PRG0_PRU0_GPO0
- 通道 2:PRG0_PRU0_GPO6
- Slice1
如何使用 PRU 层 1 进行测量
在片 1 上、通道 0 和通道 2 的任意组合都在负载共享模式下工作:(仅左侧通道 0 启用,右侧两个通道启用)


使用 PRU 片进行测量 0:
在片 0 上、通道 0 独立工作(左图)。 添加通道 2 后、不再起作用(右图)。 通道 2 独立器件也不起作用。

有趣的是、如果停用负载共享模式、两个通道都在片 0 上工作。 然而、这对我们来说不是解决方案、因为我们使用两种不同的编码器:

我们希望此信息足以让您重现此问题。 如果没有、请随时询问更多详细信息。
非常感谢您的支持、因为此问题目前正在延迟我们硬件的调试。
此致、Stefan
