你好
在使 BiSS 库正常工作后、我将面临 EnDat 问题。
由于 CRC 校验、在延迟补偿期间接收到的数据会损坏。
我会注释"ESTOP0"指令以继续。
然后我接收数据位置、但 CRC 也总是很糟糕。
然后、我读取 SPI 信号。
CH1黄色:GPIO 6 EnDat 传感器时钟
CH2:蓝色:GPIO 7 SPI 从时钟
CH3:GPIO 34 ENDAT_DIR
CH4:绿色:SPISIMO = ENDAT_DIN
我读取 SPI 配置寄存器、极性= 1、CLKPHASE = 0。 这意味着"无延迟下降沿"、因此当 EnDatSensor 在其时钟的上升沿更新数据时、输入数据在 SPI 时钟上升沿进行采样。
但根据示波器、SPI 的上升沿接近传感器的上升沿。 我认为 SPI 输入有一些时间错误采样、因为上升沿会快速变化?
接收上述范围的 SPI 数据为:0x0031、0x872C、0xA497。 有些字是可以的、但有些字是坏的、在 SPI 数据中、我的内容是:0x0031 A69C 1D24
计算出的补偿延迟(即使 CRC 不良也是如此)为13。
SPI 时钟始终设为200kHz (不更改为8MHz…… 但在8MHz 时也存在相同的问题)
是 HEIDENHAIN EQI1331
谢谢




