CN108829547B - 一种海洋平台的计算机控制器及其实现方法 - Google Patents
一种海洋平台的计算机控制器及其实现方法 Download PDFInfo
- Publication number
- CN108829547B CN108829547B CN201810460224.9A CN201810460224A CN108829547B CN 108829547 B CN108829547 B CN 108829547B CN 201810460224 A CN201810460224 A CN 201810460224A CN 108829547 B CN108829547 B CN 108829547B
- Authority
- CN
- China
- Prior art keywords
- working mode
- control module
- cpu
- slave
- pin gpio
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2041—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种海洋平台的计算机控制器及其实现方法,方法包括:利用三块功能相同、架构不同、且相对独立的控制模块构建计算机控制器;在同一时刻,将一块控制模块设为主机工作模式,另外两块控制模块为从机工作模式;当控制模块进入主机工作模式时,工作状态设置为唤醒状态;当控制模块进入从机工作模式进入时,工作状态设置为休眠状态;当控制模块在主机工作模式下发生故障时,将其中一块为从机工作模式的控制模块切换为主机工作模式,继续维持海洋平台控制系统的运行。本发明节能环保,对海洋平台的资源消耗较少,可靠性高,延长了海洋平台孤网运行的时间,降低维护成本。
Description
技术领域
本发明涉及海洋平台领域,具体涉及一种海洋平台的计算机控制器及其实现方法。
背景技术
随着计算机技术的高速发展,计算机控制器被越来越广泛应用在海洋平台领域,并发挥了越来越重要的作用。
目前,海洋平台的计算机控制器通常采用单主控板来执行控制功能,但单主控板存在可靠性较低、故障率较高的问题,一旦单主控板失效则控制系统将存在失控的风险。
为解决单主控板可靠性较低的问题,现在部分计算机控制器采用双机热备的方式,即通过两个相同的主控板以一主用一备用的方式执行控制功能。在实际使用中,两块相同的主控板可靠性仍然不足,容易由于共因故障导致控制器失效,进而导致控制系统失控;而且,这种以双机热备方式运行的计算机控制器,功耗大,不节能,散热差,维护困难,与海洋平台控制器需要长时间孤网运行的要求不符。
发明内容
本发明所要解决的技术问题是现有海洋平台的计算机控制器存在可靠性不足、功耗大、散热差、维护困难的缺点,与海洋平台的计算控制器需要长时间孤网运行的要求不符的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种海洋平台的计算机控制器,包括三块功能相同、架构不同的控制模块,且三块控制模块间相对独立,在同一时刻,有、且仅有一块控制模块为主机工作模式,另外两块控制模块为从机工作模式;
每块所述控制模块设有唤醒状态和休眠状态,当所述控制模块为主机工作模式时,工作状态设置为唤醒状态,当所述控制模块为从机工作模式时,工作状态设置为休眠状态;
当控制模块在主机工作模式下发生故障时,将其中一块为从机工作模式的控制模块切换为主机工作模式,继续维持海洋平台控制系统的运行。
在上述控制器中,三块所述控制模块分别为第一控制模块、第二控制模块和第三控制模块,并通过一个带有三个档位的外部旋钮进行工作模式的切换;
当外部旋钮开关指向第一档时,第一触点S1闭合,第二触点S2、第三触点S3断开,第一控制模块为主机工作模式,第二控制模块和第三控制模块为从机工作模式;
当外部旋钮开关指向第二档时,第二触点S2闭合,第一触点S1、第三触点S3断开,第二控制模块为主机工作模式,第一控制模块和第三控制模块为从机工作模式;
当外部旋钮开关指向第三档时,第三触点S3闭合,第一触点S1、第二触点S2断开,第三控制模块为主机工作模式,第一控制模块和第二控制模块为从机工作模式。
在上述控制器中,每个所述控制模块的CPU需要选择五个GPIO管脚进行如下配置:
CPU第一管脚GPIO_A配置为输入工作模式,且电平翻转触发中断,实现主机与从机工作模式之间的切换;
CPU第二管脚GPIO_B、CPU第三管脚GPIO_C配置为输出工作模式;
CPU第四管脚GPIO_D、CPU第五管脚GPIO_E配置为输入工作模式,且电平翻转触发中断,实现从主机工作模式到从机工作模式的切换或者保持为从机工作模式。
在上述控制器中,三块所述控制模块的CPU之间通过GPIO管脚进行如下连接:
第一CPU的第二管脚GPIO_B、第三管脚GPIO_C分别接第二CPU的第四管脚GPIO_D、第三CPU的第五管脚GPIO_E;
第二CPU的第二管脚GPIO_B、第三管脚GPIO_C分别接第三CPU的第四管脚GPIO_D、第一CPU的第五管脚GPIO_E;
第三CPU的第二管脚GPIO_B、第三管脚GPIO_C分别接第一CPU的第四管脚GPIO_D、第二CPU的第五管脚GPIO_E。
本发明还提供了一种海洋平台的计算机控制器的实现方法,包括以下步骤:
步骤S10、利用三块功能相同、架构不同、且相对独立的控制模块构建计算机控制器;
步骤S20、在同一时刻,将一块控制模块设为主机工作模式,另外两块控制模块为从机工作模式;
步骤S30、当控制模块进入主机工作模式时,工作状态设置为唤醒状态;当控制模块进入从机工作模式进入时,工作状态设置为休眠状态;
步骤S40、当控制模块在主机工作模式下发生故障时,将其中一块为从机工作模式的控制模块切换为主机工作模式,继续维持海洋平台控制系统的运行。
在上述方法中,所述控制模块的主流程具体包括以下步骤:
步骤S11、初始化;
步骤S12、创建唤醒定时器T1和控制从机定时器T2;
步骤S13、使能GPIO_A、GPIO_D、GPIO_E中断;
步骤S14、判断GPIO_A输入电平是否为高电平,如果是,执行步骤S15;否则,执行步骤S16;
步骤S15、将自身设置为主机工作模式,启动控制从机定时器T2,同时将其第二管脚GPIO_B、第三管脚GPIO_C输出电平翻转,并执行步骤S17;
步骤S16、将自身设置为从机工作模式,关闭控制从机的定时器T2,启动唤醒定时器T1,关闭外围设备,切换到低速时钟,使CPU进入休眠状态,并执行步骤S17;
步骤S17、判断工作模式是否为主机模式,如果是,执行步骤S18;否则,执行步骤S17;
步骤S18、执行控制器功能。
在上述方法中,第一管脚GPIO_A电平翻转触发中断,此时中断的处理函数具体包括:
步骤S151、判断第一管脚GPIO_A输入电平是否为高电平,若为高电平,则执行步骤S152;否则,执行步骤S154;
步骤S152、使CPU进入唤醒状态,切换到高速时钟,将自身设置为主机工作模式,将第二管脚GPIO_B、第三管脚GPIO_C输出电平翻转,打开外围设备,启动控制从机定时器T2,停止唤醒定时器T1;
步骤S153、向数据中心服务器发送获取被控系统的状态以及主机的控制参数的请求,然后执行步骤S156;
步骤S154、通过CAN总线,向数据中心服务器上传被控系统的状态以及控制参数;
步骤S155、将自身设置为从机工作模式,关闭控制从机的定时器T2,启动唤醒定时器T1,关闭外围设备,切换到低速时钟,使CPU进入休眠状态,然后执行步骤S156;
步骤S156、结束。
在上述方法中,第一CPU、第二CPU、第三CPU的唤醒定时器T1的周期分别为5s、7s、9s;控制从机定时器T2的周期为3s;
当为主机工作模式的第一控制模块发生故障时,第一CPU运行异常,其第二管脚GPIO_B、第三管脚GPIO_C无法输出电平翻转;
在7s之后,第二控制模块的第二CPU通过唤醒定时器T1发生中断,将自身切换为主机工作模式,其第二管脚GPIO_B、第三管脚GPIO_C输出电平翻转,控制第三控制模块维持从机工作模式;
在主机工作模式下的其他控制模块发生故障的时候,工作模式切换过程相同。
在上述方法中,唤醒定时器T1的处理函数具体包括以下步骤:
步骤S1521、使CPU进入唤醒状态,切换到高速时钟,并切换为主机工作模式;
步骤S1522、将第二管脚GPIO_B、第三管脚GPIO_C输出电平翻转,使其他两块控制模块的第四管脚GPIO_D、第五管脚GPIO_E输入电平同时翻转,触发相应中断,使其他控制模块进入或维持从机工作模式;
步骤S1523、打开外围设备;
步骤S1524、启动控制从机的定时器T2,停止唤醒定时器T1;
步骤S1525、通过CAN总线,向数据中心服务器发送获取被控系统的状态以及主机的控制参数的请求。
在上述方法中,每个控制模块的控制从机定时器T2的处理函数为:第二管脚GPIO_B、第三管脚GPIO_C输出电平翻转,并通过CAN总线向数据中心服务器发送被控系统的状态以及控制参数,使数据中心服务器实时更新数据。
在上述方法中,CPU的第四管脚GPIO_D或第五管脚GPIO_E电平翻转触发中断,此时中断的处理函数具体包括:
步骤S21、使CPU进入唤醒状态,切换到高速时钟,控制模块进入从机工作模式;
步骤S22、关闭控制从机定时器T2;
步骤S23、重置唤醒定时器T1;
步骤S24、关闭外围设备,切换到低速时钟,使CPU进入休眠状态。
与现有技术相比,本发明节能环保,对海洋平台的资源消耗较少,延长了海洋平台孤网运行的时间,具体有益效果如下:
(1)本发明通过将工作模式为从机的控制模块设为休眠状态,降低了计算机控制器的功耗,三块控制模块只近似于一块控制模块正常运行的功耗,散热较容易;
(2)本发明的可靠性高,采用了三块功能相同、架构不同,且相对独立的控制模块,因架构不同,且相对独立可尽量避免控制模块的共因故障出现,即使出现共因故障,三块控制模块同时失效的几率也很小;另外,由于计算机控制器中两块作备用的控制模块(在从机工作模式下的控制模块)长期处于休眠状态,电子元器件老化速度较慢,大大延长了使用寿命,进一步提高了计算机控制器的可靠性;
(3)本发明的维护简单,由于有两块备用主控模块,延长运行时长,只有在三块主控板全部失效的情况下,才需要维护更换,大大减少了维护次数,降低了维护难度及成本。
附图说明
图1为本发明中通过外部旋钮开关切换主机的工作原理图;
图2为本发明还提供的一种海洋平台的计算机控制器的实现方法的流程图;
图3为本发明中控制模块的主流程图;
图4为本发明中第一管脚GPIO_A电平翻转触发中断,此时中断的处理函数的流程图;
图5为本发明中唤醒定时器T1的处理函数的流程图;
图6为本发明中控制从机定时器T2的处理函数流程图;
图7为本发明中CPU的第四管脚GPIO_D或第五管脚GPIO_E电平翻转触发中断,此时中断的处理函数流程图。
具体实施方式
下面结合说明书附图和具体实施方式对本发明做出详细说明。
本发明提供的一种海洋平台的计算机控制器,具有高可靠性、低功耗的特征,具体包括三块功能相同、架构不同的控制模块(计算机主控板),且三块控制模块间相对独立;在同一时刻,有、且仅有一块控制模块为主机工作模式,另外两块控制模块为从机工作模式;
每块控制模块设有唤醒状态和休眠状态,当控制模块为主机工作模式时,工作状态设置为唤醒状态,当控制模块为从机工作模式时,工作状态设置为休眠状态;
当控制模块为休眠状态时,可由GPIO输入电平变化中断或者定时器超时唤醒;
当控制模块处于休眠状态时,外围设备关闭,切换到低速时钟状态,CPU停止工作进入休眠状态,其功耗相对于唤醒状态时相差一到两个数量级,可忽略不计,因此,本发明提供的一种海洋平台的计算机控制器的功耗相当于单主控板控制器的功耗,较采用双机热备方式的计算机控制器的功耗降低一半,相应的,散热量的需求也减少一半,降低控制器结构设计的难度。
当控制模块在主机工作模式下发生故障时,将其中一块为从机工作模式的控制模块切换为主机工作模式,继续维持海洋平台控制系统的运行。即使出现两块控制模块同时发生故障的情况,仍可将第三块控制模块切换为主机,维持海洋平台控制系统,避免控制器失效,提高控制器可靠性,另外,由于三块控制模块的架构不同,有效降低了三块控制模块因相同原因同时出现故障的几率,进一步提高了控制器的可靠性。
在本发明中,三块控制模块由三个相对独立的电源供电,且共GND。三块控制模块分别为第一控制模块、第二控制模块和第三控制模块;三块控制模块通过一个带有三个档位的外部旋钮开关进行工作模式的切换;当外部旋钮开关指向第一档1时,第一触点S1闭合,第二触点S2、第三触点S3断开,第一控制模块为主机工作模式,第二控制模块和第三控制模块为从机工作模式;当外部旋钮开关指向第二档2时,第二触点S2闭合,第一触点S1、第三触点S3断开,第二控制模块为主机工作模式,第一控制模块和第三控制模块为从机工作模式;当外部旋钮开关指向第三档3时,第三触点S3闭合,第一触点S1、第二触点S2断开,第三控制模块为主机工作模式,第一控制模块和第二控制模块为从机工作模式。
在本发明中,三块控制模块都包括CPU(Central Processing Unit,中央处理器)、SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)芯片、FLASH(编码型快闪存储器)芯片、JTAG(Joint Test Action Group,联合测试工作组)电路、高速时钟、低速时钟、UART(通用异步收发传输器(Universal Asynchronous Receiver/Transmitter))控制器、CAN(Controller Area Network)控制器、以太网控制器及外围电路;其中,高速时钟的主频为400MHz,低速时钟的主频为32.768KHz。
三块控制模块的CPU及主要外围芯片型号均不相同,但是能够完成同样的功能,例如第一控制模块以ARM处理器为CPU;第二控制模块以申威处理器为CPU;第三控制模块以龙芯处理器为CPU。
在本发明中,每个控制模块的CPU需要选择五个GPIO(General Purpose InputOutput,通用输入/输出)管脚进行如下配置:
CPU第一管脚GPIO_A配置为输入工作模式,且电平翻转触发中断,实现主机与从机工作模式之间的切换;
CPU第二管脚GPIO_B、CPU第三管脚GPIO_C配置为输出工作模式;
CPU第四管脚GPIO_D、CPU第五管脚GPIO_E配置为输入工作模式,且电平翻转触发中断,实现从主机工作模式到从机工作模式的切换或者保持为从机工作模式。
三个控制模块的CPU之间通过GPIO管脚进行如下连接:
第一CPU(第一控制模块的CPU)的第二管脚GPIO_B、第三管脚GPIO_C分别接第二CPU(第二控制模块的CPU)的第四管脚GPIO_D、第三CPU(第三控制模块的CPU)的第五管脚GPIO_E;
第二CPU的第二管脚GPIO_B、第三管脚GPIO_C分别接第三CPU的第四管脚GPIO_D、第一CPU的第五管脚GPIO_E;
第三CPU的第二管脚GPIO_B、第三管脚GPIO_C分别接第一CPU的第四管脚GPIO_D、第二CPU的第五管脚GPIO_E。
在本发明中,当第一管脚GPIO_A由低电平变为高电平时,触发中断,对应的控制模块的工作模式由从机工作模式转换为主机工作模式;当第一管脚GPIO_A由高电平变为低电平时,触发中断,对应的控制模块的工作模式从主机模式转换为从机模式。
图1所示为通过外部旋钮开关切换主机的工作原理图,当外部旋钮开关指向第一档1时,第一触点S1闭合,第二触点S2、第三触点S3断开,第一控制模块为主机工作模式,第二控制模块和第三控制模块为从机工作模式;
当外部旋钮开关从第一档1调整到第二档2时,第二触点S2闭合,第一触点S1、第三触点S3断开,与第二触点对应的第二CPU的第一管脚GPIO_A接收电平由低电平变为高电平,产生中断,将自身工作模式由从机工作模式切换为主机工作模式;相应的,第一CPU的第一管脚GPIO_A接收的电平则由高电平变为低电平,也触发中断,将自身工作模式从主机工作模式切换为从机工作模式;第三CPU仍然保持为从机工作模式。
再将外部旋钮开关从第二档2调整到第一档1或者第三档3位,过程与将外部旋钮开关从第一档1调整到第二档2的过程类似,在此不再赘述。
如图2所示,本发明还提供的一种海洋平台的计算机控制器的实现方法,包括以下步骤:
步骤S10、利用三块功能相同、架构不同、且相对独立的控制模块构建计算机控制器;
步骤S20、在同一时刻,将一块控制模块设为主机工作模式,另外两块控制模块为从机工作模式;
步骤S30、当控制模块进入主机工作模式时,工作状态设置为唤醒状态;当控制模块进入从机工作模式进入时,工作状态设置为休眠状态;
步骤S40、当控制模块在主机工作模式下发生故障时,将其中一块为从机工作模式的控制模块切换为主机工作模式,继续维持海洋平台控制系统的运行。
如图3所示,每个控制模块的主流程具体包括以下步骤:
步骤S11、初始化;
步骤S12、创建唤醒定时器T1和控制从机定时器T2;
步骤S13、使能GPIO_A、GPIO_D、GPIO_E中断;
步骤S14、判断GPIO_A输入电平是否为高电平,如果是,执行步骤S15;否则,执行步骤S16;
步骤S15、将自身设置为主机工作模式,启动控制从机定时器T2,同时将其第二管脚GPIO_B、第三管脚GPIO_C输出电平翻转,使其他两个控制模块的第四管脚GPIO_D、第五管脚GPIO_E输入电平同时发生翻转,触发相应的中断,其他两个控制模块为从机工作模式(因为为从机工作模式的控制模块会启动唤醒定时器T1,自动将自身的工作模式切换到主机工作模式,因此,主机工作模式的控制模块需要不断对其触发电平翻转,将唤醒定时器T1重置,将其模式一直维持在从机工作模式),并执行步骤S17;
步骤S16、将自身设置为从机工作模式,关闭控制从机的定时器T2,启动唤醒定时器T1,关闭外围设备,切换到低速时钟,使CPU进入休眠状态,并执行步骤S17;
步骤S17、判断工作模式是否为主机模式,如果是,执行步骤S18;否则,执行步骤S17;
步骤S18、执行控制器功能,即对被控系统的状态进行采集,并调节、控制被控系统的状态。
如图4所示,在本发明中,第一管脚GPIO_A电平翻转触发中断,此时中断的处理函数具体包括:
步骤S151、判断第一管脚GPIO_A输入电平是否为高电平,若为高电平,则执行步骤S152;否则,执行步骤S154;
步骤S152、使CPU进入唤醒状态,切换到高速时钟,将自身设置为主机工作模式,将第二管脚GPIO_B、第三管脚GPIO_C输出电平翻转,打开外围设备,启动控制从机定时器T2,停止唤醒定时器T1;
步骤S153、向数据中心服务器发送获取被控系统的状态以及主机的控制参数的请求,然后执行步骤S156;
步骤S154、通过CAN总线,向数据中心服务器上传被控系统的状态以及控制参数;
步骤S155、将自身设置为从机工作模式,关闭控制从机的定时器T2,启动唤醒定时器T1,关闭外围设备,切换到低速时钟,使CPU进入休眠状态,然后执行步骤S156;
步骤S156、结束。
其中,第一CPU、第二CPU、第三CPU的唤醒定时器T1的周期分别为5s、7s、9s;控制从机定时器T2的周期为3s。假设第一控制模块为主机工作模式,其余两块控制模块为从机工作模式,当第一控制模块发生故障,第一CPU运行异常,无法将GPIO_B、GPIO_C输出电平翻转,在7s之后,第二CPU通过唤醒定时器T1发生中断,自身唤醒,将自身切换为主机工作模式,并将GPIO_B、GPIO_C输出电平翻转,控制第三CPU为从机工作模式。
其他在主机工作模式下的控制模块发生故障的时候,过程类似,两块在从机工作模式下的控制模块之一将切换为主机工作模式。
唤醒定时器T1是当其所在控制模块为从机工作模式时候,如果为主机工作模式的控制模块出现故障,其第二管脚GPIO_B、第三管脚GPIO_C无法输出电平翻转信号时,则自动将其所在控制模块切实切换为主机工作模式,接替系统控制功能,在本发明中,如图5所示,唤醒定时器T1的处理函数具体包括以下步骤:
步骤S1521、使CPU进入唤醒状态,切换到高速时钟,并切换为主机工作模式;
步骤S1522、将第二管脚GPIO_B、第三管脚GPIO_C输出电平翻转,使其他两块控制模块的第四管脚GPIO_D、第五管脚GPIO_E输入电平同时翻转,触发相应中断,使其他控制模块进入或维持从机工作模式;
步骤S1523、打开外围设备;
步骤S1524、启动控制从机的定时器T2,停止唤醒定时器T1;
步骤S1525、通过CAN总线,向数据中心服务器发送获取被控系统的状态以及主机的控制参数的请求。
在唤醒定时器T1的处理函数将控制模块切换为主机工作模式,并进入唤醒状态后,控制模块将会执行步骤S17。
图6为每个控制模块的控制从机定时器T2的处理函数的流程图,即使第二管脚GPIO_B、第三管脚GPIO_C输出电平翻转,抑制其他两块为从机工作模式的控制模块被其上的唤醒定时器T1唤醒,从而维持其他两块控制模块一直在从机工作模式下;然后通过CAN总线向数据中心服务器发送被控系统的状态以及控制参数,使数据中心服务器随之实时更新数据。
如图7所示,CPU的第四管脚GPIO_D或第五管脚GPIO_E电平翻转触发中断,此时中断的处理函数具体包括:
步骤S21、使CPU进入唤醒状态,切换到高速时钟,控制模块进入从机工作模式;
步骤S22、关闭控制从机定时器T2;
步骤S23、重置唤醒定时器T1;
步骤S24、关闭外围设备,切换到低速时钟,使CPU进入休眠状态。
本发明并不局限于上述最佳实施方式,任何人应该得知在本发明的启示下做出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
Claims (9)
1.一种海洋平台的计算机控制器,其特征在于,包括三块功能相同、架构不同的控制模块,且三块控制模块间相对独立,在同一时刻,有且仅有一块控制模块为主机工作模式,另外两块控制模块为从机工作模式;
每块所述控制模块设有唤醒状态和休眠状态,当所述控制模块为主机工作模式时,工作状态设置为唤醒状态,当所述控制模块为从机工作模式时,工作状态设置为休眠状态;
当控制模块在主机工作模式下发生故障时,将其中一块为从机工作模式的控制模块切换为主机工作模式,继续维持海洋平台控制系统的运行;
三块所述控制模块分别为第一控制模块、第二控制模块和第三控制模块,并通过一个带有三个档位的外部旋钮进行工作模式的切换;
每个所述控制模块的CPU需要选择五个GPIO管脚进行如下配置:
CPU第一管脚GPIO_A配置为输入工作模式,且电平翻转触发中断,实现主机与从机工作模式之间的切换;
CPU第二管脚GPIO_B、CPU第三管脚GPIO_C配置为输出工作模式;
CPU第四管脚GPIO_D、CPU第五管脚GPIO_E配置为输入工作模式,且电平翻转触发中断,实现从主机工作模式到从机工作模式的切换或者保持为从机工作模式;
三块所述控制模块的CPU之间通过GPIO管脚进行如下连接:
第一CPU的第二管脚GPIO_B、第三管脚GPIO_C分别接第二CPU的第四管脚GPIO_D、第三CPU的第五管脚GPIO_E;
第二CPU的第二管脚GPIO_B、第三管脚GPIO_C分别接第三CPU的第四管脚GPIO_D、第一CPU的第五管脚GPIO_E;
第三CPU的第二管脚GPIO_B、第三管脚GPIO_C分别接第一CPU的第四管脚GPIO_D、第二CPU的第五管脚GPIO_E。
2.根据权利要求1所述的一种海洋平台的计算机控制器,其特征在于,
当外部旋钮开关指向第一档时,第一触点S1闭合,第二触点S2、第三触点S3断开,第一控制模块为主机工作模式,第二控制模块和第三控制模块为从机工作模式;
当外部旋钮开关指向第二档时,第二触点S2闭合,第一触点S1、第三触点S3断开,第二控制模块为主机工作模式,第一控制模块和第三控制模块为从机工作模式;
当外部旋钮开关指向第三档时,第三触点S3闭合,第一触点S1、第二触点S2断开,第三控制模块为主机工作模式,第一控制模块和第二控制模块为从机工作模式。
3.根据权利要求1或2所述一种海洋平台的计算机控制器的实现方法,其特征在于,包括以下步骤:
步骤S10、利用三块功能相同、架构不同、且相对独立的控制模块构建计算机控制器;
步骤S20、在同一时刻,将一块控制模块设为主机工作模式,另外两块控制模块为从机工作模式;
步骤S30、当控制模块进入主机工作模式时,工作状态设置为唤醒状态;当控制模块进入从机工作模式进入时,工作状态设置为休眠状态;
步骤S40、当控制模块在主机工作模式下发生故障时,将其中一块为从机工作模式的控制模块切换为主机工作模式,继续维持海洋平台控制系统的运行。
4.根据权利要求3所述的方法,其特征在于,所述控制模块的主流程具体包括以下步骤:
步骤S11、初始化;
步骤S12、创建唤醒定时器T1和控制从机定时器T2;
步骤S13、使能GPIO_A、GPIO_D、GPIO_E中断;
步骤S14、判断GPIO_A输入电平是否为高电平,如果是,执行步骤S15;否则,执行步骤S16;
步骤S15、将自身设置为主机工作模式,启动控制从机定时器T2,同时将其第二管脚GPIO_B、第三管脚GPIO_C输出电平翻转,并执行步骤S17;
步骤S16、将自身设置为从机工作模式,关闭控制从机的定时器T2,启动唤醒定时器T1,关闭外围设备,切换到低速时钟,使CPU进入休眠状态,并执行步骤S17;
步骤S17、判断工作模式是否为主机模式,如果是,执行步骤S18;否则,执行步骤S17;
步骤S18、执行控制器功能。
5.根据权利要求4所述的方法,其特征在于,第一管脚GPIO_A电平翻转触发中断,此时中断的处理函数具体包括:
步骤S151、判断第一管脚GPIO_A输入电平是否为高电平,若为高电平,则执行步骤S152;否则,执行步骤S154;
步骤S152、使CPU进入唤醒状态,切换到高速时钟,将自身设置为主机工作模式,将第二管脚GPIO_B、第三管脚GPIO_C输出电平翻转,打开外围设备,启动控制从机定时器T2,停止唤醒定时器T1;
步骤S153、向数据中心服务器发送获取被控系统的状态以及主机的控制参数的请求,然后执行步骤S156;
步骤S154、通过CAN总线,向数据中心服务器上传被控系统的状态以及控制参数;
步骤S155、将自身设置为从机工作模式,关闭控制从机的定时器T2,启动唤醒定时器T1,关闭外围设备,切换到低速时钟,使CPU进入休眠状态,然后执行步骤S156;
步骤S156、结束。
6.根据权利要求4所述的方法,其特征在于,第一CPU、第二CPU、第三CPU的唤醒定时器T1的周期分别为5s、7s、9s;控制从机定时器T2的周期为3s;
当为主机工作模式的第一控制模块发生故障时,第一CPU运行异常,其第二管脚GPIO_B、第三管脚GPIO_C无法输出电平翻转;
在7s之后,第二控制模块的第二CPU通过唤醒定时器T1发生中断,将自身切换为主机工作模式,其第二管脚GPIO_B、第三管脚GPIO_C输出电平翻转,控制第三控制模块维持从机工作模式;
在主机工作模式下的其他控制模块发生故障的时候,工作模式切换过程相同。
7.根据权利要求4所述的方法,其特征在于,唤醒定时器T1的处理函数具体包括以下步骤:
步骤S1521、使CPU进入唤醒状态,切换到高速时钟,并切换为主机工作模式;
步骤S1522、将第二管脚GPIO_B、第三管脚GPIO_C输出电平翻转,使其他两块控制模块的第四管脚GPIO_D、第五管脚GPIO_E输入电平同时翻转,触发相应中断,使其他控制模块进入或维持从机工作模式;
步骤S1523、打开外围设备;
步骤S1524、启动控制从机的定时器T2,停止唤醒定时器T1;
步骤S1525、通过CAN总线,向数据中心服务器发送获取被控系统的状态以及主机的控制参数的请求。
8.根据权利要求4所述的方法,其特征在于,每个控制模块的控制从机定时器T2的处理函数为:第二管脚GPIO_B、第三管脚GPIO_C输出电平翻转,并通过CAN总线向数据中心服务器发送被控系统的状态以及控制参数,使数据中心服务器实时更新数据。
9.根据权利要求4所述的方法,其特征在于,CPU的第四管脚GPIO_D或第五管脚GPIO_E电平翻转触发中断,此时中断的处理函数具体包括:
步骤S21、使CPU进入唤醒状态,切换到高速时钟,控制模块进入从机工作模式;
步骤S22、关闭控制从机定时器T2;
步骤S23、重置唤醒定时器T1;
步骤S24、关闭外围设备,切换到低速时钟,使CPU进入休眠状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810460224.9A CN108829547B (zh) | 2018-05-15 | 2018-05-15 | 一种海洋平台的计算机控制器及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810460224.9A CN108829547B (zh) | 2018-05-15 | 2018-05-15 | 一种海洋平台的计算机控制器及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108829547A CN108829547A (zh) | 2018-11-16 |
CN108829547B true CN108829547B (zh) | 2021-11-16 |
Family
ID=64148745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810460224.9A Active CN108829547B (zh) | 2018-05-15 | 2018-05-15 | 一种海洋平台的计算机控制器及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108829547B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342319B (zh) * | 2021-05-24 | 2024-03-22 | 重庆长安汽车股份有限公司 | 一种can故障诊断的软件代码自动生成的方法及系统 |
CN115729635A (zh) * | 2022-12-26 | 2023-03-03 | 广东海洋大学 | 一种海洋平台计算机控制方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904829A (zh) * | 2005-07-29 | 2007-01-31 | 联想(北京)有限公司 | 实现多个模式控制方式切换的方法和系统 |
CN101083559A (zh) * | 2007-06-22 | 2007-12-05 | 中兴通讯股份有限公司 | 一种主控制模块和从控制模块的切换方法和系统 |
CN102955427A (zh) * | 2012-11-14 | 2013-03-06 | 中国船舶重工集团公司第七一九研究所 | 互联纠错式三模冗余控制系统及仲裁方法 |
CN105187248A (zh) * | 2015-09-16 | 2015-12-23 | 浙江众合科技股份有限公司 | 一种冗余切换系统 |
CN105550074A (zh) * | 2015-12-08 | 2016-05-04 | 中国计量学院 | 航天计算机 |
CN105550053A (zh) * | 2015-12-09 | 2016-05-04 | 中国航空工业集团公司西安航空计算技术研究所 | 一种提升可用性的监控对容错系统余度管理方法 |
CN107255918A (zh) * | 2017-06-19 | 2017-10-17 | 北京航天发射技术研究所 | 一种远程控制计算机热备冗余自动切换控制方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE346309T1 (de) * | 2002-12-20 | 2006-12-15 | Koninkl Philips Electronics Nv | Verbindung mehrerer testzugriffsportsteuerungsvorrichtungen durch ein einzeltestzugriffsport |
JP2016081340A (ja) * | 2014-10-17 | 2016-05-16 | 株式会社東芝 | 多重化制御装置 |
CN106897239A (zh) * | 2015-12-21 | 2017-06-27 | 小米科技有限责任公司 | 状态切换方法及装置 |
-
2018
- 2018-05-15 CN CN201810460224.9A patent/CN108829547B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904829A (zh) * | 2005-07-29 | 2007-01-31 | 联想(北京)有限公司 | 实现多个模式控制方式切换的方法和系统 |
CN101083559A (zh) * | 2007-06-22 | 2007-12-05 | 中兴通讯股份有限公司 | 一种主控制模块和从控制模块的切换方法和系统 |
CN102955427A (zh) * | 2012-11-14 | 2013-03-06 | 中国船舶重工集团公司第七一九研究所 | 互联纠错式三模冗余控制系统及仲裁方法 |
CN105187248A (zh) * | 2015-09-16 | 2015-12-23 | 浙江众合科技股份有限公司 | 一种冗余切换系统 |
CN105550074A (zh) * | 2015-12-08 | 2016-05-04 | 中国计量学院 | 航天计算机 |
CN105550053A (zh) * | 2015-12-09 | 2016-05-04 | 中国航空工业集团公司西安航空计算技术研究所 | 一种提升可用性的监控对容错系统余度管理方法 |
CN107255918A (zh) * | 2017-06-19 | 2017-10-17 | 北京航天发射技术研究所 | 一种远程控制计算机热备冗余自动切换控制方法 |
Non-Patent Citations (3)
Title |
---|
浅谈 DEH 系统在海洋平台汽轮发电机组中的应用;陈光生等;《自动化应用》;20180131;全文 * |
非相似容错计算机系统设计及其验证技术研究;韩炜;《中国优秀博硕士学位论文全文数据库(博士) 信息科技辑》;20061115;第22-24页,图7 * |
韩炜.非相似容错计算机系统设计及其验证技术研究.《中国优秀博硕士学位论文全文数据库(博士) 信息科技辑》.2006, * |
Also Published As
Publication number | Publication date |
---|---|
CN108829547A (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857243B (zh) | 系统级芯片、通用串行总线主设备、系统及唤醒方法 | |
CN101271332B (zh) | 紧凑型一体化冗余控制器及其控制方法 | |
CN102193610A (zh) | 电源管理方法及其相关电源管理系统 | |
TWI417731B (zh) | 匯流排處理裝置及方法 | |
CN107957885B (zh) | 一种基于飞腾平台的pcie链路设备待机与恢复方法 | |
TWI482012B (zh) | 電腦及其喚醒方法 | |
CN201867678U (zh) | 在休眠下可降低耗电量的计算机主机板 | |
CN108829547B (zh) | 一种海洋平台的计算机控制器及其实现方法 | |
CN110568921B (zh) | 一种降低芯片功耗的方法 | |
US20140359326A1 (en) | Embedded controller for power-saving and method thereof | |
CN105183509A (zh) | 一种实现软关机后关闭系统电源的装置和方法 | |
US8219842B2 (en) | Computer system and method for energy-saving operation of a computer system | |
KR101753338B1 (ko) | Pwm 제어 신호를 이용한 컴퓨터 시스템의 단계적인 대기전력 절감 장치 및 방법 | |
TWI693513B (zh) | 伺服器系統及其省電方法 | |
WO2012126396A1 (zh) | 业务单板的节能方法、主控板、业务单板及接入设备 | |
CN111142653B (zh) | 一种PCIe设备低功耗控制方法、装置及电子设备 | |
WO2013159464A1 (zh) | 一种多核处理器时钟控制装置及控制方法 | |
CN111857841A (zh) | 一种主控芯片的唤醒方法、存储介质及智能终端 | |
CN114020138B (zh) | 微控制单元芯片及降低电量消耗的方法 | |
TW201322685A (zh) | 恢復網路設定參數的系統及其方法 | |
CN104536840B (zh) | 一种看门狗计时器及其控制方法 | |
CN107861421B (zh) | 基于分布式系统主从互转式的双冗余控制装置及方法 | |
CN102572592B (zh) | 基于系统动态时钟管理的机顶盒待机控制方法 | |
CN110865959A (zh) | 一种用于唤醒i2c设备的方法及电路 | |
CN109002416B (zh) | 一种支持芯片低功耗调试的仿真器及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |