单片机多机冗余设计及控制模块的VHDL语言描述
出处:http://www.ic37.com 发布于:2007-09-25 10:48:40
1 设计原理
设计结构如图1所示。
完成整个冗余设计的电路被置于一个控制模块中,如果该模块以FPGA实现也就是一块芯片。图1中单片机1、2、3被假定为冗余的三个单片机,它们的输入总线并联,接收控制模块中输入缓冲的输出。输出总线分别接到模块的输出总线仲裁器。控制模块包括输入缓冲、输出总线仲裁、电源控制、时钟产生、复位电路和报警控制输出六个部分。1.1 输入缓冲
为了消除输入端并联输入阻抗带来的影响,在输入端增加了缓冲器,减小外围电路的影响。采用输入缓冲,可以实现单片机和外围电路的输入隔离。
1.2 输出总线仲裁
该总线仲裁是建立在所有单片机在时钟级上同步的基础上,通常采用总线表决法。即相同输出总线上的值作为仲裁的结构输出,不同输出总线被当作出错而封止,所有的输出皆不相同同是失败状态,无表决输出。表决的实现当然不能采用软件比较,以三个单片机系统的一位为例介绍表决方法。假设位输入变量X1、X2、X3,输出Q,状态指示:正常N、X1出错E1、X2出错E2、X3出错E3。真值表如表1所示,位仲裁单元如图2所示。
表1 真值表
| X1 | X2 | X3 | Q | E1 | E2 | E3 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 | 0 | 1 | 0 |
| 0 | 1 | 1 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 | 0 | 0 |
| 1 | 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 | 0 |
1.3 单片机时钟级同步的实现
系统的所有单片机必须达到时钟级的同步。单片机选用相同的型号(可以是不同的厂家),完全相同的程序和同一机器时钟。
第二步是实现机器周期脉冲同步。MCS51一个机器周期包括6个状态周期,每个状态周期包括2个节拍,对应2个时钟节拍有效期。也就是说一个机器周期包括12个振荡周期,指令工作在时钟节拍上,同时更是同步工作在机器周期上。不论是单字节指令还是双字节指令,指令周期均是机器周期的1、2、4倍。要同步单片机节拍,必须同步机器周期。考虑到上电时间上可能产生的差异,采用先上电后加时钟脉冲的方法。上电时确保时钟输入端没有干扰脉冲引入,所有单片机上电后的内部分频电路起始点一致,然后加入时钟脉冲,各单片机获得同步的机器周期。

第三步是同步指令周期。指令的同步需要依靠复位电路来实现。在时钟脉冲正常输入和分频电路正常工作的情况下,复位操作是在复位端加上至少2个机器周期的复位电平而实现的。复位信号由控制器发出送至每片单片机。复位后,统一了片内主要寄存器内容,所有单片机程序从起始位置开始执行。
1.3.1 电源控制
三个单片机的供电电源由控制模块控制。主控远件需要保证足够电流容量,可采用功率三极管或场效应管实现。不能采用继电器在,以避免触点电源跳变。
1.3.2 时钟产生
晶体振荡器输出脉冲作为单片机时钟,中间增加可控的缓冲级。缓冲级可以增加时钟信号的输出负载能力,并可被控制模块控制。
三个单片机的复位端并联接至同一个复位端。复位信号在信号极性和脉冲宽度上满足单片机复位要求,驱动能力满足多单片机需要。复位电路同样是受控于控制模块,用以实现单片机同步。
1.4 报警与控制
不同状态下控制模块有不同的信号输出,异常状态同时也是报警信号。正常状态输出绿灯,出错状态输出黄灯,失败状态输出红灯。黄灯输出时系统可以暂时继续工作,等到系统空闲或许可时进行纠错。红灯输出时系统立即进入保护状态,输出端呈现高阻状态,需要时可以马上纠错,恢复系统。
系统恢复需要对控制模块进行复位,复位脉冲可以是自身的失败状态输出,也可以是出错脉冲输出和其他信号的组合逻辑。控制模块的复位,实际是对各单片机重新进行时序对齐和复位单片机程序。此处设计需结合具体使用场合考虑。
2 控制模块的VHDL语言描述
本控制模块主要采用VHDL语言进行描述。
本文所述的时钟对齐方法实现比较简单但并不。复杂一点的方法可以采用不同时钟输出到不同单片机,比较反馈后,调整时钟输出个数达到调节目标。
上一篇:采用多单片机的液位监控仪
下一篇:滤波电路
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 基于单片机和 FPGA 设计的程控滤波器2026/8/20 15:19:20
- 如何学好单片机?终于有人整理清晰了!2026/8/7 16:17:12
- 单片机拉电阻的详解2026/8/6 15:52:24
- 学习STM32很简单?2026/8/5 16:35:56
- 单片机用一个 IO 口采集多个按键信号方案2026/8/5 15:33:36









