完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在我的初始化代码中,我通过一个GPIO引脚使用24V10A继电器打开两个24V电机驱动器。电机驱动器通过10欧姆NTC连接,以限制浪涌电流。相同的24V电源用于使用两个稳压器为STM32供电,这两个稳压器可转换24V-> 5V-> 3.3V。 在调试模式下,当我逐行执行时,没有问题,并且只要执行打开GPIO的命令,驱动程序就会打开。但是,当从主闪存启动时,一旦切换继电器就会触发硬故障处理程序。通过示波器检查MCU电力线时,可以看出MCU的3.3V电源线在~20ns内降至2.9V以下。如果我从连接器上拆下电机驱动器,如果没有负载就打开继电器就没有问题。 这是触发hardfault处理程序的原因吗?这是硬件问题吗?如何解决这个问题?
|
|
相关推荐
6个回答
|
|
你是否在微控制器和/或稳压器上安装了适当的去耦电容?
|
|
|
|
是的,我正在使用推荐的去耦电容,用于稳压器和MCU,如相应的数据表中所述。
|
|
|
|
20 ns的空白可能是一个“范围探测工件”。如果是我我会尝试更仔细的连接,探测非常接近,并且探头接地连接的电流回路面积很小。你的硬件错误可能有不同的来源。
|
|
|
|
当然,这是可能的。电源故障是一种已知的技术,通过使MCU误操作其程序来尝试绕过限制性算法,通常仅在大量自动化试验的一小部分中有用。一直做同样的事情可能会指向一个软件错误; 但是有很多方法可以达到硬故障处理程序。您应该检查您的软件和硬件,并修复任何看起来不那么强大的内容,无论它是否与此特定问题相关。
|
|
|
|
在调试模式下不会发生这个问题,motordrivers没有任何问题。MCU仅在从系统闪存启动时进入硬故障处理程序。那指的是什么吗?
|
|
|
|
学习到了。感谢分享。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1285 浏览 1 评论
1019 浏览 1 评论
MCU友好过渡MPU,米尔基于STM32MP135开发板裸机开发应用笔记
640 浏览 0 评论
自定义系统时钟频率后,用库函数和微带两种方式点亮LED灯,为什么灯的闪烁频率不一致?
1571 浏览 2 评论
1797 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-25 03:40 , Processed in 0.420323 second(s), Total 45, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号