CN108228244A - 轻轨板卡的识别方法及*** - Google Patents
轻轨板卡的识别方法及*** Download PDFInfo
- Publication number
- CN108228244A CN108228244A CN201611147652.3A CN201611147652A CN108228244A CN 108228244 A CN108228244 A CN 108228244A CN 201611147652 A CN201611147652 A CN 201611147652A CN 108228244 A CN108228244 A CN 108228244A
- Authority
- CN
- China
- Prior art keywords
- cpu
- board
- identification circuit
- type
- controller
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mounting Of Printed Circuit Boards And The Like (AREA)
- Programmable Controllers (AREA)
Abstract
本发明提出一种轻轨板卡的识别方法及***,其中,该方法包括:板卡上的CPU通过GPIO接口读取板卡上的类型识别电路,获取板卡的目标类型,CPU根据目标类型从固件上确定与目标类型对应的目标程序并执行目标程序。本实施例中,通过在板卡上设置类型识别电路,可以使得板卡上的CPU能够通过GPIO接口自动识别出该板卡的目标类型,而且为了增强固件的通用性,将多种类型板卡的程序烧录在同一固件上,根据识别出的目标类型再确定该板卡对应的目标程序,从而可以减少固件的数量和类型,便于对固件的管理。
Description
技术领域
本发明涉及***测试领域,尤其涉及一种轻轨板卡的识别方法及***。
背景技术
轻轨信号***中需要使用不同类型的板卡,不同类型的板卡可以实现特定的功能。不同类型的板卡可以包括数字输入板卡、数字输出板卡、模拟输入板卡、模拟输出板卡、通信板卡等。由于板卡自身不能对类型进行识别,而且不同类型的板卡要实现的功能有所不同,因此需要为每一种特殊功能的板卡开发相应的固件,这样轻轨信号***中的各种板卡才能正常执行对应的功能,进而使整个轻轨信号***运作起来。
工程实施时,不同种类的板卡需要向对应的固件中烧录不同的程序,在对多辆列车的多种固件进行程序更新时,固件的烧录人员的负担比较重,在不同种类的板卡的固件之间来回切换,容易固件对应的程序出现更新错误。
现有技术中,当同一机笼内需要使用多个相同类型的板卡时,则需要通过软件配置方式,在闪存(Flash)等可存储设备中,存储板卡的物理地址。但是当Flash出现故障时,在故障情况下读取的物理地址可能就会出现错误,而且通过软件配置物理地址时易导致配置错误,加重配置人员的负担,且同一类型的板卡无法直接作用在机笼内的不同位置,需要重新配置板卡的物理地址。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种轻轨板卡的识别方法,该方法通过在板卡上类型识别电路,板卡上的CPU可以自动识别出板卡的类型,进而根据板卡的类型从固件上确定出对应的目标程序,这样就可以在同一固件上烧录覆盖多种板卡的程序,在识别出的类型再确定该板卡对应的目标程序,从而可以减少固件的数量和类型,便于对固件的管理。
本发明的另一个目的在于提出一种轻轨板卡的识别***。
为达到上述目的,本发明第一方面实施例提出的轻轨板卡的识别方法,包括:
板卡上的中央处理器CPU通过通用输入/输出GPIO接口读取所述板卡上的类型识别电路,获取所述板卡的目标类型;
所述CPU根据所述目标类型从固件上确定与所述目标类型对应的目标程序并执行所述目标程序。
本发明第一方面实施例提出的轻轨板卡的识别方法,通过在板卡上设置类型识别电路,可以使得板卡上的CPU能够通过GPIO接口自动识别出该板卡的目标类型,而且为了增强固件的通用性,将多种类型板卡的程序烧录在同一固件上,根据识别出的目标类型再确定该板卡对应的目标程序,从而可以减少固件的数量和类型,便于对固件的管理。
为达到上述目的,本发明第二方面实施例提出的轻轨板卡的识别***,包括:
CPU、GPIO接口、设置在板卡上的类型识别电路和固件;
所述固件,用于存储各类型板卡对应的程序;
所述GPIO接口,用于与所述识别类型电路连接;
所述CPU,用于通过所述GPIO接口读取所述类型识别电路,获取所述板卡的目标类型,根据所述目标类型从固件上确定与所述目标类型对应的目标程序并执行所述目标程序。
本发明第二方面实施例提出的轻轨板卡的识别***,通过在板卡上设置类型识别电路,可以使得板卡上的CPU能够通过GPIO接口自动识别出该板卡的目标类型,而且为了增强固件的通用性,将多种类型板卡的程序烧录在同一固件上,根据识别出的目标类型再确定该板卡对应的目标程序,从而可以减少固件的数量和类型,便于对固件的管理。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的一种轻轨板卡的识别方法的流程示意图;
图2为本发明实施例提供的通过GPIO接口读取一个类型识别电路的示意图;
图3为本发明实施例提供的另一种轻轨板卡的识别方法的流程示意图;
图4为本发明实施提供的一种GPIO管脚设定的示意图;
图5为本发明实施例提供的另一种轻轨板卡的识别方法的流程示意图;
图6为本发明实施例提供一种双CPU工作模式下轻轨板卡的识别方法的示意图;
图7为本发明实施例提供的一种板卡故障的处理流程;
图8为本发明实施例提供的一种轻轨板卡的识别***的结构示意图;
图9为本发明实施例提供的一种轻轨板卡的识别***的结构示意图;
图10为本发明实施例提供的一种轻轨板卡的识别***的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
图1为本发明实施例提供的一种轻轨板卡的识别方法的流程示意图,如图1所示,该轻轨板卡的识别方法包括以下步骤:
S101、板卡上的中央处理器CPU通过通用输入/输出GPIO接口读取板卡上的类型识别电路,获取板卡的目标类型。
本实施例中,为每种类型的板卡预先设置一个唯一的板卡类型号,并在板卡对应的主电路上中增加一个用于识别板卡类型的类型识别电路。该类型识别电路在生产板卡时就被设计并且设置在板卡的主电路上。不同类型的板卡都有唯一的一个类型识别电路,而且不同的类型对应的类型识别电路不同。
为了获取到板卡的类型,CPU可以通过设定好的数字通用输入/输出(GeneralPurpose Input Output,简称GPIO),读取设置在板卡上的类型识别电路,识别电路的输出代表该板卡的类型号,以此来识别该板卡的目标类型。
例如,一个板卡的类型号为110。可以预先在固件中对GPIO接口的管脚进行定义,可以从GPIO闲置的管脚中选取3个管脚,将选取的3个管脚中需要输出1的GPIO中的两个管脚通过所连接的类型识别电路拉成高电平,把为需要输出0的GPIO所连接的电路拉成低电平,这样,CPU就可以通过GPIO中设定的3个管脚识别到板卡的类型号为110。图2为本发明实施例提供的通过GPIO接口读取一个类型识别电路的示意图。
S102、CPU根据目标类型从固件上确定与目标类型对应的目标程序并执行目标程序。
由于CPU可以类型识别电路中识别出板卡的类型,本实施例中,为了增强固件的通用性,可以将不同类型板卡的程序集成到同一个固件中,也就是说所有类型的板卡只需要烧录一个固件,即烧录的固件需要预先将所有类型板卡的功能涵盖,在固件运行时,通过板卡上的CPU通过GPIO预设的管脚,从板卡上的类型识别电路读取到板卡的目标类型,在确定出该目标类型后,就从固件上确定出该目标类型对应的目标程序,并执行该目标程序,这样该板卡就可以执行该类型板卡的功能。
本实施例提供的轻轨板卡的识别方法,通过板卡上的CPU通过GPIO接口读取板卡上的类型识别电路,获取板卡的目标类型,CPU根据目标类型从固件上确定与目标类型对应的目标程序并执行目标程序。本实施例中,通过在板卡上设置类型识别电路,可以使得板卡上的CPU能够通过GPIO接口自动识别出该板卡的目标类型,而且为了增强固件的通用性,将多种类型板卡的程序烧录在同一固件上,根据识别出的目标类型再确定该板卡对应的目标程序,从而可以减少固件的数量和类型,便于对固件的管理。
图3为本发明实施例提供的另一种轻轨板卡的识别方法的流程示意图。如图3所示,该轻轨板卡的识别方法包括以下步骤:
S201、板卡上的CPU通过GPIO接口读取板卡上的类型识别电路,获取板卡的目标类型。
为了获取到板卡的类型,CPU可以通过设定好的数字通用输入/输出GPIO接口,读取设置在板卡上的类型识别电路,识别电路的输出代表该板卡的类型号,以此来识别该板卡的目标类型。
S202、在通过GPIO接口读取类型识别电路的同时,CPU通过GPIO接口读取板卡对应的槽位识别电路和机笼识别电路,获取板卡的位置信息。
实际应用中,一个轻轨信号***中存在需要使用多个同类型的板卡的情况,即需要在同一机笼或多个机笼上设置多个同类型的板卡的情况。为了能够识别出每个板卡的所处的位置,本实施例中,在机笼的背板插槽中增加一个槽位识别电路和一个机笼识别电路。板卡上的CUP在通过GPIO接口读取类型识别电路的同时,还可以通过GPIO接口读取该板卡对应的槽位识别电路和机笼识别电路,获取到板卡的位置信息。该位置信息为机笼编号和槽位编号对应的二进制码。CPU根据从GPIO上读取到的信息,确定出板卡所处的位置,即得知该板卡所在机笼和槽位。
对于所有板卡来说,槽位识别电路与机笼识别电路是一样的,但是不同的槽位对应的槽位识别电路不同,不同的机笼对应机笼识别电路也是不用的。槽位号因为物理位置相对固定,可以在生产的时候就把槽位识别电路固化,而机笼号因为位置相对不固定,可以通过拨码开关等来人工设定机笼识别电路。
图4为本发明实施提供的一种GPIO管脚设定的示意图。由于工程中通常都不会把GPIO所有管脚都用上,因此可以从GPIO接口的闲置的管脚中选取部分管脚作为设定的管脚,这些设定的管脚用于与类型识别电路、槽位识别电路和机笼识别电路进行连接。设定的管脚可以在软件中进行定义,GPIO接口的每个管脚都可以通过硬件的识别电路,使CPU检测到0或1,区别在于不同类型的板卡。实际应用中,可以将槽位识别电路与机笼识别电路设在背板上,若GPIO中为板卡的类型设定n条信号线,则可支持2n种板卡的类型,若GPIO中为机笼设定n条信号线,则可支持2n个机笼,若GPIO中为槽位设定n条信号线,则每个机笼可以有2n个槽位。
本实施例中,还可以为板卡的CPU设置一个标识码,该标识码可以为0或1。
S203、CPU将读取到目标类型和位置信息发送给控制器。
CPU在获取到目标类型和位置信息后,需要将目标类型和位置信息发送给控制器,控制器根据接收到的位置信息向板卡上的CPU发送指令,以指示板卡上的CPU按照指令进行工作。例如,控制器可以向板卡上的CPU发送一个指令,指示板卡停止工作等。
CPU可以向轻轨信号***中的控制器发送板卡的位置信息,控制器就可以根据位置信息准确地对板卡进行定位,从而准确地指挥各种板卡完成其工作或准确找出出现故障的板卡。
S204、控制器根据位置信息向CPU发送指示,指示CPU执行与目标类型对应的目标程序。
本实施例中,为了能够时轻轨信号***正常运行,控制器可以向板卡上的CPU发送一个指令,指示CPU执行与目标类型对应的目标程序。CPU可以根据板卡的类型,执行如读取输入或者输出脉冲等功能。
本实施例提供的轻轨板卡的识别方法,通过板卡上的CPU通过GPIO接口读取板卡上的类型识别电路,获取板卡的目标类型,CPU根据目标类型从固件上确定与目标类型对应的目标程序并执行目标程序。本实施例中,通过在板卡上设置类型识别电路,可以使得板卡上的CPU能够通过GPIO接口自动识别出该板卡的目标类型,而且为了增强固件的通用性,将多种类型板卡的程序烧录在同一固件上,根据识别出的目标类型再确定该板卡对应的目标程序,从而可以减少固件的数量和类型,便于对固件的管理。
进一步地,为板卡设置一个槽位识别电路和机笼识别电路,从而通过硬件使板卡上的CPU能够自动确定出板卡的物理位置,比现有通过软件进行配置方式更具有通用性,而且机笼硬件生产之后具备通用性,可以按照配置将同类型板卡***机笼内该板卡配置的任意槽位中。进一步地,轻轨信号***中的控制器可以从CPU中获取到板卡的位置信息,从而能够准确地对板卡进行定位,确定出板卡所处的机笼和槽位。
图5为发明实施例提供的另一种轻轨板卡的识别方法的流程示意图。如图5所示,该轻轨板卡的识别方法包括以下步骤:
S301、为板卡设置两个CPU互为冗余。
防止硬件异常可能带来的影响,本实施例中为一个板卡设置两个CPU,即设置二取二工作模式,两个CPU互为冗余。
S302、两个CPU同时对板卡上的类型识别电路、槽位识别电路和机笼识别电路进行读取。
板卡上设置的两个CPU,两个CPU可以同时通过GPIO对板卡上的类型识别、槽位识别电路和机笼识别电路进行读取,从类型识别电路上获取板卡的目标类型,从槽位识别电路和机笼识别电路上获取板卡的位置信息。两个CPU分别采用独立的采集电路,利用采集电路从GPIO接口上采集类型识别、槽位识别电路和机笼识别电路。两个CPU的采集时相互独立地,不会相互影响。
S303、两个CPU周期性将从类型识别电路、槽位识别电路和机笼识别电路读取到的信息相互交换。
两个CPU必须周期性地相互交换各自读取的信息,以保证板卡的目标类型、机笼号、槽位号等相同。由于设置有两个CPU,而双CPU同时发生故障并产生相同识别号码的几率几乎为0,因此,若其中一个CPU的硬件电路出现故障而使板卡类型等识别错误,可以通过双CPU的通信来发现错误,一旦发现双CPU的板卡类型、槽位号或机笼号等异常,则停止工作,有效的避免因硬件故障而引起的损失。
S304、两个CPU相互交换自身的标识码。
在两个CPU周期性将从类型识别电路、槽位识别电路和机笼识别电路读取到的信息相互交换的同时,两个CPU还需要相互交换自身的标识码。两CPU根据主从赋予不同的CPU的标识码,例如主CPU的标识码为“0”,从CPU的标识码为“1”。本实施例中,与轻轨信息***中的控制器直接通信的CPU为主CPU。
S305、两个CPU将自身的标识码与来自对方CPU的标识码进行比较,判断两个标识码是否一致。
本实施例中,当两个CPU自身的标识码与来自对方CPU的标识码一致时,说明硬件存在问题,需要停止工作,并向轻轨信号***中的控制器反馈故障信息。当两个CPU自身的标识码与来自对方CPU的标识码不一致时,则可以正常执行后续工作。
如果判断结果是两个标识码不一致,则执行S306;如果判断结果为两个标识码一致,则执行S308。
S306、两个CPU将自身读取的信息与来自对方CPU的读取的信息进行比较,判断两个CPU读取的信息是否一致。
两个CPU采用独立的采集电路从GPIO上读取信息,即采集不会相互影响。如果两个CPU自身读取的信息与来自对方CPU读取的信息不一致,说明板卡存在问题,需要两个CPU停止工作,并向控制器反馈故障信息。如果两个CUP自身读取的信息与来自对方CPU读取的信息一致,说明板卡正常,可以向控制器发送读取到的信息。
如果判断结果为两个CPU读取的信息一致,则执行S307;如果判断结果为两个CPU读取的信息不一致,则执行S308。
S307、与控制器直接通信的CPU将两个CPU读取的信息打包发给控制器。
本实施例中,与控制器直接通信的CPU为主CPU,该主CPU在板卡一切正常的情况,可以将两个CPU读取的信息打包发给控制器。读取的信息包括目标类型、位置信息以及标识码。可选地,主CPU可以在板卡一切正常的情况下,将自身读取的信息打包发给控制器。
S308、等待控制器的指令。
CPU将自身读取的信息发送给控制之后,可以等到控制的指令,具体地,控制器根据接收到的位置信息向板卡上的CPU发送指令,以指示板卡上的CPU按照指令进行工作。例如,控制器可以向板卡上的CPU发送一个指令,指示板卡停止工作等。再例如为了能够使轻轨信号***正常运行,控制器可以向板卡上的CPU发送一个指令,指示CPU从固件上获取与目标类型对应的目标程序。
S309、与控制器直接通信的CPU向控制器反馈故障信息。
与控制器直接通信的CPU可以向控制器反馈故障信息,等待有关人员修复故障或更换板卡。当故障排除后,板卡再次上电后自动初始化,与控制器直接通信的CPU则可以向控制器发送恢复信号。
S310、控制器对故障进行处理。
具体地,在控制器接收到故障信息后,根据从上一次从与其通信的CPU接收到的板卡的位置信息,定位到出现故障的板卡,可以根据故障信息,分析故障的原因,对故障采取相应的措施。进一步地,控制器可以将故障信息反馈给相关的工作人员,工作人员可以对定位到的板卡进行故障排查和处理。
本实施例中,通过板卡上的CPU通过GPIO接口读取板卡上的类型识别电路,获取板卡的目标类型,CPU根据目标类型从固件上确定与目标类型对应的目标程序并执行目标程序。进一步地,为板卡设置一个槽位识别电路和机笼识别电路,从而通过硬件使板卡上的CPU能够自动确定出板卡的物理位置。进一步地,为板卡设置两个CPU,两个CPU开始工作及在工作中,都会定期进行自检,其中就可以包含双CPU自身的标识码的交换以及读取的目标类型和位置信息,当检测到板卡有异常时,应停止工作,并向主控汇报相关信息,以免因板卡识别错误造成不良后果。若正常,即可等待主控的命令继续进行相关工作。
图6为本发明实施例提供一种双CPU工作模式下轻轨板卡的识别方法的示意图。图6所示,在该轻轨板卡的识别方法中,设置有两个CPU,包括CPU1和CPU 2。其中,两个CPU的工作内容一致,两个CPU的基本工作流程:
S401、开始。
S402、从GPIO接口上获取相关信息。
获取的相关信息中包括从板卡的类型识别电路上读取的目标类型、从槽位识别电路和机笼识别电路上读取到的位置信息,以及CPU的标识码。
S403、与另一CPU相互通信。
两个CPU之间相互交换获取的信息。
S404、检测板卡是否出现故障。
CPU根据从GPIO接口上获取的信息判断板卡是否出现故障。具体过程可参见上述实施例中相关内容的记载,此处不再赘述。
如果未故障,则执行S405;如果故障则执行S407。
S405、根据板卡的目标类型配置板卡的功能。
板卡一切正常,CPU可以根据板卡的目标类型,从固件上确定出该板卡的目标程序,通过该目标程序配置该板卡的功能。
S406、等待控制器的命令。
在初始化完成之后,CPU等待控制器的命令,例如执行程序的命令,当接收到执行程序的命令后,板卡就开始按照程序执行自身的功能。
S407、停止工作并向控制器发送故障信息。
为了避免由于板卡对轻轨造成重大影响,当CPU检测到板卡故障后,需要停止工作,并且向控制器发送故障信息,以对板卡的故障进行处理,使板卡尽快恢复正常。当故障排出后,板卡再次上电后自动初始化,CPU可以向控制器发送恢复信号。
本实施例中,为板卡设置两个CPU,两个CPU开始工作及在工作中,都会定期进行自检,其中就可以包含双CPU自身的标识码的交换以及读取的目标类型和位置信息,当检测到板卡有异常时,应停止工作,并向主控汇报相关信息,以免因板卡识别错误造成不良后果。若正常,即可等待主控的命令继续进行相关工作。
图7为本发明实施例提供的一种板卡故障的处理流程。如图7所示,由于两个CPU处于相同的工作状态,其中,与控制器直接通信CPU为主CPU,为了便于解释说明,本实施例中,在图7中仅使用主CPU进行介绍。
S501、开始。
本实施例中,控制器与主CPU被开启,执行后续流程。
S502、控制器指挥各类板卡运行。
轻轨信号***中的控制器可以对各类板卡进行控制,指挥各类板卡执行各自的功能,以使各板卡正常运行。
S503、板卡上的主CPU识别GPIO接口上提供的相关信息。
本实施例中,主CPU从GPIO接口上获取相关信息,获取的相关信息中包括板卡的目标类型、板卡的位置信息以及该CPU的标识码。具体过程参见上述实施例中相关内容的记载,此处不再赘述。
S504、主CPU检测板卡是否出现故障。
主CPU可以根据从GPIO接口上获取的相关信息,判断板卡是否出现故障,在出现故障后,执行S505。未出现故障时,执行S510将获取的相关信息上报给控制器。具体过程参见上述实施例中相关内容的记载,此处不再赘述。
S505、主CPU停止工作。
S506、主CPU向控制器反馈故障信息。
S507、控制器根据位置信息定位到板卡,将定位到的板卡反馈给工作人员。
S508、控制器对板卡采取相应的措施,以排除故障。
具体地,在控制器接收到故障信息后,根据从上一次从与其通信的CPU接收到的板卡的位置信息,定位到出现故障的板卡,可以根据故障信息,分析故障的原因,对故障采取相应的措施。进一步地,控制器可以将故障信息反馈给相关的工作人员,工作人员可以对定位到的板卡进行故障排查和处理。
S509、指挥其他板卡运行。
S510、主CPU将获取的相关信息上报给控制器。
本实施例中,为板卡设置两个CPU,两个CPU开始工作及在工作中,都会定期进行自检,其中就可以包含双CPU自身的标识码的交换以及读取的目标类型和位置信息,当检测到板卡有异常时,应停止工作,并向主控汇报相关信息,以免因板卡识别错误造成不良后果。若正常,即可等待主控的命令继续进行相关工作。
图8为本发明实施例提供的一种轻轨板卡的识别***。如图8所示,该识别***包括:CPU 1、GPIO接口2、设置在板卡上的类型识别电路3和固件4。
其中,所述固件4,用于存储各类型板卡对应的程序;
所述GPIO接口2,用于与所述识别类型电路3连接;
所述CPU 1,用于通过所述GPIO接口读取所述类型识别电路3,获取所述板卡的目标类型,根据所述目标类型从固件4上确定与所述目标类型对应的目标程序并执行所述目标程序。
实施例提供的轻轨板卡的识别方法,通过板卡上的CPU通过GPIO接口读取板卡上的类型识别电路,获取板卡的目标类型,CPU根据目标类型从固件上确定与目标类型对应的目标程序并执行目标程序。本实施例中,通过在板卡上设置类型识别电路,可以使得板卡上的CPU能够通过GPIO接口自动识别出该板卡的目标类型,而且为了增强固件的通用性,将多种类型板卡的程序烧录在同一固件上,根据识别出的目标类型再确定该板卡对应的目标程序,从而可以减少固件的数量和类型,便于对固件的管理。
图9为本发明实施例提供的另一种轻轨板卡的识别***。如图9所示,该识别***包括上述实施例中的CPU 1、GPIO接口2、设置在板卡上的类型识别电路3和固件4,还包括槽位识别电路5和机笼识别电路6。
其中,槽位识别电路5和机笼识别电路6分别与GPIO接口2连接。
CPU 1,还用于在通过所述GPIO接口2读取所述类型识别电路3的同时,通过所述GPIO接口2读取所述板卡对应的槽位识别电路5和机笼识别电路6,获取所述板卡的位置信息。
本实施例中,通过在板卡上设置类型识别电路,可以使得板卡上的CPU能够通过GPIO接口自动识别出该板卡的目标类型,而且为了增强固件的通用性,将多种类型板卡的程序烧录在同一固件上,根据识别出的目标类型再确定该板卡对应的目标程序,从而可以减少固件的数量和类型,便于对固件的管理。
进一步地,为板卡设置一个槽位识别电路和机笼识别电路,从而通过硬件使板卡上的CPU能够自动确定出板卡的物理位置,比现有通过软件进行配置方式更具有通用性,而且机笼硬件生产之后具备通用性,可以按照配置将同类型板卡***机笼内该板卡配置的任意槽位中。进一步地,轻轨信号***中的控制器可以从CPU中获取到板卡的位置信息,从而能够准确地对板卡进行定位,确定出板卡所处的机笼和槽位。
图10为本发明实施例提供的另一种轻轨板卡的识别***。如图10所示,该识别***包括上述实施例中的CPU 1、GPIO接口2、设置在板卡上的类型识别电路3、固件4、槽位识别电路5和机笼识别电路6,还包括:控制器7和另一个CPU 8。
控制器7,用于接收所述CPU 1发送的所述目标类型和所述位置信息,根据所述位置信息向所述CPU 1发送指示,指示所述CPU 1从所述固件4上获取与所述目标类型对应的所述目标程序。
本实施例中,两个CPU即CPU 1和CPU 8互为冗余。
两个CPU即CPU 1和CPU 8,用于同时对所述类型识别电路3、所述槽位识别电路5和所述机笼识别电路6进行读取。
两个CPU即CPU 1和CPU 8,还用于周期性将从所述类型识别电路3、所述槽位识别电路5和所述机笼识别电路6读取到的信息相互交换。
两个CPU即CPU 1和CPU 8,还用于在周期性将从所述类型识别电路3、所述槽位识别电路5和所述机笼识别电路6读取到的信息相互交换的同时,相互交换自身的标识码。
两个CPU即CPU 1和CPU 8,具体用于:
判断所述两个CPU读取的信息是否一致;如果所述两个CPU读取的信息一致时,所述两个CPU将自身的所述标识码与来自对方CPU的所述标识码进行比较,判断两个所述标识码是否一致;
如果两个所述标识码一致时,通过与控制器7直接通信的所述CPU 1向所述控制器反馈故障信息;本实施例中,与控制器7直接通信的CPU 1。
停止工作;
当故障排除后板卡再次上电初始化后,通过与控制器7直接通信的CPU 1向控制器7发送恢复信息和。
进一步地,两个CPU中与控制器直接通信的CPU 1,用于在判断出所述两个CPU读取的信息不一致时,向所述控制器反馈故障信息。
控制器7,还用于在接收到所述故障信息后根据从上一次从与其通信的所述CPU 1接收到的所述板卡的所述位置信息,定位到出现故障的所述板卡。
与所述控制器直接通信的所述CPU 1,还用于如果判断出两个所述标识码不一致且所述两个CPU读取的信息一致时,将所述两个CPU读取到的信息打包发送给所述控制器7。
本实施例中,通过在板卡上设置类型识别电路,可以使得板卡上的CPU能够通过GPIO接口自动识别出该板卡的目标类型,而且为了增强固件的通用性,将多种类型板卡的程序烧录在同一固件上,根据识别出的目标类型再确定该板卡对应的目标程序,从而可以减少固件的数量和类型,便于对固件的管理。
进一步地,为板卡设置一个槽位识别电路和机笼识别电路,从而通过硬件使板卡上的CPU能够自动确定出板卡的物理位置,比现有通过软件进行配置方式更具有通用性,而且机笼硬件生产之后具备通用性,可以按照配置将同类型板卡***机笼内该板卡配置的任意槽位中。进一步地,轻轨信号***中的控制器可以从CPU中获取到板卡的位置信息,从而能够准确地对板卡进行定位,确定出板卡所处的机笼和槽位。
本实施例中,为板卡设置两个CPU,两个CPU开始工作及在工作中,都会定期进行自检,其中就可以包含双CPU自身的标识码的交换以及读取的目标类型和位置信息,当检测到板卡有异常时,应停止工作,并向主控汇报相关信息,以免因板卡识别错误造成不良后果。若正常,即可等待主控的命令继续进行相关工作。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分模块或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (18)
1.一种轻轨板卡的识别方法,其特征在于,包括:
板卡上的中央处理器CPU通过通用输入/输出GPIO接口读取所述板卡上的类型识别电路,获取所述板卡的目标类型;
所述CPU根据所述目标类型从固件上确定与所述目标类型对应的目标程序并执行所述目标程序。
2.根据权利要求1所述的轻轨板卡的识别方法,其特征在于,还包括:
在通过所述GPIO接口读取所述类型识别电路的同时,所述CPU通过所述GPIO接口读取所述板卡对应的槽位识别电路和机笼识别电路,获取所述板卡的位置信息。
3.根据权利要求2所述的轻轨板卡的识别方法,其特征在于,还包括:
所述CPU将读取到所述目标类型和所述位置信息发送给控制器;
所述控制器根据所述位置信息向所述CPU发送指示,指示所述CPU执行与所述目标类型对应的所述目标程序。
4.根据权利要求2或3所述的轻轨板卡的识别方法,其特征在于,还包括:
为所述板卡设置两个CPU互为冗余;
所述两个CPU同时对所述类型识别电路、所述槽位识别电路和所述机笼识别电路进行读取。
5.根据权利要求4所述的轻轨板卡的识别方法,其特征在于,还包括:
所述两个CPU周期性将从所述类型识别电路、所述槽位识别电路和所述机笼识别电路读取到的信息相互交换。
6.根据权利要求5所述的轻轨板卡的识别方法,其特征在于,还包括:
在所述两个CPU周期性将从所述类型识别电路、所述槽位识别电路和所述机笼识别电路读取到的信息相互交换的同时,所述两个CPU相互交换自身的标识码。
7.根据权利要求6所述的轻轨板卡的识别方法,其特征在于,还包括:
所述两个CPU将自身读取的信息与来自对方CPU读取的信息进行比较,判断所述两个CPU读取的信息是否一致;
如果所述两个CPU读取的信息一致时,所述两个CPU将自身的所述标识码与来自对方CPU的所述标识码进行比较,判断两个所述标识码是否一致;
如果两个所述标识码一致时,通过与控制器直接通信的所述CPU向所述控制器反馈故障信息;
所述两个CPU停止工作;
当故障排除后所述板卡再次上电初始化后,通过与所述控制器直接通信的所述CPU则向所述控制器发送恢复信号。
8.根据权利要求7所述的轻轨板卡的识别方法,其特征在于,还包括:
如果所述两个CPU读取的信息不一致时,通过与控制器直接通信的所述CPU向所述控制器反馈故障信息;
在接收到所述故障信息后,所述控制器根据从上一次从与其通信的所述CPU接收到的所述板卡的所述位置信息,定位到出现故障的所述板卡。
9.根据权利要求8所述的轻轨板卡的识别方法,其特征在于,还包括:
如果两个所述标识码不一致且所述两个CPU读取的信息一致时,与所述控制器直接通信的所述CPU将所述两个CPU读取到的信息打包发送给所述控制器。
10.一种轻轨板卡的识别***,其特征在于,包括:
CPU、GPIO接口、设置在板卡上的类型识别电路和固件;
所述固件,用于存储各类型板卡对应的程序;
所述GPIO接口,用于与所述识别类型电路连接;
所述CPU,用于通过所述GPIO接口读取所述类型识别电路,获取所述板卡的目标类型,根据所述目标类型从固件上确定与所述目标类型对应的目标程序并执行所述目标程序。
11.根据权利要求10所述的轻轨板卡的识别***,其特征在于,还包括:
与所述GPIO接口连接的所述板卡对应的槽位识别电路和机笼识别电路;
所述CPU,还用于在通过所述GPIO接口读取所述类型识别电路的同时,通过所述GPIO接口读取所述板卡对应的槽位识别电路和机笼识别电路,获取所述板卡的位置信息。
12.根据权利要求11所述的轻轨板卡的识别***,其特征在于,还包括:控制器,用于接收所述CPU发送的所述目标类型和所述位置信息,根据所述位置信息向所述CPU发送指示,指示所述CPU执行与所述目标类型对应的所述目标程序。
13.根据权利要求11或12所述的轻轨板卡的识别***,其特征在于,还包括:另一个CPU;两个CPU互为冗余;
所述两个CPU,用于同时对所述类型识别电路、所述槽位识别电路和所述机笼识别电路进行读取。
14.根据权利要求13所述的轻轨板卡的识别***,其特征在于,所述两个CPU,还用于周期性将从所述类型识别电路、所述槽位识别电路和所述机笼识别电路读取到的信息相互交换。
15.根据权利要求14所述的轻轨板卡的识别***,其特征在于,所述两个CPU,还用于在周期性将从所述类型识别电路、所述槽位识别电路和所述机笼识别电路读取到的信息相互交换的同时,相互交换自身的标识码。
16.根据权利要求15所述的轻轨板卡的识别***,其特征在于,所述两个CPU,具体用于:
判断所述两个CPU读取的信息是否一致;如果所述两个CPU读取的信息一致时,所述两个CPU将自身的所述标识码与来自对方CPU的所述标识码进行比较,判断两个所述标识码是否一致;
如果两个所述标识码一致时,通过与控制器直接通信的所述CPU向所述控制器反馈故障信息;
停止工作;
当故障排除后所述板卡再次上电初始化后,通过与所述控制器直接通信的所述CPU则向所述控制器发送恢复信号。
17.根据权利要求16所述的轻轨板卡的识别***,其特征在于,所述两个CPU中与控制器直接通信的所述CPU,用于在判断出所述两个CPU读取的信息不一致时,向所述控制器反馈故障信息;
所述控制器,还用于在接收到所述故障信息后根据从上一次从与其通信的所述CPU接收到的所述板卡的所述位置信息,定位到出现故障的所述板卡。
18.根据权利要求17所述的轻轨板卡的识别***,其特征在于,与所述控制器直接通信的所述CPU,还用于如果判断出两个所述标识码不一致且所述两个CPU读取的信息一致时,将所述两个CPU读取到的信息打包发送给所述控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611147652.3A CN108228244B (zh) | 2016-12-13 | 2016-12-13 | 轻轨板卡的识别方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611147652.3A CN108228244B (zh) | 2016-12-13 | 2016-12-13 | 轻轨板卡的识别方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108228244A true CN108228244A (zh) | 2018-06-29 |
CN108228244B CN108228244B (zh) | 2020-10-23 |
Family
ID=62638398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611147652.3A Active CN108228244B (zh) | 2016-12-13 | 2016-12-13 | 轻轨板卡的识别方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228244B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857684A (zh) * | 2019-01-04 | 2019-06-07 | 烽火通信科技股份有限公司 | 通信设备板卡槽位地址和类型识别的装置、方法和*** |
CN110232042A (zh) * | 2019-06-10 | 2019-09-13 | 深圳市风云实业有限公司 | 信号传输方法、背板的选择器及通信*** |
CN110245048A (zh) * | 2019-06-04 | 2019-09-17 | 重庆金美通信有限责任公司 | 一种机箱智能管理***和管理方法 |
CN110380911A (zh) * | 2019-08-14 | 2019-10-25 | 北京交大思诺科技股份有限公司 | 一种冗余***主备识别的方法 |
CN110515865A (zh) * | 2019-08-30 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种板卡种类判断方法、装置、设备和存储介质 |
CN110554978A (zh) * | 2019-08-30 | 2019-12-10 | 北京交大思诺科技股份有限公司 | 一种采用通用i/o模块实现的安全计算机平台 |
CN114035023A (zh) * | 2021-10-22 | 2022-02-11 | 宁波集联软件科技有限公司 | 一种多模式汽车核心板夹具的判断方法及判断*** |
CN114327664A (zh) * | 2022-03-15 | 2022-04-12 | 武汉普赛斯电子技术有限公司 | 插卡式机箱设备的软件管理方法、计算机设备及存储介质 |
CN115509617A (zh) * | 2022-08-11 | 2022-12-23 | 中勍科技股份有限公司 | 一种多***功能板卡基于框槽号的自动启动方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567810A (zh) * | 2008-11-11 | 2009-10-28 | 武汉虹信通信技术有限责任公司 | 一种热插拔板卡自侦测的实现方法 |
CN101576826A (zh) * | 2009-06-12 | 2009-11-11 | 成都市华为赛门铁克科技有限公司 | 接口卡加载方法和***、接口卡及控制板 |
CN104199678A (zh) * | 2014-07-30 | 2014-12-10 | 上海斐讯数据通信技术有限公司 | 获取板卡的类型id的方法和软件版本升级的方法 |
CN204129732U (zh) * | 2014-10-11 | 2015-01-28 | 四川九洲电器集团有限责任公司 | 基于卫星授时机架***的板卡自适应设备 |
CN105634833A (zh) * | 2016-04-12 | 2016-06-01 | 上海斐讯数据通信技术有限公司 | 光网络设备的升级方法、***及网络设备 |
-
2016
- 2016-12-13 CN CN201611147652.3A patent/CN108228244B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567810A (zh) * | 2008-11-11 | 2009-10-28 | 武汉虹信通信技术有限责任公司 | 一种热插拔板卡自侦测的实现方法 |
CN101576826A (zh) * | 2009-06-12 | 2009-11-11 | 成都市华为赛门铁克科技有限公司 | 接口卡加载方法和***、接口卡及控制板 |
CN104199678A (zh) * | 2014-07-30 | 2014-12-10 | 上海斐讯数据通信技术有限公司 | 获取板卡的类型id的方法和软件版本升级的方法 |
CN204129732U (zh) * | 2014-10-11 | 2015-01-28 | 四川九洲电器集团有限责任公司 | 基于卫星授时机架***的板卡自适应设备 |
CN105634833A (zh) * | 2016-04-12 | 2016-06-01 | 上海斐讯数据通信技术有限公司 | 光网络设备的升级方法、***及网络设备 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857684B (zh) * | 2019-01-04 | 2020-11-06 | 烽火通信科技股份有限公司 | 通信设备板卡槽位地址和类型识别的装置、方法和*** |
CN109857684A (zh) * | 2019-01-04 | 2019-06-07 | 烽火通信科技股份有限公司 | 通信设备板卡槽位地址和类型识别的装置、方法和*** |
CN110245048A (zh) * | 2019-06-04 | 2019-09-17 | 重庆金美通信有限责任公司 | 一种机箱智能管理***和管理方法 |
CN110245048B (zh) * | 2019-06-04 | 2023-06-09 | 重庆金美通信有限责任公司 | 一种机箱智能管理***和管理方法 |
CN110232042A (zh) * | 2019-06-10 | 2019-09-13 | 深圳市风云实业有限公司 | 信号传输方法、背板的选择器及通信*** |
CN110380911A (zh) * | 2019-08-14 | 2019-10-25 | 北京交大思诺科技股份有限公司 | 一种冗余***主备识别的方法 |
CN110380911B (zh) * | 2019-08-14 | 2022-05-31 | 北京交大思诺科技股份有限公司 | 一种冗余***主备识别的方法 |
CN110554978A (zh) * | 2019-08-30 | 2019-12-10 | 北京交大思诺科技股份有限公司 | 一种采用通用i/o模块实现的安全计算机平台 |
CN110554978B (zh) * | 2019-08-30 | 2022-02-15 | 北京交大思诺科技股份有限公司 | 一种采用通用i/o模块实现的安全计算机平台 |
CN110515865A (zh) * | 2019-08-30 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种板卡种类判断方法、装置、设备和存储介质 |
CN114035023A (zh) * | 2021-10-22 | 2022-02-11 | 宁波集联软件科技有限公司 | 一种多模式汽车核心板夹具的判断方法及判断*** |
CN114327664A (zh) * | 2022-03-15 | 2022-04-12 | 武汉普赛斯电子技术有限公司 | 插卡式机箱设备的软件管理方法、计算机设备及存储介质 |
CN114327664B (zh) * | 2022-03-15 | 2022-06-17 | 武汉普赛斯电子技术有限公司 | 插卡式机箱设备的软件管理方法、计算机设备及存储介质 |
CN115509617A (zh) * | 2022-08-11 | 2022-12-23 | 中勍科技股份有限公司 | 一种多***功能板卡基于框槽号的自动启动方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108228244B (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228244A (zh) | 轻轨板卡的识别方法及*** | |
CN106055438B (zh) | 一种快速定位主板上内存条异常的方法及*** | |
CN109558282B (zh) | 一种pcie链路检测方法、***及电子设备和存储介质 | |
CN106547653B (zh) | 计算机***故障状态检测方法、装置及*** | |
US20080301497A1 (en) | Testing Apparatus, System, and Method for Testing at Least One Device with a Connection Interface | |
JP4886601B2 (ja) | Usbインタフェース設備に対して操作を行う装置及び方法 | |
US7831743B2 (en) | Numerical controller managing multiple input/output units that automatically allocate and stores group IDs for the input/output units | |
TWI480731B (zh) | 轉接裝置及經由該轉接裝置之除錯方法 | |
CN105549463A (zh) | 无人机及其状态监控方法、状态监控***、状态监控装置 | |
EP3709149A1 (en) | Off-board flash memory | |
CN101604248B (zh) | 一种修正只读存储器中程序的嵌入式***及其实现方法 | |
CN110925230A (zh) | 脉冲宽度调制风扇 | |
CN112114220A (zh) | 故障检测方法、装置 | |
US20080071979A1 (en) | Automatically detecting types of external data flash devices | |
CN109491876A (zh) | 一种服务器及其cpu ierr错误提示*** | |
US10025683B2 (en) | Information processing device and computer-readable recording medium | |
CN108153625A (zh) | 记录***自检错误的方法 | |
JP5638045B2 (ja) | 着脱可能なフィルタ回路を有する数値制御システム | |
CN102023909A (zh) | 主机板侦错***及其外接侦错板 | |
TW202018507A (zh) | 主機開機檢測方法及其系統 | |
CN1987809A (zh) | 基本输入输出***自检结果的方法 | |
KR101974853B1 (ko) | Ssd 테스터 보드의 보드 번호 부여용 usb 장치 및 그 방법 | |
CN210573754U (zh) | 一种iic总线测试模块 | |
JP4697585B2 (ja) | 情報処理システム及び該情報処理システムにおける接続状態の確認方法 | |
EP2782013A2 (en) | Fault-spot locating method, switching apparatus, fault-spot locating apparatus, and information processing apparatus |
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 |