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.

[参考译文] LP-AM261:PRU 未正确接收的问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1595034/lp-am261-problem-with-pru-not-receiving-properly

器件型号: LP-AM261

你好。

我的工作环境如下:

  • 器件:AM261x LaunchPad
  • SDK:motor_control_sdk_am261x_10_02_00_07
  • IDE:CCS 12.8.1

在使用 PRUICSS 的定制电路板上、我正在运行一种配置、其中 PRU0 的 TX 输出端口 (PR0_PRU0_GPIO1) 的信号输出路由到外部引脚、然后在电路板上环回到 PRU1 的 RX 输入端口 (PR0_PRU1_GPIO9)。
PRU0 和 PRU1 均配置为 3 通道外设接口模式以支持其多路复用模式。

运行此设置时、我从 PRU0 传输一个 32 位值、但 PRU1 接收到不同的值、就像位位置发生移位一样。

例如、当发送 0xFF1234FF 时:

  • 发送的数据:0xFF1234FF = 11111111000010010001101001111111111b
  • 接收的数据:0x07F891A7 = 000001111111100001001000110100111b

它的行为就像首先接收到几个零、然后在之后出现发送的数据一样。

问题:
有没有办法可以避免在空闲状态期间接收到零的现象?

感谢您的支持。
此致。

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

    你(们)好

    您使用的是自定义固件还是 SDK 的固件?

    为接收接口触发的开始位极性是多少? 这可以在 ICSSM_PR1_CFG_SLV_PRU[0/1]_ED_RX_CFG_REG 寄存器中进行检查。 您能否分享此寄存器中配置的值?

    此致

    Dhaval

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

    尊敬的 Dhaval:

    我正在使用自定义固件。
    对于接收接口配置、请参阅 PRU0_ED_RX_SB_POL 中的“Help"字“字段 ICSSM_PR1_CFG_SLV_PRU[0/1]_ED_RX_CFG_REG 寄存器被设置为 0

    此致。

    樋口

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

    你(们)好

    您能否共享 Tx 和 Rx 引脚的逻辑分析仪/示波器捕获结果?  您使用哪个固件来发送数据?


    此致

    Dhaval

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

    这是将 0xFF1234FF 发送到 Tx 时的捕获结果。
    由于使用了环回连接、因此不捕获 Rx。

    使用的固件根据 SDK 固件进行自定义。

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

    你(们)好

    START 位配置为 0、因此 RX 接口在 RX 上看到 0 时会立即启动。 在这种情况下、空闲状态不应该是高电平吗? 否则、我们如何定义何时开始捕获?

    此致

    Dhaval

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

    我在 ICSSM_PR1_CFG_SLV_PRU0_ED_RX_CFG_REG 和 ICSSM_PR1_CFG_SLV_PRU1_ED_RX_CFG_REG 寄存器中的 PRUn_ED_RX_SB_POL 位设置为 0 和 1 时捕获的波形。
    两种情况下的结果相同、Tx 侧的起始位没有变化。
    此外、在 Rx 侧接收到的数据位未对齐。

     

    (1) 当 PRUn_ED_RX_SB_POL 设置为 1 时:

     

    (2) 当 PRUn_ED_RX_SB_POL 设置为 0 时:

     

    问题:
    是否通过将 RX_SB_POL 位设置为 1 来将 Rx 接口的 START 位设置为 1?
    2.是否可以使用 PRU 设置将 Rx 接口的空闲状态信号设置为高电平? 如果是、请告诉我如何操作。

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

    你(们)好

    这取决于您希望 PRU 何时开始在接收接口中捕获数据。 在三通道接口中启用 RX 后、它会在看到 START 位时立即开始采样(使用 RX_SB_POL 配置 START 位的极性)

    是否可以使用 PRU 设置将 Rx 接口的空闲状态信号设置为高电平? 如果是、请告诉我如何操作。

    RX 是 PRU 3 通道接口的数字输入、因此我们无法在接收端修改该输入。 从发送侧、如果我们要配置低电平/0 的起始位、它应该为空闲高电平/1。

    如果您有其他问题、请告知我们。

    此致

    Dhaval

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

    尊敬的 Dhaval:   

    从发送端、如果我们要配置低电平/0 的起始位、它应该为空闲高电平/1。

    我希望起始位为低电平/0、因此请告诉我如何从发送端使空闲状态为高电平/1。

    此致。

    樋口

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

    你(们)好

    这取决于您使用什么固件来传输数据? 您使用的是 TI SDK 的任何固件吗? 我们需要确保 TX 固件保持空闲高电平。

    此致

    Dhaval

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

    尊敬的 Dhaval:  

    该固件可从 TI SDK 中的 source/position_sense/Nikon/firmware 重复使用、并且发送逻辑与 TI SDK 相同。

    此致。
    樋口

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

    你(们)好

    在这种情况下,您必须将 Nikon 固件更新为持续发送 1。

    根据 Nikon 规范、TX 线路不必持续保持高电平。 因此、SDK 固件不会将 TX 线路保持为高电平。

    此致

    Dhaval

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

    尊敬的 Dhaval:

    我使用的 SDK 版本是 motor_control_sdk_am261x_10_02_00_07。
    是否有任何固件(包括其他 SDK 版本)会使 TX 线路保持高电平?
    如果存在此类固件、请告知我。

    此致。
    樋口

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

    你(们)好

    我们没有任何 SDK 固件、它始终将 TX 保持在高电平、因为标准编码器接口没有此类要求。

    您可以修改 Nikon 固件 TX 逻辑、使其在空闲状态下持续发送“1"。“。 发送命令后、您可以继续将 1 推入 FIFO。 您可以继续检查 FIFO 填充级别、当 FIFO 有空间时、推送更多数据。

    此致

    Dhaval

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

    尊敬的 Dhaval:

    感谢您的支持。
    我遵循了您的建议、可以确认它现在工作正常。

    此致、
    樋口