21ic第三届设计大赛】+冗余执行系统
本帖最后由 15040268795 于 2019-6-22 19:48 编辑积极参与下21ic的活动
系统设计方案
首先满足竞赛要求,保证竞赛的基本功能实现,在此基础上,发挥下,除了竞赛加分项的功能外还打算进一步发挥,两个mcu互为主从,保证任何一个mcu出问题了,另一个mcu都能够接管控制功能
1、硬件设计
MCU: stm32f030c8t6
系统状态指示:3个led
系统状态监控:1个uart串口
故障状态模拟:按键1个
调试接口:SWD 2个 特意为了参赛做了一版PCB,PCB图如下
pcb正面
pcb丝印层
2、软件设计
软件采用双CPU结构,其中主cpu进行adc检测以及led状态指示,主cpu与从cpu之间通过状态指示信号通信,当从cpu检测到状态指示信号不同时,指示主cpu有故障,并接管主cpu功能,当从cpu检测到状态信号相同时,再检测led状态,当led状态有误时,从cpu通过串口输出故障信息,并接管主cpu功能纠正led状态。由于双cpu之间分别采集adc存在一定误差,所以软件设计中考虑到误差容错机制。代码主界面:
3、系统调试
PCB打样归来
焊接硬件
硬件调试,一次上电ok
4、视频展现
指示灯显示规则
1、adc状态:
闪烁:adc值处于limt_a>=adc_val>limt_a
灭:adc值处于adc_val<limt_a
常亮:adc值处于adc_val>limt_b
2、主cpu工作状态:
闪烁:主cpu正常工作
不闪烁或者常亮:功能被从cpu接管
3、从cpu工作状态:
慢闪:处于监控状态,主cpu工作正常
快闪:处于监控状态,并接管主cpu工作,主cpu工作异常
测试条件:
limt_a = 1000
limt_b = 2000
视频连接:
故障检测以及管控
https://v.youku.com/v_show/id_XNDIzODgwNzk4OA==.html?spm=a2h3j.8428770.3416059.1
https://v.youku.com/v_show/id_XNDIzODgwMzQ2OA==.html?spm=a2h0j.11185381.listitem_page1.5~A
串口状态输出显示
https://v.youku.com/v_show/id_XNDIzODgwMzQ2OA==.html?spm=a2h3j.8428770.3416059.1
串口状态输出
cpu故障诊断,从cpu接管功能控制
感谢大家的支持 丛机监控主机通过io监控,这样能够提高系统的反应灵敏度,不建议采用串口通信,影响失效性,目前测试的反应时间在100ms以内 下一步,完善代码,实现双cpu互为主从的功能 感谢管家推荐,好活动必须参加 赞 赞 caijie001 发表于 2019-6-27 08:45
赞
感谢支持,欢迎交流 楼主那个串口调试助手是你们自己做的吗,界面看这挺好的, 是我朋友做的,需要可以共享给你 欢迎大家交流 感谢各位的关注
页:
[1]