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.

[参考译文] TMS570LC4357:关于 DMA 模块的高完整性位

Guru**** 2468610 points
Other Parts Discussed in Thread: TMS570LC4357

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1070673/tms570lc4357-regarding-high-integrity-bits-of-dma-module

部件号:TMS570LC4357
“线程:测试”中讨论的其它部件

您好,

这是一个有关 DMA 模块和 ESM1.88的高完整性位的问题。

我们已经检查了 SPNU563A 的 DMA 模块部分,但没有详细描述高完整性位。

我们希望识别 DMA 模块的高完整性位。

例如,SYS 模块被描述为 SPNU563A 第2.5.1.13节的以下内容。

2.5.1.13时钟域禁用寄存器(CDDIS)
注:所有时钟域都在唤醒时启用。
应用程序应确保当通过 HCLKOFF 位关闭 HCLK 和 VCLK_sys 时,GCLK1域也会关闭。
CDDIS 中的寄存器位被指定为高完整性位,并通过纠错逻辑实现,因此每个位(尽管读写为单个位)实际上是具有纠错功能的多位密钥。 因此,可以纠正“密钥”中的单位翻转,以保护整个系统。 检测到的错误会发送给 ESM 模块。

请告诉我哪一个寄存器对应于高完整性位。

谢谢,

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

    你好,Sho,

    以下 DMA 寄存器受大多数基本安全保护逻辑(或高完整性)保护:

    1.  全球控制寄存器(GCTRL)中的 DMA_EN 位(位16)和 DMARES 位(位0)

    2.ERRA :位(位16),DMA ECC 控制寄存器(DMAPECR)中的测试位(位8)

      3. DMA 单位 ECC 控制寄存器(DMASECCCTRL)中的 SBERR (位16)

    DMA_EN/ERRA/test/SBERR 是一个位,如寄存器中所示,但在实际设计中它由三个位组成。 如果这三个位中的一个发生翻转,DMA 仍将检查这三个位中的大部分,并且控制位仍然正确。

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

    QJ 您好,

    感谢你的回复。

    我们可以理解 DMA 的高完整性位。

    我们还有三个关于 L2FMC (ESM 1.89)和 SYS (ESM 1.90)的高完整性位的问题。

    问题1. 请告诉我哪些位和寄存器与 L2FMC 模块的高完整性位对应?

    问题2. 以下哪项是受高完整性位保护的 SYS 模块上 CDDIS,CPUSTCR 和 SYSECR 的位?

    问题3. 是否存在除 Q2寄存器之外的由高完整性位提供保护的位?

    谢谢,

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

    你好,Sho,

    [引用 userid="408391" url="~ë/support/icls/arm-based 微处理器-组/基于 ARM 的微处理器/f/arm-based 微处理器- forum/1070673/tms570lc4357 -关于高完整性位 DMA 模块/396639539#3966395395]Q1。 请告诉我哪些位和寄存器与 L2FMC 模块的高完整性位对应?

     FEDAC_5-12CtlGBLSTATUS 寄存器的 RCR_ERR 位。  

    [引用 userid="408391" url="~ë/support/icls/arm-based 微处理器-组/基于 ARM 的微控制器/f/arm-based 微控制器- forum/1070673/tms570lc4357 -关于高完整性位 DMA 模块/396639539#3966395395]Q2。 以下哪项是受高完整性位保护的 SYS 模块上 CDDIS,CPUSTCR 和 SYSECR 的位?[/quot]

    CDDIS: 所有时钟域位

    CPUSTCR: CPU 重置位(0位)

    SYSECR: 重置[1-0]位

    [引用 userid="408391" url="~ë/support/icls/arm-based 微处理器-组/基于 ARM 的微控制器/f/arm-based 微控制器- forum/1070673/tms570lc4357 -关于高完整性位 DMA 模块/396639539#396639539539]Q3。 是否存在除 Q2寄存器之外的高完整性位受保护位?

    MPULOCK:锁位

    MPUDIAGCTRL:DIAGKEY 位

    MPUCTRL1: MPUENA

    MPUCTRL2: ERRENA

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

    QJ 您好,

    感谢您的回复。

    我们对以下高完整性钻头操作的理解是否正确?

    1)处理写入到 高完整性位

    每3位配置高完整性位,每位都是相同的值(1或0)。

    2)发生单位错误时的读取处理  

    如 GCLK1OFF 和 VCLK3OFF 的下图所示, 如果一个3位的位翻转,则高完整性位的读数是正确的值。

    3)发生多位错误时的读取处理

    如 GCLK1OFF 的下图 所示,  如果两个3位的位翻转,则高完整性位的读数不正确,并生成“寄存器软错误”的 ESM。

    如果我们的理解正确,如何在两位3位的闪盘时检测到寄存器软错误?

    谢谢,

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

    你好,Sho,

    有用的图表。 你是对的。 谢谢

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

    QJ 您好,

    感谢您的回复。

    我们有一个关于翻转高完整性位的问题。

    要通知 ESM“寄存器软错误”,这些模块应检测到翻转的2位高完整性位。

    请告诉我翻转2位的检测方法吗?

    以下示例预计 CDDIS 寄存器的 GCLK1OFF 读值为零。

    案例1)翻转1位,写入= 0,读取= 0

    案例2)翻转2位,写入=1,读取=0

    谢谢,

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

    您好,Sho-San,

    可以更正“高完整性位”中的单位翻转,但无法更正双位或三位翻转。 在您的示例中,多数位的值为0,读取操作的返回值为0。

    您的图表正确。

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

    QJ-San,您好!

    感谢您的回复。

    我是 Sho 的同事。

    我还有更多问题。

    (1)我创建了一个关于“高完整性位”和“ESM”之间关系的图表。 这是正确的吗?
    (2)如果此图像正确,请告诉我“不可纠正的错误检测逻辑”的内容。
    (3)如果此图像不正确,请告诉我“高完整性位”和“ESM”之间的关系。

    此致,

    特鲁希萨