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.

[参考译文] UCD3138:修整闪存无效信息

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/612771/ucd3138-trim-flash-invalid-information

器件型号:UCD3138

所有 UCD3138系列产品成员都有一个特殊的隐藏修整闪存区域。  

修整闪存用于存储加载到外设中各种修整寄存器中的值。

测试时、每个芯片的修整值都是确定的。  

它们用于补偿芯片间的过程变化。

调节时钟速度和 ADC 基准电压等。

几乎所有时间、修整闪存都没有损坏、器件运行正常。

有一个修整闪存校验和、当器件加电时、引导 ROM 始终检查修整闪存。  如果修整闪存校验和有效、则修整值被复制到修整寄存器中、所有都正常。

但是、如果修整闪存无效、引导 ROM 不会将修整值复制到寄存器中。  这意味着芯片将无法正常工作。  时钟速度和 ADC 基准不正确。  不同的器件有不同的方式来处理无效的修整闪存。

UCD3138、UCD3138A、UCD3138064、UCD3138128、UCD3138A64、 和 UCD3138128A、无效的修整闪存的处理方式相同:

TRIM FLASH Vaild -执行闪存程序且 PMBusRegs.PMBCTRL1.bit.SLAVE_ADDR = 0x7f

TRIM FLASH INVALID -执行闪存程序且 PMBusRegs.PMBCTRL1.bit.SLAVE_ADDR = 0x7E

这样、如果需要、程序就可以使用 PMBus 来发出程序无效的信号。  由于 PMBus 由主器件计时、因此它仍应工作。  UART 可能无法正常工作。

在 UCD3138064A 上、如果修整闪存无效、引导 ROM 将不会分支到程序闪存、而是保持 ROM 模式。  

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

    校正闪存有效或无效的信息在 ROM 分配的 PMBus 地址中可用。 然后,存储在闪存中的固件应读取此信息,以确定程序是否应继续执行。

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

    Ian、

    这是有教育意义的。 您是否建议闪存程序仔细检查  修整闪存是否有效?

    谢谢

    弗兰克    

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

    是的、这可能是一个好主意。  我们看到修整闪存无效的情况很少、但该部件确实发生了错误、可能会发生这种情况。