打印

如何利用单片机来重启系统

[复制链接]
楼主: 混子黄
手机看帖
扫描二维码
随时随地手机跟帖
21
楼主首先要锻炼的是描述问题的能力。
如果要求是断电,延时5秒,上电,就只要在单片机内做一个5秒的定时器即可。断电后,等5秒,接着上电。硬件应该不是驱动光耦,而是继电器或电流大一点的开关。
但问题是楼主的目的是解决复位问题。我的建议就是请集中精力解决为什么有时候复位会失败,而不是用其它方法掩盖此问题。
如果连复位问题都不能解决,我不认为你用断电方法就解决了一切问题。

使用特权

评论回复
22
xiaoqi000| | 2018-10-17 21:21 | 只看该作者
一脸懵逼。

使用特权

评论回复
23
xiaoqi000| | 2018-10-17 21:21 | 只看该作者
楼主想干嘛?

使用特权

评论回复
24
xiaoqi000| | 2018-10-17 21:22 | 只看该作者
lihui567 发表于 2018-10-17 08:44
这个控制电路还是有问题的,逻辑这块有点模糊。再屡清楚这个逻辑

没明白为什么要这样,

使用特权

评论回复
评论
lihui567 2018-10-18 08:37 回复TA
楼主应该想在运行过程中,断电重启单片机 
25
xiaoqi000| | 2018-10-17 21:23 | 只看该作者
不太理解楼主的断电的意图所在。

使用特权

评论回复
26
山东电子小菜鸟| | 2018-10-17 22:07 | 只看该作者
感谢

使用特权

评论回复
27
chunyang| | 2018-10-18 13:04 | 只看该作者
如果是同一系统内,用MCU驱动MOS管做电源开关,若受控电路本身有复位端,直接用MCU控制复位端即可。如果不是同一系统内,可以考虑加光耦隔离,距离远的话就用遥控。

使用特权

评论回复
28
混子黄|  楼主 | 2018-10-24 10:02 | 只看该作者
stm32xiaobai 发表于 2018-10-16 11:35
看了半天,也不知道你要求拿来干嘛,如果只是重启给mcu断电一下,直接加个电容,三极管控制,开关都有个时 ...

嗯,是这样子,我是在线更新程序以后,想要重启板子,时间太短就好像没有效果。

使用特权

评论回复
29
混子黄|  楼主 | 2018-10-24 10:02 | 只看该作者
yueguang3048 发表于 2018-10-16 14:34
版主一脸懵逼,手中掂起了板砖.....
楼主可以研究一下555定时器应用之单稳态。

这个我研究研究。

使用特权

评论回复
30
混子黄|  楼主 | 2018-10-24 10:03 | 只看该作者
lihui567 发表于 2018-10-17 08:44
这个控制电路还是有问题的,逻辑这块有点模糊。再屡清楚这个逻辑

是的,这个是我现在想要完成的想法,还有不完善的地方。

使用特权

评论回复
31
混子黄|  楼主 | 2018-10-24 10:05 | 只看该作者
cooldog123pp 发表于 2018-10-17 14:37
感觉你是要一个上电自锁的电路,有了触发信号了以后,给单片机供电然后单片机瞬间输入电平给光耦,然后控制 ...

大致上是这个意思,我是在线更新好程序以后,想要输出一个信号,然后使单片机断电,然后过个1,2秒单片机在上电,这个1,2秒没有在这里体现出来。

使用特权

评论回复
32
混子黄|  楼主 | 2018-10-24 10:17 | 只看该作者
forrest11 发表于 2018-10-17 16:52
楼主首先要锻炼的是描述问题的能力。
如果要求是断电,延时5秒,上电,就只要在单片机内做一个5秒的定时器即 ...

额,我是没有表达清楚,复位的原因是在线更新了程序,需要重新上电才是我的目的。

这个只能硬件来做吧,我是想更新好程序以后,做一个自动上电恢复的功能。

我想的是更新好程序以后,通过单片机输出一个高低电平,来控制通电断电。

使用特权

评论回复
33
混子黄|  楼主 | 2018-10-24 10:19 | 只看该作者
xiaoqi000 发表于 2018-10-17 21:23
不太理解楼主的断电的意图所在。

意图是我在线更新程序以后,重新给单片机上电。
当然不能断开直接连接上,我说的5秒是保证足够的时间,断开的时间太短,单片机相当于没有断开。

使用特权

评论回复
34
混子黄|  楼主 | 2018-10-24 10:26 | 只看该作者
chunyang 发表于 2018-10-18 13:04
如果是同一系统内,用MCU驱动MOS管做电源开关,若受控电路本身有复位端,直接用MCU控制复位端即可。如果不 ...

我是想在线更新好程序,让单片机自己上电重启,因为有些板子位置不太好重新断电。
单片机的复位端有,但是是用电源管理芯片做的,但是当初设计的时候并没有连接单片机,只是提供一个复位,所以现在只能在电源进来的位置进行控制了。

使用特权

评论回复
35
stm32xiaobai| | 2018-10-24 14:26 | 只看该作者
混子黄 发表于 2018-10-24 10:02
嗯,是这样子,我是在线更新程序以后,想要重启板子,时间太短就好像没有效果。 ...

简单点你更新程序,在下载线供电哪里弄个开关就好了。

使用特权

评论回复
36
混子黄|  楼主 | 2018-10-24 15:35 | 只看该作者
stm32xiaobai 发表于 2018-10-24 14:26
简单点你更新程序,在下载线供电哪里弄个开关就好了。

是通过网口更新的,然后板子的位置在不容易碰到的地方,离人的位置很远,所以想做成自动重启。

使用特权

评论回复
37
stm32xiaobai| | 2018-10-24 16:18 | 只看该作者
混子黄 发表于 2018-10-24 15:35
是通过网口更新的,然后板子的位置在不容易碰到的地方,离人的位置很远,所以想做成自动重启。 ...

网口下载镜像?这个没用过。

使用特权

评论回复
38
comeon1| | 2018-10-24 20:37 | 只看该作者
混子黄 发表于 2018-10-24 15:35
是通过网口更新的,然后板子的位置在不容易碰到的地方,离人的位置很远,所以想做成自动重启。 ...

楼主 不知道我这个电路能否实现你想要的功能,你评估下。

1540384595(1).jpg (19.11 KB )

下载程序后自动重启电路

下载程序后自动重启电路

使用特权

评论回复
39
comeon1| | 2018-10-24 21:14 | 只看该作者
楼主第二种方法,用重启电源的方法重启整个系统,下面是电路图,你看下是否可以优化。当然如果负载较大可以把PMOS更换为继电器,楼主自己判断。其实重启的方法应该很多,可以根据你整个原理图来想方法我觉的更好。因为你下载程序是用网口,所以说重启不能借用外部的控制线去操作,这个需要看自己内部原理图,哪些特点可以利用了。电路图比较复杂,希望大家多大指教,看看有没有可以更改的地方。当然有网友说用时间继电器,你可以考虑下。

1540386720(1).jpg (29.36 KB )

1540386720(1).jpg

使用特权

评论回复
40
chunyang| | 2018-10-25 20:20 | 只看该作者
混子黄 发表于 2018-10-24 10:26
我是想在线更新好程序,让单片机自己上电重启,因为有些板子位置不太好重新断电。
单片机的复位端有,但 ...

支持IAP的MCU都可以用软件指令重启。非要上电冷重启,那还是加个电源控制。如果MCU本身的端口无法利用,那就需要另外的控制端。没有的话,可以用单稳态电路实现,就像看门狗,只是复位时间要长于程序更新时间。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则