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.

[参考译文] AM2612:在 GPIO 上配置数字滤波器

Guru**** 2908170 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/1642077/am2612-configure-a-digital-filter-on-gpio

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

您好、

我的客户希望在 GPIO 上实现一个大约 0.1us 的数字滤波器、并在 SysConfig 中将“Qual Seel“设置为“6 样片“。

1. AC 根据 TRM、可使用 QUALPRD 设置进一步调整数字滤波器。 在 sysconfig 中没有具体的内容、 QUALPRD“0“的默认值是 吗?

2. 您能否就如何配置 QUALPRD?

  是否可以通过 IOMUX_QUAL_GRP_xx_CFG_REG 的位 0:7 进行设置

  是否有必要直接在代码中写入寄存器? 或者是否可以在系统配置中进行设置?

 

谢谢。此致、

英明

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

    Hi Hideaki-san、

    让我检查一下、下周初回来。

    此致、
    Shaunak

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid=“10509“ url=“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1642077/am2612-configure-a-digital-filter-on-gpio

      是否有必要直接在代码中写入寄存器? 或者是否可以在系统配置中进行设置?

    [/报价]

    Hi Hideaki-san、

    这需要直接用代码编写、没有直接的 SysConfig 方法来执行此操作。 对于 GPIO 引脚、我们支持 2n 个 SYSCLKOUT 周期的限定采样周期(即每 2n 个 SYSCLKOUT 周期、GPIO 引脚被采样)。 这里、n 可以是 0、3、6。  使用 GPxCTRL 寄存器选择的限定期会应用于 8 个 GPIO 引脚的组。

    [引述 userid=“10509“ url=“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1642077/am2612-configure-a-digital-filter-on-gpio

      是否可以通过 IOMUX_QUAL_GRP_xx_CFG_REG 的位 0:7 进行设置

    [/报价]

    是的、您可以通过 IOMUX 寄存器进行设置

    此外、对于特定的 GPIO、您也可以从 IOMUX_GPIO0_CFG_REG 位单独设置。

    在上面显示的示例中、为了使限定符检测到变化、输入必须在 10 个 SYSCLKOUT 周期内保持稳定。 确保发生 5 个用于检测的采样周期。 由于外部信号是异步驱动的、因此 13 个 SYSCLKOUT 宽的脉冲将确保可靠识别。

    您是否也使用 eCAP 或 ePWM? 如果是、则必须使用 eCAP_ECCTLx 寄存器(捕获控制寄存器)配置 QUALPRD。

    此致、
    Shaunak

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

    尊敬的 Shaunak:

     

    感谢您的答复。  客户知道无法通过 SysConfig 配置 QUALPRD。

     

    他们已经根据 TRM 计算了数字滤波器参数。 您能否查看并验证下面的计算结果是否正确?

    SYSCLK

    250

    MHz

    QUALPRD

    3.

    采样频率

    41.6667

    MHz

    采样周期

    0.024

    μs μ s

    样本数

    6.

    3 或 6

    总采样窗口宽度

    0.12

    μs μ s

     

    他们希望使用这些设置将 GPIO124 配置为数字滤波器。

    请提供配置 QUALPRD 的示例代码吗?

     

    谢谢。此致、

    英明

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

    Hi Hideaki-san、

    对延迟回复表示歉意、我因客户初次出差。

    是您的计算值正确:

    您可以使用 SDK API 进行配置:

    #include <drivers/pinmux.h>
    
    /* GPIO124 is in the GPIO120-127 group.
     * Determine the qualGroupIndex for this group (range 0-17).
     * For GPIO120-127, qualGroupIndex = 15 (i.e., 120/8 = 15) */
    #define GPIO124_QUAL_GROUP_INDEX  (15U)
    #define QUALPRD_VALUE             (3U)
    
    void configureGPIO124_Qualification(void)
    {
        /* Step 1: Configure the qualification period (QUALPRD = 3) */
        Pinmux_qualPeriodConfig(GPIO124_QUAL_GROUP_INDEX, QUALPRD_VALUE);
    
        /* Step 2: Configure GPIO124 pin with 6-sample qualification mode */
        Pinmux_PerCfg_t gPinMuxCfg[] = {
            {
                .offset  = PIN_GPIO124_OFFSET,  /* Register offset for GPIO124 */
                .settings = PIN_MODE(7)         /* GPIO mode */
                          | PIN_QUAL_6SAMPLE    /* 6-sample qualification (bits[19:18] = 10) */
                          | PIN_PULL_DISABLE
                          | PIN_GPIO_R5SS0_0    /* CPU ownership - adjust as needed */
            },
            {PINMUX_END, PINMUX_END}
        };
    
        Pinmux_config(gPinMuxCfg, PINMUX_DOMAIN_ID_MAIN);
    }

    SysConfig 中未公开此功能、因此无法直接从此处完成。

    此致、
    Shaunak