微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > AT90CAN128的双机热备结构继电器驱动系统设计

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

时间:10-15 来源:互联网 点击:

模块、通信处理模块和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的硬件结构完全相同。

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

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

(6)LED显示模块

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

(7)MCUC的存储模块

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

结语

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top