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.
您好!
我想对 eQEP 模块的一些问题进行一些澄清。 不幸的是、我的试验设置很远程、运行起来不便宜、因此我需要尽力在办公桌上完成这些工作。
COEF 和 CDEF 被锁存
具体而言、该帖子说:
"看起来文档不正确。 您需要写入 QEPSTS 的"1" CEF 位以将其清除。"
如果这确实正确、则该器件的最新文档中仍不存在:"SPRUHM8I"。 我不认为文件中说该位是通过这种方式在任何地方清零的、也不说它是锁存的。 但是、在同一寄存器中有一个关于清除该位的注意事项、即 UPEVNT 标志。
我假设 CDEF 会表现出类似的行为、那么您能否确认 COEF 和/或 CDEF 确实已锁存、并且需要用写"1"清除。
此外、同一文档的第2176页还有一个拼写错误"QEPCTZ"。
QEPI 门控到 A 和 B 会导致索引锁存器发生晃动
我在512 PPR 轮上使用以下相关设置、索引门控至 A 和 B:
这导致 QPOSILAT 每秒在2047和2046之间切换多次***。 在更高的速度6k RPM +下、表现明显更好、但并未完全消失。 如果发生位置计数器错误、我只想使用索引来重置计数。 我的应用在每次旋转时可以承受几个误差计数、但如果计数器误差随着时间的推移而累积、绝对不能承受重大漂移。 需要记录和报告任何 QEP 计数器问题。
在 MCU 平面上、信号看起来都很干净、并且边沿之间实际上没有明显的时间差(当然小于5ns SYSCLK)。
将 IEL 更改为3是否有帮助? 这是我的最佳猜测、任何建议都值得赞赏。 我愿意尝试许多事情。 我正在考虑在指数中添加几 ns 延迟、以确保它始终略高于第一个正边沿、但我认为必须有更好的方法来解决这一问题。
编辑: 我的问题似乎也与此类似: e2e.ti.com/.../tms320f28388d-eqep-module-index-detection
注意:我通过 CAN HMI 查看该线程中的值、而不是通过调试器查看缓冲值。
***-我目前无法确认是否有其他值被锁定,但我将在下一次测试中添加一些调试代码来检查这一点。
您好、Wil、
感谢您深入探讨这一问题。 我将需要仔细查看我们的错误跟踪、以查看是否曾正式记录过此问题、尽管自从您提到的 E2E 主题已经有很长一段时间了、但我怀疑是这样。 请允许我更详细地探讨这一点
作为额外的调试注意事项、您是否在将索引信号引入 eQEP 外设之前对其进行了任何输入限定? 该软件功能应作为 GPIO MUX 的一部分提供、有助于缓解索引锁存问题
此致、
Peter
尊敬的 Peter:
我使用的同步模式没有对 GPIO MUX 进行限定(列表中的第2个项目符号)。 我可以尝试添加3个合格时钟、但我已经验证了信号非常干净(在读取为12V 差分后进行隔离)。 它似乎只是增加了不必要的延迟。
您好、Wil、
[引用 userid="88556" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1172580/tms320f28379d-eqep-gated-index-latch-issues-and-clearing-status-bits ]如果确实正确,则该器件的最新文档中仍然没有"SPRUHM8I"。 我不认为文件中说该位是通过这种方式在任何地方清零的、也不说它是锁存的。 但是、在同一寄存器中、UPEVNT 标志有一条关于清零该位的说明。[/QUERP]最初、在 TRM 中向该寄存 器添加了一条注释、说明"向 QCLR 寄存器中的相应位写入"1"即可将该位清零。" 由于没有相应的位、这个注释后来被删除、并且这些位是可读/写的、所以它们可以通过写入这些位来清除。
该原始注释似乎被错误地注释、因此为什么稍后将其删除。 我可以提出一个修正、以便在该寄存器中添加更合适的描述、从而阐明如何重置标志。
[引用 userid="88556" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1172580/tms320f28379d-eqep-gated-index-latch-issues-and-clearing-status-bits "]此外,同一文档的第2176页中还有一个拼写错误"QEPCTZ"。你是对的、我认为这应该是 QEPCTL[IEL]。 我们将努力纠正这种情况
[引用 userid="88556" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1172580/tms320f28379d-eqep-gated-index-latch-issues-and-clearing-status-bits/4415114 #4415114"]我可以尝试添加3个合格时钟,但我已经验证了信号非常清晰[/quot]使用 QEPCTL[IEL]= 11软件索引标记也可能是您提到的另一种解决方案。 您刚刚遇到了晃动、但没有错过的索引信号、对吧? 如果您遇到一些丢失的索引信号、资质认证可以帮助您、但您可以在这种情况下对其进行测试、以查看您是否也更一致地锁存。
此致、
Peter