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.

[参考译文] TMS320F28379D:HEIDENHAIN Endat22 22位 AT1218传感器的非一致性 CRC 检查。

Guru**** 2538950 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/717917/tms320f28379d-nonconsistent-crc-check-for-heidenhain-endat22-22bit-at1218-sensor

器件型号:TMS320F28379D

大家好、

我们使用 PM 管理器示例成功实现了与 HEIDENHAIN AT1218 (22位)传感器的 Endat22通信。

它的工作方式... 但我们面临2个问题。

1) 1) CRC 校验  

PM_endat22_getCrcPos (endat22Data.Position_Clocks、ENDAT22、endat22Data.Position_lo、
endat22Data.position_hi、endat22Data.error1、endat22Data.error2、endat22CRCtable)

使用隐式 CRC 声明  

//
// CRC 相关声明
//

#define NBITS_POLY1 5.
#define POLY1 0x0B
#define RXLEN 4 //例如、消息中的100个字节
#define 奇偶校验0 //奇偶校验0表示从输入的第一个16位地址的低字节开始
#define SIZEOOF_ENDAT_CRCABLE 256

只是不会在 endat22Data.data_CRC 中为数据提供一致的数字匹配

AT1218传感器是否使用不同的 CRC 多项式或位长度? (我怀疑……)

2) 2)位置数据是正确的、但我们不时会遇到干扰、从而导致接收到错误的位置数据。

我们有2个 AT1218传感器、它们都表现出相同的行为、无论时钟频率如何、都会发生这种情况。

>#define ENDAT_RUNTIME_FREQ_DIVIDER 24/CA。 2MHz
>#define ENDAT_INIT_FREQ_DIVIDER 250

我们使用 HEIDENHAIN Eib741硬件对传感器进行了测试、它在4Mhz OK 下运行数小时、无干扰、无 CRC 错误。


有什么想法?

Martin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、问题2已解决。 图形中的毛刺脉冲最有可能是从运行时进程中提取数据而产生的伪影。 如果我们将干扰监控条件直接设置到代码中、则可以证明发送的日期是连续一致的。

    然而问题2 - CRC 仍然没有解决。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嗯... 问题1 - CRC 仍然未解决。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Martin:

    由于您说接收到的数据正确、但 CRC 失败-我想知道多项式是否相同。
    此外、您是否确定编码器被正确识别?
    您能否在运行时检查 endat22Data.position_clocks 变量?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Martin、请告诉我们您是否能够执行上述检查、以及您的问题是否仍然存在。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    遗憾的是,问题仍然存在。 您可以看到、位置位的数量被 正确识别、但是

    读取的 CRC 和计算出的 CRC 不相等。

    非常感谢您的善意帮助。

    Martin Necas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    收到的位置信息是否正确?
    如果接收到的位置正确、那么我会怀疑 CRC 多项式/长度等
    如果位置本身接收不正确、则可能存在其他一些错误、噪声等
    您可以尝试以较低的速度运行吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    是的、问题发生在不尊重传输速度的情况下、

    传输的数据正常。

    CRC 多项式/长度可能错误、请您注意。

    通过 HEIDENHAIN 对 AT1218传感器进行验证?

    此致

    Martin