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.

[FAQ] [参考译文] [常见问题解答] TDA4VL-Q1:ESM 中断配置

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1521560/faq-tda4vl-q1-esm-interrupt-configuration

器件型号:TDA4VL-Q1

工具/软件:

如何使用 SDL_ESM_CONFIG 来配置 ESM 参数? 哪个位映射到哪个 ESM 事件?

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

    您好、

    请查看下面随附的配置:

    static SDL_ESM_config ECC_Test_esmInitConfig_WKUP =
    {
        .esmErrorConfig = {0u, 3u}, /* Self test error config */
        .enableBitmap = {0x0000c700u, 0x00000000u, 0x00000007u, 0x00000000u,
                         0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                         0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                         0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                         0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                         0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                         0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                         0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                         },
        .priorityBitmap = {0x0000c700u, 0x00000030u, 0x00000005u, 0x00000000u,
                           0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                           0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                           0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                           0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                           0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                           0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                           0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                           },
        .errorpinBitmap = {0x00000000u, 0x00000000u, 0x00000005u, 0x00000000u,
                           0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                           0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                           0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                           0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                           0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                           0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                           0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u,
                          },
    };

    我已启用下表中列出的以下事件编号-

    组编号 中断 ID 事件名称

    0

    (事件0-31)

    8. WKUP_VTM0_THERM_LVL_GT_TH1_INTR_0
    9. WKUP_VTM0_THERM_LVL_LT_TH0_INTR_0
    10. WKUP_VTM0_THERM_LVL_GT_TH2_INTR_0
    14 WKUP_ECC_AGGR0_CORR_LEVEL_0
    15 WKUP_ECC_AGGR0_Uncorr_LEVEL_0

    2.

    (事件64-95)

    64 WKUP_PRG_MCU_3POKS0_POK_PGOOD_UV_OUT_N_TO_ESM_OUT_0
    65 WKUP_PRG_MCU_3POKS0_POK_PGOOD_OV_OUT_N_TO_ESM_OUT_0
    66 WKUP_PRG_MCU_3POKS0_POK_PGOOD_UV_OUT_N_TO_ESM_OUT_1

    正如我之前提到的、中的每个条目 enableBitmap 结构表示一个 ESM 组(一组32个事件)。 32位中的每一位对应于一个不同的事件。 要启用特定事件、您只需将该事件对应的位设置为1。 在以上示例中、我启用了组0中的事件8、9、10、14和15。 如果您查看 enableBitmap 的第一个条目(即0xc700)、您将看到事件8、9、10、14和15的位已设置、从而启用我突出显示的 ESM 事件。 同样、事件64、65和66将是组2的一部分(64/32 = 2)、而对应于组2的64、65和66的位0、1和2设置为0x7。

    为了将这些事件映射到 ERRORn 引脚、您必须将中的相同位设置为1 errorpinBitmap 字段中。

    使用。 esmErrorConfig 是在执行 ESM 自检时可以使用的东西。 它对 ESM 的常规编程没有用处。 ESM 模块可以使用其中的任何一个设置、如果发生指示自检完成的错误事件、它将设置一个特殊标志。 您可以选择您想要的任何事件。 我们会在用例中选择一些未使用的事件、以避免干扰正常运行或可能发生的实际错误事件。 这就是为什么设置3u 和8u 等值的原因。

    此致、

    Josiitaa