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.

[参考译文] CCS/TM4C129ENCPDT:早期电源故障检测和向 EEPROM 写入数据问题

Guru**** 2460850 points
Other Parts Discussed in Thread: TM4C129ENCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/651550/ccs-tm4c129encpdt-early-power-failure-detection-and-writing-data-to-eeprom-issue

器件型号:TM4C129ENCPDT

工具/软件:Code Composer Studio

大家好、早上好!

我的工作环境如下:

处理器:TM4C129ENCPDT

IDE:CCS

我的定制设计板面临一个问题。 我的应用是在检测到电源故障时将不同的参数(如计数器值、日期时间等)存储到微控制器的内部 EEPROM 存储器中、并在上电时保留数据。目前、我能够成功检测到电源故障并将少量数据存储到内部 EEPROM 中。  

但是、每当我尝试将更多的数据存储到 EEPROM 时、成功率就会非常低、并且无法根据这些值执行任何操作。

我尝试了以下方法来解决我的问题:

增加了更多的电源电容器以获得更多的备份时间

  这使成功率略有变化。  

2.添加了外部在线电池备份机制,以便主电源关闭后,我可以得到大约10分钟的时间。

  -这可以暂时解决问题。 但这需要外部电路、客户也不建议这样做。

当我观察到我的电路时、我发现了以下观察结果、

当我关闭电源时、如果我检查微控制器的"复位引脚"、即使在我向其添加了更多电源电容器后、它也会立即从3.3V 变为0V。

  这与 BOR 等任何软件设置有关吗? 如果是、您能否告诉我在哪里可以设置此 BOR 参数?

PS:我在论坛中搜索了此问题、并获得了一些讨论类似情况的主题、大家都建议使用 FRAM 等任何外部存储器来执行此操作。 但在我的情况下、我无法在现有电路中进行任何重大修改。  

期待您的宝贵建议。

谢谢、此致、

Renil Raju

 

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

    通常我会"轻轻地抗议"您使用"期望"(这证明是"紧急"的破坏性)、并且最常保证您的帖子是"最后"(如果是)!   

    也就是说、您的帖子写得非常好、并且包含了如此重要的细节、因此我(这次)将避开我的"拒绝本能"。   (请注意,论坛必须支持"论坛中立"----这证明"期待或认为紧急"是不恰当的----那些在"集团"中较早的人有权利----不是吗?)

    您可能会比现在更早地检测到"电源故障"、从而"获得更多时间"。   未描述您的此类检测方法(但提高了模拟精度)以及"在"过滤组件之前"检测机制的位置是否合理?

    "预滤波"电源的"变化率"也可被监控-并提供"早期警告!"   我们公司在许多情况下都采用这种方法-因为这种方法提供了"额外时间"。

    您会描述"关闭电源-然后注意到 MCU 的复位引脚"立即"衰减至0V。"   如果您在此处监控并显示以下器件的电压波形、此报告是否更完整:

    • 您的"预滤波"点/检测点、用于指示"即将发生的电源故障"
    • 您的"已过滤"电源-"馈送" MCU 的3V3稳压器
    • 3V3稳压器的输出  
    • MCU 的(可疑)复位引脚

    将复位引脚"上拉"(通常为10K 或 SO 至3V3)并将一个0.1µF Ω 电容器从复位接地是正常的。    如果这就是您所做的-例如"多通道"电压显示(如建议)-将使此处的用户能够确定 MCU 的复位是否(独立)驱动至 GND!   (您似乎有这样的建议)  使用许多 ARM MCU (许多供应商)我不知道答案-关于您的器件。

    了解我们的客户(或论坛海报)"锁定" A (赦免)"如此限制设计-无法适应"小/简单/更快的"片外"非易失性存储解决方案、这总是"令人沮丧"。   大多数 MCU 的"EEPROM"都证明"无法与"专用设计/开发的器件"竞争!    因此-您"已将自己备份到(可避免的)角落"-您不是吗?

    您"应该"没有提供太多这类"过度挑战、仅 MCU 和 MCU "样式的电路板、这是"预料"的、事实是不是这样?      

    配置一个新的电路板-使用"选项"配置一个更快、更强大的非易失性存储器(您可能不必填充/填充)是 我可以提供的最"有价值"(如果可以的话)的建议...

    同样、您(可能)会很幸运、并且能够使用 MCU 提供的(非常)受损害的 EEPROM 类"解决方案"。    然而、生产新电路板(添加"适当的器件")并不会阻止您试图作出某些选择/以某种方式"达成解决方案"。   

    根据公司/我的(近期和批量)经验-大多数此类"数据保存需求"只会随着时间的推移而增长-我提供的解决方案(非常)非常好-并且独一无二-适应如此广泛的(即"MCU 杀戮")"现实!"

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

    您好 CB1_MOBILE、

    非常感谢您的回复。 请让我检查一下、我将提供有关此问题的完整意见列表。

    [引用 USER="CB1_MOBILE"]

    通常我会"轻轻地抗议"您使用"期望"(这证明是"紧急"的破坏性)、并且最常保证您的帖子是"最后"(如果是)!   

    [/报价]

    是的...我理解并感谢您的指出。 从下一次到病房,我会尽量避免这种情况!!! :)。。

    谢谢、此致、

    Renil Raju

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

    也感谢你。    "论坛中立----与"净中立"非常相似----是一个值得追求的目标。    那些寻求"超越他人"(通常以"期望和/或紧急"为信号)的客户应将其"大量"请求发送到当地销售办事处-在那里将授予此类"特殊处理"(如果和在必要时)。

    请:"如果只有两个通道提供多个屏幕电容器、请单击、借用、获取(合法)范围: "电源故障之前"和"故障触发点"之后(理想情况下)。

    • 3V3 和 您的复位引脚
    • 您的电源"拾取/抽头点"(预滤波器)旨在提供"电源故障"电压 和"后(后)滤波器"电压

    最重要的是-一个4通道示波器、它在"电源故障"之前以及(理想情况下)在您的(现有)"故障触发点"提供"全部四个电压"。    请注意、并非我们的所有客户都拥有"4信道范围"-您应该能够使用两个"双信道范围"-它们是"从公共信号触发的!"   (所有时间标度和范围设置(以及范围基线)应相等)   

    逻辑分析仪(可能)也起作用-但检查以确保分析仪的"捕获速率"达到"此任务。

    同样、"接受 "专门设计/开发的器件"远远优于 "酷刑/鹅卵石 MCU 实施方案"这一事实将会获得很大的好处!  

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

    我将 在这里做三个评论、然后让您听从 cb1s 的建议

    [引用 USER="Renil Raju"]每当检测到电源故障时,我的应用程序就会将不同的参数(如计数器值、日期时间等)存储到微控制器的内部 EEPROM 存储器中[/引用]

    我认为这种做法是一种糟糕的解决办法。 它很复杂且容易出错。

    [引用 user="Renil Raju"]我尝试了以下方法来解决我的问题:

    您需要考虑两个因素。

    • 您的备用电源设计时间很短。 EEPROM 是全新的、您的保持电容器也是如此。 随着 EEPROM 老化、写入时间会更长、电容器将失去保持电荷的能力。 您需要查看两者的最坏情况,这将增加您所需的保持时间*。
    • 即使 对于当前安排、您的测试也不大可能揭示最坏的情况、您将需要增加相当大的裕度。

    最后、您需要考虑如何从任何原因中检测到损坏、并可能考虑镜像副本以从损坏中恢复。 这将增加您所需的保持时间。

    Robert

    *请仔细查看 EE 最坏情况计时。 这很可怕。 我要放置一个外部 FRAM、并避免超过最小的保持时间。

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

    Robert -说得好-我们非常同意。

    特别是“连接”(非常)失败“MCU 作为厨房水槽”和“复杂管道... 停止排水!"

    Simply Glance @"Expanse of errats"-和"Special Use restrictions & stricts conditions"-"Step Right Up sings...")      或者不是!

    我们(两者)建议"适当/已知/无勘误的外部存储"-避免"酷刑/鹅卵石"-即使是免费的-尤其是在免费的情况下!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您必须重新设计您的系统以满足此要求。

    板载欠压检测电路不是一个好选择。 直到很晚才会检测到低功耗情况。 Tiva 上的 EEPROM 非常慢-写入数据大约需要5ms、这将随着时间的推移而降低。 5ms 是具有衰减导轨的永恒性。

    通过将主电源轨连接到分压器和比较器、可以更好地检测低功耗情况。 因此、如果您有一个为 Tiva 馈送3.3V 稳压器的5V 大容量轨、您可以检测4V 压降、获得中断、并在3.3V 轨衰减之前开始保存数据。

    最好的选择可能是使用 Tiva 休眠系统。 这里有空间存储数据、您可以快速写入。 FRAM 也将起作用。 您可以通过 I2C 以1MHz 的频率写入 FRAM。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    虽然这种建议是"好的建议"--是否并非所有这些问题都在这里提出过--有些甚至更详细?
    实际上、正如其他两个公司先前所指出的那样、"锁定"一个严重缺陷的设计证明是一个不明智的选择...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="R Sexton"] Tiva 上的 EEPROM 相当慢-写入数据大约需要5ms [/引用]

    重新检查数据表、我认为您低估了最坏的情况。 对于外部 EE、我预计最坏的情况为5ms、尽管它们已经改进为优于快速 EE。

    [引用 user="R Sexton"]您可以通过 I2C 以1MHz 的频率写入 FRAM。

    或20MHz (布局良好等) 具有明显更简单、更易出错的软件接口的额外优势。 2MHz 至5MHz 当然是可以实现的。

    更重要的是、考虑到 FRAM 的使用寿命、无需等到断电写入。 保持 FRAM 更新掉电后、只需完成最后一个写入即可。 这方面的限制要少得多。

    Robert

    我的计数3建议将时间关键型存储器移出板载