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.

[参考译文] TMS570LS3137:针对勘误表 PBIST#4和 STC#31的问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/600873/tms570ls3137-questions-for-errata-pbist-4-and-stc-31

器件型号:TMS570LS3137
主题中讨论的其他器件:HALCOGEN

您好!

我们在加电时使用 PBIST 和 STC 一次。 根据勘误表 spnz195g、我们可能会遇到问题。

1. STC#31声称 此勘误表的原因与 PBIST#4勘误表的原因相同。 这是否意味着在与 PBIST 4发生相同的上电时、STC#31也将发生并使 STC 发生故障?

2.这些勘误表的统计数字是多少?

3.这两个勘误表的建议权变措施是在运行 PBIST 和 LBIST 之前使用 errata_PBIST_4()函数。 根据这个函数的描述、它在 PBIST 和 STC ROM 上执行一个测试。

答:这个测试是否总是通过并确保 RAM PBIST 和 STC 测试将一直 正确运行?

b.如果作为 PBIST 的一部分、我们首先测试 PBIST 和 STC ROM、我们是否获得与执行 errata_PBIST_4 ()相同的结果?

 

谢谢、

 

Alex

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

    有几个问题。

    1) 您正在使用的器件版本是什么。
    2) 您使用的是 Halcogen、如果是、是哪个版本。

    这些问题已在当前可用的修订版本 D 芯片中得到解决。 如果您使用的是较旧的器件版本 C、则 Halcogen 中也包含了这些勘误表的解决方法、但我目前不知道哪个版本的 Halcogen 包含此更新。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好、Chuck、

    目前、我们使用的是芯片修订版本 C。我们在5-6年前开发了代码、查看生成的 Halcogen 代码、但它不是该代码的副本、也不会更新、也不会与生成的新版本 Halcogen 进行比较。 这是因为我们仅使用生成的代码来了解器件的工作原理。 具体而言、PBIST 是在当时以汇编语言生成的、我们修改了该函数以仅测试我们使用的内容。

    谢谢、

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

    希望这只会对您的开发和/或生产产生轻微影响。 我建议您查看最新的 Halcogen 代码和它包含的 PBIST#4解决方案、它可作为实现代码更新的参考。 您是否计划更新至 Rev.D 器件? 我相信 TI 为大多数客户推荐了这种过渡方案。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    卡盘、

    我们正处于开发的关键阶段、要进行任何更改、会产生代价高昂的进度差异。 您能否请 TI 的某个人回答我的问题?

    谢谢、

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

    Alex、

    有关您的具体问题的一些其他更详细的答案:

    [引用 user="Alex Spivak"]1. STC#31声称 此勘误表的原因与 PBIST#4勘误表的原因相同。 这是否意味着在 PBIST#4发生的相同加电上、STC#31也将发生并使 STC 发生故障?[/QUERT]

    STC 和 PBIST 的两个 ROM 是分开的、每个 ROM 的故障可能性是独立的。 PBIST 故障会导致立即通过、诊断被完全旁路并直接通过。 显然,由于有可能错过真正的失败,这是危险的。 STC 模块将在意外发生时指示故障。 因此、对于 STC 而言、这是一个错误的故障可能性、导致系统像 CPU 发生故障一样采取措施。

    [引用用户="Alex Spivak"]2. 这些勘误表的统计数字是多少?[/引述]

    我们对故障没有具体的统计预测。 它依赖于温度和电压、发生点/甜蜜点因器件而异。 最后、这是一种系统故障、我们可以通过改变温度和电压使其在所有器件上发生。 我想从统计角度来看、在某些运行条件下、它会影响100%的器件。

    [引用用户="Alex Spivak"]

    3.这两个勘误表的建议权变措施是在运行 PBIST 和 LBIST 之前使用 errata_PBIST_4()函数。 根据这个函数的描述、它在 PBIST 和 STC ROM 上执行一个测试。

    答:这个测试是否总是通过并确保 RAM PBIST 和 STC 测试将一直 正确运行?

    [/报价]

    是的。 权变措施是对用于 PBIST 和 STC 的每个 ROM 执行访问、直到它们正确。 一旦它们正确、在下一个下电上电前将不会出现任何问题。

    [引用用户="Alex Spivak"]b. 如果作为 PBIST 的一部分、我们首先测试 PBIST 和 STC ROM、我们是否获得与执行 errata_PBIST_4 ()相同的结果?

    我需要有关正在执行的测试的更多详细信息。 PBIST#4权变措施是访问每个 ROM、直到它们从 ROM 中读取正确的值。 除了用于 PBIST#4的测试之外,我不能想到可以执行同样的测试,或者至少能够预测测试结果是有效的。


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

    你好、Chuck、

    感谢您的详细信息。

    下面是 我们的 PBIST 函数的内容。  除了测试不同的 RAM 组件之外、它还通过 执行那些内置测试来首先验证 STC 和 PBIST ROM 是否有效、这些测试是 PBIST 算法的一部分。 如果这是 errata_PBIST_4 ()函数所执行的操作(根据其描述)、则应涵盖我们。

    您能否确认执行测试 PBIST 和 STCT ROM 的 PBIST 内置算法对于 PBIST 4和 STC#31勘误表足够了?

    谢谢、

       全局 PBIST_
       asmfunc
       全局 PBIST_Results
    PBIST_:

           LDR  R12,regPbist   ;Pbist 寄存器帧基指针
           LDR  r11,palgo      ;算法数组指针
           LDR  R10,printfo     ;Rinfo 阵列指针
           LDR  R9,regMstGcr  ;MstGcr 寄存器指针
           MOV  R8、#13        ;测试循环计数器
           MOV  R3、#0
    Aoop:
           SUS R8、R8、#1
           beq  pbistEnd
           LDR  R4,[r11],#4   ;负载电流算法选择
           LDR  R5、[R10]、#4   ;负载电流信息选择
           CMP  R4、#0
           Beq  aloop
           MOV  r7、#1
           STR  r7,[R9,#8]   ;启用 BIST 控制器
           MOV  r7、#0x10A
           STR  r7、[R9]       ;设置 ROMCLK 分频器并启用 PBIST 测试
           NOP                  ;等待32个 VBUS 周期
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           NOP
           MOV  r7、#3
           STR  r7、[R12、#0x80];Pbist PACT 寄存器
           STR  R4,[R12,#0xC4];选择算法
           STR  R5、[R12、#0xC8];选择 TEST RAMS
           MOV  R6、#0
           STR  R6、[R12、#0xCC];选择 TEST RAMS
           STR  R6、[R12、#0x88];禁止覆盖
           STR  r7、[R12、#0xC0];使用 ROM 中的算法和 rinfo
           MOV  r7、#1
           STR  r7、[R9、#0x10];清除 Pbist 完成标志
           MOV  R6、#0x14
           STR  R6、[R12、#0x64];启用基于 ROM 的测试并开始测试
    dloop:  
           LDR  R6、[R9、#0x10];加载 Pbist 完成标志
           CMP  R6、#0
           beq  dloop        
           LDR  R4、[R12、#0x90];读取 Pbist FSRF0
           LDR  R5、[R12、#0x94];读取 Pbist FSRF1
           添加 了 R6、R4、R5、LSL #1
           beq  DTest          ;如果没有故障跳转以禁用 PBIST
           ;测试失败,停止测试
           MOV  R2、#0x1000    ;设置位12 (用于12次测试)
           LSR  R2、R8         ;逻辑将 R2中的1向右移动 R8中的值
           ORR  R3、R3、R2     ;R3 = R3或 R2,为故障存储器设置位
    测试:        
           MOV  R4、#0x105
           STR  R4,[R9]       ;DISABLE PBIST 测试
           B    aloop          ;跳转以执行下一个测试
    双稳态编码:
           MOV  r7、#0
           STR  r7、[R12、#0x80];在 PACT 寄存器中禁用 Pbist 和 ROM 时钟
           LDR  R1、pTestResult
           STR  R3、[R1]
           BX LR    

    regMstGcr:  .word 0xFFFFFF58
    regPbist:   .word 0xFFFFFFE500
    pTestResult:.word PBIST_Results


    算法:
             .word 1<<<1;算法[1]三路快速读取 ROM
             适用于 单端口 RAM 的.word 1<<3;算法[3] March13N
             适用于 双端口 RAM 的.word 1<<2;算法[2] March13N
             适用于 双端口 RAM 的.word 1<<2;算法[2] March13N
             适用于 双端口 RAM 的.word 1<<2;算法[2] March13N
             适用于 双端口 RAM 的.word 1<<2;算法[2] March13N
             适用于 双端口 RAM 的.word 1<<2;算法[2] March13N
             适用于 双端口 RAM 的.word 1<<2;算法[2] March13N
             适用于 双端口 RAM 的.word 1<<2;算法[2] March13N
             适用于 双端口 RAM 的.word 1<<2;算法[2] March13N
             适用于 双端口 RAM 的.word 1<<2;算法[2] March13N
             适用于 双端口 RAM 的.word 1<<2;算法[2] March13N
    palgo:   .word  algo

    rinfo:
             .word 0x00000003;Test1、PBIST 和 STC ROM 组
             .word 0x01300020;Test2、ESRAM RAM 组
             .word 0x00000A00;Test3、DMA、VIM RAM 组
             .word 0x00000004;Test4、DCAN1 RAM 组
             .word 0x00000008;Test5、DCAN2 RAM 组
             Word 0x00000010;Test6、DCAN3 RAM 组
             Word 0x00000040;Test7、MibSPI1 RAM 组
             Word 0x00000080;Test8、MibSPI2 RAM 组
             .word 0x00000100;Test9、MibSPI3 RAM 组
             .word 0x00000400;Test10、ADC1 RAM 组
             .word 0x00020000;Test11、ADC2 RAM 组
             .word 0x00003000;Test12、HET1&HTU1 RAM 组
    printfo:  .word rinfo

       endasmfunc

    Alex

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

    无法保证这些测试的结果。 具体问题是 PBIST 可能无法正确加载设置表、这意味着它似乎可以正常工作并通过测试、但从不实际运行所选 RAM/ROM 部分上的诊断测试/算法。 PBIST#4的工作方式与这种工作方式有很大不同、因为它直接访问 ROM、直到它被证明可以正确读取 ROM。 应在 PBIST 或 STC 模块在其正常用例场景下的任何实际使用之前运行权变措施。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、谢谢 Chuck。

    Alex