掌桥专利:专业的专利平台
掌桥专利
首页

一种车载安全数字量输入输出装置及协同检测方法

文献发布时间:2024-04-18 20:01:55


一种车载安全数字量输入输出装置及协同检测方法

技术领域

本发明涉及车辆控制技术领域,特别涉及一种车载安全数字量输入输出装置及车载安全数字量的协同检测方法。

背景技术

目前,轨道车辆上采用双通道同构MCU(Microcontroller Unit,微控制单元)实现车载安全数字量输入输出装置对上位机输出的驱动数值与装置输入采集数值进行取2比较,结果一致后方可有效输出,否则上报故障并导向安全侧;然而,同构MCU可能发生共因故障,导致取2比较通过,影响车载安全数字量输入输出装置的检测准确性,并且双通道各自配置相应的输入动态检测电路元器件,导致配置成本较高,装置无法小型化。

因此,如何能够提高车载安全数字量输入输出装置的检测准确性,降低配置成本,是现今急需解决的问题。

发明内容

本发明的目的是提供一种车载安全数字量输入输出装置及车载安全数字量的协同检测方法,以提高车载安全数字量输入输出装置的检测准确性,降低配置成本。

为解决上述技术问题,本发明提供一种车载安全数字量输入输出装置,包括:第一MCU、第二MCU、安全数字量输入模块、MCU交互模块和安全数字量输出模块;其中,所述安全数字量输入模块包括安全采集电路和协同输入动态检测电路;其中,所述第一MCU和所述第二MCU采用不同架构;

所述安全采集电路,用于将采集的预设数量路的输入数字量分别传输到所述第一MCU和所述第二MCU;

所述协同输入动态检测电路,用于根据所述第一MCU的第一动态检测启动控制信号,控制所述安全采集电路对第一分组数量路的输入数字量的采集传输进行控制;根据所述第二MCU的第二动态检测启动控制信号,控制所述安全采集电路对第二分组数量路的输入数字量的采集传输进行控制;其中,所述第一分组数量与所述第二分组数量之和为所述预设数量;

所述第一MCU和所述第二MCU通过所述MCU交互模块的同步信号量通道进行通信,对所述第一分组数量路和所述第二分组数量路的输入数字量分别进行数字量检测;

所述安全数字量输出模块,用于根据所述第一MCU和所述第二MCU的控制,控制安全输出继电器的导通和断开,所述预设数量路的输入数字量转换后的预设输出数量路的输出数字量通过所述安全输出继电器输出到车辆的控制器。

在一些实施例中,所述安全数字量输出模块包括锁频动态驱动电路,用于根据所述第一MCU的第一PWM控制信号和所述第二MCU的第二PWM控制信号,控制安全输出继电器导通;其中,所述第一MCU和所述第二MCU通过所述MCU交互模块的同步串口通道进行通信,输出相位相反的所述第一PWM控制信号和所述第二PWM控制信号。

在一些实施例中,所述安全数字量输出模块包括安全输出两级回采电路,用于采集所述安全输出继电器的前端电流和后端电压,并输出到所述第一MCU和所述第二MCU。

在一些实施例中,所述预设数量为2的整数倍,所述第一分组数量和所述第二分组数量均为所述预设数量的一半。

此外,本发明还提供了一种车载安全数字量的协同检测方法,应用于如上述所述的车载安全数字量输入输出装置,包括:

当前MCU在对预设数量路的输入数字量进行采集的过程中,确定当前系统周期和当前采样周期;其中,当前MCU为第一MCU或第二MCU,当前系统周期的周期时间为当前采样周期的周期时间的预设整数倍;

根据当前系统周期和当前采样周期,控制MCU交互模块的同步信号量通道中的同步信号和向协同输入动态检测电路输出的动态检测启动控制信号,对采集的第一分组数量路和/或第二分组数量路的输入数字量进行数字量检测,获取动态检测结果;其中,所述动态检测启动控制信号为第一动态检测启动控制信号或第二动态检测启动控制信号。

在一些实施例中,所述根据当前系统周期和当前采样周期,控制MCU交互模块的同步信号量通道中的同步信号和向协同输入动态检测电路输出的动态检测启动控制信号,对采集的第一分组数量路和/或第二分组数量路的输入数字量进行数字量检测,获取动态检测结果,包括:

若当前系统周期除以3的余数为0且当前采样周期小于或等于6,则打开所述动态检测启动控制信号和所述同步信号,并在当前采样周期为预设周期数且检测到所述同步信号为打开状态时,检测预设数量路的输入数字量,获取所述动态检测结果;其中,所述预设周期数小于或等于6;

若当前系统周期除以3的余数为1且当前采样周期小于或等于6,则在当前MCU为所述第一MCU时,打开所述动态检测启动控制信号和所述同步信号,并在当前采样周期为预设周期数且检测到所述同步信号为打开状态时,检测所述第一分组数量的输入数字量,获取所述动态检测结果;在当前MCU为所述第二MCU时,关闭所述动态检测启动控制信号和所述同步信号,并在当前采样周期为预设周期数且检测到所述同步信号为打开状态时,检测所述第一分组数量的输入数字量,获取所述动态检测结果;其中,所述第一MCU和/或所述第二MCU打开所述同步信号时,所述同步信号为打开状态;所述第一MCU和所述第二MCU关闭所述同步信号时,所述同步信号为关闭状态;

若当前系统周期除以3的余数为2且当前采样周期小于或等于6,则在当前MCU为所述第一MCU时,关闭所述动态检测启动控制信号和所述同步信号,并在当前采样周期为预设周期数且检测到所述同步信号为关闭状态时,检测所述第二分组数量的输入数字量,获取所述动态检测结果;在当前MCU为所述第二MCU时,打开所述动态检测启动控制信号和所述同步信号,并在当前采样周期为预设周期数且检测到所述同步信号为打开状态时,检测所述第二分组数量的输入数字量,获取所述动态检测结果;

若当前采样周期大于6,则关闭所述动态检测启动控制信号和所述同步信号,并在所述同步信号为关闭状态时,获取并记录采集的所述预设数量路的输入数字量。

在一些实施例中,所述获取所述动态检测结果之后,还包括:

判断所述动态检测结果中错误的输入数字量的路数是否大于检测阈值;

若是,则设置所述车载安全数字量输入输出装置为宕机状态。

在一些实施例中,所述根据当前系统周期和当前采样周期,控制MCU交互模块的同步信号量通道中的同步信号和向协同输入动态检测电路输出的动态检测启动控制信号,对采集的第一分组数量路和/或第二分组数量路的输入数字量进行数字量检测,获取动态检测结果之后,还包括:

在当前系统周期完成后,获取当前系统周期对应的所述预设整数的采集结果、所述动态检测结果和安全输出两级回采电路的回采结果;其中,所述回采结果包括前端电流回采结果和后端电压回采结果;

根据所述采集结果、所述动态检测结果和所述回采结果,获取所述检测输出结果;

在所述检测输出结果与所述车载安全数字量输入输出装置的另一MCU的检测输出结果相同时,向车辆的控制器输出所述检测输出结果。

在一些实施例中,所述根据所述采集结果、所述动态检测结果和所述回采结果,获取所述检测输出结果,包括:

根据所述采集结果和所述另一MCU的采集结果,获取所述检测输出结果中所述预设数量的采集位各自的采样检测结果和同步判定结果。

在一些实施例中,所述根据所述采集结果、所述动态检测结果和所述回采结果,获取所述检测输出结果,包括:

若所述前端电流回采结果中当前路的输出数字量对应的继电器驱动位的要求状态为持续无输出,则在所述前端电流回采结果中当前路的输出数字量对应的前端电流的任一采样值大于混线告警电流阈值时,确定检测输出结果中所述继电器驱动位的驱动电流监督结果为混线;在当前路对应的前端电流的全部采样值均不大于所述混线告警电流阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为正常;其中,当前路的输出数字量为安全输出继电器输出的预设输出数量路的输出数字量中任一路的输出数字量;

若当前路对应的继电器驱动位的要求状态为由输出有效变为所述无输出,则在当前路对应的前端电流的任一第一目标采样值大于所述混线告警电流阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为混线;在当前路对应的全部所述第一目标采样值均不大于所述混线告警电流阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为正常;其中,所述第一目标采样值为所述无输出对应的采样值;

若当前路对应的继电器驱动位的要求状态为持续所述输出有效,则当前路对应的前端电流的全部采样值不均为最小电流值阈值的采样值且存在最小电流值阈值的采样值时,确定当前路对应的继电器驱动位的驱动电流监督结果为电流值异常;在当前路对应的前端电流的全部采样值均不大于最小电流值阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为短路;

若当前路对应的继电器驱动位的要求状态为由所述无输出变为所述输出有效,则在当前路对应的前端电流的任一第二目标采样值大于短路保护电流阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为短路;在当前路对应的前端电流的全部所述第二目标采样值均不大于所述短路保护电流阈值,且任一所述第二目标采样值大于最大电流值阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为电流值异常;在当前路对应的前端电流的全部所述第二目标采样值均不大于所述最大电流值阈值且均大于所述最小电流值阈值,确定当前路对应的继电器驱动位的驱动电流监督结果为正常;在当前路对应的前端电流的任一所述第二目标采样值不大于所述最小电流值阈值,确定当前路对应的继电器驱动位的驱动电流监督结果为电流值异常;其中,所述第二目标采样值为所述输出有效对应的采样值,所述短路保护电流阈值大于所述最大电流值阈值。

本发明所提供的一种车载安全数字量输入输出装置,包括:第一MCU、第二MCU、安全数字量输入模块、MCU交互模块和安全数字量输出模块;其中,安全数字量输入模块包括安全采集电路和协同输入动态检测电路;其中,第一MCU和第二MCU采用不同架构;安全采集电路,用于将采集的预设数量路的输入数字量分别传输到第一MCU和第二MCU;协同输入动态检测电路,用于根据第一MCU的第一动态检测启动控制信号,控制安全采集电路对第一分组数量路的输入数字量的采集传输进行控制;根据第二MCU的第二动态检测启动控制信号,控制安全采集电路对第二分组数量路的输入数字量的采集传输进行控制;其中,第一分组数量与第二分组数量之和为预设数量;第一MCU和第二MCU通过MCU交互模块的同步信号量通道进行通信,对第一分组数量路和第二分组数量路的输入数字量分别进行数字量检测;安全数字量输出模块,用于根据第一MCU和第二MCU的控制,控制安全输出继电器的导通和断开,预设数量路的输入数字量转换后的预设输出数量路的输出数字量通过安全输出继电器输出到车辆的控制器;

可见,本发明利用不同架构的第一MCU和第二MCU,通过协同输入动态检测电路对采用双通道协同检测的方式,对输入的数字量进行动态检测,避免了第一MCU和第二MCU发生共因故障影响检测准确性的问题;并且通过协同输入动态检测电路的设置,减少了动态检测电路元器件的消耗,降低了配置成本与板卡尺寸。此外,本发明还提供了一种车载安全数字量的协同检测方法,同样具有上述有益效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例所提供的一种车载安全数字量输入输出装置的结构框图;

图2为本发明实施例所提供的另一种车载安全数字量输入输出装置的结构示意图;

图3为本发明实施例所提供的另一种车载安全数字量输入输出装置的安全采集电路的电路图;

图4为本发明实施例所提供的另一种车载安全数字量输入输出装置的协同输入动态检测电路的电路图;

图5为本发明实施例所提供的另一种车载安全数字量输入输出装置的安全输出继电器的电路图;

图6为本发明实施例所提供的另一种车载安全数字量输入输出装置的前端电流回采电路的电路图;

图7为本发明实施例所提供的另一种车载安全数字量输入输出装置的前端电流回采电路的电路图;

图8为本发明实施例所提供的另一种车载安全数字量输入输出装置的后端电压回采电路的电路图;

图9为本发明实施例所提供的一种车载安全数字量的协同检测方法的流程图;

图10为本发明实施例所提供的另一种车载安全数字量的协同检测方法的部分协同检测流程的示意图;

图11为本发明实施例所提供的另一种车载安全数字量的协同检测方法的部分协同检测流程的示意图;

图12为本发明实施例所提供的另一种车载安全数字量的协同检测方法的部分协同检测流程的示意图;

图13为本发明实施例所提供的另一种车载安全数字量的协同检测方法的部分协同检测流程的示意图;

图14为本发明实施例所提供的另一种车载安全数字量的协同检测方法的异构锁频原理的示意图;

图15为本发明实施例所提供的另一种车载安全数字量的协同检测方法的输出数字量回采的流程示意图;

图16为本发明实施例所提供的一种车载安全数字量的协同检测装置的结构框图;

图17为本发明实施例所提供的一种计算机可读存储介质的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明实施例所提供的一种车载安全数字量输入输出装置的结构框图。该装置可以包括:第一MCU10、第二MCU20、安全数字量输入模块30、MCU交互模块40和安全数字量输出模块50;其中,安全数字量输入模块30包括安全采集电路31和协同输入动态检测电路32;其中,第一MCU10和第二MCU20采用不同架构;

安全采集电路31,用于将采集的预设数量路的输入数字量分别传输到第一MCU10和第二MCU20;

协同输入动态检测电路32,用于根据第一MCU10的第一动态检测启动控制信号,控制安全采集电路31对第一分组数量路的输入数字量的采集传输进行控制;根据第二MCU20的第二动态检测启动控制信号,控制安全采集电路31对第二分组数量路的输入数字量的采集传输进行控制;其中,第一分组数量与第二分组数量之和为预设数量;

第一MCU10和第二MCU20通过MCU交互模块40的同步信号量通道进行通信,对第一分组数量路和第二分组数量路的输入数字量分别进行数字量检测;

安全数字量输出模块50,用于根据第一MCU10和第二MCU20的控制,控制安全输出继电器的导通和断开,预设数量路的输入数字量转换后的预设输出数量路的输出数字量通过安全输出继电器输出到车辆的控制器。

可以理解的是,本实施例中的第一MCU10和第二MCU20可以采用不同架构,以避免第一MCU10和第二MCU20发生共因故障影响检测准确性的问题,如图2所示,第一MCU10(MCU_A)可以采用TMS(一种MCU类型)系列的MCU芯片,第一MCU10(MCU_B)可以采用SPC(一种MCU类型)系列的MCU芯片。本实施例中的安全数字量输入模块30可以包括安全采集电路31和协同输入动态检测电路32;安全采集电路31与异构的两个MCU(即第一MCU10和第二MCU20)双通道连接,各MCU的通道接口获取预设数量路的安全采集结果,即采集的预设数量路的输入数字量;协同输入动态检测电路32可以两个MCU分别提供第一分组数量路和第二分组数量路的动态检测接口,使两个MCU可以通过MCU交互模块40的同步信号量通道(如图2中同步IO信号量的通道)进行软件协商,协同完成预设数量路安全采集的动态检测功能。

对应的,对于本实施例中的预设数量、第一分组数量和第二分组数量的具体数值可以由设计人员根据实用场景和用户需求自行设置,如预设数量为大于或等于2的正整数,第一分组数量和第二分组数量均为大于或等于1的正整数,且第一分组数量与第二分组数量之和为预设数量,即本实施例中将预设数量路的输入数字量分为A和B两组,A和B两组采集的动态检测由第一MCU10和第二MCU20分别控制,相应的电路中的采集相关管脚设置对应分为A和B两组,使组内管脚完全不相邻,组间管脚可以相邻,从而能够通过A和B两组分时采集的方式,防止因管脚短接导致的误采集问题。

相应的,预设数量为2的整数倍时,第一分组数量和第二分组数量均为预设数量的一半;例如,预设数量为12时,第一分组数量和第二分组数量均可以为6,如图2所示,协同输入动态检测电路32可以双MCU(MCU_A和MCU_B)分别提供6路动态检测接口,使双MCU通过同步IO信号量进行软件协商,协同完成12路安全采集的动态检测功能。

需要说明的是,对于本实施例中的安全采集电路31和协同输入动态检测电路32的具体电路结构,可以由设计人员根据实用场景和用户需求自行设置,如图3所示,安全采集电路31可以包括滤波电路,如固态继电器后端滤波电路和固态继电器前端滤波电路;固态继电器后端滤波电路可以为电阻和电容组成的低通滤波电路,如图3中电阻R24和电容C1组成截止频率为338HZ的低通滤波电路;固态继电器前端滤波电路可以为电阻和电容组成的低通滤波电路,如图3中电阻R436和电容C285组成截止频率为34HZ的低通滤波电路;如图3所示,GIO_EXT_A(GIO_EXT_A1或GIO_EXT_A2)接24V信号,在GIO_GND_A使能的情况下,固态继电器(U1)闭合,GIO_IN_A(GIO_IN_A1或GIO_IN_A2)被上拉为24V,进入IO板;GIO_IN_A1通过R436和C285组成低通滤波电路(即固态继电器前端滤波电路),截止频率34Hz,通过R436和R438组成分压,增益系数10/57,经固态继电器(U41)后通过R439和R443分压到3.3V以内,得到输入到两个MCU的一路输入数字量(GIO_IN_A1_A和GIO_IN_A1_B),实现两个MCU的安全采集。安全采集电路31还可以包括瞬态抑制二极管(TVS)和压敏电阻(RV)组成的防反接电路,如图3所示,反接时,瞬态抑制二极管D9和压敏电阻RV1形成通路,RV1电阻增大,切断输入通路,以此来保护固态继电器的内部的元件(如发光二极管LED)不被烧毁。

相应的,如图4所示,DPIN_EN_H(即第一动态检测启动控制信号)和DPIN_EN_L(即第二动态检测启动控制信号)为A和B组两组的动态检测启动控制的使能信号,使能信号为高时,对应信号(DPIN_EN_H_A和DPIN_EN_H_B)拉低,导致固态继电器(U8)闭合,进而使A和B组两组采集信号(GIO_GND_A和GIO_GND_B)的负极接到地,接通采集回路,可进行输入数字量的采集;使能信号为低时,断开采集回路,开启输入检测功能。

进一步的,本实施例中的安全数字量输出模块50可以包括锁频动态驱动电路,用于根据第一MCU10的第一PWM控制信号和第二MCU20的第二PWM控制信号,控制安全输出继电器导通,以加强数字量逻辑输出的安全性;其中,第一MCU10和第二MCU20通过MCU交互模块40的同步串口通道进行通信,输出相位相反的第一PWM控制信号和第二PWM控制信号。也就是说,第一MCU10和第二MCU20可以通过同步串口通道进行命令交互产生相位相反的第一PWM控制信号和第二PWM控制信号,如500Hz的PWM波,以驱动安全输出继电器,产生输出数字量。如图5和图6所示,当MCU_A的PL_PWM1_A(即第一PWM控制信号)与MCU_B的PL_PWM1_B(即第二PWM控制信号)为相位相反的500Hz的PWM控制信号时,MOS管Q11和MOS管Q13将两个MCU的PWM脉冲由3.5V提升到24V,电阻R319和电阻R321可以负责继电器U26内部LED驱动限流,最终输出信号RL_COIL_N为-24V。当RL_COIL_N为-24V时,安全输出继电器RL1的RL_EXT_IN1与RL_EXT_OUT1导通产生安全输出,即输出到车辆的控制器的输出数字量。

进一步的,本实施例中的安全数字量输出模块50还可以包括安全输出两级回采电路,用于采集安全输出继电器的前端电流和后端电压,并输出到第一MCU10和第二MCU20。例如,安全输出两级回采电路可以包括用于采集安全输出继电器的前端电流(即驱动电流)并输出到第一MCU10和第二MCU20的前端电流回采电路,以及用于采集安全输出继电器的后端电压并输出到第一MCU10和第二MCU20的后端电压回采电路。

相应的,如图7所示,前端电流回采电路可以与图5中的RL_COIL_1P连接,由放大器U33为核心的电流检测部分,电阻R359将电流转化为电压,U33将电压放大100倍,电阻R375和电阻R381将再将电压缩小到3.5V以内进而输出到两个MCU进行AD采样,其中RL_AD1_A、RL_AD1_B分别连接到MCU_A(即第一MCU10)与MCU_B(即第二MCU20),使得双通道皆可获取到前端电流回采结果。

如图8所示,后端电压回采电路可以与图5中的RL_VIN_1连接,以触发缓冲器U31为核心的电压回采电路,回采安全输出继电器的触点状态,回采电压为24V经电阻R361和电阻R363分压,缩小到5V以内后进入U31,然后经过电阻R364和电阻R365分压后,缩小到3.5V以内,输出到两个MCU进行状态采集,其中RL_IN1_A、RL_IN1_B分别连接到MCU_A(即第一MCU10)与MCU_B(即第二MCU20),使得双通道皆可获取到后端电压回采结果。

相应的,动态检测结果MCU交互模块40还可以包括数据交互通道,如图2中的SPI(Serial Peripheral Interface,串行外设接口)数据交互通道,以使第一MCU10与第二MCU20能够通过数据交互通道进行数据传输,如检测输出结果的传输。

需要说明的是,图3至图8所示电路为部分路的输入安全量和输出安全量对应的电路,对于其他路的输入安全量和输出安全量对应的安全数字量输入模块30和安全数字量输出模块50中的电路,可以采用与上述电路结构相同或相似的方式实现,本实施例对此不做任何限制。

同样的,本实施例中所提供的车载安全数字量输入输出装置还可以包括安全输出继电器(如图5所示的安全输出继电器电路)和/或用于将预设数量路的输入数字量转换后的预设输出数量路的输出数字量的转换电路,本实施例对此不做任何限制。

本实施例中,本发明实施例利用不同架构的第一MCU10和第二MCU20,通过协同输入动态检测电路32对采用双通道协同检测的方式,对输入的数字量进行动态检测,避免了第一MCU10和第二MCU20发生共因故障影响检测准确性的问题;并且通过协同输入动态检测电路32的设置,减少了动态检测电路元器件的消耗,降低了配置成本与板卡尺寸。

基于上述实施例,本发明实施例还提供了一种车载安全数字量的协同检测方法,实现对输入的数字量进行双通道协同检测。具体的,请参考图9,图9为本发明实施例所提供的一种车载安全数字量的协同检测方法的流程图。该方法应用于上述实施例所提供的车载安全数字量输入输出装置,可以包括:

步骤101:当前MCU在对预设数量路的输入数字量进行采集的过程中,确定当前系统周期和当前采样周期;其中,当前MCU为第一MCU或第二MCU,当前系统周期的周期时间为当前采样周期的周期时间的预设整数倍。

可以理解的是,本实施例中的当前MCU可以为上述车载安全数字量输入输出装置中的第一MCU或第二MCU,即本实施例是以两个MCU对输入的数字量的双通道协同检测中的一个MCU的检测过程为例进行的展示,对于另一MCU的检测过程,可以采用与本实施例所提供的方法相同或相似的方式实现,本实施例对此不做任何限制。

其中,本实施例中当前MCU可以按预设采样周期对预设数量路的输入数字量进行采集,得到相应的采集结果;在按预设采样周期对预设数量路的输入数字量进行采集的过程中,与另一MCU通过MCU交互模块的同步信号量通道中同步信号的控制,实现输入数字量的双通道协同检测。相应的,当前MCU可以按预设系统周期对周期内采集到的输入数字量的采集结果、动态检测结果和输出数字量的回采结果(如上述安全输出两级回采电路传输的前端电流回采结果和后端电压回采结果)进行检测(如防抖与MCU同步检测等),获取需要向车辆的控制输出的检测输出结果。

对应的,当前系统周期的周期时间(即预设系统周期,如100ms)可以为当前采样周期的周期时间(即预设采样周期,如5ms)的预设整数(如20)倍。例如,当前MCU可以利用主任务进程(100ms执行1次,低优先级),实现检测输出结果的获取,利用实时驱采进程(5ms执行1次,高优先级)实现输入数字量的采集和协同动态检测;实时驱采进程采集的采集结果和动态检测结果等采集数据(如输入数字量采集数据和输出回采数据)可以存入与主任务进程共享的内存区,待主任务进程使用;按照两进程周期倍数关系,采集数据可以仅保存最新的20组采集结果,并在主任务进程中进行采集数据的分析检测(如防抖和MCU同步检测等),得到检测输出结果;其中,采集数据中的输入数字量采集数据的数据帧格式如表1所示。

表1输入数字量采集数据帧格式

相应的,本实施例中两个MCU可以按照系统周期和采样周期的协同对第一分组数量路和第二分组数量路的输入数字量共同或分别进行动态检测;本步骤中当前MCU通过确定当前系统周期的周期号和当前采样周期的采样周期号,能够确定动态检测的检测内容。

步骤102:根据当前系统周期和当前采样周期,控制MCU交互模块的同步信号量通道中的同步信号和向协同输入动态检测电路输出的动态检测启动控制信号,对采集的第一分组数量路和/或第二分组数量路的输入数字量进行数字量检测,获取动态检测结果;其中,动态检测启动控制信号为第一动态检测启动控制信号或第二动态检测启动控制信号。

可以理解的是,本步骤中当前MCU可以根据确定的当前系统周期的周期号和当前采样周期的采样周期号,确定动态检测的检测内容,从而控制MCU交互模块的同步信号量通道中的同步信号和向协同输入动态检测电路输出的动态检测启动控制信号,对采集的第一分组数量路和/或第二分组数量路的输入数字量进行数字量检测,获取动态检测结果。例如,预设数量为12,第一分组数量和第二分组数量均为6时,当前MCU的对输入数字量的采集和动态检测可以包括4种场景,如表2所示。

表2.2输入数字量采集及协同检测场景条件及动作表

表2中,系统周期为主任务进程的周期号(即当前系统周期),周期号每100ms增加1;采集周期为实时驱采进程的采样周期号(即当前采样周期),每5ms增加1,并在系统周期发生改变后清0,重新计数。

也就是说,本步骤中当前MCU可以在当前系统周期除以3的余数为0(即系统周期%3==0)且当前采样周期小于或等于6(即采集周期<=6)的情况下,打开动态检测启动控制信号和同步信号,并在当前采样周期为预设周期数且检测到同步信号为打开状态时,检测预设数量路的输入数字量,获取动态检测结果;其中,预设周期数小于或等于6。如图11所示,当前MCU可以在系统周期的周期号%3==0且采集周期的采样周期号<=6的情况下,打开动态检测(即第一MCU和第二MCU均打开动态检测),并打开检测同步信号(即同步信号),在采集周期的采样周期号为3(即预设周期数)采集完本次的输入信号(即3<=采样周期<=4)且检测到检测同步信号为打开状态时,控制动态检测启动控制信号为打开状态(如高电平),即第一动态检测启动控制信号和第二动态检测启动控制信号均为打开状态,开启12路采集结果的动态检测。

相应的,当前MCU可以在当前系统周期除以3的余数为1且当前采样周期小于或等于6的情况下,在当前MCU为第一MCU时,打开动态检测启动控制信号和同步信号,并在当前采样周期为预设周期数且检测到同步信号为打开状态时,检测第一分组数量的输入数字量,获取动态检测结果;在当前MCU为第二MCU时,关闭动态检测启动控制信号和同步信号,并在当前采样周期为预设周期数且检测到同步信号为打开状态时,检测第一分组数量的输入数字量,获取动态检测结果;其中,第一MCU和/或第二MCU打开同步信号时,同步信号为打开状态;第一MCU和第二MCU关闭同步信号时,同步信号为关闭状态。如图12所示,当前MCU可以在系统周期的周期号%3==1且采集周期的采样周期号<=6的情况下,在当前MCU为MCU_A(即第一MCU)时,打开动态检测(即第一MCU打开动态检测,第二MCU关闭动态检测),并打开检测同步信号,在3<=采样周期<=4且检测到检测同步信号为打开状态时,控制第一动态检测启动控制信号为打开状态,即第一动态检测启动控制信号为打开状态,第二动态检测启动控制信号为关闭状态(如低电平),开启MCU_A控制的前6路采集结果的动态检测;在当前MCU为MCU_B(即第二MCU)时,关闭动态检测(即第一MCU打开动态检测,第二MCU关闭动态检测),并关闭检测同步信号,在3<=采样周期<=4且检测到检测同步信号为打开状态时,控制第二动态检测启动控制信号为关闭状态,即第一动态检测启动控制信号为打开状态,第二动态检测启动控制信号为关闭状态,开启MCU_A控制的前6路采集结果的动态检测。

相应的,当前MCU可以在当前系统周期除以3的余数为2且当前采样周期小于或等于6的情况下,在当前MCU为第一MCU时,关闭动态检测启动控制信号和同步信号,并在当前采样周期为预设周期数且检测到同步信号为关闭状态时,检测第二分组数量的输入数字量,获取动态检测结果;在当前MCU为第二MCU时,打开动态检测启动控制信号和同步信号,并在当前采样周期为预设周期数且检测到同步信号为打开状态时,检测第二分组数量的输入数字量,获取动态检测结果。如图13所示,当前MCU可以在系统周期的周期号%3==2且采集周期的采样周期号<=6的情况下,在当前MCU为MCU_A时,关闭动态检测(即第一MCU关闭动态检测,第二MCU打开动态检测),并关闭检测同步信号,在3<=采样周期<=4且检测到检测同步信号为打开状态时,控制第一动态检测启动控制信号为关闭状态,即第一动态检测启动控制信号为关闭状态,第二动态检测启动控制信号为打开状态,开启MCU_B控制的后6路采集结果的动态检测;在当前MCU为MCU_B时,关闭动态检测(即第一MCU关闭动态检测,第二MCU打开动态检测),并打开检测同步信号,在3<=采样周期<=4且检测到检测同步信号为打开状态时,控制第二动态检测启动控制信号为打开状态,即第一动态检测启动控制信号为打开状态和第二动态检测启动控制信号均为关闭状态,开启MCU_B控制的后6路采集结果的动态检测。

对应的,在当前采样周期大于6的情况下,关闭动态检测启动控制信号和同步信号,并在同步信号为关闭状态时,获取并记录采集的预设数量路的输入数字量。如图10所示,在采集周期的采样周期号>6的情况下,关闭动态检测(即第一MCU和第二MCU均关闭动态检测),并关闭检测同步信号,检测到检测同步信号为关闭状态时,控制动态检测启动控制信号为关闭状态,即第一动态检测启动控制信号和第二动态检测启动控制信号均为关闭状态,记录12路采集结果。

进一步的,本实施例中当前MCU在获取动态检测结果之后,还可以判断动态检测结果中错误的输入数字量的路数是否大于检测阈值;若是,则设置车载安全数字量输入输出装置为宕机状态。如图10至图13所示,当前MCU可以在获取12路、前6路或后6路的动态检测结果后,对输入数字量错误的路数进行计数,得到相应的检查次数计数,从而能够在图10中判断检查次数计数大于2(即检测阈值)时,设置车载安全数字量输入输出装置(板卡)为宕机状态,并记录相应的错误码,以输出给车辆的控制器。

进一步的,本实施例中车载安全数字量输入输出装置包括锁频动态驱动电路时,当前MCU还可以与另一MCU在驱动层协同进行数字量(即输出数字量)动态输出的驱动;例如,当前MCU可以利用上述实时驱采进程完成数字量动态输出驱动。举例来说,上位机(如车辆的控制器)产生驱动命令包后,当前MCU可以与另一MCU对接收的驱动命令包进行比较,在比较通过后,底层驱动通过MCU交互模块的同步串口通道进行如图14所示的命令交互,即MCU_A开启500Hz定时,并在中断通过同步串口通道向MCU_B发送命令“0”;MCU_B串口中断中接收到命令“0”后,拉低电平并向MCU_A发送命令“1”;MCU_A在串口中断中接收到命令“1”后,产生高电平,并在下一次进入定时中断时,拉低电平并向MCU_B发送命令“2”;MCU_B在串口中断中接收到命令“2”后,产生高电平,并向MCU_A发送命令“3”MCU_A检测接收到命令“3”,说明双MCU同步正常,否则同步失败,进入故障处理。从而使得MCU输出500Hz锁频PWM脉冲,实现安全数字量的输出。

进一步的,本实施例中车载安全数字量输入输出装置包括安全输出两级回采电路时,当前MCU还可以对安全输出继电器的前端电流和后端电压进行采集,获取前端电流回采结果和后端电压回采结果。如图15所示,当前MCU可以利用上述实时驱采进程按预设采样周期(5ms)对安全输出继电器的前端电流和后端电压进行采集(即安全数字量输出回采),将采集获取的采集数据中的回采结果(即前端电流回采结果和后端电压回采结果)存入与主任务进程共享的内存区,待主任务进程使用;按照两进程周期倍数关系,采集数据可以仅保存最新的20组回采结果,并在主任务进程中进行采集数据的分析检测(如回采结果的分析与故障处理),得到检测输出结果;其中,采集数据中的回采结果的数据帧格式如表3所示。

表3回采结果数据帧格式

进一步的,本实施例中当前MCU在当前系统周期完成后,可以获取当前系统周期对应的预设整数(如20)的采集结果、动态检测结果和安全输出两级回采电路的回采结果;其中,回采结果包括前端电流回采结果和后端电压回采结果,回采结果的数量也可以为预设整数;根据采集结果、动态检测结果和回采结果,获取检测输出结果;在检测输出结果与车载安全数字量输入输出装置的另一MCU的检测输出结果相同时,向车辆的控制器输出检测输出结果。例如,当前MCU可以利用上述主任务进行按预设系统周期,对周期内采集的采集结果、动态检测结果和回采结果进行分析检测,得到检测输出结果,并在检测输出结果与另一MCU的检测输出结果相同时,向车辆的控制器输出检测输出结果。

对应的,对于上述根据采集结果、动态检测结果和回采结果,获取检测输出结果的具体方式,可以由设计人员自行设置,如检测输出结果包括采集电路混线监测结果时,当前MCU可以根据动态检测结果,获取检测输出结果中的采集电路混线监测结果;也就是说,当前MCU可以利用动态检测结果,判断是否出现数字量采集电路混线或动态检测错误的情况,如表4所示,当前MCU在第一分组数量路(A路)和/或第二分组数量路(B路)的动态检测结果均为正常时,确定采集电路混线监测结果为正常;否则确定采集电路混线监测结果为故障。

表4采集电路混线或动态错误判断条件与真值表

相应的,检测输出结果包括抖动检测结果时,当前MCU可以根据预设整数的采集结果,获取检测输出结果中的抖动检测结果;也就是说,当前MCU可以利用采集结果,判断是否出现采集结果抖动故障,如表5所示,当前MCU在采集结果出现0到1(0->1)翻转变化的情况下,在变化后为1的采集结果的持续次数小于规定的次数阈值时,确定抖动检测结果为抖动,以进行抖动防护;在采集结果出现1到0(1->0)翻转变化的情况下,在变化后为0的采集结果的持续次数小于规定的次数阈值时,确定抖动检测结果为抖动,以进行抖动防护;在对每一路的对应的采集结果自上电后发生的抖动次数进行累计计数(0->1抖动和1->0抖动合并计数),在抖动计时达到规定的累计计数阈值时,确定抖动检测结果为抖动封锁,以进行抖动封锁。

表5去抖原理真值表

相应的,检测输出结果包括双通道同步检测的同步判定结果时,当前MCU可以根据自身的预设整数的采集结果和另一MCU的预设整数的采集结果,获取检测输出结果中预设数量的采集位各自的采样检测结果和同步判定结果;也就是说,当前MCU可以利用两个MCU各自的预设整数的采集结果,判断是否出现采集结果不同步的故障,如表5所示,当前MCU可以根据自身的当前采集位的采集结果对应的判定结果(如0->1翻转、1->0翻转、0状态和1状态)和另一MCU的当前采集位的采集结果对应的判定结果,确定当前采集位的同步判定结果和采样检测结果(1或0)。

表6同步检测真值表

对应的,本实施例中车载安全数字量输入输出装置包括安全输出两级回采电路的情况下,检测输出结果可以包括前端电流回采检测结果,当前MCU可以根据回采结果中的驱动电流监督结果,获取检测输出结果中的驱动电流监督结果。如表7所示,当前MCU可以根据安全输出继电器的预设输出数量的驱动位(即继电器驱动位)的驱动位状态(即要求状态)和预设输出数量路的前端电流回采结果,获取驱动电流监督结果,以检测驱动电路的短路、断路、混线和电流值异常等故障状态。

表7前端电流监督真值表

/>

也就是说,当前MCU在前端电流回采结果中当前路的输出数字量对应的继电器驱动位的要求状态为持续无输出的情况下,在前端电流回采结果中当前路的输出数字量对应的前端电流的任一采样值大于混线告警电流阈值时,确定检测输出结果中继电器驱动位的驱动电流监督结果为混线;在当前路对应的前端电流的全部采样值均不大于混线告警电流阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为正常;其中,当前路的输出数字量为安全输出继电器输出的预设输出数量路的输出数字量中任一路的输出数字量;

在当前路对应的继电器驱动位的要求状态为由输出有效变为无输出的情况下,在当前路对应的前端电流的任一第一目标采样值大于混线告警电流阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为混线;在当前路对应的全部第一目标采样值均不大于混线告警电流阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为正常;其中,第一目标采样值为无输出对应的采样值;

在当前路对应的继电器驱动位的要求状态为持续输出有效的情况下,当前路对应的前端电流的全部采样值不均为最小电流值阈值的采样值且存在最小电流值阈值的采样值时,确定当前路对应的继电器驱动位的驱动电流监督结果为电流值异常;在当前路对应的前端电流的全部采样值均不大于最小电流值阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为短路;

在当前路对应的继电器驱动位的要求状态为由无输出变为输出有效的情况下,在当前路对应的前端电流的任一第二目标采样值大于短路保护电流阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为短路;在当前路对应的前端电流的全部第二目标采样值均不大于短路保护电流阈值,且任一第二目标采样值大于最大电流值阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为电流值异常;在当前路对应的前端电流的全部第二目标采样值均不大于最大电流值阈值且均大于最小电流值阈值,确定当前路对应的继电器驱动位的驱动电流监督结果为正常;在当前路对应的前端电流的任一第二目标采样值不大于最小电流值阈值,确定当前路对应的继电器驱动位的驱动电流监督结果为电流值异常;其中,第二目标采样值为输出有效对应的采样值,短路保护电流阈值大于最大电流值阈值。

对应的,本实施例中车载安全数字量输入输出装置包括安全输出两级回采电路的情况下,检测输出结果可以包括后端电压回采检测结果,当前MCU可以根据回采结果中的后端电压回采结果,获取检测输出结果中的后端电压回采检测结果。如表8所示,当前MCU可以根据安全输出继电器的预设输出数量的驱动位的驱动位状态和预设输出数量路的后端电压回采结果,获取后端电压回采检测结果,以检测安全输出继电器触点的错误吸起、错误落下等故障状态。

表8继电器动作监督真值表

可以理解的是,当前MCU可以利用主任务进程将自身获取的动态检测结果(即输出数据包)与另一MCU的检测输出结果进行交互对比,如通过MCU交互模块的数据交互通道(如图2中的SPI数据交互通道)接收另一MCU的检测输出结果,在两个检测输出结果的数据帧完全一致时,向车辆的控制器输出检测输出结果。其中,动态检测结果的数据帧结构可以如表9所示。

表9输出数据包的数据帧结构说明表

/>

/>

本实施例中,本发明实施例利用不同架构的第一MCU和第二MCU,通过协同输入动态检测电路对采用双通道协同检测的方式,对输入的数字量进行动态检测,避免了第一MCU和第二MCU发生共因故障影响检测准确性的问题;并且通过协同输入动态检测电路的设置,减少了动态检测电路元器件的消耗,降低了配置成本与板卡尺寸。

相应于上面的方法实施例,本发明实施例还提供了一种车载安全数字量的协同检测装置,下文描述的一种车载安全数字量的协同检测装置与上文描述的一种车载安全数字量的协同检测方法可相互参照。

请参考图16,图16为本发明实施例所提供的一种车载安全数字量的协同检测装置的结构框图。该一种车载安全数字量的协同检测装置应用于上述实施例所提供的车载安全数字量输入输出装置中的当前MCU,可以包括:

确定模块100,用于在对预设数量路的输入数字量进行采集的过程中,确定当前系统周期和当前采样周期;其中,当前MCU为第一MCU或第二MCU,当前系统周期的周期时间为当前采样周期的周期时间的预设整数倍;

动态检测模块200,用于根据当前系统周期和当前采样周期,控制MCU交互模块的同步信号量通道中的同步信号和向协同输入动态检测电路输出的动态检测启动控制信号,对采集的第一分组数量路和/或第二分组数量路的输入数字量进行数字量检测,获取动态检测结果;其中,动态检测启动控制信号为第一动态检测启动控制信号或第二动态检测启动控制信号。

在一些实施例中,动态检测模块200可以包括:

第一检测子模块,用于若当前系统周期除以3的余数为0且当前采样周期小于或等于6,则打开动态检测启动控制信号和同步信号,并在当前采样周期为预设周期数且检测到同步信号为打开状态时,检测预设数量路的输入数字量,获取动态检测结果;其中,预设周期数小于或等于6;

第二检测子模块,用于若当前系统周期除以3的余数为1且当前采样周期小于或等于6,则在当前MCU为第一MCU时,打开动态检测启动控制信号和同步信号,并在当前采样周期为预设周期数且检测到同步信号为打开状态时,检测第一分组数量的输入数字量,获取动态检测结果;在当前MCU为第二MCU时,关闭动态检测启动控制信号和同步信号,并在当前采样周期为预设周期数且检测到同步信号为打开状态时,检测第一分组数量的输入数字量,获取动态检测结果;其中,第一MCU和/或第二MCU打开同步信号时,同步信号为打开状态;第一MCU和第二MCU关闭同步信号时,同步信号为关闭状态;

第三检测子模块,用于若当前系统周期除以3的余数为2且当前采样周期小于或等于6,则在当前MCU为第一MCU时,关闭动态检测启动控制信号和同步信号,并在当前采样周期为预设周期数且检测到同步信号为关闭状态时,检测第二分组数量的输入数字量,获取动态检测结果;在当前MCU为第二MCU时,打开动态检测启动控制信号和同步信号,并在当前采样周期为预设周期数且检测到同步信号为打开状态时,检测第二分组数量的输入数字量,获取动态检测结果;

采集子模块,用于若当前采样周期大于6,则关闭动态检测启动控制信号和同步信号,并在同步信号为关闭状态时,获取并记录采集的预设数量路的输入数字量。

在一些实施例中,动态检测模块200还可以包括:

判断子模块,用于判断动态检测结果中错误的输入数字量的路数是否大于检测阈值;

设置子模块,用于若大于检测阈值,则设置车载安全数字量输入输出装置为宕机状态。

在一些实施例中,该装置还可以包括:

采样获取模块,用于在当前系统周期完成后,获取当前系统周期对应的预设整数的采集结果、动态检测结果和安全输出两级回采电路的回采结果;其中,回采结果包括前端电流回采结果和后端电压回采结果;

采样检测模块,用于根据采集结果、动态检测结果和回采结果,获取检测输出结果;

对比输出模块,用于在检测输出结果与车载安全数字量输入输出装置的另一MCU的检测输出结果相同时,向车辆的控制器输出检测输出结果。

在一些实施例中,采样检测模块可以包括:

同步检测子模块,用于根据采集结果和另一MCU的采集结果,获取检测输出结果中预设数量的采集位各自的采样检测结果和同步判定结果。

在一些实施例中,采样检测模块可以包括:

第一回采检测子模块,用于若后端电压回采结果中当前路的输出数字量对应的继电器驱动位的要求状态为持续无输出,则在后端电压回采结果中当前路的输出数字量对应的前端电流的任一采样值大于混线告警电流阈值时,确定检测输出结果中继电器驱动位的驱动电流监督结果为混线;在当前路对应的前端电流的全部采样值均不大于混线告警电流阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为正常;其中,当前路的输出数字量为安全输出继电器输出的预设输出数量路的输出数字量中任一路的输出数字量;

第二回采检测子模块,用于若当前路对应的继电器驱动位的要求状态为由输出有效变为无输出,则在当前路对应的前端电流的任一第一目标采样值大于混线告警电流阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为混线;在当前路对应的全部第一目标采样值均不大于混线告警电流阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为正常;其中,第一目标采样值为无输出对应的采样值;

第三回采检测子模块,用于若当前路对应的继电器驱动位的要求状态为持续输出有效,则当前路对应的前端电流的全部采样值不均为最小电流值阈值的采样值且存在最小电流值阈值的采样值时,确定当前路对应的继电器驱动位的驱动电流监督结果为电流值异常;在当前路对应的前端电流的全部采样值均不大于最小电流值阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为短路;

第四回采检测子模块,用于若当前路对应的继电器驱动位的要求状态为由无输出变为输出有效,则在当前路对应的前端电流的任一第二目标采样值大于短路保护电流阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为短路;在当前路对应的前端电流的全部第二目标采样值均不大于短路保护电流阈值,且任一第二目标采样值大于最大电流值阈值时,确定当前路对应的继电器驱动位的驱动电流监督结果为电流值异常;在当前路对应的前端电流的全部第二目标采样值均不大于最大电流值阈值且均大于最小电流值阈值,确定当前路对应的继电器驱动位的驱动电流监督结果为正常;在当前路对应的前端电流的任一第二目标采样值不大于最小电流值阈值,确定当前路对应的继电器驱动位的驱动电流监督结果为电流值异常;其中,第二目标采样值为输出有效对应的采样值,短路保护电流阈值大于最大电流值阈值。

相应于上面的方法实施例,本发明实施例还提供了一种计算机可读存储介质,下文描述的一种计算机可读存储介质与上文描述的一种车载安全数字量的协同检测方法可相互对应参照。

请参考图17,图17为本发明实施例所提供的一种计算机可读存储介质的结构示意图。该计算机可读存储介质300上存储有计算机程序310,计算机程序310被处理器执行时实现如上述方法实施例所提供的车载安全数字量的协同检测方法的步骤。

该计算机可读存储介质300具体可以为U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的存储介质。

此外,本发明实施例还提供了一种轨道车辆,包括:上述实施例所提供的车载安全数字量输入输出装置。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的协同检测装置、计算机可读存储介质及轨道车辆而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

以上对本发明所提供的一种车载安全数字量输入输出装置及车载安全数字量的协同检测方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

技术分类

06120116566878