在 ROQ437 中,两个位置锁存器之间的 EnDat2.1 恢复时间默认较短。EnDat2.2 可实现较短的恢复时间,但我们需要先在 ROQ437 中设置一次非易失性位,然后再运行演示的剩余部分以缩短恢复时间。这是目前的权变措施,可在以后并入演示代码中。
Heidenhain 文档中的说明(https://www.heidenhain.us/wp-content/uploads/Bidirectional_Interface_for_Position_Encoders-1.pdf):扩展的 EnDat 接口 2.2 版在通信、命令集和时间条件方面与之前的 2.1 版兼容,但也具有一些显著的优势。例如,有了它,不必发送单独的请求,即可传输含位置值的附加信息。接口协议已扩展,并且时间条件已优化,如下所示:提高了时钟频率(时钟)(16MHz),优化了计算时间(位置值采集时间在 5µs 内),极大地缩短了死区时间(恢复时间)(1.25µs 至 3.75µs),扩展了电源电压范围(3.6V 至 5.25V,或者,在编码器中为 3.6V 至 14V)
- 插入所有硬件以将 EnDat2.2 编码器连接到离 TMDS243GPEVM 最近的插槽
- 将位于“%SDK_INSTALL_DIR%\examples\motor_control\endat_diagnostic”的 MCU+ SDK 中的“endat_diagnostic”示例导入到 CCS 中
- 编译该示例并将其加载到 MAIN_Cortex®_R5_0_0 中
- 在 Code Composer Studio™(CCS)中设置端子以查看诊断输出(如下所示,我的端口为 COM6,但您的端口可能不同):
- 点击“Resume (F8)”以运行诊断
- 针对多通道配置选择“y”,针对所选通道 0 选择“y”,并针对通道 1 和通道 2 选择“n”。
- 完成这些选择之后,诊断工具应与编码器通信并返回 ID、SN 以及有关分辨率和传播延迟的信息
- 将逻辑分析仪连接到 EnDat CLK、TX 和 RX 引脚(如下所示,可通过 TIDA-00179 板的直角连接器访问这些引脚)
- 在诊断工具中选择选项“107”,并输入“8000”(以 Hz 为单位)作为频率值。这会导致程序持续向编码器请求数据,如图 11-8 中所示。
- 在仿真位置环路运行时运行逻辑分析仪,并查看 RX 信号中的恢复时间(在 CLK 停止后,RX 信号保持高电平的时间):
- 要设置位以启用 EnDat2.2 恢复模式,请选择诊断选项 10,参数地址 3,及参数值1
- 然后,选择诊断选项“5”将编码器复位,以使设置生效
- 再次运行选项 107 并将频率设置为 8000,以确保设置保存下来并且恢复时间少于 3.75µs:
- 如果恢复时间仍为 20µs 左右,则您可能需要再试一次之前的步骤(选项 10,地址 3,值 1,然后使用选项 5 进行复位)
此时,应将您的编码器配置为在 EnDat2.2 恢复模式下运行,以便在演示的剩余部分中全程使用所需的严格计时。