新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > AT90CAN128的双机热备结构继电器驱动系统设计

AT90CAN128的双机热备结构继电器驱动系统设计

作者:时间:2016-10-15来源:网络收藏

引言

本文引用地址:http://www.eepw.com.cn/article/201610/307414.htm

近年来,微小型化的单片机技术发展日新月异,广泛应用于很多领域。在铁路行业,结合单片机技术的高系统得到了越来越多的应用和重视。是铁路信号设备中的重要器件之一,其和安全性是铁路运输自动控制、远程控制信号设备正常使用的必要条件。因此,对于在铁路等重要场合使用的,需要采用高的驱动电路系统。本文利用AVR单片机设计出一种具有高可靠性的继电器,具有实时性强、结构简洁、成本低等特点。

1 冗余结构

1.1 结构介绍

本系统需要采用一定的冗余技术来保证系统的高可靠性和高安全性。目前发展较为成熟的冗余技术主要有结构和二乘二取二冗余结构。这两种结构在可靠性、可用性、安全性等方面相比单机系统有着各自的特点和优越性,在铁路、工业等领域有着广泛的应用。

系统一般由两个具有相同功能的子系统构成,接有可选的比较器和主备切换器,并能进行故障检测。二乘二取二冗余结构由4个子系统组成,同样有比较器和主备切换器,两两比较输出后再次比较输出,其可靠性更高;但是对于小型系统,与系统相比要耗费更多的资源,成本加倍。因此,本系统采用双机热备系统。

双机热备系统结构示意图如图1所示。它的工作方式一般有3种:主备机模式、互备模式和双机双工模式(即双机冗余模式)。3种模式下的两个子系统均加电工作,每个子系统都具有故障检测和诊断功能,而且3种结构均具有主备切换功能。但主备机模式下只有一个子系统能够控制被控对象,另一个子系统处于待命状态;互备模式为两子系统之间互相备份数据,但执行的是不同的任务,在一台故障时,另一台接收故障机的任务并继续执行;双机双工模式的两个子系统均处于活动状态,均能控制被控对象,同时进行工作并完

成同样的功能,在输出前进行比较,结果一致则输出,不一致则报错,而主备机模式和互备模式时,系统在运行过程中两个单元的运行结果不进行比较。

AT90CAN128的双机热备结构继电器驱动系统设计

1.2 结构选择

本系统的主要功能为利用单片机系统驱动某型号,可以考虑的热备工作模式为主备机模式或双机双工模式,因而需比较两种模式的可靠性。

系统的可靠性R(t)为时间和失效率的函数,指产品在规定时间内和规定条件下,完成规定功能的概率。失效率指的是在规定时间内和规定条件下的产品失效的概率,一般用λ表示。系统的可靠性常随时间的增加而减少,一般用平均无故障工作时间(MTBF)来衡量。MTBF指系统相邻两次故障间的平均工作时间,它的值为系统的可靠性R(t)的期望。

在此,假设单机系统寿命服从指数分布,则第i个子系统的寿命即可靠度函数为Ri(t)=e-λt,则可知单机的平均无故障时间为

AT90CAN128的双机热备结构继电器驱动系统设计

主备机模式下,一个子系统工作,另一个不工作,它的系统可靠度和平均无故障工作时间分别为:

AT90CAN128的双机热备结构继电器驱动系统设计

双机双工模式可看作两个子系统的并联,则此模式下系统的可靠性取决于两个子系统中寿命较长者,其可靠度函数和平均无故障工作时间分别为:

AT90CAN128的双机热备结构继电器驱动系统设计

可以看出,相比单机系统,两种模式下的双机热备系统的可靠性均有显著提高,其中主备机模式下提高了3倍,双机双工模式下提高了1.5倍。因此,从保证系统更高可靠性的角度来看,主备机模式具有一定优势,故本系统采用主备机模式。

2 系统概述

2.1 硬件结构

本系统选用Atmel公司的单片机作为主控芯片,其内部已经集成了CAN控制器,因此无需使用CAN控制器SJA1000,只需选用TJA1050作为CAN高速收发器,大大简化了电路。其系统结构如图2所示。

AT90CAN128的双机热备结构继电器驱动系统设计

本系统采用3片单片机作为核心控制芯片,其中MCUA和MCUB构成双机热备系统,MCUC用于监测和状态显示。单片机MCUA和MCUB互为主备关系,需要接收并处理上位机发送进来的CAN通信信息,对信息进行比较同步处理,进而通过驱动电路驱动某安全型继电器。驱动电路可包含多组,每一组控制一个继电器,电路由主MCU控制。MCUA和MCUB把相关监测信息通过串口通信传送给MCUC,MCUC监测A和B是否工作正常,并将其工作状态通过LED显示灯进行状态显示。3个CPU相互之间由串口进行通信,并通过CAN总线与上位主机进行通信。这样,整个系统就形成两套MCU控制回路构成主备关系,一套控制回路进行监测的系统架构。

2.2 软件结构

程序采用C语言模块化设计,C语言作为一种结构式的高级语言,具有表达方式灵活、可移植性强、代码质量高等优点,模块化的设计也增强了程序的可读性。其主程序流程图如图3所示。

AT90CAN128的双机热备结构继电器驱动系统设计

为了满足高可靠性、安全性的要求,程序中对MCU加入了CPU自检模块,因而3个CPU共同具有的模块包括设备初始化模块、通信处理模块和CPU自检模块,并通过自定义采集量完成延时去抖等。通过在主程序中设置Flag标志位来对各个模块进行调用。对于MCUA和MCUB,由于二者互为冗余,它们的软件设计结构基本一致,另外包含同步信息处理模块和驱动模块。负责监测的MCUC则包含信息存储模块、LED显示模块。

3 模块设计

(1)设备初始化模块

该模块主要完成系统的准备工作、系统的上电自检和自检后的处理3步。其中,准备工作主要有上电延时(约0.5 s)、MCU引脚方向寄存器的设置、数据区初始化、A/D转换器参数设置、定时器参数设置、地址码读取。系统上电自检包括MCU自检、开中断、同步电路自检、地址码自检。自检结束后处理初始化与MCUC通信的参数设置、自检故障处理或初始化CAN总线。

(2)自检和故障处理模块

该模块主要用于对整个系统的内部自检及故障后的处理,包括MCUA和MCUB之间的CAN总线通信自检、地址校核和各个CPU的自检,CPU的自检又包括CPU自身运算符的自检和数据区的自检,自检结果若出现错误,则置位相应错误标识。

(3)通信处理模块

该模块用于处理上位机通过CAN总线下发的通信命令,包括命令的解析、命令帧命令的合法性检查、转换成有效的驱动命令3部分。定义通信协议每一帧包括10个字节,第1个字节为板地址号,第2个字节为功能码,第3个字节为通信序号,第4~8个字节为本帧要发送的主要数据信息,帧尾(最后两个字节)为CRC校验位。其中发送的主要数据信息包括继电器的动作信息、状态信息和MCU的状态信息等。

(4)同步处理模块

该模块主要用于主机和备机间发送和接收同步命令帧以及向MCUC发送监测信息帧,发送方对需发送的数据打包发送,接收方对同步数据的接收解包,每30 s同步一次,通过MCU之间的串口通信进行,每一帧都要进行CRC校验。

(5)驱动模块

安全型继电器是一种新型直流24 V继电器系列,因此驱动电路选用直流24 V电源。它是一种我国自行设计和制造的信号继电器,具有结构新颖、重量轻、体积小等特点。图4所示为继电器驱动模块结构示意图。对于本多组驱动热备系统,只需将多组此结构的电路分别连接至MCUA和MCUB即可,MCUA和MCUB的硬件结构完全相同。

AT90CAN128的双机热备结构继电器驱动系统设计

本驱动电路由CPU控制,通过JF和JZ连接某安全型继电器。电路中由两个光电隔离器件K1和K2串联,分别通过QD1和QD2两引脚接入MCU,由单片机软件控制光电隔离的导通,并由光电隔离的导通顺序决定电容C1和C2的先后充电放电,继而导通由JF和JZ连接的继电器。QD1和QD2的高低电平先后导通时序如图5所示。

AT90CAN128的双机热备结构继电器驱动系统设计

继电器正常运作过程中,驱动模块需按图5所示的导通时序多个周期反复运行。驱动时主机和备机每5个周期同步一次,根据图3(a)的主程序流程图,驱动模块在主标志位置为QD CHECK时开始动作。根据驱动电路导通时序分别将MCU上对应的驱动引脚置为高电平或低电平。据此编写程序,驱动模块单周期软件流程图如图6所示。由于需要在测试时多次试验找出继电器动作时最恰当的占空比,在此没有采用定时器,而是用计数的方式进行延时。其中,根据图5所示的导通时序,QD2的MAX值须为QD1的两倍。

AT90CAN128的双机热备结构继电器驱动系统设计

(6)LED显示模块

该模块用于对各种状态信息的显示,包括电源指示灯、故障指示灯、继电器吸起/落下指示灯。硬件电路采用共阳极LED显示电路,软件通过MCU将相应二极管阴极置为低电平实现对该LED的导通。受单片机引脚所限,MCUA和MCUB只有各自的电源和故障灯,其他功能指示灯连接至MCUC。

(7)MCUC的存储模块

该模块用于MCUC对接收到MCUA和MCUB的监测信息帧的处理,包括接收信息、处理信息。处理信息时,如果出现异常则会在系统自检时报错。

结语

本设计采用Atmel公司的AVR单片机作为核心控制器,经过分析运算,选取了可靠性较高的双机热备结构主备机模式作为系统工作模式,建立了一个第三方监测下的双机热备结构安全型继电器。经测试证明,本系统具有较好的工作性能,可以满足可靠性要求。



评论


相关推荐

技术专区

关闭