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.

[参考译文] PROCESSOR-SDK-J721S2:如何将 MCU ADC1 MCU_ADC1_AINx 配置为正常的 GPIO 引脚?

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

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1455135/processor-sdk-j721s2-how-to-configure-mcu-adc1-mcu_adc1_ainx-to-normal-gpio-pin

器件型号:PROCESSOR-SDK-J721S2
主题中讨论的其他器件:SysConfigTDA4VL

工具与软件:

大家好、团队成员:

我是否要将 MCU ADC1引脚组 MCU_ADC1_ANX 配置为正常的 GPIO 引脚?

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

    您好!

    它不仅仅是 pinmux 设置吗?

    此致、

    Brijesh

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

    您好、Brijesh:

    将 MCU_ADC1_AIN#设置为 GPIO 输入以从外部读取电压。 寄存器配置值剂量未更新。

    #define PIN_INPUT (PIN_INPUT_ENABLE |\
    PIN_PULL_DISABLE)
    配置设置。

    App_Console 45cf ("@@ add:%x config value:%x \n"、WKUP_PMUX_CTRL+ CSL_WKUP_CTRL_MMR_CFG0_PADCONFIG85、PIN_MODE (7U)| PIN_INPUT);
    CSL_REG32_WR (WKUP_PMUX_CTRL+ CSL_WKUP_CTRL_MMR_CFG0_PADCONFIG85、PIN_MODE (7U)| PIN_INPUT);

    读取 CONFIG 寄存器
    RegVal = CSL_REG32_RD (WKUP_PMUX_CTRL+ CSL_WKUP_CTRL_MMR_CFG0_PADCONFIG85);
    App_Console 45cf ("@@ MCU_ADC1_AIN0 addr:%x regVal:%x \n"、WKUP_PMUX_CTRL+ CSL_WKUP_CTRL_MMR_CFG0_PADCONFIG85、regVal);

    @@ ADC_GPIO_PINMUX_CONFIG
    @@ WKUP_PMUX_CTRL:43000000
    @@添加:4301c154配置值:50007
    @@添加:4301c158配置值:50007
    @@添加:4301c15c 配置值:50007
    @@添加:4301c160配置值:50007
    @@ ADC_GPIO_PINMUX_READ
    @@ WKUP_PMUX_CTRL:43000000
    @@ MCU_ADC1_AIN0 addr:4301c154 regVal:0
    @@ MCU_ADC1_AIN1地址:4301c158 regVal:0
    @@ MCU_ADC1_AIN2地址:4301c15c regVal:0
    @@ MCU_ADC1_AIN3地址:4301c160 regVal:0
    @@ MCU_ADC1_AIN0值:0
    @@ MCU_ADC1_AIN1值:0
    @@ MCU_ADC1_AIN2值:0
    @@ MCU_ADC1_AIN3值:0

    您能告诉我为什么寄存器剂量不应用我的配置值吗?

    Hans

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

    您好、Brijesh:

    仅通过 SysConfig 工具更新引脚多路复用设置、将其应用于  ( src mcu-build/pdk_j721s2_10_00_00_27/packages/ti/board/pdk/j721s2_evm/J721S2_pinmux.h)

    mcu-build/pdk_j721s2_10_00_00_27/packages/ti/board/pdk/j721s2_evm/j721s2_pinmux_data.c src)

    ——src a/packages/ti/board/pdoc/j721s2_evm/J721S2_pinmux.h
    ++ src b/packages/ti/board/sdc/j721s2_evm/J721S2_pinmux.h
    @@-135、10 + 135、6 @@枚举引脚 WkupOffsets
    PIN_MCU_ADC1_AIN1 = 0x158
    PIN_MCU_ADC1_AIN2 = 0x15C、
    PIN_MCU_ADC1_AIN3 = 0x160
    - PIN_MCU_ADC1_AIN4 = 0x164
    - PIN_MCU_ADC1_AIN5 = 0x168
    - PIN_MCU_ADC1_AIN6 = 0x16C、
    - PIN_MCU_ADC1_AIN7 = 0x170,
    PIN_MCU_RGMII1_RD0 = 0x094、
    PIN_MCU_RGMII1_RD1 = 0x090
    PIN_MCU_RGMII1_RD2 = 0x08C、

    diff—-git a/packages/ti/board/j721s2_evm/j721s2_pinmux_data.c src b/packages/ti/board/j721s2_evm/j721s2_pinmux_data.c src
    索引2f8c741..7e5954c 100644
    ——a/packages/ti/board/pdoc/j721s2_evm/j721s2_pinmux_data.c src
    ++ b/packages/ti/board/pdoc/j721s2_evm/j721s2_pinmux_data.c src
    @@-360、55 +360、9 @@静态引脚多路复用 PerCfg_t gMcu_adc0PinCfg[]=
    {PINMUX_END}
    };

    -static pinmuxPerCfg_t gMcu_adc1PinCfg[]=
    -{
    -/* MyMCU_ADC1 -> MCU_ADC1_AIN0 -> P25 *
    -{
    - PIN_MCU_ADC1_AIN0、PIN_MODE (0)|\
    -((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    -}、
    -/* MyMCU_ADC1 -> MCU_ADC1_AIN1 -> R25 *
    -{
    - PIN_MCU_ADC1_AIN1、PIN_MODE (0)|\
    -((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    -}、
    -/* MyMCU_ADC1 -> MCU_ADC1_AIN2 -> P28 *
    -{
    - PIN_MCU_ADC1_AIN2、PIN_MODE (0)|\
    -((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    -}、
    -/* MyMCU_ADC1 -> MCU_ADC1_AIN3 -> P27 *
    -{
    - PIN_MCU_ADC1_AIN3、PIN_MODE (0)|\
    -((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    -}、
    -/* MyMCU_ADC1 -> MCU_ADC1_AIN4 -> N25 *
    -{
    - PIN_MCU_ADC1_AIN4、PIN_MODE (0)|\
    -((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    -}、
    -/* MyMCU_ADC1 -> MCU_ADC1_AIN5 -> P26 *
    -{
    - PIN_MCU_ADC1_AIN5、PIN_MODE (0)|\
    -((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    -}、
    -/* MyMCU_ADC1 -> MCU_ADC1_AIN6 -> N26 *
    -{
    - PIN_MCU_ADC1_AIN6、PIN_MODE (0)|\
    -((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    -}、
    -/* MyMCU_ADC1 -> MCU_ADC1_AIN7 -> N27 *
    -{
    - PIN_MCU_ADC1_AIN7、PIN_MODE (0)|\
    -((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    -}、
    -{PINMUX_END}
    -};
    -
    静态引脚多路复用 ModuleCfg_t gMcu_adcpinCfg[]=

    {0、1、gMcu_adc0PinCfg}、
    -{1、1、gMcu_adc1PinCfg}、
    {PINMUX_END}
    };

    @@-1019、6 +973、28 @@静态引脚多路复用 PerCfg_t gWkup_gpio0PinCfg[]=
    PIN_MCU_SPI0_CS0、PIN_MODE (7)|\
    ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    }、
    +// hans add
    +/* MyWKUP_GPIO1 -> WKUP_GPIO0_79 -> P25 *
    +{
    + PIN_MCU_ADC1_AIN0、PIN_MODE (7)|\
    +((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    +}、
    +/* MyWKUP_GPIO1 -> WKUP_GPIO0_80 -> R25 *
    +{
    + PIN_MCU_ADC1_AIN1、PIN_MODE (7)|\
    +((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    +}、
    +/* MyWKUP_GPIO1 -> WKUP_GPIO0_81 -> P28 *
    +{
    + PIN_MCU_ADC1_AIN2、PIN_MODE (7)|\
    +((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    +}、
    +/* MyWKUP_GPIO1 -> WKUP_GPIO0_82 -> P27 *
    +{
    + PIN_MCU_ADC1_AIN3、PIN_MODE (7)|\
    +((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    +}、
    +// hans add
    {PINMUX_END}
    };

     

    为什么寄存器读取值为0?

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

    尊敬的 Lin:

    如果您在此核心上使用视觉应用、则 PDK 文件不会在视觉应用中使用。 您需要在 Vision Apps 文件中更新此 pinmux。 在文件 app_utils\utils\misc\app_pinmux_j721s2.c 中 src

    此致、

    Brijesh

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

    您好、Brijesh:

    我将在\mcu-build\pdk_j721s2_10_00_00_27\packages\ti\csl\examples\mcan\mcanEvmLoopback\mcan_evm_loopback_app_main_k3.c 中添加一些测试代码

    padConfig_prcmEnable  
      boardCfg = Board_init_module_clock |
            BOARD_INIT_PINMUX_CONFIG |
            BOARD_INIT_UNLOCK_MMR |
            BOARD_DEINIT_LOCK_MMR;
    #if (APP_ENABLE_UART_PRINT == 1)
      boardCfg |= Board_init_uart_stdio;
    #endif
    boardStatus = Board_init (boardCfg);
    }
    mcu-build/pdk_j721s2_10_00_00_27/packages/ti/board/board/pdk/j721s2_evm/board_init.c src
    Board_init{
     如果(CFG 和 Board_init_PINMUX_CONFIG)
    RET = Board_pinmuxConfig ();
    if (Board_SOK!= ret)
    回流塔;
    }
    mcu-build/pdk_j721s2_10_00_00_27/packages/ti/board/board/pdk/j721s2_evm/board_pinmux.c src
    BOARD_STATUS BOARD_pinmuxConfig (空)

    BOARD_STATUS = BOARD_SOK;

    /*基板的 Pinmux */
    Board_pinmuxUpdate (gJ721S2_MainPinmuxData、
    Board_SOC_DOMAIN_MAIN);
    Board_pinmuxUpdate (gJ721S2_WkupPinmuxData、
    BOARD_SOC_DOMAIN_WKUP);

    返回状态;
    }

    mcu-build/pdk_j721s2_10_00_00_27/packages/ti/board/pdk/j721s2_evm/j721S2_pinmux_data.c src
    引脚多路复用板 Cfg_t gJ721S2_WkupPinmuxData[]=

    {0、gMcu_adcpinCfg}、
    {1、gMcu_cpsw2gPinCfg}、
    {2、gMcu_i2cpinCfg}、
    {3、gMcu_i3cpinCfg}、
    {4、gMcu_mcanPinCfg}、
    {5、gMcu_mdioPinCfg}、
    {6、gMcu_ospiPinCfg}、
    {7、gMcu_uartPinCfg}、
    {8、gWkup_gpioPinCfg}、
    {9、gWkup_i2cpinCfg}、
    {10、gWkup_uartPinCfg}、
    {PINMUX_END}
    };
    静态引脚多路复用 ModuleCfg_t gWkup_gpioPinCfg[]=
      {01gWkup_gpio0PinCfg}、
      {PINMUX_END}
    };
    我已更新 J721S2_pinmux_data.c 中的这些引脚复用 Wkup_gpio0PinCfg   但读取的寄存器值仍然为0。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Brijesh:

    检查 MCU CAN  MCU_MCAN0_ENABLE_PIN 和 MCU_MCAN0_STB_PIN 寄存器状态。

    寄存器值读数如下所示。

    WKUP_GPIO0_0  MCU_MCAN0_ENABLE_PIN 地址:4301c0c0 regVal:50007

    WKUP_GPIO0_69 MCU_MCAN0_STB_PIN 地址:4301c0a8 regVal:50007
    我确定 MCU_ADC1_AINx GPIO 引脚 锁定在某些位置、尽管我已经更新了 J721S2_pinmux_data.c 中的引脚多路复用

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

    尊敬的 Lin:

    何时读取这些寄存器值? 注意什么? 因为这似乎是正确的寄存器值。 这两个引脚的 pinmux 寄存器显示它被配置为 GPIO。

    此致、

    Brijesh

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

    您好、Brijesh:

    启动后的固件更新。  

    两个 MCU 都可以  MCU_MCAN0_ENABLE_PIN 和 MCU_MCAN0_STB_PIN 寄存器 regVal:50007。

    我已经跟进了 SysConfig 更改、但 MCU_ADC1_AINx GPIO 读取寄存器值为:0x0。

    @@ ADC_GPIO_PINMUX_READ
    @@ WKUP_PMUX_CTRL:43000000
    @@ MCU_ADC1_AIN0 addr:4301c154 regVal:0
    @@ MCU_ADC1_AIN1地址:4301c158 regVal:0
    @@ MCU_ADC1_AIN2地址:4301c15c regVal:0
    @@ MCU_ADC1_AIN3地址:4301c160 regVal:0
    @@ MCU_ADC1_AIN0值:0
    @@ MCU_ADC1_AIN1值:0
    @@ MCU_ADC1_AIN2值:0
    @@ MCU_ADC1_AIN3值:0

    你能告诉我为什么?

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

    尊敬的 Lin:

    很抱歉、没有找到。 您的意思是、只有 ADC 引脚的 pinmux 值没有变化? 也是如此呢? 这些 ADC 引脚的地址是否正确? 或是否有人覆盖这些引脚多路复用寄存器?

    您是否使用 SBL 引导流程? 然后、您是否可以在调用 Board_init api 设置 pinmux 后等待、然后检查这些寄存器的值以确认它们是否 由电路板 API 正确设置?  

    此致、

    Brijesh

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

    您的意思是、只有 ADC 引脚的 pinmux 值没有变化?
    [Hans]是的。

    这些 ADC 引脚的地址是否正确?
    [Hans]是的如下所示。  此外、"TDA4VE TDA4AL TDA4VL Jacinto 处理器、器件版本1.0 DATABLE_revA"还指出了 P.37中的该组:MCU_ADC1_AN1 PADCFG:WKUP_PADCONFIG_86 0x4301C158 (WKUP_GPIO_80)。

    @@-1019、6 +973、28 @@静态引脚多路复用 PerCfg_t gWkup_gpio0PinCfg[]=
    PIN_MCU_SPI0_CS0、PIN_MODE (7)|\
    ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    }、
    +// hans add
    +/* MyWKUP_GPIO1 -> WKUP_GPIO0_79 -> P25 *
    +{
    + PIN_MCU_ADC1_AIN0、PIN_MODE (7)|\
    +((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    +}、
    +/* MyWKUP_GPIO1 -> WKUP_GPIO0_80 -> R25 *
    +{
    + PIN_MCU_ADC1_AIN1、PIN_MODE (7)|\
    +((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    +}、
    +/* MyWKUP_GPIO1 -> WKUP_GPIO0_81 -> P28 *
    +{
    + PIN_MCU_ADC1_AIN2、PIN_MODE (7)|\
    +((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    +}、
    +/* MyWKUP_GPIO1 -> WKUP_GPIO0_82 -> P27 *
    +{
    + PIN_MCU_ADC1_AIN3、PIN_MODE (7)|\
    +((PIN_PULL_DISABLE | PIN_INPUT_ENABLE)和(~PIN_PULL_DIRECTION))
    +}、
    +// hans add
    {PINMUX_END}
    };

    是否有人覆盖这些引脚多路复用寄存器?
    [Hans]我不知道是谁打字的 ADC 引脚多路复用寄存器CAN mcan_evm_loopback_app_main_k3.c 设置如下ADC GPIO 组寄存器不应为0x0。

    您是否使用 SBL 引导流程?
    [Hans]是的使用 mcan_evm_loopback_app_main_k3.c 作为示例代码检查 CAN MCU_MCAN0_ENABLE_PIN 和 MCU_MCAN0_STB_PIN 寄存器 regVal:50007之后。
    然后检查 MCU_ADC1_AINx GPIO 读取寄存器值为:0x0。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您是否可以尝试从 CCS 存储器窗口将0x50007写入此寄存器地址、看看您是否能够写入此地址?  

    此致、

    Brijesh

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

    尝试使用 CSL_REG32_WR (0x4301C158 、0x50007)更新0x4301C158 (MCU_ADC1_AIN1 WKUP_GPIO0_80)。  
    结果显示寄存器值为0x0、无法更新。

    在 pdk_j721s2_10_00_00_27/packages/ti/CSL/GPIO/V0/gpio.h 中、指示 src 相对 API 有效的 GPIO 运行引脚范围
    (0 <= pinNumber <= 63)。

    是否不能将限制的(MCU_ADC1_AIN1 WKUP_GPIO0_80)定义为正常 GPIO 引脚?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 Brijesh:

    还有另一个 TT 讨论同一主题。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1456579/tda4al-q1-could-we-set-mcu_adc1_ainx-as-a-gpio

    我正在尝试将   MCU_ADC1_AIN0配置为正常 GPIO 输入。
    App_Console 45cf ("@@ CSL_MCU_CTRL_MMR0_CFG0_BASE + CSL_MCU_CTRL_MMR_CFG0_MCU_ADC1_CTRL:%x \n"、CSL_MCU_CTRL_MMR0_CFG0_BASE+ CSL_MCU_CTRL_MMR_CFG0_MCU_MCU_MCU_ADC1_CTRL);

    regVal = CSL_REG32_RD (CSL_MCU_CTRL_MMR0_CFG0_BASE + CSL_MCU_CTRL_MMR_CFG0_MCU_ADC1_CTRL);

    App_Console 8.45f ("@@读取 CSL_MCU_CTRL_MMR_CFG0_MCU_ADC1_CTRL 原始 regVal:%x \n"、regVal);

    App_Console 45cf ("@@写入 GPI 模式 CSL_MCU_CTRL_MMR_CFG0_MCU_ADC1_CTRL_GPI_MODE_EN_MASK \n");

    HW_WR_FIELD32_RAW (CSL_MCU_CTRL_MMR0_CFG0_BASE + CSL_MCU_CTRL_MMR_CFG0_MCU_ADC1_CTRL、CSL_MCU_CTRL_MMR_CFG0_MCU_ADC1_CTRL_GPI_MODE_EN_MASK、CSL_MCU_CTRL_MMR_MCU_MMR_CFG0_MCU_MCU_MCU_MCU_ADC1_MODE_EN_SHIFG);

    regVal = CSL_REG32_RD (CSL_MCU_CTRL_MMR0_CFG0_BASE + CSL_MCU_CTRL_MMR_CFG0_MCU_ADC1_CTRL);
    App_Console 8.45f ("@@ CSL_MCU_CTRL_MMR_CFG0_MCU_ADC1_CTRL 原始 regVal:%x \n"、regVal);
     
     40f040b4寄存器的原始值:0x1。  
    我无法将其更改为 GPIO 输入模式。
    您能帮助检查出了什么问题吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Brijesh:

    此票证解决了我的问题。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1456579/tda4al-q1-could-we-set-mcu_adc1_ainx-as-a-gpio

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

    谢谢 Lin。