一种I/O设备状态信息的获取方法及系统技术方案

技术编号:20545740 阅读:24 留言:0更新日期:2019-03-09 18:40
本申请提供一种I/O设备状态信息的获取方法及系统,所述方法包括:现场可编程门阵列FPGA访问与自身进行连接的I/O设备中的状态寄存器,以获取I/O设备的状态信息;将所获取的I/O设备的状态信息存储至与I/O设备对应的状态信息存储空间;CPU按照预设的规则访问现场可编程门阵列FPGA中的状态信息存储空间,以获取状态信息存储空间中存储的I/O设备的状态信息。

A Method and System for Obtaining I/O Equipment Status Information

The application provides a method and system for acquiring I/O device status information. The method includes: field programmable gate array (FPA) accessing the status register in the I/O device connected with itself to obtain the status information of the I/O device; storing the acquired status information of the I/O device into the corresponding status information storage space of the I/O device; and CPU accessing the field according to the preset rules. The state information storage space in programmable gate array (PGA) FPGA is used to obtain the state information of I/O devices stored in the state information storage space.

【技术实现步骤摘要】
一种I/O设备状态信息的获取方法及系统
本申请涉及通信
,尤其涉及一种I/O设备状态信息的获取方法及系统。
技术介绍
为了实现显示、通信和数据采集等不同的特定功能,CPU通常需要连接多个I/O(Input/Output)设备。在系统工作过程中,CPU需要获取I/O设备的状态信息。一般地I/O设备内部具有状态寄存器,每当I/O设备工作状态发生改变时,I/O设备将修改相应状态寄存器中存储的状态信息。目前CPU通常采用轮询的方式获取I/O设备的状态信息,即CPU每隔一段时间,访问I/O设备内部的状态寄存器,获取I/O设备的状态信息。由于CPU通常连接多个I/O设备,因此CPU需要通过轮询的方式依次获取每个I/O设备的状态信息,获取这些I/O设备的状态信息需要占用大量的CPU资源,增加CPU负荷。
技术实现思路
有鉴于此,本申请提供一种I/O设备状态信息的获取方法及系统。具体地,本申请是通过如下技术方案实现的:一种I/O设备状态信息的获取方法,其特征在于,应用于I/O设备状态信息的获取系统,所述系统包括CPU、现场可编程门阵列FPGA以及至少一个I/O设备,所述CPU与现场可编程门阵列FPGA通过PCIe总线进行连接,所述现场可编程门阵列FPGA与I/O设备进行连接,在现场可编程门阵列FPGA中为每个I/O设备预先分配独立的状态信息存储空间,所述方法包括:现场可编程门阵列FPGA访问与自身进行连接的I/O设备中的状态寄存器,以获取I/O设备的状态信息;将所获取的I/O设备的状态信息存储至与I/O设备对应的状态信息存储空间;CPU按照预设的规则访问现场可编程门阵列FPGA中的状态信息存储空间,以获取状态信息存储空间中存储的I/O设备的状态信息。一种I/O设备状态信息的获取系统,其特征在于,所述系统包括:CPU、现场可编程门阵列FPGA以及至少一个I/O设备,所述CPU与现场可编程门阵列FPGA通过PCIe总线进行连接,所述现场可编程门阵列FPGA与I/O设备进行连接,在现场可编程门阵列FPGA中为每个I/O设备预先分配独立的状态信息存储空间;现场可编程门阵列FPGA访问与自身进行连接的I/O设备中的状态寄存器,以获取I/O设备的状态信息;将所获取的I/O设备的状态信息存储至与I/O设备对应的状态信息存储空间;CPU按照预设的规则访问现场可编程门阵列FPGA中的状态信息存储空间,以获取状态信息存储空间中存储的I/O设备的状态信息。本申请通过现场可编程门阵列FPGA访问与自身进行连接的I/O设备中的状态寄存器,以获取I/O设备的状态信息,将所获取的I/O设备的状态信息存储至与I/O设备对应的状态信息存储空间,CPU可以按照预设的规则访问现场可编程门阵列FPGA中的状态信息存储空间,以获取状态信息存储空间中存储的I/O设备的状态信息,如此一来,CPU与现场可编程门阵列FPGA通过PCIe总线进行连接,通过现场可编程门阵列FPGA间接获取I/O设备的状态信息,获取I/O设备的状态信息并不需要占用大量的CPU资源,可有效降低CPU负荷。附图说明图1是本申请一示例性实施例示出的一种应用场景示意图;图2是本申请一示例性实施例示出的一种I/O设备状态信息的获取方法的交互流程图;图3是本申请一示例性实施例示出的一种I/O设备状态信息的获取系统的硬件结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。首先对本申请实施例提供的一种I/O设备状态信息的获取方法进行说明,该方法可以包括以下步骤:现场可编程门阵列FPGA访问与自身进行连接的I/O设备中的状态寄存器,以获取I/O设备的状态信息;将所获取的I/O设备的状态信息存储至与I/O设备对应的状态信息存储空间;CPU按照预设的规则访问现场可编程门阵列FPGA中的状态信息存储空间,以获取状态信息存储空间中存储的I/O设备的状态信息。如图1所示的一种应用场景图,CPU与现场可编程门阵列FPGA通过PCIe总线进行连接,现场可编程门阵列FPGA与多个I/O设备进行连接,在现场可编程门阵列FPGA中预先为每个I/O设备分配独立的状态信息存储空间,其中状态信息存储空间为现场可编程门阵列FPGA基地址寄存器对应的存储空间,简称BAR(BaseAddressRegisters)空间,每个状态信息存储空间的容量可以根据实际需求进行确定。CPU与现场可编程门阵列FPGA通过PCIe总线进行连接,通过现场可编程门阵列FPGA间接获取I/O设备的状态信息,获取I/O设备的状态信息并不需要占用大量的CPU资源,可有效降低CPU负荷。如图2所示,为本申请实施例提供的一种I/O设备状态信息的获取方法的交互流程图,该方法具体可以包括以下步骤:S201,现场可编程门阵列FPGA访问与自身进行连接的I/O设备中的状态寄存器,以获取I/O设备的状态信息;参照图3所示,为本申请一示例性实施例示出的一种I/O设备状态信息的获取系统的硬件结构示意图,在本申请中,根据各I/O设备的优先级,通过编程实现对应的访问模块,如优先级低的I/O设备,使用轮询方式进行访问,对于优先级较高的I/O设备,使用中断或中断与轮询配合的方式进行访问,通过编程实现指令处理模块,处理CPU的信息读取指令和访问模块的中断信号,并负责读取状态存储空间中存储的I/O设备的状态信息。需要说明的是,访问模块与I/O设备之间,可以是一对一进行访问,即每个访问模块对应一个I/O设备,也可以是一对多进行访问,即每个访问模块对应至少一个I/O设备。现场可编程门阵列FPGA访问与自身进行连接的I/O设备中的状态寄存器,以获取I/O设备的状态信息,具体实现可以是:现场可编程门阵列FPGA中预先配置的访问模块按照预设的访问规则访问与自身进行连接的I/O设备中的状态寄存器,以获取I/O设备的状态信息。例如访问模块1对应I/O设备1,访问模块2对应I/O设备2,访问模块3对应I/O设备3,现场可编程门阵列FPGA中预先配置的每个访问模块可以访问各自对应的I/O设备中的状态寄存器,以获取每个I/O设备的状态信息,又例如访问模块1对应I/O设备1、I/O设备2、I/O设备3,现场可编程门阵列FPGA中本文档来自技高网...

【技术保护点】
1.一种I/O设备状态信息的获取方法,其特征在于,应用于I/O设备状态信息的获取系统,所述系统包括CPU、现场可编程门阵列FPGA以及至少一个I/O设备,所述CPU与现场可编程门阵列FPGA通过PCIe总线进行连接,所述现场可编程门阵列FPGA与I/O设备进行连接,在现场可编程门阵列FPGA中为每个I/O设备预先分配独立的状态信息存储空间,所述方法包括:现场可编程门阵列FPGA访问与自身进行连接的I/O设备中的状态寄存器,以获取I/O设备的状态信息;将所获取的I/O设备的状态信息存储至与I/O设备对应的状态信息存储空间;CPU按照预设的规则访问现场可编程门阵列FPGA中的状态信息存储空间,以获取状态信息存储空间中存储的I/O设备的状态信息。

【技术特征摘要】
1.一种I/O设备状态信息的获取方法,其特征在于,应用于I/O设备状态信息的获取系统,所述系统包括CPU、现场可编程门阵列FPGA以及至少一个I/O设备,所述CPU与现场可编程门阵列FPGA通过PCIe总线进行连接,所述现场可编程门阵列FPGA与I/O设备进行连接,在现场可编程门阵列FPGA中为每个I/O设备预先分配独立的状态信息存储空间,所述方法包括:现场可编程门阵列FPGA访问与自身进行连接的I/O设备中的状态寄存器,以获取I/O设备的状态信息;将所获取的I/O设备的状态信息存储至与I/O设备对应的状态信息存储空间;CPU按照预设的规则访问现场可编程门阵列FPGA中的状态信息存储空间,以获取状态信息存储空间中存储的I/O设备的状态信息。2.根据权利要求1所述的方法,其特征在于,所述现场可编程门阵列FPGA访问与自身进行连接的I/O设备中的状态寄存器,以获取I/O设备的状态信息,包括:现场可编程门阵列FPGA按照预设的访问规则访问与自身进行连接的I/O设备中的状态寄存器,以获取I/O设备的状态信息。3.根据权利要求1所述的方法,其特征在于,所述CPU按照预设的规则访问现场可编程门阵列FPGA中的状态信息存储空间,以获取状态信息存储空间中存储的I/O设备的状态信息,包括:CPU按照预设的周期通过PCIe总线向现场可编程门阵列FPGA发送信息读取指令;现场可编程门阵列FPGA接收到所述信息读取指令之后,对所述信息读取指令进行解析以获取所述信息读取指令中携带的状态存储空间地址;从所述状态存储空间地址对应的状态存储空间中读取I/O设备的状态信息,将读取的I/O设备的状态信息进行封装并返回给CPU;CPU接收现场可编程门阵列FPGA返回的I/O设备的状态信息,以获取状态信息存储空间中存储的I/O设备的状态信息。4.根据权利要求1所述的方法,其特征在于,所述CPU按照预设的规则访问现场可编程门阵列FPGA中的状态信息存储空间,以获取状态信息存储空间中存储的I/O设备的状态信息,包括:现场可编程门阵列FPGA将PCIe中断信号发送给CPU,所述PCIe中断信号中携带I/O设备的标识;CPU接收到所述PCIe中断信号,提取所述PCIe中断信号中携带的I/O设备的标识;根据所述I/O设备的标识向现场可编程门阵列FPGA发送信息读取指令;现场可编程门阵列FPGA接收到所述信息读取指令之后,对所述信息读取指令进行解析以获取所述信息读取指令中携带的状态存储空间地址,所述状态存储空间地址是为所述I/O设备预先分配的状态信息存储空间所对应的状态存储空间地址;从所述状态存储空间地址对应的状态存储空间中读取I/O设备的状态信息,将读取的I/O设备的状态信息进行封装并返回给CPU;CPU接收现场可编程门阵列FPGA返回的I/O设备的状态信息,以获取状态信息存储空间中存储的I/O设备的状态信息。5.根据权利要求1至4任一项...

【专利技术属性】
技术研发人员:刘彦静唐世光张代生
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1