发明内容
本发明提供一套主控板备份系统,为提高智能立体车库控制系统的稳定性和可靠性,确保其连续无故障运行,实现很好的可维护性和可扩展性。
本发明的具体技术方案为:
一种智能立体车库控制系统,包括:背板、第一槽位、第二槽位、第一主控板、第二主控板、第一外部接口带、第二外部接口带、监控板和外部共用接口带,所述第一槽位、第二槽位、第一主控板、第二主控板、第一外部接口带、第二外部接口带位于背板上;所述第一槽位与第二槽位连接,所述第一主控板分别与第一槽位、第一外部接口带连接,所述第二主控板分别与第二槽位、第二外部接口带连接,所述监控板分别与第一外部接口带、第二外部接口带、外部共用接口带连接;所述外部共用接口带位于监控板上;所述第一槽位上设有第一微动开关,所述第二槽位上设有第二微动开关;
所述监控板上设有FPGA、MCU、复位电路、RS422串口收发器、网口、串口、显示接口和RTC接口,所述FPGA通过外部共用接口带与网口、串口、显示接口连接,所述FPGA通过第一外部接口带与第一主控板连接,所述FPGA通过第二外部接口带与第二主控板连接,所述MCU与FPGA、复位电路、RS422串口收发器、RTC接口连接;
所述MCU用于监测第一主控板/第二主控板内部的硬件是否有故障;所述FPGA用于控制外部共用接口带与第一外部接口带或第二外部接口带之间的电气连通;当第一主控板内部的硬件出现故障时,FPGA负责将第二外部接口带线路切换至外部共用接口带;当第二主控板内部的硬件出现故障时,FPGA负责将第一外部接口带线路切换至外部共用接口带。
进一步的,所述MCU内部还设有ADC接口、I2C0接口、SPI接口、BOD接口、UART接口、FMC接口、GPIO接口、WDT接口、TIMER接口,所述ADC接口和I2C0接口与FPGA连接,ADC接口和I2C0接口用于监测第一主控板/第二主控板内部的硬件是否有故障并进行报警;RS422串口收发器与外界的上位机连接,GPIO接口与RTC接口连接。
进一步的,所述第一主控板/第二主控板上设有芯片组、CPU、内存、硬盘、网口、串口、显示接口、smbus接口和多个TMPsensor组,所述芯片组分别与CPU、硬盘连接,所述芯片组与网口、串口、显示接口连接,所述CPU与内存连接;所述第二主控板与第一主控板为同型号的主控板,第一主控板内部通过第一PCIE总线连接,第二主控板内部通过第二PCIE总线连接。
进一步的,所述FPGA通过第一外部接口带与第一主控板上的网口、串口、显示接口、smbus接口和多个TMPsensor组连接,所述FPGA通过第二外部接口带与第二主控板上的网口、串口、显示接口、smbus接口和多个TMPsensor组连接。
进一步的,所述监控板由外界的5V独立电源供电;所述第一主控板/第二主控板由外界的12V电源供电。
一种智能立体车库控制系统的方法,所述方法的步骤为:
a.系统上电阶段处理:第一主控板上电后,第一主控板将第一PCIE总线配置为PCIE主模式;第二主控板上电后,第二主控板将第二PCIE总线配置为PCIE从模式;监控板获取第一主控板和第二主控板在位情况;
b.第一主控板上设有第一监控模块,该第一监控模块通过第一PCIE总线接口,将系统应用程序的数据信息以用户指定的周期同步到第二主控板所在的系统;
c.第二主控板上设有第二监控模块,该第二监控模块通过第二PCIE总线接口,接收第一PCIE总线接口发送过来的数据信息,确保该数据信息在第二主控板上处于同步待命状态;
d.监控板上的MCU实时获取第一主控板的状态,如发生故障,MCU发送指令给到FPGA,FPGA将外部共用接口带线路切换到第二外部接口带,同时监控板将发送指令给到第二主控板,第二主控板的监控模块将PCIE从模式切换到PCIE主模式,同时,第二主控板上的监控模块负责将系统应用程序的数据信息以用户指定的周期同步到第一主控板所在的系统。
e.第二主控板替代第一主控板系统的应用程序继续运行,确保整个系统应用能够继续工作。
进一步的,所述步骤a中,监控板接收到信号,当第一主控板和第二主控板都在位时,系统默认将外部共用接口带和第一主控板上的第一外部接口带进行物理上的连接,同时,第二主控板的第二外部接口带和外部共用接口带之间物理上则断开;当监控板接收到信号,第一主控板发生故障时,系统将外部共用接口带和第二主控板上的第二外部接口带进行物理上的连接,同时,第一主控板的第一外部接口带和外部共用接口带之间物理上则断开。
本发明所带来的有益技术效果为:本发明设置有备份的第二主控板,可以确保第一主控板硬件故障后第二主控板继续接替原来的工作,使得系统的安全性和可靠性大大增加,这对一些人体无法进入的场合,对系统连续性工作要求非常高的场合具有非常重要的意义和经济价值。
实施例一
智能立体车库上一般只使用一片主控板,现增加一片主控板作为备份,这样构建了一套冗余系统方案。当然,构建一套冗余系统,仅靠增加一片主控板是远远不够的,需要其它的辅助模块的配合,才能构建可行的方案。
一种智能立体车库控制系统,包括:背板、第一槽位、第二槽位、第一主控板、第二主控板、第一外部接口带、第二外部接口带、监控板和外部共用接口带,所述第一槽位、第二槽位、第一主控板、第二主控板、第一外部接口带、第二外部接口带位于背板上;所述第一槽位与第二槽位连接,所述第一主控板分别与第一槽位、第一外部接口带连接,所述第二主控板分别与第二槽位、第二外部接口带连接,所述监控板分别与第一外部接口带、第二外部接口带、外部共用接口带连接;所述外部共用接口带位于监控板上;所述第一槽位上设有第一微动开关,所述第二槽位上设有第二微动开关。
监控板上设有FPGA、MCU、复位电路、RS422串口收发器、网口、串口、显示接口和RTC接口,所述FPGA通过外部共用接口带与网口、串口、显示接口连接,所述FPGA通过第一外部接口带与第一主控板连接,所述FPGA通过第二外部接口带与第二主控板连接,所述MCU与FPGA、复位电路、RS422串口收发器、RTC接口连接。
MCU用于监测第一主控板或第二主控板内部的硬件是否有故障;该FPGA用于控制外部共用接口带与第一外部接口带或第二外部接口带之间的电气连通;当第一主控板内部的硬件出现故障时,FPGA负责将第二外部接口带线路切换至外部共用接口带;当第二主控板内部的硬件出现故障时,FPGA负责将第一外部接口带线路切换至外部共用接口带。
上述各个模块的功能描述如下:
背板也就是一个PCB板,它是固定在机箱上的,不能插拔,而主控板则是可以方便插拔更换的。背板上的模块是通过PCIE总线连接的。
第一槽位即作为第一主控板所在的槽位,其槽位上有相应的第一微动开关作为识别其在位与否进行监测。
第二槽位即作为第二主控板所在的槽位,其槽位上有相应的第二微动开关作为识别其在位与否进行监测。
第一主控板即当前作为活动的主控板。
第二主控板即当前作为备份的主控板。
第一/第二外部接口带,是指逻辑上的由对应的槽位上所引出的外设接口,比如网口、串口、显示接口、smbus总线接口等。
监控板则作为一个独立的模块,用于和当前的第一/第二主控板进行通讯,判断当前的第一/第二主控板是否在位,同时需要判断第一主控板是否有出现硬件故障。
当第一主控板出现硬件故障后,监控板控制外部共用的接口带和第二主控板的外部接口带物理上连接,原来的第一主控板的外部接口带则被物理上断开,其角色变为第二主控板。
第一主控板和第二主控板之间通过PCIE总线连接,该连接通道位于背板上,主要用于系统软件上下文由第一主控板到第二主控板之间的同步。
第一主控板和第二主控板信息完全一致,包括系统磁盘分区,内存大小,网卡MAC地址等相关信息都要求完全一致。
硬件部分主要实现了第一主控板和第二主控板之间的互联,主要是PCIE接口。
背板需要实现一个微动开关,支持对当前的槽位上的主控板是否在位进行检测,检测需要通过传感器传递相关信号到监控板上。
请参考图1,所述MCU内部还设有ADC接口、I2C0接口、SPI接口、BOD接口、UART接口、FMC接口、GPIO接口、WDT接口、TIMER接口,所述ADC接口和I2C0接口与FPGA连接,ADC接口和I2C0接口用于监测第一主控板/第二主控板内部的硬件是否有故障并进行报警;RS422串口收发器与外界的上位机连接,GPIO接口与RTC接口连接。
具体的,所述第一主控板/第二主控板上设有芯片组、CPU、内存、硬盘、网口、串口、显示接口、smbus接口和多个TMPsensor组,所述芯片组分别与CPU、硬盘连接,所述芯片组与网口、串口、显示接口连接,所述CPU与内存连接;所述第二主控板与第一主控板为同型号的主控板,第一主控板内部通过第一PCIE总线连接,第二主控板内部通过第二PCIE总线连接。
具体的,所述FPGA通过第一外部接口带与第一主控板上的网口、串口、显示接口、smbus接口和多个TMPsensor组连接,所述FPGA通过第二外部接口带与第二主控板上的网口、串口、显示接口、smbus接口和多个TMPsensor组连接。
具体的,所述监控板由外界的5V独立电源供电;所述第一主控板/第二主控板由外界的12V电源供电。
如图2所示,一种智能立体车库控制系统的方法,所述方法的步骤为:
a.系统上电阶段处理:第一主控板上电后,第一主控板将第一PCIE总线配置为PCIE主模式;第二主控板上电后,第二主控板将第二PCIE总线配置为PCIE从模式;监控板获取第一主控板和第二主控板在位情况;
b.第一主控板上设有第一监控模块,该第一监控模块通过第一PCIE总线接口,将系统应用程序的数据信息以用户指定的周期同步到第二主控板所在的系统;
c.第二主控板上设有第二监控模块,该第二监控模块通过第二PCIE总线接口,接收第一PCIE总线接口发送过来的数据信息,确保该数据信息在第二主控板上处于同步待命状态;
d.监控板上的MCU实时获取第一主控板的状态,如发生故障,MCU发送指令给到FPGA,FPGA将外部共用接口带线路切换到第二外部接口带,同时监控板将发送指令给到第二主控板,第二主控板的监控模块将PCIE从模式切换到PCIE主模式,同时,第二主控板上的监控模块负责将系统应用程序的数据信息以用户指定的周期同步到第一主控板所在的系统。
e.第二主控板替代第一主控板系统的应用程序继续运行,确保整个系统应用能够继续工作。
在步骤a中,监控板接收到信号,当第一主控板和第二主控板都在位时,系统默认将外部共用接口带和第一主控板上的第一外部接口带进行物理上的连接,同时,第二主控板的第二外部接口带和外部共用接口带之间物理上则断开;当监控板接收到信号,第一主控板发生故障时,系统将外部共用接口带和第二主控板上的第二外部接口带进行物理上的连接,同时,第一主控板的第一外部接口带和外部共用接口带之间物理上则断开。
其中,所述监控板上设有GPIO口,所述GPIO口获取第一微动开关/第二微动开关上的电平值,来判断第一主控板和第二主控板是否在位。
同时,所述第一主控板/第二主控板上设有smbus接口,通过smbus接口与监控板连接,来检测第一主控板和第二主控板是否在位。
对第一主控板的第一监控程序流程进行说明如下:
第一主控板上电后,等待2秒左右时间,第一监控程序开始自动运行,且将PCIE配置为主模式,然后进入到定时同步系统应用程序的数据信息中,如出现故障,则第一主控板停止工作。
第二主控板的第二监控程序流程说明如下:
第二主控板上电后,等待1秒左右时间,第二监控程序开始自动运行,且将PCIE配置为从模式,然后进入到定时接收系统应用程序数据信息传输的循环中。
如果同步成功,则需要清除同步接收超时计数器,再次等待同步完成,否则,将判断超时是完成,如超时,则报告异常,显示第一主控板故障,退出,否则将继续等待同步接收信息。
监控板循环监控硬件状态,获取硬件的相关信息,比如CPU的温度,CPU电压,CPU风扇的转速,系统温度,系统电压,系统风扇转速,12V电压,3.3V电压,CMOS的电压,内存温度,硬盘温度等,当发现核心工作器件出现异常则会报告异常,监控板将切换共用接口带到第二的主控板的第二外部接口带,然后发送切换第二主控板为第一主控板角色。
本发明可以确保第一主控板硬件故障后第二主控板继续接替原来的工作,使得系统的安全性和可靠性大大增加,这对一些人体无法进入的场合,对系统连续性工作要求非常高的场合具有非常重要的意义和经济价值。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
本发明未述及之处适用于现有技术。