完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
问题: 该问题发生在 STM32F103VDT6 器件上。据其工程师讲述:在其产品设计中,使用了 STM32 的片上看门狗IWDG 进行系统监控。在实测中发现,在软件中去掉喂狗代码之后,IWDG 并没有 复位系统。 测试: 运行其测试程序,观察 STM32 的对外通信,确认现象如前所述。检查软件中对 IWDG 初始化的代码, 未发现异常。使用编辑器的搜索功能,在整个软件工程中搜索具有喂狗特征的代码,没有可疑代码被 搜到。检查原理图,其中 STM32 的复位电路部分如图(一)所示:修改硬件,去掉电阻 R*。修改软件,将对 IWDG 初始化的代码移至 main 函数的最前端。紧跟其后, 加入 while(1);语句,阻止其它代码被执行。运行程序后,用示波器观察 NRST 管脚步的波形,发现有 如图(二)所示的复位脉冲送出。将软件改回到原测试程序并运行,观察到系统有复位动作产生。 查看该复位芯片的数据手册,证实其对外驱动类型为 CMOS 推拉型驱动。 结论: 所使用的复位芯片的驱动类型不恰当,与 STM32 对 NRST 管脚的驱动发生冲突,造成 STM32 内部产生 的复位信号不能传递到 NRST 管脚上,进而导致 IWDG 失效。 处理: 将图(一)中的 R*由 0Ω电阻改为 1K 电阻。 建议: STM32 内部可以产生包括上电复位在内的多种复位信号,同时从专用的复位管脚 NRST 接收外部送来的 复位信号,各路复位信号之间的关系如图(三)所示: 在这些复位信号中,无论哪个信号都要先作用于 NRST 管脚上,然后再分成两路,分别送给片外和片 内。送给片内的一路最终形成 system reset,用于复位除后备域以外的用户电路。从图(三)可以看 出,STM32 对 NRST 管脚采用了电阻负载型的驱动类型进行驱动,以便片内信号与片外片信号能形成 线与逻辑。为此,片外电路对 NRST 管脚的驱动也要采用可以进行线与逻辑的驱动类型。常见的驱动 类型有四种,见图(四): a) 电阻负载型驱动; b) 恒流负载型驱动; c) 开路负载型驱动; d) 推拉型驱动 其中(a)、(b)、(c)三种类型都可以实现线与逻辑,而(d)则不能。当(d)型驱动电路与 STM32 的 NRST 管脚连接时,会出现图(五)所示的由于强强竞争而产生的短路电流 I。而此时输出结点的逻辑值是 不确定的,很可能由此引发一些逻辑信号被湮没而丢失。 |
|
相关推荐
|
|
644 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1819 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1262 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1136 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1357 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12028 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 11:26 , Processed in 0.863920 second(s), Total 72, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号