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:CPSW2G:ECC 错误

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1523893/tda4vm-cpsw2g-ecc-errors

器件型号:TDA4VM

工具/软件:

尊敬的 TI:

MCU_CPSW0 给出寄存器位 (TX_ECC_ERR_EN 和 RX_ECC_ERR_EN)、以启用/禁用主机端口(端口 0)和 MAC 端口(端口 1)上存在 ECC 错误的帧的发送/接收。

TRM 中说、“必须在寄存器中设置 RX_ECC_ERR_EN 或 TX_ECC_ERR_EN 位才能测试数据包 CRC 错误。“ 这些位是否仅用于测试 ECC CRC 错误?

MAC 端口入口:  

CPSW2G 上从 CANoe 接收的以太网数据包(想象)。 如果接收到的数据包出现 ECC 错误、CRC 将无效、并在 MAC 端口丢弃数据包。

  1. 将 CPSW_PN_CONTROL_REG;RX_ECC_ERR_EN 位设置 为 0/1 的用例是什么?
  2. 如果设为 0、则表示禁用。 由于 ECC 的原因、在 MAC 上接收的数据包被丢弃。 MAC 端口将如何识别从 CANoe 接收的数据包的 ECC 丢弃?
  3. 如果设为 1、则表示启用。  由于 CRC 无效、MAC 上接收到的数据包已被丢弃。 如何接收?
  4. 如果由于 ECC 而丢弃此数据包 (CPSW_PN_CONTROL_REG;RX_ECC_ERR_EN 设置为 0)、哪个 CPSW_STAT1 将递增?  

主机 端口入口:  

  1.  将 CPSW_P0_CONTROL_REG;RX_ECC_ERR_EN 位设置 为 0/1 的用例是什么?

    如何在通过 UDMA 从 OCRAM 复制到端口 0 的数据包中检测到 ECC 错误?
  2. 如果该数据包由于 ECC 而被丢弃 (CPSW_P0_RECC_ERR_EN 设置为 0)、则哪个 CPSW_STAT0 将递增?  
  3. 如果未丢弃此数据包 (CPSW_P0_CONTROL_REG;RX_ECC_ERR_EN 设置为 1)、来自 MAC 端口的出口上的该数据包是否具有无效的 CRC?  

期待收到您的回复。

此致、
Hasan

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

    Hasan,

    TX_ECC_ERR_EN 和 RX_ECC_ERR_EN 仅用于在 CPSW 存储器中生成和测试错误。 数据包标头受 ECC 保护。  数据包数据由内部 Castignoli CRC 保护、该 CRC 通过 CPSW 与每个数据包发送。  在出口处、在检查内部 CRC 是否正确后、为数据包生成正确的端口类型 CRC。  这两个位允许测试 CRC 部分。  通过 ECC 聚合器对标头 ECC 进行测试。  这两个 MMR 位与因 CRC 错误而进入的数据包无关。  如果数据包存在内部 CRC 错误、它将离开一个以太网端口、该端口至少反转了数据包 CRC 的一个字节、以向另一侧指示错误。  如果数据包数据存在内部位翻转、则应给出存储器保护错误。  对于入口 CRC 错误、数据包将照常丢弃(除非 CEF 设置为将错误数据包传输到主机)。

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

    您好:Mark、

    感谢您的答复。

    如果数据包数据的内部位翻转
    、则应给出内存保护错误

    这个存储器保护错误统计信息是针对 single-bit 翻转还是针对多位翻转递增?

    期待收到您的回复。

    此致、
    Hasan

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

    Hasan,

    内部 Castignoli CRC 错误会检测到存储器保护错误、因此应检测数据包数据的任何变化。

      标记

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

    您好:Mark、

    数据包报头受 ECC 保护。  [/报价]

    如果数据包标头遇到 single-bit 错误、则会自动纠正该错误、这不会被视为错误、在这种情况下不会使统计计数器递增、对吧?

    如果数据包标头遇到双位错误、这将是错误、哪个统计信息计数器将递增?

    期待收到您的回复。

    此致、
    Hasan

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

    Hasan,

    将纠正数据包标头中的 single-bit 错误、并向主机生成 SEC 中断。  数据包中的一个双位错误

    接头将向主机发出 DED 中断。  双位错误不可纠正、需要硬件复位。

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

    您好:Mark、


    数据包标头中的一位错误将被纠正、并将向主机产生 SEC 中断。

    哪些统计信息计数器会为此而递增、 例如  CPSW_STAT1_MEMORY_PROTECT_ERROR 或其他任何统计信息计数器?

    [报价 userid=“67142" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1523893/tda4vm-cpsw2g-ecc-errors/5860082 #5860082“]

    数据包中的一个双位错误

    接头将向主机发出 DED 中断。

    [/报价]

    哪些统计信息计数器会为此而递增、例如 CPSW_STAT1_MEMORY_PROTECT_ERROR 或其他任何统计信息计数器?

    期待收到您的回复。

    此致、

    Hasan

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

    对于 SEC 或 DED 错误、没有 stat。  它们是立即中断。

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

    您好:Mark、

    想象一下、在 CPSW2G Mac 端口(端口 1)上接收一个以太网数据包。 CRC 和目的 MAC 地址正确。 CPSW2G 内的以太网数据包通过两种方式受到保护、这两种方式是:

    1.  对数据包数据进行 Castignoli CRC
    2. 对数据包报头提供 ECC 保护

    根据我的理解和上述讨论、我可以总结如下:

    1. 如果数据包数据存在/有 single-bit 翻转/多位翻转、则会在主机端口丢弃该数据、CPSW_STAT0_TX_MEMORY_PROTECT_ERROR 计数会递增。
    2. 如果数据包数据存在 single-bit 翻转、则会自动校正。 但如果有多个位翻转、则不会纠正。 在这两种情况下、以太网数据包都将在主机端口丢弃、不会提供 CPSW 统计信息。

    请让我知道我的理解是否正确、如果不正确、请纠正它、以便我更好地理解这一概念。

    此致、
    Hasan

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

     2.如果 数据包报头上有单个位翻转,它将被自动纠正。 但是、如果数据包标头上存在多个位翻转、则不会纠正这些位翻转。 在这两种情况下、以太网数据包都将在主机端口丢弃、不会提供 CPSW 统计信息。  将发出 SEC 和 DED 中断。

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

    您好:Mark、

    感谢您的评分

    我还有一个问题:

    2.  如果 数据包报头上有 single-bit 翻转、则会自动纠正。 但是、如果数据包标头上存在多个位翻转、则不会纠正这些位翻转。 在这两种情况下、以太网数据包都将在主机端口丢弃、不会提供 CPSW 统计信息。  将发出 SEC 和 DED 中断。

    当自动纠正数据包标头中的一位错误时、为什么数据包在主机端口丢弃?

    期待收到您的回复。

    此致、
    Hasan

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

    Hasan,

    对错误陈述表示歉意。  SEC 错误会通过发出的中断(如果启用)进行纠正。  数据包不会被丢弃。  通过发出中断(如果启用)检测到已显示的错误。  数据包不会被丢弃。

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

    您好:Mark、

    在这两种情况 (SEC 和 DED) 下、以太网数据包都不会丢弃并传递到主机端口。 CPSW2G 仅在启用中断时才知道 SEC 和 DED。 我是否需要根据收到的每个数据包为 SEC 和 DED 检查这些中断?

    此致、

    Hasan   

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

    Hasan,

    您的软件应启用中断、这样如果收到中断、您就会知道存在 SEC 或 DED 错误。

    SEC 错误将被纠正、因此软件不需要执行任何操作。  Ded 错误需要硬件复位。

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

    您好:Mark、

    进行任何更新。

    此致、
    Hasan

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

    Hasan,

    MEMORY_PROTECT_ERRORS 应丢弃到 2 端口中的主机。  这是您看到的吗?

    SEC 错误已更正。  Ded 错误不会被丢弃、需要进行硬件复位。

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

    标记、

    在主机端口上不会丢弃 MEMORY_PROTECT_ERROR。

    此处讨论了详细信息:

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1515066/tda4vm-cpsw2g-statistics-tx_memory_protect_error/5849087?tisearch=e2e-sitesearch&keymatch=%2520user%253A557709#5849087

    此致、
    Hasan