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.

[参考译文] AM2434:HDSL 接口

Guru**** 2413390 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1273134/am2434-hdsl-interface

器件型号:AM2434
主题中讨论的其他器件:SysConfig

您好!

我正在使用2个 HDSL 连接:在 PRU0-Channel1 (PRU0)上、一个在 PRU1通道0 (PRU-RTU 1)上。 当然、我正在使用与 LaunchPad I/O 兼容的 ICSSG0。

通道配置良好、并且通道正在运行、每次调用一个通道。

到目前为止、虽然效果不错、但无法同时运行两个通道。 一个通道将在几毫秒后关闭。

这不是 EMI 问题、因为我进行了各种测试、移动了相同的导线、我没有看到问题。

进一步看、TX 单元/FIFO 的时钟似乎并不独立于 PRU-Slice-0到 PRU-Slice-1。

当我在 HDSL 通道上运行一个测试程序、并且我立即将时钟从快切换到正常和减慢、另一个

DSL 通道将进入故障状态。 传输数据模式时、FIFO 不会改变时钟、一切都能正常工作。

有人有一个想法,如何克服这一问题,如果我的假设 Tx 时钟不是独立的是正确的?

如果是这样、则 PRU S/W 的设计不适合多轴/编码器应用、因此必须进行审查。

E.S.多通道定义完全不起作用、因此我希望拥有一个独立的设计、而且不会预见到太多混合。

注:我已将 LP 连接到使用 FPGA-IP 作为 HDSL 的 H/W (多轴(4)驱动器/编码器)、因此 H/W 设置没问题。

感谢您的热情回应。

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

    你好

    我有几个问题

    • 您使用的是哪个版本的 SDK?
    • 您使用的是哪个 SDK 示例?  

    使用225 MHz PRU-ICSSG 内核时钟频率时、很难从同一 PRU-ICSSG 切片实现多通道 HDSL。 因此、我们已切换到300 MHz 以获得双通道支持。 基于300 MHz 频率的固件可避免在我理解正确时看到的 HDSL 接口时钟频率切换。

    "motor_control_sdk_am243x_09_00_00_05\examples\position_sens\hdsl_diagnostic\multi_channel"文件夹中提供了支持2通道的示例。 电机控制软件开发套件可从以下网址安装: https://www.ti.com/tool/download/MOTOR-CONTROL-SDK AM243X/09.00.00.05

    由于我们评估 LaunchPad am243x-LP 的硬件限制、我们目前仅在我们的 am243x-EVM 上支持该功能。  

    此致
    达瓦尔

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

    您好、感谢您立即作出响应、

    我正在使用 SDK 12.4.0.00007和 mcu_plus_sdk_am243x_08_06_00_45。

    SDK 版本不应有任何影响。 我将尝试使用您指示的支持包、并告知您。

    感谢您发送编修。

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

    您好!

    我曾尝试使用新的支持包。

    在 AM2434-LP 上、我将使用 ISSG0的 PRU0的通道0和1、但我想这没有区别。 与 EVM 的设置相同、但在 PRU0而不是 PRU1上。

    当然、我使用正确的 PRU_RTU_0和 PRU0设置(各自的通道0和1)重新编译了两个不同的项目。

    采用新封装后、多通道/300MHz 模式下的数据链路通道可以像之前在225Mhz 下一样进行交替激活

    在225Mhz 模式下、数据链路通道不再工作。 (在第一个 RX-Frame 后、Tx-Frame 未完成)且通道重新启动。 (但我没有进行更深入的调查、可能 TX-fifo 被冻结)

    在300MHz 下、对于旧版本、另一个通道的链路保持活动状态的时间更长(随机1到10秒)、不会像以前那样立即关断、但时钟切换问题尚未解决。 在 S/W 中、我仍查找 tx-clock-div 开关。

    我想甚至一切都从开始以过采样速度运行并且永远或者没有出路。

    此致、

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

    您好!

    我曾尝试使用新的支持包。

    在 AM2434-LP 上、我将使用 ISSG0的 PRU0的通道0和1、但我想这没有区别。 与 EVM 的设置相同、但在 PRU0而不是 PRU1上。

    当然、我使用正确的 PRU_RTU_0和 PRU0设置(各自的通道0和1)重新编译了两个不同的项目。

    采用新封装后、多通道/300MHz 模式下的数据链路通道可以像之前在225Mhz 下一样进行交替激活

    在225Mhz 模式下、数据链路通道不再工作。 (在第一个 RX-Frame 后、Tx-Frame 未完成)且通道重新启动。 (但我没有进行更深入的调查、可能 TX-fifo 被冻结)

    在300MHz 下、对于旧版本、另一个通道的链路保持活动状态的时间更长(随机1到10秒)、不会像以前那样立即关断、但时钟切换问题尚未解决。 在 S/W 中、我仍查找 tx-clock-div 开关。

    我想甚至一切都从开始以过采样速度运行并且永远或者没有出路。

    此致、

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

    你好

    在300MHz 时,对于旧版本,另一个通道的链路保持激活几秒钟(随机1到10秒),不会像以前那样立即关闭,但时钟切换问题尚未解决。 在 S/W 中、我仍然可以找到 tx-clock-div 切换。

    当通信停止和看到 TX-Clock-div 切换时、您是否可以共享示波器/逻辑分析仪捕获的时钟和数据信号快照?  

    我想甚至一切都从开始以过采样速度运行并且永远或者没有出路。

    [/报价]

    是的、在300 MHz 模式下、我们始终使用过采样、从不切换时钟频率。

    此致
    达瓦尔

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

    您好!

    蓝色表示 TX-EN、红色表示数据输入、绿色表示 CH0的数据输出、

    黄色是 CH1的 TX-EN。  您会看到、PRU0在启动时、CH0将停止。 可能是由于 datalink_init 中的 reinit_tx 导致的???

    在 TRM 上我可以理解的情况下、它对所有渠道都是全局性的、但可能是我错了。 是否可以在负载共享模式下仅将其重新释放到一个通道????

    单通道问题:

    由于编码器缺少响应、通信缓慢重新启动。 Tx 帧中的某些内容错误。

    可能只持续几 ns。

    使用225Mhz 模式下的旧文件时、不存在该错误。

    如果您想要直接链接到我、请通过我的电子邮件联系我。 数据交换可能更容易一些。

    此致。

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

    您好

    黄色是 CH1的 TX-EN。  您会看到、PRU0在启动时、CH0将停止。 可能是由于 datalink_init 中的 reinit_tx 导致的???

    [/报价]

    您是否在 CH0之后启动 CH1并且两者之间存在一定的延迟?

    在 TRM 上我可以理解的情况下、它对所有渠道都是全局性的、但可能是我错了。 是否可以在负载共享模式下仅将其重新释放到一个通道????

    [/报价]

    您是对的。 REINIT_TX 是全局性的、即使在负载共享模式下也是如此。

    单通道问题:

    由于编码器缺少响应、通信缓慢重新启动。 Tx 帧中的某些内容错误。

    可能只持续几 ns。

    [/报价]

    300 MHz 单通道模式是否也存在同样的问题?

    此致
    达瓦尔

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

    您好!

    我添加了 REINIT_TX 注释、除了在通道0上重新启动之外、两个通道都在工作。

    不是100%好,但更好 我以300MHz 自由运行和多通道模式运行、无需对原始源代码进行任何修改、除了初始 reinit_tx 之外。

    我没有尝试的单通道300m。 明天我会做这件事,让你知道。

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

    你好

    我添加了 REINIT_TX 注释、除了在通道0上重新启动之外、两个通道都在工作。

    不是100%好,但更好 我以300MHz 自由运行和多通道模式运行、无需对原始源代码进行任何修改、除了初始 reinit_tx 之外。

    [/报价]

    好的。 这里"除了在通道0上重新启动之外"这句话是什么意思? 我没有完全理解。

    我没有尝试单通道300米。 明天我会这样做,让你知道

    如 SDK 9.0的版本说明中所述、基于225 MHz 的示例无法正常工作是此版本中的一个已知问题。

    此致
    达瓦尔

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

    您好!

    300M 代码的单通道版本(使用符号 FREERUN_300_MHz 和不使用 HDSL_MULTI 编译 PRU 代码时无法正常工作。

    您可以看到编码器的响应出现、但只进一步传输一次。 然后通信从头开始重新启动、这意味着编码器/测试模式的响应可能未正确编码。

    我不明白的是、为什么您要将单通道和多通道区分开来。 PRU 代码始终是单个通道、不会在其他通道之间进行交互、无论是对于变量还是对于物理信号都是如此。 我会取消术语单频道或你认为什么???? 但是,也许我不明白什么...

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

    要以300MHz PRU 时钟运行 HDSL、 即使您要使用单通道、也需要使用两个符号("FREERUN_300_MHz"和"HDSL_MULTIAD")。 我们已经说明、如果您要使用单个通道、可以在 SysConfig 菜单中选择通道选项并重新编译应用程序。 您无需为此重建固件。