一种数据访问控制方法、可编程逻辑器件及电子设备

文档序号:567664 发布日期:2021-05-18 浏览:2次 >En<

阅读说明:本技术 一种数据访问控制方法、可编程逻辑器件及电子设备 (Data access control method, programmable logic device and electronic equipment ) 是由 赵魁 于 2021-01-29 设计创作,主要内容包括:本申请公开了一种数据访问控制方法、可编程逻辑器件及电子设备。该方法应用于可编程逻辑器件,所述可编程逻辑器件外接有多个存储设备,所述方法包括:时分复用多通道控制模块按标识顺序依次传输当前待访问存储设备的设备标识至I2C仲裁模块,所述当前待访问存储设备为所述多个存储设备之一;I2C仲裁模块根据所述设备标识控制接通I2C控制模块与所述当前待访问存储设备之间的I2C数据通道;所述时分复用多通道控制模块控制所述当前待访问存储设备与所述可编程逻辑器件中随机存取存储单元利用所述I2C数据通道进行数据访问。(The application discloses a data access control method, a programmable logic device and electronic equipment. The method is applied to a programmable logic device, wherein a plurality of storage devices are externally connected to the programmable logic device, and the method comprises the following steps: the time division multiplexing multi-channel control module sequentially transmits the device identification of the current storage device to be accessed to the I2C arbitration module according to the identification sequence, wherein the current storage device to be accessed is one of the plurality of storage devices; the I2C arbitration module is controlled to switch on an I2C data channel between the I2C control module and the current storage device to be accessed according to the device identification; and the time division multiplexing multi-channel control module controls the current storage equipment to be accessed and a random access storage unit in the programmable logic device to access data by using the I2C data channel.)

一种数据访问控制方法、可编程逻辑器件及电子设备

技术领域

本申请涉及数据处理技术领域,尤其涉及一种数据访问控制方法、可编程逻辑器件及电子设备。

背景技术

现有设计体系中,主板上的可编程逻辑器件(Field Programmable Gate Array,FPGA)与背板上的每个存储设备连接时,均需要通过一个I2C控制器与其通信。当系统支持多个存储设备时,则需要多个I2C控制器,消耗的FPGA逻辑资源也随之增加,从而必须要选择资源更丰富、价格更高的FPGA型号,导致设计成本增加。

发明内容

本申请公开一种数据访问控制方法、可编程逻辑器件及电子设备。

根据本申请第一方面,提供了一种数据访问控制方法,该方法应用于可编程逻辑器件,所述可编程逻辑器件外接有多个存储设备,所述方法包括:时分复用多通道控制模块按标识顺序依次传输当前待访问存储设备的设备标识至I2C仲裁模块,所述当前待访问存储设备为所述多个存储设备之一;I2C仲裁模块根据所述设备标识控制接通I2C控制模块与所述当前待访问存储设备之间的I2C数据通道;所述时分复用多通道控制模块控制所述当前待访问存储设备与所述可编程逻辑器件中随机存取存储单元利用所述I2C数据通道进行数据访问。

根据本申请一实施方式,所述方法还包括:所述时分复用多通道控制模块接收针对第一存储设备的中断请求,所述第一存储设备为所述多个存储设备之一;响应于所述中断请求,在控制完成当前待访问存储设备与所述可编程逻辑器件中随机存取存储单元利用所述I2C数据通道进行数据访问之后,直接传输所述第一存储设备的设备标识至I2C仲裁模块。

根据本申请一实施方式,所述I2C仲裁模块根据所述设备标识控制接通I2C控制模块与所述当前待访问存储设备之间的I2C数据通道,包括:所述I2C仲裁模块基于所述设备标识,将I2C控制模块产生的双线I2C信号分配到当前待访问存储设备的数据链路上。

根据本申请一实施方式,所述当前待访问存储设备与所述可编程逻辑器件中的随机存储单元利用所接通的I2C数据通道进行数据访问,包括:利用所述I2C数据通道,所述当前待访问存储设备将自身的控制信息或状态信息存入所述可编程逻辑器件中的随机存取存储单元。

根据本申请一实施方式,所述当前待访问存储设备与所述可编程逻辑器件中的随机存储单元利用所接通的I2C数据通道进行数据访问,包括:利用所述I2C数据通道,所述当前待访问存储设备从所述可编程逻辑器件中的随机存取存储单元中获取控制信息。

根据本申请第二方面,还提供了一种可编程逻辑器件,所述可编程逻辑器件外接有多个存储设备,所述可编程逻辑器件包括:时分复用多通道控制模块,用于按标识顺序依次传输当前待访问存储设备的设备标识至I2C仲裁模块,所述当前待访问存储设备为所述多个存储设备之一;所述I2C仲裁模块,用于根据所述设备标识控制接通I2C控制模块与所述当前待访问存储设备之间的I2C数据通道;所述时分复用多通道控制模块,还用于控制所述当前待访问存储设备与所述可编程逻辑器件中随机存取存储单元利用所述I2C数据通道进行数据访问。

根据本申请一实施方式,所述时分复用多通道控制模块,还用于接收针对第一存储设备的中断请求,所述第一存储设备为所述多个存储设备之一;响应于所述中断请求,在控制完成当前待访问存储设备与所述可编程逻辑器件中随机存取存储单元利用所述I2C数据通道进行数据访问之后,直接传输所述第一存储设备的设备标识至I2C仲裁模块。

根据本申请一实施方式,所述I2C仲裁模块,具体用于基于所述设备标识,将I2C控制模块产生的双线I2C信号分配到当前待访问存储设备的数据链路上。

根据本申请一实施方式,所述时分复用多通道控制模块,具体用于利用所述I2C数据通道,控制所述当前待访问存储设备将自身的控制信息或状态信息存入所述可编程逻辑器件中的随机存取存储单元。

根据本申请一实施方式,所述时分复用多通道控制模块,具体用于利用所述I2C数据通道,控制所述当前待访问存储设备从所述可编程逻辑器件中的随机存取存储单元中获取控制信息。

根据本申请第三方面,又提供了一种电子设备,所述电子设备包括主板和背板,所述主板上的可编程逻辑器件与背板上的多个存储设备相连接;其中,所述可编程逻辑器件为上述任一可编程逻辑器件。

本申请实施例数据访问控制方法、可编程逻辑器件及电子设备,在时分复用方案中,时分复用多通道控制模块和I2C控制模块均为单一数量模块,其逻辑应用于所有外接存储设备;而且,通过新加入的I2C仲裁模块基于存储设备的设备标识,将统一的I2C总线数据分配到对应存储设备的I2C总线上,以接通I2C控制模块与对应设备标识的存储设备之间的I2C数据通道。如此,本申请时分复用方案实现了多通道控制模块和I2C控制模块的统一整合,使得在通道数大量增加时,所消耗的逻辑资源仅小幅度增加,从而较大程度上减少资源消耗;在进行可编程逻辑器件选型时即可选用逻辑数据更少、价格更低的FPGA芯片,从而有效降低涉及成本。

需要理解的是,本申请的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本申请的其他实施方式还能够实现上面未提到的有益效果。

附图说明

通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,其中:

在附图中,相同或对应的标号表示相同或对应的部分。

图1示出了相关技术时分复用设计方案A的模块控制示意图;

图2示出了相关技术时分复用设计方案B的模块控制示意图;

图3示出了本申请时分复用设计方案的模块控示意图;

图4示出了本申请一实施例数据访问控制方法的实现流程示意图;

图5示出了本申请另一实施例数据访问控制方法的实现流程示意图;

图6示出了本申请一实施例可编程逻辑器件的组成结构示意图;

图7示出了本申请一实施例电子设备的组成结构示意图。

具体实施方式

下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为使本申请更加透彻和完整,并能够将本申请的范围完整地传达给本领域的技术人员。

下面结合附图和具体实施例对本申请的技术方案进一步详细阐述。

图1示出了相关技术时分复用设计方案A的模块控制示意图;图2示出了相关技术时分复用设计方案B的模块控制示意图;图3示出了本申请时分复用设计方案的模块控示意图。

现有时分复用设计体系中,主板上的FPGA与背板上的每个外接存储涉及(如NVME子设备)连接时,均需要通过一个I2C控制器与其通信。当系统支持多个NVME子设备时,则需要多个I2C控制器,消耗的FPGA逻辑资源也随之增加,从而必须要选择资源更丰富、价格更高的FPGA型号,导致设计成本增加。

参考图1,传统的时分复用设计方案A为每个NVME子设备均配备独立的控制模块与I2C控制器。该设计理念简单直接,各子设备间相互独立、无耦合性。但随着通道数量增加,所消耗的FPGA资源呈线性增加。

进一步地,参考图2,改善方案B则将各通道的控制模块进行了整合,以减少资源消耗。但每个子设备仍需要独立的I2C控制器,随着通道数量的增加,所消耗的FPGA资源也基本呈线性增加。

本申请正是为了解决相关技术时分复用设计方案存在的上述问题,创造性地采用了一种新的时分复用设计方案。参考图3,本申请时分复用设计方案中,时分复用多通道控制模块和I2C控制模块(即I2C控制器)均为单一数量模块,其逻辑应用于所有外接存储设备,如NVME子设备(1),NVME子设备(2),…,NVME子设备(n),其中n的取值为大于等于2的正整数;而且,通过新加入的I2C仲裁模块(即I2C仲裁器)基于NVME子设备的设备标识(ID),将统一的I2C总线数据分配到对应存储设备的I2C总线上,以接通I2C控制模块与对应设备标识的NVME子设备之间的I2C数据通道;进一步地,时分复用多通道控制模块即可控制NVME子设备与FPGA中随机存取存储单元利用所建立的I2C数据通道进行数据访问。

图4示出了本申请一实施例数据访问控制方法的实现流程示意图。

根据图3所示的时分复用设计方案,本申请一实施例提供了一种数据访问控制方法,如图4所示,该方法应用于FPGA,所述FPGA外接有多个存储设备,所述方法包括:操作401,时分复用多通道控制模块按标识顺序依次传输当前待访问存储设备的设备标识至I2C仲裁模块,所述当前待访问存储设备为所述多个存储设备之一;操作402,I2C仲裁模块根据所述设备标识控制接通I2C控制模块与所述当前待访问存储设备之间的I2C数据通道;操作403,所述。

在操作401,时分复用多通道控制模块预先对外接的存储设备按照设备标识(ID)进行排序;之后,即可按照标识顺序,将当前待访问存储设备的设备ID传输至I2C仲裁模块,以触发I2C仲裁模块建立当前待访问存储设备和I2C控制模块之间的I2C数据通道。

在操作402,I2C仲裁模块根据时分复用多通道控制模块所传输下来的设备ID,将I2C控制模块产生的双线I2C信号准确地分配到当前待访问存储设备的数据链路上。在实际分配时,I2C仲裁模块需要对I2C控制模块产生的双向数据线SDA和控制线SCL进行合理的三态控制。

在操作403,在完成当前待访问存储设备和I2C控制模块之间的I2C数据通道的建立后,时分复用多通道控制模块利用所述I2C数据通道即可控制当前待访问存储设备与FPGA中随机存取存储单元进行数据访问。

在本申请这一实施例中,时分复用多通道控制模块利用所述I2C数据通道即可控制当前待访问存储设备与FPGA中随机存取存储单元进行数据访问,包括:将当前待访问存储设备自身的控制信息或从该存储设备获取的状态信息存入随机存取存储单元;

在本申请这一实施例中,时分复用多通道控制模块利用所述I2C数据通道即可控制当前待访问存储设备与FPGA中随机存取存储单元进行数据访问,还包括:当前待访问存储设备从随机存取存储单元中获取与自身相关的控制信息。

在一应用示例中,参考图3所示的时分复用设计方案,时分复用多通道控制模块为整个时分复用体系的控制核心,其需支持所有NVME子设备的逻辑控制。在实际设计中,该时分复用多通道控制模块最大可支持32个NVME子设备。

对于每一个NVME子设备,均需访问一定数量的寄存器(通常情况下为1-8个寄存器)。随着NVME子设备数量的增加,消耗的逻辑单元数量也会按线性增加。为达到节省逻辑资源的目的,该模块进一步采用了“以RAM替代逻辑单元”的处理结构。

FPGA芯片提供一定数量的RAM(随机存取存储单元)资源,以MAX10系列的10M25芯片为例,其提供75个M9K(9bit x 1024)RAM资源。因此,如果每个NVME子设备需要访问8个字节的寄存器,则32个子设备共需要256个字节的存储单元,使用1个M9K即可实现该需求。通过将对NVME子设备的控制信息、从NVME子设备获取的状态信息等均存入RAM资源,仅配合少量的逻辑处理单元,就可以实现对所有寄存器的访问。

通过图4所示的操作401~403,时分复用多通道控制模块按各个NVME子设备ID,顺序从RAM中获取、或存入相关信息,在处理完一个NVME子设备、产生相应的命令字后,再进行下一个NVME子设备的处理。所有32个子设备处理完成后,再进行到下一个周期。周期时长取决于所需处理的NVME子设备数量以及每个NVME子设备所需访问的寄存器数量。在实际设计中,处理28个NVME子设备、每个NVME子设备平均访问8个寄存器、I2C线路速率设置为100KHz时,一个周期的时长约为34ms。该时长可满足系统的实时性需求。

如此,本申请时分复用方案实现了多通道控制模块和I2C控制模块的统一整合,使得在通道数大量增加时,所消耗的逻辑资源仅小幅度增加,从而较大程度上减少资源消耗;在进行可编程逻辑器件选型时即可选用逻辑数据更少、价格更低的FPGA芯片,从而有效降低涉及成本。

图5示出了本申请另一实施例数据访问控制方法的实现流程示意图。

根据图3所示的时分复用设计方案,本申请另一实施例还提供了一种数据访问控制方法,如图5所示,该方法应用于FPGA,所述FPGA外接有多个存储设备,所述方法包括:操作501,时分复用多通道控制模块按标识顺序依次传输当前待访问存储设备的设备标识至I2C仲裁模块,所述当前待访问存储设备为所述多个存储设备之一;操作502,I2C仲裁模块根据所述设备标识控制接通I2C控制模块与所述当前待访问存储设备之间的I2C数据通道;操作503,时分复用多通道控制模块控制所述当前待访问存储设备与FPGA中随机存取存储单元利用所述I2C数据通道进行数据访问;操作504,时分复用多通道控制模块接收针对第一存储设备的中断请求;响应于中断请求,在控制完成当前待访问存储设备与FPGA中随机存取存储单元利用所述I2C数据通道进行数据访问之后,直接传输第一存储设备的设备标识至I2C仲裁模块。

在操作501,时分复用多通道控制模块预先对外接的存储设备按照设备标识(ID)进行排序;之后,即可按照标识顺序,将当前待访问存储设备的设备ID传输至I2C仲裁模块,以触发I2C仲裁模块建立当前待访问存储设备和I2C控制模块之间的I2C数据通道。

在操作502,I2C仲裁模块根据时分复用多通道控制模块所传输下来的设备ID,将I2C控制模块产生的双线I2C信号准确地分配到当前待访问存储设备的数据链路上。在实际分配时,I2C仲裁模块需要对I2C控制模块产生的双向数据线SDA和控制线SCL进行合理的三态控制。

在操作503,在完成当前待访问存储设备和I2C控制模块之间的I2C数据通道的建立后,时分复用多通道控制模块利用所述I2C数据通道即可控制当前待访问存储设备与FPGA中随机存取存储单元进行数据访问,如将当前待访问存储设备自身的控制信息或从该存储设备获取的状态信息存入随机存取存储单元;或当前待访问存储设备从随机存取存储单元中获取与自身相关的控制信息。

需要特别说明的是,对于特定环境下的高实时性需求,本申请实施例时分复用多通道控制模块还同时还引入了中断请求机制。即如果某存储设备申请了该中断请求,时分复用多通道控制模块会在对当前存储设备处理完成后,立即响应该中断请求对应存储设备。

在操作504,当第一存储设备需要立即实行数据访问时,但其并非当前待访问存储设备时,则需要启用中断请求机制。具体地,时分复用多通道控制模块接收针对第一存储设备的中断请求,第一存储设备为所述多个存储设备之一;响应于中断请求,在控制完成当前待访问存储设备与FPGA中随机存取存储单元利用所述I2C数据通道进行数据访问之后,直接传输第一存储设备的设备标识至I2C仲裁模块,以实现第一存储设备与I2C控制模块之间的I2C数据通道的建立,并利用所建立的I2C数据通道实现第一存储设备与FPGA中随机存取存储单元之间的数据访问。在实际应用中,采用这一中断请求机制,其最大响应延时仅为1.72ms,完全满足特定环境下的高实时性需求。

进一步地,基于如上文所述数据访问控制方法,本申请一实施例还提供了一种可编程逻辑器件,如图6所示,该可编程逻辑器件60外接有多个存储设备61,所述可编程逻辑器件60包括:时分复用多通道控制模块601,用于按标识顺序依次传输当前待访问存储设备的设备标识至I2C仲裁模块602,所述当前待访问存储设备为所述多个存储设备之一;所述I2C仲裁模块602,用于根据所述设备标识控制接通I2C控制模块603与所述当前待访问存储设备之间的I2C数据通道;所述时分复用多通道控制模块601,还用于控制所述当前待访问存储设备与所述可编程逻辑器件60中随机存取存储单元利用所述I2C数据通道进行数据访问。

根据本申请一实施方式,时分复用多通道控制模块601,还用于接收针对第一存储设备的中断请求,所述第一存储设备为所述多个存储设备之一;响应于所述中断请求,在控制完成当前待访问存储设备与所述可编程逻辑器件中随机存取存储单元利用所述I2C数据通道进行数据访问之后,直接传输所述第一存储设备的设备标识至I2C仲裁模块。

根据本申请一实施方式,I2C仲裁模块602,具体用于基于所述设备标识,将I2C控制模块603产生的双线I2C信号分配到当前待访问存储设备的数据链路上。

根据本申请一实施方式,时分复用多通道控制模块601,具体用于利用所述I2C数据通道,控制所述当前待访问存储设备将自身的控制信息或状态信息存入所述可编程逻辑器件中的随机存取存储单元。

根据本申请一实施方式,时分复用多通道控制模块601,具体用于利用所述I2C数据通道,控制所述当前待访问存储设备从所述可编程逻辑器件中的随机存取存储单元中获取控制信息。

同理,基于如上文所述可编程逻辑器件,本申请一实施例还提供了一种电子设备,如图7所示,所述电子设备70包括主板701和背板702,所述主板701上的可编程逻辑器件7011与背板上的多个存储设备7021相连接;其中,所述可编程逻辑器件7011为上文所述任一可编程逻辑器件60。

这里,本申请实施例所涉及的电子设备可以是目前已开发或未来待开发的安装有可编程逻辑器件在内的任意形式的智能设备,也可以是机器人设备。

这里需要指出的是:以上对可编程逻辑器件及包括可编程逻辑器件的电子设备实施例的描述,与前述图3至5所示的方法实施例的描述是类似的,具有同前述图3至5所示的方法实施例相似的有益效果,因此不做赘述。对于本申请可编程逻辑器件及包括可编程逻辑器件的电子设备实施例中未披露的技术细节,请参照本申请前述图3至5所示的方法实施例的描述而理解,为节约篇幅,因此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于SPI的主从通信方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!