CN113806252A - 板卡识别方法、计算机、装置、终端设备及存储介质 - Google Patents
板卡识别方法、计算机、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN113806252A CN113806252A CN202111018956.0A CN202111018956A CN113806252A CN 113806252 A CN113806252 A CN 113806252A CN 202111018956 A CN202111018956 A CN 202111018956A CN 113806252 A CN113806252 A CN 113806252A
- Authority
- CN
- China
- Prior art keywords
- board
- board card
- value
- same type
- card
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000006870 function Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 10
- 238000009434 installation Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Abstract
本发明公开了一种板卡识别方法、计算机、装置、终端设备及存储介质,对于计算机上安装有多个同类型的板卡的场景,通过为每个板卡配置ID值,响应应用程序启动板卡的启动指令,根据启动指令对所述多个同类型的板卡的ID值进行识别;若识别得到的当前板卡的ID值与预设ID值相同,则确定所述当前板卡为当前需要启动的板卡。本发明方案解决了当一个计算机内安装了多个同类型PCIE板卡时,如何简便并且可靠地识别多个同类型板卡中的某一个板卡的问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种板卡识别方法、计算机、装置、终端设备及存储介质。
背景技术
目前,当一个计算机内安装了多个相同类型的PCIE接口板卡时,应用程序识别这些相同类型板卡中的其中一个板卡是通过计算机操作系统提供的设备路径进行识别。但是,由于电脑主板的差异,这个路径不能正确反映板卡的实际物理位置,使得应用程序在不同的主板上运行时,可能会打开不同物理位置的板卡。
也就是说,现有技术通过操作系统提供的设备路径识别多个同类型卡中的某一个卡,可能出现误操作,打开一个错误的物理位置的板卡,实际应用中需要使用者在安装板卡时,验证每个板卡的设备路径是否正确,其操作过程麻烦,而且容易出错。
发明内容
本发明的主要目的在于提供一种板卡识别方法、计算机、装置、终端设备及存储介质,旨在解决当一个计算机内安装了多个同类型板卡时,如何简便并且可靠地识别多个同类型板卡中的某一个板卡的问题。
为实现上述目的,本发明实施例提供一种板卡识别方法,应用于计算机,所述计算机上安装有多个同类型的板卡,所述方法包括以下步骤:
响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别;
若识别得到的当前板卡的ID值与预设ID值相同,则确定所述当前板卡为当前需要启动的板卡。
可选地,所述板卡配置有EEPROM芯片,所述板卡的ID值存储在所述EEPROM芯片。
可选地,所述响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别的步骤包括:
响应应用程序启动板卡的启动指令,根据所述启动指令,调用预先配置的EEPROM读写电路,读取存储在所述EEPROM芯片中的板卡ID值,识别得到所述板卡的ID值。
可选地,所述EEPROM读写电路包括:主控FPGA芯片,所述主控FPGA芯片通过I2C总线连接所述EEPROM芯片;所述根据所述启动指令,调用预先配置的EEPROM读写电路,读取存储在所述EEPROM芯片中的板卡ID值的步骤包括:
根据所述启动指令,调用所述EEPROM读写电路,在所述FPGA芯片内部逻辑生成I2C指令时序;
基于所述I2C指令时序,通过PCI BAR空间映射读取所述EEPROM芯片关联的寄存器,获得所述板卡的ID值。
可选地,所述响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别的步骤之前还包括:
在接收到应用程序打开接口设备的指令时,确定所述接口设备的类型;
若所述接口设备的类型包含有多个同类型的接口板卡,则逐个获取每个接口设备的设备路径地址;
根据所述设备路径地址打开所述接口设备,触发启动板卡的启动指令。
可选地,所述在接收到应用程序打开接口设备的指令时,确定所述接口设备的类型的步骤包括:
在接收到应用程序打开接口设备的指令时,调用SetupDiGetClassDevs函数,打开设备类,确定所述接口设备的类型;
调用SetupDiEnumDeviceInterfaces函数枚举所述设备类的所有接口设备;
所述若所述接口设备的类型包含有多个同类型的接口板卡,则逐个获取每个接口设备的设备路径地址的步骤包括:
若所述接口设备的类型包含有多个同类型的接口板卡,则调用SetupDiGetDeviceInterfaceDetail函数,逐个获取每个接口设备的详细信息;
从所述接口设备的详细信息获取所述接口设备的设备路径地址。
此外,本发明实施例还提出一种计算机,包括多个同类型的板卡,所述板卡具有ID值,所述板卡配置有EEPROM芯片,所述板卡的ID值存储在所述EEPROM芯片。
此外,本发明实施例还提出一种板卡识别装置,应用于计算机,所述计算机上安装有多个同类型的板卡,所述板卡识别装置包括:
识别模块,用于响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别;
确定模块,用于若识别得到的当前板卡的ID值与预设ID值相同,则确定所述当前板卡为当前需要启动的板卡。
此外,本发明实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的板卡识别方法。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的板卡识别方法。
本发明实施例提出的板卡识别方法、计算机、装置、终端设备及存储介质,对于计算机上安装有多个同类型的板卡的场景,通过为每个板卡配置ID值,响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别;若识别得到的当前板卡的ID值与预设ID值相同,则确定所述当前板卡为当前需要启动的板卡。相较于现有技术,通过操作系统提供的设备路径识别多个同类型卡中的某一个板卡,可能出现误操作,打开一个错误的物理位置的板卡,实际应用中需要使用者在安装的时候验证每个板卡的设备路径是否正确,过程麻烦,容易出错。本发明实施例方案,通过在板卡上配备一个EEPROM芯片,在板卡出厂时在其中存储一个板卡ID值,该ID值与所有同类型的其他板卡均不同,应用程序通过读取该板卡ID值,唯一的识别这些同类型板卡中某一个板卡,不会出现打开不正确物理位置板卡的问题。从而解决了当一个计算机内安装了多个同类型PCIE板卡时,如何简便并且可靠地识别多个同类型板卡中的某一个板卡的问题。
附图说明
图1为本发明板卡识别装置所属终端设备的功能模块示意图;
图2为本发明实施例涉及的预先配置的EEPROM读写电路的结构示意图;
图3为本发明板卡识别方法一示例性实施例的流程示意图;
图4为本发明板卡识别方法另一示例性实施例的流程示意图;
图5为本发明实施例中板卡识别方法的细化流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:对于计算机上安装有多个同类型的板卡的场景,通过为每个板卡配置ID值,响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别;若识别得到的当前板卡的ID值与预设ID值相同,则确定所述当前板卡为当前需要启动的板卡。本发明实施例方案,通过在板卡上配备一个EEPROM芯片,在板卡出厂时在其中存储一个板卡ID值,该ID值与所有同类型的其他板卡均不同,应用程序通过读取该板卡ID值,唯一的识别这些同类型板卡中某一个板卡,不会出现打开不正确物理位置板卡的问题。从而解决了当一个计算机内安装了多个同类型PCIE板卡时,如何简便并且可靠地识别多个同类型板卡中的某一个板卡的问题。
本发明实施例涉及的技术术语:
FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列),是一种数字集成电路芯片。FPGA是数字电路的物理实现方式之一,FPGA的一项重要特点是其可编程特性,即用户可通过程序指定FPGA实现某一特定数字电路。
EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器),是一种掉电后数据不丢失的存储芯片,EEPROM可以在电脑上或专用设备上擦除已有信息,重新编程。一般用于即插即用(Plug&Play),比如常用在接口卡中,用来存放硬件设置数据,也常用在防止软件非法拷贝的“硬件锁”上面。
本发明实施例考虑到,现有相关方案中,通过操作系统提供的设备路径识别多个同类型卡中的某一个板卡,可能出现误操作,打开一个错误的物理位置的板卡,实际应用中需要使用者在安装的时候验证每个板卡的设备路径是否正确,过程麻烦,容易出错。
因此,本发明实施例提出解决方案,可以通过对同类型板卡中每个板卡上存储在EEPROM芯片的板卡ID来识别每个单独的板卡,只要板卡ID值在同类型板卡中是唯一的,就可以准确识别安装在计算机上同类型板卡中的某一个板卡,不会出现误操作,简单可靠。
本发明实施例方案适用PCIE板卡或PCI板卡。
具体地,参照图1,图1为本发明板卡识别装置所属终端设备的功能模块示意图。该板卡识别装置可以为独立于终端设备的、能够实现数据处理的装置,其可以通过硬件或软件的形式承载于终端设备上。该终端设备可以为手机、平板电脑等智能移动终端,还可以为计算机、服务器等网络设备。
在本实施例中,该板卡识别装置所属终端设备至少包括输出模块110、处理器120、存储器130以及通信模块140。
存储器130中存储有操作系统以及板卡识别程序;输出模块110可为显示屏、扬声器等。通信模块140可以包括WIFI模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务器进行通信。
其中,作为一种实施例方式,存储器130中的板卡识别程序被处理器执行时实现以下步骤:
响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别;
若识别得到的当前板卡的ID值与预设ID值相同,则确定所述当前板卡为当前需要启动的板卡。
进一步地,存储器130中的板卡识别程序被处理器执行时还实现以下步骤:
响应应用程序启动板卡的启动指令,根据所述启动指令,调用预先配置的EEPROM读写电路,读取存储在所述EEPROM芯片中的板卡ID值,识别得到所述板卡的ID值。
进一步地,存储器130中的板卡识别程序被处理器执行时还实现以下步骤:
根据所述启动指令,在所述FPGA芯片内部逻辑生成I2C指令时序;
基于所述I2C指令时序,通过PCI BAR空间映射读取所述EEPROM芯片关联的寄存器,获得所述板卡的ID值。
进一步地,存储器130中的板卡识别程序被处理器执行时还实现以下步骤:
在接收到应用程序打开接口设备的指令时,确定所述接口设备的类型;
若所述接口设备的类型包含有多个同类型的接口板卡,则逐个获取每个接口设备的设备路径地址;
根据所述设备路径地址打开所述接口设备,触发启动板卡的启动指令。
进一步地,存储器130中的板卡识别程序被处理器执行时还实现以下步骤:
在接收到应用程序打开接口设备的指令时,调用SetupDiGetClassDevs函数,打开设备类,确定所述接口设备的类型;
调用SetupDiEnumDeviceInterfaces函数枚举所述设备类的所有接口设备;
若所述接口设备的类型包含有多个同类型的接口板卡,则调用SetupDiGetDeviceInterfaceDetail函数,逐个获取每个接口设备的详细信息;
从所述接口设备的详细信息获取所述接口设备的设备路径地址。
本实施例通过上述方案,对于计算机上安装有多个同类型的板卡的场景,通过为每个板卡配置ID值,响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别;若识别得到的当前板卡的ID值与预设ID值相同,则确定所述当前板卡为当前需要启动的板卡。相较于现有技术,通过操作系统提供的设备路径识别多个同类型卡中的某一个板卡,可能出现误操作,打开一个错误的物理位置的板卡,实际应用中需要使用者在安装的时候验证每个板卡的设备路径是否正确,过程麻烦,容易出错。本发明实施例方案,通过在板卡上配备一个EEPROM芯片,在板卡出厂时在其中存储一个板卡ID值,该ID值与所有同类型的其他板卡均不同,应用程序通过读取该板卡ID值,唯一的识别这些同类型板卡中某一个板卡,不会出现打开不正确物理位置板卡的问题。从而解决了当一个计算机内安装了多个同类型PCIE板卡时,如何简便并且可靠地识别多个同类型板卡中的某一个板卡的问题。
参照图2,图2为本发明实施例涉及的预先配置的EEPROM读写电路的结构示意图。
本发明实施例方案应用场景是当计算机系统存在多个相同类型的板卡时,识别这些相同类型板卡中的某一个板卡。
其中,板卡硬件部分有板载EEPROM芯片,并配置有专有的硬件电路可以读取存储在该EEPROM芯片中的板卡ID值。
该专有的硬件电路为EEPROM读写电路。
如图2所示,所述EEPROM读写电路可以包括:主控FPGA芯片,所述主控FPGA芯片通过I2C总线连接所述EEPROM芯片。
FPGA芯片内部逻辑产生I2C指令时序,读取EEPROM芯片的内容,获取其中存储的板卡ID值。
在计算机上应用程序启动板卡时,根据启动指令对所述多个同类型的板卡的ID值进行识别,其中,根据所述启动指令,调用所述EEPROM读写电路,在所述FPGA芯片内部逻辑生成I2C指令时序;基于所述I2C指令时序,通过PCI BAR空间映射读取所述EEPROM芯片关联的寄存器,获得所述板卡的ID值。
基于上述终端设备架构但不限于上述架构,提出本发明方法实施例。
参照图3,图3为本发明板卡识别方法一示例性实施例的流程示意图。
所述板卡识别方法应用于计算机,所述计算机上安装有多个同类型的板卡,本发明实施例方案适用PCIE板卡或PCI板卡。
如图3所示,本实施例提出一种板卡识别方法,所述板卡识别方法包括以下步骤:
步骤S101,响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别;
其中,应用程序启动板卡的启动指令可以在应用程序打开接口设备时触发。
在计算机上可以配置多种接口设备,每个接口设备可以配置独立的接口板卡(以下称板卡),该板卡可以是PCIE板卡或PCI板卡。
在本实施例中,同一类型的接口设备的板卡可以认为属于同一类型。
本发明实施例方案应用场景是当系统存在多个相同类型的板卡时,识别这些相同类型板卡中的某一个板卡。
应用程序在打开设备的时候,需要指定板卡ID值(即预设板卡ID值),表示需要打开板卡ID值等于该指定ID值的板卡。
在本实施例中,每个板卡配置有ID值,同时为每个所述板卡配置有EEPROM芯片,所述板卡的ID值存储在所述EEPROM芯片。
具体地,在设备出厂时会在EEPROM芯片中写入一个唯一的板卡ID值,确保每个板卡的ID值在这些相同类型的板卡中都不相同,在这些同类型的板卡中,每个板卡ID值唯一的对应一个物理板卡。
作为一种实施方式,在计算机应用程序启动某个ID值的板卡时,系统响应应用程序启动板卡的启动指令,根据所述启动指令,调用预先配置的EEPROM读写电路,读取存储在所述EEPROM芯片中的板卡ID值,识别得到所述板卡的ID值。
如图2所示,所述EEPROM读写电路可以包括:主控FPGA芯片,所述主控FPGA芯片通过I2C总线连接所述EEPROM芯片。
FPGA芯片内部逻辑产生I2C指令时序,读取EEPROM芯片的内容,获取其中存储的板卡ID值。
FPGA读取该ID值后,存储在FPGA内部的一个寄存器中,应用程序通过BAR寄存器映射的内存空间可以访问该寄存器,从而获取板卡ID值。
具体实现时,在计算机上应用程序启动板卡时,根据启动指令对所述多个同类型的板卡的ID值进行识别,其中,根据所述启动指令,调用所述EEPROM读写电路,在所述FPGA芯片内部逻辑生成I2C指令时序;基于所述I2C指令时序,通过PCI BAR空间映射读取所述EEPROM芯片关联的FPGA内部的寄存器,获得所述板卡的ID值。
步骤S102,若识别得到的当前板卡的ID值与预设ID值相同,则确定所述当前板卡为当前需要启动的板卡。
应用程序在打开接口设备的时候,需要指定该接口设备的板卡ID值,表示需要打开的接口设备的板卡ID值要等于该指定ID值的板卡。
如果应用程序读取的板卡ID值与指定ID值相同,那么该板卡就是需要打开的板卡,从而完成了查找和打开特定板卡的任务。
本实施例通过上述方案,对于计算机上安装有多个同类型的板卡的场景,通过为每个板卡配置ID值,响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别;若识别得到的当前板卡的ID值与预设ID值相同,则确定所述当前板卡为当前需要启动的板卡。相较于现有技术,通过操作系统提供的设备路径识别多个同类型卡中的某一个板卡,可能出现误操作,打开一个错误的物理位置的板卡,实际应用中需要使用者在安装的时候验证每个板卡的设备路径是否正确,过程麻烦,容易出错。本发明实施例方案,通过在板卡上配备一个EEPROM芯片,在板卡出厂时在其中存储一个板卡ID值,该ID值与所有同类型的其他板卡均不同,应用程序通过读取该板卡ID值,唯一的识别这些同类型板卡中某一个板卡,不会出现打开不正确物理位置板卡的问题。从而解决了当一个计算机内安装了多个同类型PCIE板卡时,如何简便并且可靠地识别多个同类型板卡中的某一个板卡的问题。
参照图4,图4为本发明板卡识别方法另一示例性实施例的流程示意图,基于上述图3所示的实施例,在本实施例中,在上述步骤S101,响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别的之前还包括:
步骤S1001,在接收到应用程序打开接口设备的指令时,确定所述接口设备的类型;
步骤S1002,若所述接口设备的类型包含有多个同类型的接口板卡,则逐个获取每个接口设备的设备路径地址;
步骤S1003,根据所述设备路径地址打开所述接口设备,触发启动板卡的启动指令。
相比上述图3所示的实施例,本实施例还包括触发启动板卡的方案。
具体地,在接收到应用程序打开接口设备的指令时,首先打开这个类型的设备类,该设备类含有多个同类型的接口板卡(即每个单独板卡),然后逐个获取每个接口设备的设备路径地址,根据设备路径地址打开接口设备,触发启动板卡的启动指令,进而读取该接口设备的板卡ID值。
如果读取的板卡ID值与指定ID值相同,那么该板卡就是需要打开的板卡,从而完成了查找和打开特定板卡的任务。
以下结合图5对本实施例实现板卡识别的方案进行详细阐述:
如图5所示,首先,在接收到应用程序打开接口设备的指令时,可以调用SetupDiGetClassDevs函数,打开设备类,确定所述接口设备的类型;
然后调用SetupDiEnumDeviceInterfaces函数枚举所述设备类的所有接口设备;
所述若所述接口设备的类型包含有多个同类型的接口板卡,则逐个获取每个接口设备的设备路径地址。
具体地,若所述接口设备的类型包含有多个同类型的接口板卡,则调用SetupDiGetDeviceInterfaceDetail函数,逐个获取每个接口设备的详细信息;从所述接口设备的详细信息获取所述接口设备的设备路径地址。
然后,根据设备路径地址打开接口设备,触发启动板卡的启动指令,进而读取该接口设备的板卡ID值。
其中,在读取该接口设备的板卡ID值时,会查询所有同类型的板卡,搜索与指定ID值相同ID值的板卡。当发现某个板卡的ID值与期望的ID值相同时,该板卡即为需要打开的板卡。
具体地,本实施例为每个板块配置有ID值,应用程序通过该ID值来识别多个相同类型的PCIE板卡中的某一个板卡。如果读取的板卡ID值与指定ID值相同,那么该板卡就是需要打开的板卡,从而完成了查找和打开特定板卡的任务。
如前所述,每个板卡配置有ID值,同时为每个所述板卡配置有EEPROM芯片,所述板卡的ID值存储在所述EEPROM芯片。
其中,在设备出厂时会在EEPROM芯片中写入一个唯一的板卡ID值,确保每个板卡的ID值在这些相同类型的板卡中都不相同,在这些同类型的板卡中,每个板卡ID值唯一的对应一个物理板卡。
在计算机应用程序启动某个ID值的板卡时,系统响应应用程序启动板卡的启动指令,根据所述启动指令,读取接口设备的板卡ID值,在读取接口设备的板卡ID值时,调用预先配置的EEPROM读写电路,读取存储在所述EEPROM芯片中的板卡ID值,识别得到所述板卡的ID值。
其中,在调用所述EEPROM读写电路,在所述FPGA芯片内部逻辑生成I2C指令时序,读取EEPROM芯片的内容,获取其中存储的板卡ID值。
FPGA读取该ID值后,将该ID值存储在FPGA主控芯片内部的一个寄存器中,应用程序通过BAR寄存器映射的内存空间可以访问该寄存器,从而获取板卡ID值。
相比现有技术,通过操作系统提供的设备路径识别多个同类型卡中的某一个板卡,可能出现误操作,打开一个错误的物理位置的板卡,实际应用中需要使用者在安装的时候验证每个板卡的设备路径是否是正确的,其过程较为麻烦,容易出错。本发明实施例方案通过对同类型板卡中每个板卡上存储在EEPROM的板卡ID来识别每个单独的板卡,只要板卡ID值在同类型板卡中是唯一的,就可以准确识别安装在计算机上同类型板卡中的某一个板卡,不会出现误操作,不会出现打开不正确物理位置板卡的问题,而且简单可靠。从而解决了计算机内多个相同PCIE板卡或PCI板卡识别困难且容易出错等问题。
此外,本发明实施例还提出一种计算机,包括多个同类型的板卡,所述板卡具有ID值,所述板卡配置有EEPROM芯片,所述板卡的ID值存储在所述EEPROM芯片。本实施例实现板卡识别的技术原理,请参照上述各实施例,在此不再赘述。
此外,本发明实施例还提出一种板卡识别装置,应用于计算机,所述计算机上安装有多个同类型的板卡,所述板卡识别装置包括:
识别模块,用于响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别;
确定模块,用于若识别得到的当前板卡的ID值与预设ID值相同,则确定所述当前板卡为当前需要启动的板卡。
本实施例实现板卡识别的技术原理,请参照上述各实施例,在此不再赘述。
此外,本发明实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述实施例所述的板卡识别方法。
由于本板卡识别程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例所述的板卡识别方法。
由于本板卡识别程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
相比现有技术,本发明实施例提出的板卡识别方法、计算机、装置、终端设备及存储介质,对于计算机上安装有多个同类型的板卡的场景,通过为每个板卡配置ID值,响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别;若识别得到的当前板卡的ID值与预设ID值相同,则确定所述当前板卡为当前需要启动的板卡。相较于现有技术,通过操作系统提供的设备路径识别多个同类型卡中的某一个板卡,可能出现误操作,打开一个错误的物理位置的板卡,实际应用中需要使用者在安装的时候验证每个板卡的设备路径是否正确,过程麻烦,容易出错。本发明实施例方案,通过在板卡上配备一个EEPROM芯片,在板卡出厂时在其中存储一个板卡ID值,该ID值与所有同类型的其他板卡均不同,应用程序通过读取该板卡ID值,唯一的识别这些同类型板卡中某一个板卡,不会出现打开不正确物理位置板卡的问题。从而解决了当一个计算机内安装了多个同类型PCIE板卡时,如何简便并且可靠地识别多个同类型板卡中的某一个板卡的问题。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本发明每个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种板卡识别方法,其特征在于,应用于计算机,所述计算机上安装有多个同类型的板卡,所述方法包括以下步骤:
响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别;
若识别得到的当前板卡的ID值与预设ID值相同,则确定所述当前板卡为当前需要启动的板卡。
2.根据权利要求1所述的方法,其特征在于,所述板卡配置有EEPROM芯片,所述板卡的ID值存储在所述EEPROM芯片。
3.根据权利要求2所述的方法,其特征在于,所述响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别的步骤包括:
响应应用程序启动板卡的启动指令,根据所述启动指令,调用预先配置的EEPROM读写电路,读取存储在所述EEPROM芯片中的板卡ID值,识别得到所述板卡的ID值。
4.根据权利要求3所述的方法,其特征在于,所述EEPROM读写电路包括:主控FPGA芯片,所述主控FPGA芯片通过I2C总线连接所述EEPROM芯片;所述根据所述启动指令,调用预先配置的EEPROM读写电路,读取存储在所述EEPROM芯片中的板卡ID值的步骤包括:
根据所述启动指令,调用所述EEPROM读写电路,在所述FPGA芯片内部逻辑生成I2C指令时序;
基于所述I2C指令时序,通过PCI BAR空间映射读取所述EEPROM芯片关联的寄存器,获得所述板卡的ID值。
5.根据权利要求3所述的方法,其特征在于,所述响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别的步骤之前还包括:
在接收到应用程序打开接口设备的指令时,确定所述接口设备的类型;
若所述接口设备的类型包含有多个同类型的接口板卡,则逐个获取每个接口设备的设备路径地址;
根据所述设备路径地址打开所述接口设备,触发启动板卡的启动指令。
6.根据权利要求5所述的方法,其特征在于,所述在接收到应用程序打开接口设备的指令时,确定所述接口设备的类型的步骤包括:
在接收到应用程序打开接口设备的指令时,调用SetupDiGetClassDevs函数,打开设备类,确定所述接口设备的类型;
调用SetupDiEnumDeviceInterfaces函数枚举所述设备类的所有接口设备;
所述若所述接口设备的类型包含有多个同类型的接口板卡,则逐个获取每个接口设备的设备路径地址的步骤包括:
若所述接口设备的类型包含有多个同类型的接口板卡,则调用SetupDiGetDeviceInterfaceDetail函数,逐个获取每个接口设备的详细信息;
从所述接口设备的详细信息获取所述接口设备的设备路径地址。
7.一种计算机,其特征在于,包括多个同类型的板卡,所述板卡具有ID值,所述板卡配置有EEPROM芯片,所述板卡的ID值存储在所述EEPROM芯片。
8.一种板卡识别装置,其特征在于,应用于计算机,所述计算机上安装有多个同类型的板卡,所述板卡识别装置包括:
识别模块,用于响应应用程序启动板卡的启动指令,根据所述启动指令对所述多个同类型的板卡的ID值进行识别;
确定模块,用于若识别得到的当前板卡的ID值与预设ID值相同,则确定所述当前板卡为当前需要启动的板卡。
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-6中任一项所述的板卡识别方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的板卡识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111018956.0A CN113806252A (zh) | 2021-08-31 | 2021-08-31 | 板卡识别方法、计算机、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111018956.0A CN113806252A (zh) | 2021-08-31 | 2021-08-31 | 板卡识别方法、计算机、装置、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113806252A true CN113806252A (zh) | 2021-12-17 |
Family
ID=78894551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111018956.0A Pending CN113806252A (zh) | 2021-08-31 | 2021-08-31 | 板卡识别方法、计算机、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806252A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114880269A (zh) * | 2022-05-26 | 2022-08-09 | 无锡华普微电子有限公司 | 板卡id配置与识别方法、微控制器及控制系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074495A1 (en) * | 2001-10-16 | 2003-04-17 | Samsung Electronics Co., Ltd. | Semiconductor device and method for initializing interface card using serial EEPROM |
KR20050068523A (ko) * | 2003-12-30 | 2005-07-05 | 엘지전자 주식회사 | 이동 통신에 있어서 이피롬을 이용한 부트 정보 자동 갱신방법 |
CN104166686A (zh) * | 2014-07-28 | 2014-11-26 | 北京中科启信软件技术有限公司 | 基于pci或pcie板卡的数据库系统、主机及使用方法 |
CN109214187A (zh) * | 2017-06-29 | 2019-01-15 | 龙芯中科技术有限公司 | 一种控制计算机启动的方法、装置和电子设备 |
CN109240967A (zh) * | 2018-09-19 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种参数配置的方法和控制器 |
CN109542804A (zh) * | 2018-11-21 | 2019-03-29 | 国网福建省电力有限公司 | 一种基于pci总线的二次设备硬件板卡自动识别方法 |
CN109634678A (zh) * | 2019-01-07 | 2019-04-16 | 烽火通信科技股份有限公司 | 一种灵活支持多种板卡的方法及系统 |
CN111221581A (zh) * | 2019-12-27 | 2020-06-02 | 苏州浪潮智能科技有限公司 | 一种网卡的启动方法、设备以及存储介质 |
CN111258667A (zh) * | 2020-02-05 | 2020-06-09 | 苏州浪潮智能科技有限公司 | 一种服务器的自适应配置方法、装置、设备及存储介质 |
CN112099597A (zh) * | 2020-08-31 | 2020-12-18 | 新华三信息技术有限公司 | 一种板卡适配方法、装置、设备及机器可读存储介质 |
CN112882833A (zh) * | 2021-02-09 | 2021-06-01 | 广州思林杰科技股份有限公司 | 一种数据采集方法、装置、计算机设备及存储介质 |
-
2021
- 2021-08-31 CN CN202111018956.0A patent/CN113806252A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074495A1 (en) * | 2001-10-16 | 2003-04-17 | Samsung Electronics Co., Ltd. | Semiconductor device and method for initializing interface card using serial EEPROM |
KR20050068523A (ko) * | 2003-12-30 | 2005-07-05 | 엘지전자 주식회사 | 이동 통신에 있어서 이피롬을 이용한 부트 정보 자동 갱신방법 |
CN104166686A (zh) * | 2014-07-28 | 2014-11-26 | 北京中科启信软件技术有限公司 | 基于pci或pcie板卡的数据库系统、主机及使用方法 |
CN109214187A (zh) * | 2017-06-29 | 2019-01-15 | 龙芯中科技术有限公司 | 一种控制计算机启动的方法、装置和电子设备 |
CN109240967A (zh) * | 2018-09-19 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种参数配置的方法和控制器 |
CN109542804A (zh) * | 2018-11-21 | 2019-03-29 | 国网福建省电力有限公司 | 一种基于pci总线的二次设备硬件板卡自动识别方法 |
CN109634678A (zh) * | 2019-01-07 | 2019-04-16 | 烽火通信科技股份有限公司 | 一种灵活支持多种板卡的方法及系统 |
CN111221581A (zh) * | 2019-12-27 | 2020-06-02 | 苏州浪潮智能科技有限公司 | 一种网卡的启动方法、设备以及存储介质 |
CN111258667A (zh) * | 2020-02-05 | 2020-06-09 | 苏州浪潮智能科技有限公司 | 一种服务器的自适应配置方法、装置、设备及存储介质 |
CN112099597A (zh) * | 2020-08-31 | 2020-12-18 | 新华三信息技术有限公司 | 一种板卡适配方法、装置、设备及机器可读存储介质 |
CN112882833A (zh) * | 2021-02-09 | 2021-06-01 | 广州思林杰科技股份有限公司 | 一种数据采集方法、装置、计算机设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
李朝青: "PC机与单片机&DSP数据通信技术选编3", 31 March 2004, 北京航空航天大学出版社, pages: 511 - 512 * |
细粉条: "驱动开发之 应用程序通过设备接口打开设备", pages 1 - 2, Retrieved from the Internet <URL:https://blog.csdn.net/liyun123gx/article/details/36656041> * |
阿东: "手把手教你学FPGA", 31 March 2017, 北京航空航天大学出版社, pages: 107 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114880269A (zh) * | 2022-05-26 | 2022-08-09 | 无锡华普微电子有限公司 | 板卡id配置与识别方法、微控制器及控制系统 |
CN114880269B (zh) * | 2022-05-26 | 2024-02-02 | 无锡华普微电子有限公司 | 板卡id配置与识别方法、微控制器及控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105718281B (zh) | 一种触摸屏固件升级方法及装置 | |
CN103593281B (zh) | 测试系统及测试方法 | |
CN107526593B (zh) | 基于动态链接库的bmc功能定制方法 | |
US20080133860A1 (en) | Memory card and initialization setting method thereof | |
CN114003538B (zh) | 一种智能网卡的识别方法及智能网卡 | |
CN109828774B (zh) | 一种服务器系统及其启动方法 | |
SG173004A1 (en) | Portable mobile communication device and method of controlling near field communication | |
CN115762625A (zh) | 验证eMMC功能的方法、系统、电子设备及存储介质 | |
CN113806252A (zh) | 板卡识别方法、计算机、装置、终端设备及存储介质 | |
CN107423075A (zh) | 驱动的注册方法以及用户终端 | |
CN104516743A (zh) | 基于ActiveX的嵌入式设备固件的升级方法及系统 | |
CN111857785A (zh) | 一种mcu的启动方法、装置及终端设备 | |
CN116225317A (zh) | 用户识别卡的数据读写方法、装置、用户识别卡及介质 | |
CN112632032B (zh) | 一种数据迁移方法、装置、存储介质及终端设备 | |
CN105100901A (zh) | 一种虚拟存储卡配置方法及系统 | |
CN100371917C (zh) | 内建于硬件装置的驱动程序的安装方法 | |
WO2021051614A1 (zh) | 访问数据库的方法、装置、设备及计算机可读存储介质 | |
CN111158733A (zh) | 一种bmc升级方法、装置、设备及计算机可读存储介质 | |
US20080091399A1 (en) | Driverless signal generating apparatus and control method thereof | |
CN103226479A (zh) | 电子设备系统以及电子设备 | |
CN115220978B (zh) | 包括在线调试模式的芯片启动方法和装置、芯片和设备 | |
JP2005537575A (ja) | プログラム可能なシステムの初期化方法 | |
CN112269564B (zh) | 一种otp rom编程方法和系统 | |
CN204009871U (zh) | 一种全局平台访问控制测试装置 | |
CN112486578B (zh) | 一种bmc动态加载传感器的方法、系统、终端及存储介质 |
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 |