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.

[参考译文] J721S2XSOMXEVM:GPIO:无法在逻辑分析仪/示波器上看到 GPIO 切换

Guru**** 2535150 points
Other Parts Discussed in Thread: TCA6424

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1549560/j721s2xsomxevm-gpio-unable-to-see-the-gpio-toggle-on-the-logic-analyzer-scope

器件型号:J721S2XSOMXEVM
主题中讨论的其他器件:TCA6424

工具/软件:

您好、

我已将引脚 (Y25、R28、W23、Y24) 的 Pinmux Config 设置为 GPIO、因为我不确定这四个中的哪两个实际映射到 GESI 板上的 J19 连接器

我可以看到寄存器按预期配置、GPIO 输出也在 GPIO0_MEM_OUT_DATA01 以及 GPIO0_SET_*和 GPIO0_CLR_*寄存器上更新。

因此、我期望我应该能够看到 I2C5_SCL (R28 或 Y24) 和 I2C_SDA (Y25 或 W23) 从高电平切换到低电平以及从低电平切换到高电平、但我在示波器上没有看到任何变化。

我想只有*set*和*out*应显示预期输出、而*clr*应与*set*相反。 如果是这样、那么出于某种原因、似乎设置了 CLR 指令、并且 CLR 指令几乎彼此相邻、这使得该引脚始终保持低电平。

如果我错过了一些东西、您能让我知道吗?或者如何让它正常工作?

我正在使用、

  • J721S2 SOM (PROC118E3)
  • GESI 卡 (PROC084A)
  • Jacinto 7 CPB (PROC079A)
  • PDK 11.0.0.21
  • 相应地修改裸机 GPIO 闪烁代码。

谢谢。

此致、
摩西

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

    您好、Moses:

    您能提供一个 GPIO 寄存器的转储吗? 此外、您还能提供 padconfig 寄存器吗?

    我假设只有*set*和*out*应该显示预期的输出、并且*clr*应该与*set*相反。 如果这就是它应该是这样,那么它看起来出于某种原因设置和 CLR 指令几乎彼此相邻发生,这使得引脚始终保持低电平。[/报价]

    更多有关 SET 和 CLR 寄存器的信息、请查看 TRM 的以下代码片段:

    谢谢、

    Neehar

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

    嗨、Neehar、

    对于来自主域的 GPIO0_6 和 GPIO0_7;这两个 GPIO 都配置为输出

    这是 Pinmux 配置、  

    0x0011C018 CTRL_MMR0_CFG0_PADCONFIG6
    0x0011C018 0x07 0x00 0x05 0x00
    0x0011C01CCTRL_MMR0_CFG0_PADCONFIG7
    0x0011C01C 0x07 0x00 0x05 0x00

    以下是这两个 GPIO 均设置(高电平)时的 GPIO 寄存器。
    0x00600000 GPIO0_MEM_pid
    0x00600000 0x05 0x29 0x83 0x44
    0x00600504 GPIO0_MEM_PCR
    0x00600004 0x01 0x00 0x00 0x00 0x00
    0x00600008 GPIO0_MEM_BINTEN
    0x00600/8 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    0x00600010 GPIO0_MEM_DIR01
    0x00600010 0x3F 0xF7 0xFF
    0x00600014 GPIO0_MEM_OUT_DATA01
    0x00600014 0xC0 0x08 0x00 0x00
    0x00600018 GPIO0_MEM_SET_DATA01
    0x00600018 0xC0 0x08 0x00 0x00
    0x0060001C GPIO0_MEM_CLR_DATA01
    0x0060001C 0xC0 0x08 0x00 0x00
    0x00600020 GPIO0_MEM_IN_DATA01
    0x00600020 0xFF 0xFF 0x9F 0xFF
    0x00600024 GPIO0_MEM_SET_RIS_TRIG01
    0x00600024 0x00 0x08 0x00 0x00 0x00
    0x00600028 GPIO0_MEM_CLR_RIS_TRIG01
    0x00600028 0x00 0x08 0x00 0x00 0x00
    0x0060002C GPIO0_MEM_SET_FAL_TRIG01
    0x0060002C 0x40 0x00 0x00 0x00 0x00
    0x00600030 GPIO0_MEM_CLR_FAL_TRIG01
    0x00600030 0x40 0x00 0x00 0x00 0x00
    0x00600034 GPIO0_MEM_INTSTAT 01
    0x00600034 0x00 0x00 0x00 0x00 0x00

    以下是当这两个 GPIO 都清除(低电平)时的 GPIO 寄存器。
    0x00600000 GPIO0_MEM_pid
    0x00600000 0x05 0x29 0x83 0x44
    0x00600504 GPIO0_MEM_PCR
    0x00600004 0x01 0x00 0x00 0x00 0x00
    0x00600008 GPIO0_MEM_BINTEN
    0x00600/8 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    0x00600010 GPIO0_MEM_DIR01
    0x00600010 0x3F 0xF7 0xFF
    0x00600014 GPIO0_MEM_OUT_DATA01
    0x00600014 0x00 0x00 0x00 0x00 0x00
    0x00600018 GPIO0_MEM_SET_DATA01
    0x00600018 0x00 0x00 0x00 0x00 0x00
    0x0060001C GPIO0_MEM_CLR_DATA01
    0x0060001C 0x00 0x00 0x00 0x00 0x00
    0x00600020 GPIO0_MEM_IN_DATA01
    0x00600020 0x3F 0xF7 0x9F 0xFF
    0x00600024 GPIO0_MEM_SET_RIS_TRIG01
    0x00600024 0x00 0x08 0x00 0x00 0x00
    0x00600028 GPIO0_MEM_CLR_RIS_TRIG01
    0x00600028 0x00 0x08 0x00 0x00 0x00
    0x0060002C GPIO0_MEM_SET_FAL_TRIG01
    0x0060002C 0x40 0x00 0x00 0x00 0x00
    0x00600030 GPIO0_MEM_CLR_FAL_TRIG01
    0x00600030 0x40 0x00 0x00 0x00 0x00
    0x00600034 GPIO0_MEM_INTSTAT 01
    0x00600034 0x00 0x00 0x00 0x00 0x00

    此致、
    摩西

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

    您好、Moses:

    感谢 GPIO 寄存器的转储。

    因此、我期望能够看到 I2C5_SCL (R28 或 Y24) 和 I2C_SDA (Y25 或 W23) 从高电平切换到低电平以及从低电平切换到高电平、但我在范围上没有看到任何变化。

    在此之前、您能否确认是否设置了 MDIO_MDC_SEL0?

    根据GESI 板原理图、该选择位用于在接头上使用芯片 U34 对 I2C5 进行多路复用。 通过 I2C0 总线控制 GPIO 扩展器来设置 MDIO_MDC_SEL0。 这可能是您无法在 I2C5 总线上看到任何输出的原因。

    谢谢、

    Neehar

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

    嗨、Neehar、

    遗憾的是、这似乎不起作用。 我已将 MUX2_EXP 引脚 (P15) 配置为预期的引脚、

    将 0xDF 写入 0x07

    将 0xDF 转换为 0x03(低电平)或  将 0xFF 转换为 0x03(高电平)

    我已尝试将输出引脚 (MUX2_EXP 或 MDIO_MDC_SEL0) 设置为高电平和低电平、在这两种情况下、我都看到 I2C5 线路没有变化。

    此致、
    摩西

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

    您好、Moses:

    能否根据示波器确认 MDIO_MDC_SEL0 是否设置为高电平?

    此外、是否可以使用 I2C0 总线以及总线上的地址 0x22 来控制 TCA6424 GPIO 扩展器?

    谢谢、

    Neehar

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

    嗨、Neehar、

    您能否确认 MDIO_MDC_SEL0 的范围是否设置为高电平?

    我必须检查一下。 我只通过读取 16 引脚 GPIO 扩展器的寄存器来验证此引脚是否设置为“输出“和“高电平“。

    此外、可以测试是否可以使用 I2C0 总线以及总线上的地址 0x22 来控制 TCA6424 GPIO 扩展器?

    MDIO_MDC_SEL0 位于 I2C0 0x20 上、对吧?
    但是为了回答您的问题、我可以控制 24Pin GPIO 扩展器。 我能够切换 I2C0 0x22 上的 USER_LED。

    谢谢。

    此致、
    摩西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否确认 MDIO_MDC_SEL0 的范围是否设置为高电平?

    是、我使用示波器确认此引脚设置为高电平。

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

    此外、由于我没有完整的 PCB 布局/设计文件、如何知道相应的 i2c 引脚连接到了哪些焊球?

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

    您好、Moses:

    感谢您的回答和详细信息。

     有关哪些信号连接到哪些焊球的信息、请参阅数据表。

    您是否还可以为您使用的焊盘提供 pinmux 寄存器的转储?

    谢谢、

    Neehar

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

    嗨、Neehar、

    是的上面的图片中包含焊球信息来自同一个数据表。我尝试了两个 ALZ 引脚进行两次试验。
    对于 GPIO、我都使用了模式 7、对于 I2C、模式为 8 (W23、Y24) 和 13 (Y25、R28)。
    我最初尝试检查 GPIO 是否正常工作、似乎情况并非如此、然后我几乎按原样使用 GPIO led Blink 示例、但现在我在 while 循环中进行 GPIO 切换以进行调试;并检查 CPB 上的 TP45、该值应该是 WKUP_GPIO0_6、即使似乎没有切换。 那么、GPIO 似乎存在一些一般性问题?

    谢谢。

    此致、
    摩西

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

    您好、Moses:

    您能否提供 pinmux 寄存器的转储? 除多路复用模式之外、还有一些位也很重要、可能会导致问题。

    谢谢、

    Neehar

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

    嗨、Neehar、

    确保之前在 GPIO 寄存器中发布、对于 GPIO 模式、padconfig 设置如下:
    0x0011C018 CTRL_MMR0_CFG0_PADCONFIG6
    0x0011C018 0x07 0x00 0x05 0x00
    0x0011C01CCTRL_MMR0_CFG0_PADCONFIG7
    0x0011C01C 0x07 0x00 0x05 0x00

    谢谢、
    摩西

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

    您好、Moses:

    很抱歉、我没有意识到您之前提供过该功能。 让我再深入研究一下、然后再联系您。

    谢谢、

    Neehar

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

    嗨、Neehar、

    我已经与两个 J721S2 SOM 进行了检查、在这两种情况下它都不起作用。
    我碰巧还有一个 J721ESOM、我尝试检查 GPIO 和/ i2c5、spi3 引脚、它们都按预期响应。
    相同的 GESI 板、相同的 CPB、只是一个不同的 SoM。  

    J721S2 的预处理器语句中是否存在一些错误?

    谢谢。

    此致、
    摩西

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

    您好、Moses:

    感谢您通过测试获得的详细信息和更多信息。 我将深入研究这一点、明天再回到您身边。

    谢谢、  

    Neehar

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

    嗨、Neehar、

    对此问题有任何更新?

    谢谢、
    摩西

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

    您好、Moses:

    我们的专家是 ooo、他将在下周为您提供支持。

    此致、

    Karthik

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

    您好、Moses:

    我在外面和追赶的时候,很抱歉耽误了时间。

    我更深入地研究了 SOM、CPB 和 GESI 板的原理图、I2C5_SCL 和 I2C5_SDA 的源信号似乎没有从 J721S2 SOM 输出。 该信号使用下面所示的多路复用器以及 我们之前讨论的选择位 MDIO_MDC_SEL0 从 GESI 板输出。

    但是、 PRG0_MDIO0_MDIO 和 PRG0_MDIO0_MDC  分别是 I2C5_SCL 和 I2C5_SDA 的源 SOM、通过通用处理器板 (CPB) 和 GESI 板。 J721S2 的 SOM 至 CPB 连接器不会输出  PRG0_MDIO0_MDIO 和 PRG0_MDIO0_MDC 的源信号  、如下图所示。 这应该出现 在引脚 F19 和 G22 上。

    我还将其与 J721E SOM 进行比较、您可以看到信号通过 SOM 连接到 CPB、一直连接到 GESI 板、如下面的引脚 F19 和 G22 上的图所示。

    SOM 到 CPB 连接:

    CPB 至 GESI 连接:

    由于未连接、您将无法将 GESI 板上的 I2C5_SCL 或 I2C5_SDA 与 J721S2 SOM 配合使用。 如果您有任何其他问题、请随时联系我们。

    谢谢、

    Neehar