OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3210|回复: 16

用双单片机解决单片机卡死的问题

[复制链接]

6

主题

22

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2018-6-30
在线时间
11 小时
发表于 2019-5-13 17:15:24 | 显示全部楼层 |阅读模式
5金钱
目前用的STM32,但是不适合用看门狗,为了防止STM32卡死导致的异常,外加一个51核的单片机,让STM32持续给51单片机发送指令,一旦异常,51单片机就可以检测到STM32异常,然后做一些相关处理,不知道这样是否可行,或者有更好的办法,麻烦分享一下哈。。。谢过了,或者谈一下自己的想法。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

22

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2018-6-30
在线时间
11 小时
 楼主| 发表于 2019-5-14 11:50:46 | 显示全部楼层
warship 发表于 2019-5-13 21:00
听起来完全是多此一举,而且51也有可能挂,并不保险。
你说的这些,32自带的IWDG完全可以胜任,并且比另加 ...

你好,具问题是这样子的,我们用STM32控制电机,看门狗喂狗时间不能太长,万一太长会出现安全事故的,几个ms可能都会出事故,只能用us定时器,但是用us定时器不停中断又会对控制电机运动产生影响,但是作为保险起见,就需要在us级别让STM32复位。如果没有好的办法就只能寻找一个合适的计数值了,大概就是这个样子,不知道我叙述清楚了没
回复

使用道具 举报

34

主题

388

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
4090
金钱
4090
注册时间
2012-10-21
在线时间
642 小时
发表于 2019-5-13 17:17:43 | 显示全部楼层
不是有一堆看门狗芯片,如MAX813L,X5045S8I这些,不比外置单片机可靠,还省的设计51程序、烧录程序的麻烦事,万一你的51再卡死呢
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2019-5-13
在线时间
3 小时
发表于 2019-5-13 17:36:48 | 显示全部楼层
你选用的stm32芯片无法使用IWDG独立看门狗?IWDG配置一次后就一直有效,无需每次上电配置。

如果必须要用外部硬件看门狗,可以用逻辑器件74HC4060异步计数器,stm32输出方波信号作计数清零,
一旦stm32程序崩溃,计数器将计数溢出,溢出信号拉低stm32外部复位脚,从而实现复位。
回复

使用道具 举报

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2019-5-13 18:49:00 | 显示全部楼层
有一种叫看门狗芯片的东西,但现在单片机都基本集成了看门狗功能
让我们的思维驾驭在电的速度之上!
回复

使用道具 举报

4

主题

380

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3088
金钱
3088
注册时间
2015-10-17
在线时间
320 小时
发表于 2019-5-13 20:56:25 | 显示全部楼层
stm32不适合用看门狗,这是多么奇葩的理论。估计你连stm32有多少个系列都不清楚
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4522
金钱
4522
注册时间
2018-5-11
在线时间
947 小时
发表于 2019-5-13 21:00:11 | 显示全部楼层
听起来完全是多此一举,而且51也有可能挂,并不保险。
你说的这些,32自带的IWDG完全可以胜任,并且比另加51更可靠。
不知你讲的不适合是如何的不适合
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

2

主题

685

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3448
金钱
3448
注册时间
2017-7-4
在线时间
869 小时
发表于 2019-5-13 22:32:34 | 显示全部楼层
51挂了呢?再搞个MCU?MCU有挂了呢?再。。。。
回复

使用道具 举报

6

主题

22

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2018-6-30
在线时间
11 小时
 楼主| 发表于 2019-5-14 11:33:49 | 显示全部楼层
如果异常,会导致安全问题,几个ms都会出事故。我之前的想法是用串口持续发数据,51单片机接收,一旦有异常51直接关设备。现在突然想到用定时器中断不停喂狗,万一卡死就直接复位,这样应该可以了,刚毕业没什么经验,只是想请教一下大家,在这里谢过!
回复

使用道具 举报

6

主题

22

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2018-6-30
在线时间
11 小时
 楼主| 发表于 2019-5-14 11:41:13 | 显示全部楼层
十日 发表于 2019-5-14 11:33
如果异常,会导致安全问题,几个ms都会出事故。我之前的想法是用串口持续发数据,51单片机接收,一旦有异常 ...

但是又有个问题us级的定时器中断会对电机的控制有影响,不知道大家有没什么建议
回复

使用道具 举报

6

主题

22

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2018-6-30
在线时间
11 小时
 楼主| 发表于 2019-5-14 11:42:43 | 显示全部楼层
十日 发表于 2019-5-14 11:41
但是又有个问题us级的定时器中断会对电机的控制有影响,不知道大家有没什么建议

之前用STM播放声音,用了us定时器计数,声音听起来就变样了。
回复

使用道具 举报

16

主题

112

帖子

0

精华

高级会员

Rank: 4

积分
818
金钱
818
注册时间
2014-10-22
在线时间
589 小时
发表于 2019-5-14 13:16:23 | 显示全部楼层
出于安全考虑,再多加几个单片机都不为过,建议增加纯机械构造起来的保障机构,已达到多重保险,冗余设计是必须的。
回复

使用道具 举报

4

主题

346

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3657
金钱
3657
注册时间
2016-2-21
在线时间
542 小时
发表于 2019-5-14 13:58:37 | 显示全部楼层
你需要的是窗口看门狗,他在超时以前会进一次中断,让你做点擦屁股的事,擦完就可以去死了
回复

使用道具 举报

4

主题

346

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3657
金钱
3657
注册时间
2016-2-21
在线时间
542 小时
发表于 2019-5-14 14:00:02 | 显示全部楼层
或者你拿个普通的定时器来做这种事也行,超时时间设到10ms左右,超时就把该料理的事都料理了,然后自己复位自己
回复

使用道具 举报

49

主题

160

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2017-11-2
在线时间
41 小时
发表于 2019-5-14 15:46:01 | 显示全部楼层
看来你对看门狗没有正确认识,
所以狗不起作用
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2019-5-14 17:20:57 | 显示全部楼层
这非常不合乎常理, 喂狗所耗的时间会比发指令给51慢? 这狗你是怎样喂的啊?
改在你的PID函数入口处喂一次狗就行了
回复

使用道具 举报

0

主题

79

帖子

0

精华

高级会员

Rank: 4

积分
727
金钱
727
注册时间
2016-5-27
在线时间
91 小时
发表于 2019-5-14 22:40:18 | 显示全部楼层
十日 发表于 2019-5-14 11:33
如果异常,会导致安全问题,几个ms都会出事故。我之前的想法是用串口持续发数据,51单片机接收,一旦有异常 ...

如果人命关天的事,我建议采用冗余设计,三取二,三个系统结果,仲裁输出,且输出不能单一电平控制,应该编码或动态输出比较好。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 14:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表