MCU软件复位时如何延长复位时间? (STM32F427)

问题描述 投票:0回答:2

我正在解决STM32F427微控制器的软件复位问题。对 MCU 进行软件重置不是问题,它运行良好并且 MCU 启动良好。

在软件复位期间,处理器将其复位引脚拉至零。这个复位脉冲now几毫秒长。我正在研究如何使这个复位信号更长。我会需要它大约10ms长.

有谁知道是否以及如何通过修改软件来扩展此信号? (运行最开始的一些等待指令,选项字节的修改,系统初始化代码的变化)

这就是 MCU 引脚复位信号在软件复位期间的样子。

问题背景: 我有一个正常运行的成品硬件,有时需要进行软件重置(固件更新、未处理的错误等)。该硬件有一个用于 MCU 和另一个芯片的 COMMON 复位引脚(两个芯片的硬件复位引脚已连接)。一个 RC 元件连接到该信号,以便源有时间在 MCU 启动之前预热。冷启动没问题,但是 SW 复位的复位脉冲对于第二个芯片来说太短了。这第二个芯片将保持在一个奇怪的(非功能性)状态。因此,我需要延长复位信号。 HW 已完成,不能再修改。重置连接是个坏主意。

stm32 hardware reset cortex-m
2个回答
0
投票

数据表,第 141 页:

我没有看到任何影响它的软件机制。您可以尝试一件事 - 在执行重置之前降低时钟速度?我的意思是到地面,尽可能低,也许是 LSI(这将意味着切换 PLL 参数、APB/AHB 分频器、内部电源调节器、闪存等待状态,也许还有其他东西)。表中有一个“生成的复位脉冲持续时间”,它没有上限。如果您在低频时执行此操作,可能会延长软件重置时间。但是一旦重置发生,就会有一个上拉动作。


0
投票

nRST
引脚为低电平时,由于处理器处于复位状态,因此不执行任何软件。

nRST
长时间保持低电平的唯一方法是有一个外部电路来检测
nRST
何时被拉低并保持所需的10ms。

HW已经完成,不能再修改了。重置连接 是个坏主意。

恐怕你必须给你的硬件打补丁(当错误发现得太晚时,你经常在生产板上看到它)

© www.soinside.com 2019 - 2024. All rights reserved.