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.

[参考译文] TDA4VM:PINMUX Timo-IO 配置会导致电压值发生变化

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1506036/tda4vm-pinmux-timo-io-configuration-causes-voltage-value-changes

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

工具/软件:

您好、

 我将 TDA4的 GNSS 输入引脚和 PINMUX 中的另一个芯片的 PPS 信号配置为 TIMER_IO。 使用示波器进行测量、我发现其电压值变为1.8V、但当配置为 GPIO 时、电压值为3.3V。 你知道这是什么原因造成的吗?

如下图所示:

Timer_IO

GPIO:

PINMUX 配置:

diff -git a/psdkra/pdk_jacinto_10_00_00_27/packages/ti/board/j721e_evm/J721E_pinmux_data.c src b/psdkra/pdk_jacinto_10_00_00_27/packages/ti/board/j721e_evm/J721E_pinmux_data.c src
索引189cc5140..bd7831234 100755
--/psdkra/pdk_jacinto_10_00_00_27/packages/ti/board/j721e_evm/J721E_pinmux_data.c src
++ b/psdkra/pdk_jacinto_10_00_00_27/packages/ti/board/j721e_evm/J721E_pinmux_data.c src
@@-512、6 +512、11 @@ static pinmuxPerCfg_t gGpio1PinCfg[]=
PIN_EXT_REFCLK1、PIN_MODE (7)|\
((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
}、
+/* MAIN_GPIO1 -> GPIO1_13 -> V6 */^M
+{^M
+ PIN_TIMER_IO0、PIN_MODE (7)|\^M
+((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)且(~PIN_PULL_DIRECTION))^M
+}、^M
/* MAIN_GPIO1 -> GPIO1_23 -> T28 */

PIN_MMC2_DAT3、PIN_MODE (7)|\
@@-1355、19 +1360、19 @@ static pinmuxModuleCfg_t gSystemPinCfg[]=
};

/*在 MCU1-0上为1PPS 添加 TIMER_IO */
static pinmuxPerCfg_t gTimer0PinCfg[]=
-{
-/* TIMER0_PPS -> TIMER_IO0 -> V6 */
-{
- PIN_TIMER_IO0、PIN_MODE (0)|\
-((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
-}、
-{PINMUX_END}
-};
+/-静态 pinmuxPerCfg_t gTimer0PinCfg[]=^M
+//{^M
///* TIMER0_PPS -> TIMER_IO0 -> V6 */^M
+//{^M
+/- TIMER_IO0、PIN_MODE (0)|\^M
+/-(((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)且(~PIN_PULL_DIRECTION))^M
+/-}、^M
+/-{PINMUX_END}^M
+/-};^M

静态 pinmuxModuleCfg_t gTimerPinCfg[]=

-{0、true、gTimer0PinCfg}、
+//{0、true、gTimer0PinCfg}、^M
{PINMUX_END}
};

此致、

Yang

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

    尊敬的 Yang

    Unknown 说:
    我将 TDA4的 GNSS 输入引脚和 PINMUX 的另一个芯片 PPS 信号配置为 TIMER_IO。 使用示波器进行测量、我发现其电压值变为1.8V、但当配置为 GPIO 时、电压值为3.3V。 您是否知道导致此问题的原因

    我已经邀请了我们的 GPIO 专家、为您的问题提供意见。

    此致、

    Karthik

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

    您好、

      是否有任何进展?

    此致、

    Yang

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

    尊敬的 Yang:

    要确认、您遇到的问题是引脚 V6还是 TIMER_io0? 当配置为 TIMER_IO0并将多路复用 模式0时、您会探测1.8V 的 IO 电压值、当配置为 GPIO1_13并使用多路复用模式7时、是否会探测3.3V 的 IO 电压值?

    谢谢、

    Neehar

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

    您好、

      是的、GNSS 的1PPS 信号最终输入到 TDA4的 V6引脚。

    此致、

    Yang

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

    尊敬的 Yang:

    您希望将引脚 V6用作哪种模式?

    在您需要的模式下使用引脚是否存在任何问题?

    谢谢、

    Neehar

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

    您好、

       我需要将 V6配置为 TIMER_IO、以便可以通过计时器检索。 但为什么它将电压电平拉至1.8V 呢? 这将导致向另一个芯片输出异常的 PPS。

    此致、

    Yang

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

    尊敬的 Yang:

    [引述 userid="572765" url="~/support/processors-group/processors/f/processors-forum/1506036/tda4vm-pinmux-timo-io-configuration-causes-voltage-value-changes ]PIN_EXT_REFCLK1、PIN_MODE (7)|\
    ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    }、
    +/* MAIN_GPIO1 -> GPIO1_13 -> V6 */^M
    +{^M
    + PIN_TIMER_IO0、PIN_MODE (7)|\^M
    +((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)且(~PIN_PULL_DIRECTION))^M
    +}、^M
    /* MAIN_GPIO1 -> GPIO1_23 -> T28 */

    PIN_MMC2_DAT3、PIN_MODE (7)|\
    @@-1355、19 +1360、19 @@ static pinmuxModuleCfg_t gSystemPinCfg[]=
    };

    如果您需要配置为 TIMER_IO0、为什么要将 GPIO1_13的引脚 V6的引脚多路复用模式7设置为多路复用器模式?

    谢谢、

    Neehar

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

    您好、

    [引述 userid="572765" url="~/support/processors-group/processors/f/processors-forum/1506036/tda4vm-pinmux-timo-io-configuration-causes-voltage-value-changes

    PINMUX 配置:

    diff -git a/psdkra/pdk_jacinto_10_00_00_27/packages/ti/board/j721e_evm/J721E_pinmux_data.c src b/psdkra/pdk_jacinto_10_00_00_27/packages/ti/board/j721e_evm/J721E_pinmux_data.c src
    索引189cc5140..bd7831234 100755
    --/psdkra/pdk_jacinto_10_00_00_27/packages/ti/board/j721e_evm/J721E_pinmux_data.c src
    ++ b/psdkra/pdk_jacinto_10_00_00_27/packages/ti/board/j721e_evm/J721E_pinmux_data.c src
    @@-512、6 +512、11 @@ static pinmuxPerCfg_t gGpio1PinCfg[]=
    PIN_EXT_REFCLK1、PIN_MODE (7)|\
    ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    }、
    +/* MAIN_GPIO1 -> GPIO1_13 -> V6 */^M
    +{^M
    + PIN_TIMER_IO0、PIN_MODE (7)|\^M
    +((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)且(~PIN_PULL_DIRECTION))^M
    +}、^M
    /* MAIN_GPIO1 -> GPIO1_23 -> T28 */

    PIN_MMC2_DAT3、PIN_MODE (7)|\
    @@-1355、19 +1360、19 @@ static pinmuxModuleCfg_t gSystemPinCfg[]=
    };

    /*在 MCU1-0上为1PPS 添加 TIMER_IO */
    static pinmuxPerCfg_t gTimer0PinCfg[]=
    -{
    -/* TIMER0_PPS -> TIMER_IO0 -> V6 */
    -{
    - PIN_TIMER_IO0、PIN_MODE (0)|\
    -((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    -}、
    -{PINMUX_END}
    -};
    +/-静态 pinmuxPerCfg_t gTimer0PinCfg[]=^M
    +//{^M
    ///* TIMER0_PPS -> TIMER_IO0 -> V6 */^M
    +//{^M
    +/- TIMER_IO0、PIN_MODE (0)|\^M
    +/-(((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)且(~PIN_PULL_DIRECTION))^M
    +/-}、^M
    +/-{PINMUX_END}^M
    +/-};^M

    静态 pinmuxModuleCfg_t gTimerPinCfg[]=

    -{0、true、gTimer0PinCfg}、
    +//{0、true、gTimer0PinCfg}、^M
    {PINMUX_END}
    };

    [/报价]

    上述修改意味着我注释掉了 V6 TIMER_IO 函数并将其重新配置为 GPIO。 PPS 电压值正常。 为什么您只看到一半的修改?

    此致、

    Yang

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

    尊敬的 Yang:

    很抱歉、我误读了您提供的完整补丁。 我现在明白了。

    我需要进一步研究这一点、本周我将再次与您联系。

    谢谢、

    Neehar

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

    您好、

       谢谢,期待您的好消息。

    此致、

    Yang

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

    尊敬的 Yang:

    感谢您的耐心。

    谢谢、

    Neehar

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

    嗨、Neehar

    对此主题有任何更新?

    BR
    Jay

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

    嗨、Neehar

    您能给我们一些建议吗?

    非常感谢

    Gibbs  

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

    嗨、Gibbs、Jay 和 Yang、

    因为 Neehar 已经出去了,我会试着填写。

    根据我的理解、当多路复用模式发生变化时、电压不应发生变化。 V6具有在1.8V 和3.3V 之间选择的功能、但由 VDDSHV0供电。

    对于我们的 TI EVM 板、VDDSHV0在 TI J721E EVM 上硬接线至3.3V:

    我假设定制电路板上具有类似的电源域连接。 因此、电压应保持在3.3V。

    根据您的原始原理图、我看到 TIMER_IO0与 GNSS_PPS_3V3和1PPS 短接。 能否详细介绍 GNSS_PPS_3V3和1PPS 的连接位置? 如果用0 Ω 电阻器短接、如果 GNSS_PPS_3V3以3.3V 电压驱动且 Timer_IO0以1.8V 电压驱动、则会出现问题。

    此致、

    Takuma

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

    嗨、Takuma

    我更换了 Yang 并负责跟踪此问题。

    GNSS_PPS_3V3和 TIMER_IO0之间没有短路。

     2. VDDSHV0硬接线至3.3V 。

    3.如您所述、如果 VDDSHV0保持不变、则在 V6切换模式后、电压应保持不变。 但是、它实际上已经发生了变化。 请帮助根据上述信息再次进行分析。 谢谢你。

    此致、

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

    尊敬的 Sui:

    Yang 在原始帖子中分享了类似 GNSS_PPS_3V3 使用0 Ω 电阻器直接与 Timer_IO0连接:

    从 最新的图中可以看出、GNSS_PPS_3V3和 TIMER_IO0之间没有任何连接。 但是、我想再次确认 GNSS_PPS_3V3和 TIMER_IO0之间是否没有连接、以及我是否可以忽略 Yang 之前分享的原理图屏幕截图。

    此致、

    Takuma

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

    嗨、Takuma

    我们不能忽视杨分享的信息。

    GNSS_PPS_3V3和 TIMER_IO0并联、需要共享1PPS 信号。

    现在 VDDSHV0为3.3V。

    当 V6设置为 GPIO 模式时、GNSS_PPS_3V3和 TIMER_IO0的电压均为3.3V。

    当 V6设置为 TIMER_IO 模式时、GNSS_PPS_3V3和 TIMER_IO0的电压从3.3V 更改为1.8V。 这是正常的吗?

    我认为、在 V6设置为 TIMER_IO 模式后、TIMER_IO0的电压变为1.8V、导致 GNSS_PPS_3V3也变为1.8V。

    是否有办法通过软件将 V6的 TIMER_IO 模式设置为3.3V?

    此外、您是否担心0欧姆电阻器对 GNSS_PPS_3V3和 TIMER_IO0短路引起的这个问题?

    我是否有必要在此处进行测试、断开 GNSS_PPS_3V3、然后测量 TIMER_IO0是否为3.3V?

    此致、

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

    尊敬的 Sui:

    我是否有必要在此处进行测试、断开 GNSS_PPS_3V3、然后测量 TIMER_IO0是否为3.3V?

    [/报价]

    我认为这将是一个很好的实验。 和还测量1PPS 和 GNSS_PPS_3V3电压在断开时的电压大小。

    我想了解的是3.3V 和1.8V 的来源。  我假设、在一种配置中、引脚可能悬空、而 在不同的配置中、从 SoC 的角度来看、该引脚可能会上拉至3.3V? 我知道在 Yang 的原始引脚配置中、上拉和下拉似乎被禁用、但我认为、如果1PPS 或 GNSS_PPS_3V3电压为1.8V 悬空、而当将 TIMER_IO0配置为计时器或 GPIO 时、这非常合理。

    此致、

    Takuma

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

    嗨、Takuma

    我想确认一个问题。 如果不考虑现有环路图、仅考虑 V6的驱动能力、V6的驱动能力是否设置为 GPIO 3.3V、是否设置为 TIMER_IO 1.8V?

    此致、

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

    嗨、Takuma

    V6在 TIMER_IO 模式下、我们执行了以下测试:

    1.R7125和 R7102保持连接、如上图所示。 R7125和 R7102的电压为1.5v (之前提供的1.8V 不准确)。

    2.断开 R7125和 R7102的连接、测量 R7102的电压为3.3V。

    3、仅断开 R7125的连接、测得 R7102的电压为3.3V。

    4、仅断开 R7102的连接、并测量 R7125的电压为1.8V。

    从上述测试现象判断、V6设置为 TIMER_IO 模式、导致电压下降。

    此致、

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

    尊敬的 Sui:

    让我将问题发送给硬件团队。 在我们等待硬件团队的响应时、您能做一个实验来尝试将 TIMER_IO0引脚驱动为高电平和低电平并测量电压值吗? 1.8V 是意外的电压、 但如果引脚悬空为1.8V、这可能是有意义的。

    背景信息、我今天与硬件团队中的一些人询问了办公室周围的情况、到目前为止、我们的理解是 TIMER_IO0引脚应保持在3.3V 逻辑电平。 它不应根据引脚多路复用切换电压值、并且只有在  VDDSHV0电源域连接到1.8V 时、电压才能变为1.8V。  

    有几个硬件的人,我今天不能在办公室,所以我会 通知他们,看看他们是否可以评论这个现象,你正在观察.

    此致、

    Takuma

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

    嗨、Takuma

    高电平为1.8V、低电平为0v。

    我真的很期待你的答复。

    此致、

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

    问题可能是驱动程序冲突。  该信号是 TDA4引脚的输入-由外设驱动至3.3V。  当 TDA4引脚配置为 GPIO 输入时、电压正确地在0V 和3.3V 之间摆动。  当 TDA4引脚配置为 Timer_IO 时-它仅在0和1.8V 之间摆动。  我想 Timer_IO 引脚配置为输出并驱动低电平。  当外部引脚驱动为低电平时、电压为0V。  当外部将 PPS 驱动为高电平时、与 TDA4引脚驱动为低电平相冲突、并且看到的电压约为3.3V...或1.8V。  我想是 TIMER_IO 引脚配置为输出。

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

    您好、Robert &  Takuma

    根据数据表、TIMER_io0 (V6)应该作为输入引脚、对吧?

    除 PADCONFIG 检查之外、它是否需要将 TIMER_io0  (V6)的"另一个寄存器"设置为"输入"或"输出"?

    我查看 TRM。

    我感到困惑、因为我只能在 CTRLMM0_TIMERIO0_CTRL_Register 中找到"output"选项。

    我有什么遗漏吗?

    谢谢你。

    Gibbs

       

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

    您好、 Takuma 和 Robert  

    我已在 Linux 下阅读 PADCONFIG142。 您认为此寄存器中的值0x00050000是否存在任何问题?

    我知道、当 PADCONFIG142将 V6设置为输入模式时、CTRLMMR_TIMERIO0_CTRL 寄存器的输出配置不应生效。 这种理解是否正确?

    此外、对于寄存器 CTRLMMR_TIMERx_CTRL、如果多个寄存器都配置了 TIMERIO0引脚、那么是否会产生任何影响? 因为寄存器 CTRLMMR_TIMERx_CTRL 的初始值都为0。

    此致、

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

    您好、

    由于美国假期、请预计回复会延迟、感谢您的耐心等待!

    谢谢、

    Neehar

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

    尊敬的 Sui:

    0x00050000应该意味着设置 RX 活动位、禁用上拉/下拉、多路复用模式为0、应为 TIMER_IO0 模式。  

    我知道、当 PADCONFIG142将 V6设置为输入模式时、CTRLMMR_TIMERIO0_CTRL 寄存器的输出配置不应生效。 这种理解是否正确?

    PADCONFIG 寄存器中有一个单独的 TX_DIS 位21可以禁用输出。 当设置 RX 活动位时、这不会自动设置、因为它们是独立的位。 我认为 CTRLMMR_TIMERIO0_CTRL 不是引起该问题的原因、但如果 怀疑 CTRLMMR_TIMERIO0_CTRL 为非0值、您可以尝试将这些寄存器设置为非0值(也称为使 TIMERIO0不由 TIMER0驱动)作为一个实验。

    此致、

    Takuma  

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

    嗨、 Takuma

    我向 pinmux 中的代码添加了"PIN_OUTPUT_DISABLED"、电压变为3.3V。 我们的功能现在运行良好。

    但是、在 SYSCONFIG_1.22.0配置工具中、我找不到 TX 的配置项、并且已经检查了 RX。 那么、为什么在生成的代码中没有关闭 TX 呢?

    如果我们在不使用工具生成的代码的情况下直接在代码中添加"PIN_OUTPUT_DISABLED"、是否会产生任何影响?

    此致、

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

    尊敬的 Sui:

    在不使用该工具生成代码的情况下添加代码应该是可以的。 该工具只需更轻松地了解引脚之间是否存在冲突并找出偏移。  

    RX 和 TX 由电路中单独的位和单独路径控制、因此更改一侧不应影响另一侧。 如果使用 PIN_OUTPUT_DISABLE 工作正常、则我没有看到任何问题。  

    在任何情况下,很高兴听到你能够让它工作!

    此致、

    Takuma