Other Parts Discussed in Thread: SYSCONFIG, TMDS243EVM
器件型号: AM2432
Thread 中讨论的其他器件: SysConfig、 TMDS243EVM
尊敬的专家:
目前、我正在将 HDSL 示例集成到我们的固件中。
我从可以正常工作的自由运行模式开始、但通过将配置更改为 SYNC 模式、我遇到了一些问题。 与结束编码器和位置传输的连接似乎正常、但参数通道/长消息通信不可靠。
为了避免其他固件组件的影响、我从电机控制 SDK 中使用 HDSL 示例从头开始重建问题。
我的测试设备软件:
- CCS 20.4.
- 电机控制 SDK 11.00.00.06
- hDSL_diagnostic_single_channel_am243x-evm_r5fss0-0_freertos_ti-arm-clang
- SysConfig 1.24.0
我的测试设备硬件:
- TMDS243EVM
- HDSL AM64xE1 收发器
- EES37/EKM36
重新创建问题的步骤:
- 从 SDK 导入示例
- 选择通道 1、取消选择通道 0 和 3
- ENDAT1_IN -> U6
- ENDAT1_CLK -> T4
- ENDAT1_OUT -> W3
- ENDAT1_OUT_EN -> P4
- 选择 SYNC 模式
- PRU-ICSS 内核时钟为 300MHz
- 未选择 BoosterPack
- 选择 PRU_ICSSG0_PRU1
代码更改:
- 为 HDSL_AM64xE1_Transceiver 添加了定义
- HDSL_ENABLE_SYNC_SIGNAL
- 将通道 0 的硬编码选项替换为通道 1
- SYNC_CALCULATION
- 将通道 0 的硬编码选项替换为通道 1
- HDSL_DIAGNOSTIC_MAIN
- 更换
- HW_WR_REG32 (0x000F41D4、0x00050001);
- 一方
- HW_WR_REG32 (0x000F41D8、0x00050001);
- 将 PRG0_PRU1_GPI10(而是 GPI9)配置为输入、以匹配来自 AM64xE1_reaster 的信号
- 更换
- 生成了
运行示例:
- 将 ES 设置为 3(测试的同步信号频率的最小值)
- 将周期设置为 18750 (<=> 16kHz)
测试:
通过选择菜单项 0 多次获取当前位置、以确认该位置可行。
选择菜单项 9 以通过长消息测试参数通道。 在某些情况下、API 函数返回成功(无超时)、但未接收到有效数据。
与使用自由运行模式相比、每收到一条长消息都是正确的。
要获得可靠的参数信道通信、我需要考虑哪些因素?
感谢您的帮助和诚挚的问候
Lars







