ZYNQ硬件复位管脚和软件看门狗复位

问:实际应用中,是不是PS_SRST_B必须,但是POR不是必须?

答:POR是必须有的,不然只能掉电复位,POR都是画上的。POR是整个芯片最高级复位,就是整个芯片都会复位。PS支持外部上电复位信号。上电复位是整个芯片的主复位。此信号复位设备中能够重置的每个寄存器。

ZYNQ有两种复位模式:POR和none POR。作用域如下:

1,POR复位将会复位整个系统,通过PSPOR B管脚产生。

2,none POR复位,并不会复位所有的寄存器,可以通过PSSRST_B管脚,或者系统内部复位,如看门狗复位。

Program_B只操作PL,会初始化PL。PL需要重新加载,Program_B信号由高到底变化时,可以初始化PL,PL初始化时定义INIT_B管脚,初始化完成后,该管脚作为浮高开漏处理。

PS_SRST_B(External System Reset)功能和POR类似,主要用于系统软件调试过程,上电复位删除所有调试配置,外部系统复位允许用户复位设备内的所有功能逻辑,而不干扰调试环境。

例如:用户先前设置的断点在外部系统重置后仍然有效。当PS_SRST_B保持低位时,所有PS I/O都保持在三态。出于安全考虑,系统重置会删除PS中的所有内存内容,包括OCM,PL也在系统复位中复位,系统复位不会重新采样引导模式分配引脚。

PS网口可以挂在挂PS_SRST_B上电自动复位,给了

### Zynq 看门狗实现复位重启方法 在嵌入式系统中,为了防止程序失控或死机,通常采用看门狗定时器来监控系统的健康状态。对于Zynq设备而言,软件可编程的看门狗定时器(SWDT)可以用于触发系统复位。 #### 配置独立看门狗 配置过程涉及初始化、设置超时周期以及定期刷新计数器以阻止意外复位的发生。具体操作如下: - **初始化**:首先需要启用并配置看门狗模块的相关参数,比如设定初始倒计数值选择合适的分频系数以便定义合理的监视窗口大小。 - **喂狗机制**:应用程序应当设计有规律性的事件循环,在此期间调用API函数去更新看门狗的状态,即所谓的“喂狗”,从而避免因未及时处理而导致的非计划性复位行为[^1]。 ```c // 初始化看门狗 XScuWdt_Config *Config; int Status; Config = XScuWdt_LookupConfig(XPAR_SCUWDT_0_DEVICE_ID); Status = XScuWdt_CfgInitialize(&Watchdog, Config, Config->BaseAddress); if (Status != XST_SUCCESS){ return XST_FAILURE; } // 设置超时时间(单位为秒) uint32_t timeout_seconds = 5; // 假设我们希望每五秒钟喂一次狗 XScuWdt_SetTimeoutValue(&Watchdog, timeout_seconds * XPAR_XWDTTB_CLK_FREQ_HZ); // 启动看门狗 XScuWdt_Start(&Watchdog); ``` 一旦发生异常情况未能按时喂狗,则计数器达到零点之后便会发出复位指令给处理器核心,进而引起整个系统的重启动作。这种强制性的恢复措施有助于提高系统的稳定性可靠性[^2]。 值得注意的是,当系统经历了一次由看门狗引发的复位后,所有的内部存储单元都会被清除,这意味着任何易失性的数据都将丢失;同时,现场可编程逻辑阵列(PL)部分同样会被重置回到默认状态[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒听雪落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值