CN209690899U - 基于usb的fpga通信控制装置及fpga - Google Patents

基于usb的fpga通信控制装置及fpga Download PDF

Info

Publication number
CN209690899U
CN209690899U CN201821922755.7U CN201821922755U CN209690899U CN 209690899 U CN209690899 U CN 209690899U CN 201821922755 U CN201821922755 U CN 201821922755U CN 209690899 U CN209690899 U CN 209690899U
Authority
CN
China
Prior art keywords
data
buffer memory
fpga
usb
signal
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.)
Active
Application number
CN201821922755.7U
Other languages
English (en)
Inventor
王子冉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sonoscape Medical Corp
Original Assignee
Sonoscape Medical Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sonoscape Medical Corp filed Critical Sonoscape Medical Corp
Priority to CN201821922755.7U priority Critical patent/CN209690899U/zh
Application granted granted Critical
Publication of CN209690899U publication Critical patent/CN209690899U/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请提供了一种基于USB的FPGA通信控制装置及FPGA,包括轮询仲裁模块,轮询仲裁模块中包括控制器和多个缓冲存储器,控制器与多个缓冲存储器以及USB芯片中预设的发送端点和接收端点相连,用于依据多个缓冲存储器的状态以及USB芯片中的各端点的状态,调度多个缓冲存储器中的信息的上传和/或下载,实现对于FPGA与USB芯片之间的带宽的分时利用,从而提高带宽的利用率。

Description

基于USB的FPGA通信控制装置及FPGA
技术领域
本申请涉及电子信息领域,尤其涉及一种基于USB的FPGA通信控制装置及FPGA。
背景技术
图1为现场可编程门阵列(Field-Programmable Gate Array,FPGA)通过通用串行总线(Universal Serial Bus,USB)芯片与上位机通信的示意图。其中,FPGA中设置有USB模块,USB模块通过USB物理层接口向USB芯片传输从数据源设备获取的数据,例如超声图像数据。而上位机通过其它传输渠道,向FPGA下发控制信号并接收FPGA对于控制信号的响应信号。
基于上述传输方式,在数据源没有产生数据的情况下,FPGA与USB芯片之间没有数据传输,因此,两者之间的带宽处于闲置状态,可见,现有的FPGA 基于USB的通信方式的带宽利用率不高。
实用新型内容
本申请提供了一种基于USB的FPGA通信控制装置,目的在于解决如何提高基于USB通信的带宽利用率的问题。
为了实现上述目的,本申请提供了以下技术方案:
一种基于USB的FPGA通信控制装置,设置在FPGA中,所述FPGA与 USB芯片通信,所述装置包括:
轮询仲裁模块;
所述轮询仲裁模块中包括控制器和多个缓冲存储器;
所述控制器与所述多个缓冲存储器、以及所述USB芯片中预设的发送端点和接收端点相连,用于依据所述多个缓冲存储器的状态以及所述USB芯片中的各端点的状态,调度所述多个缓冲存储器中的信息的上传和/或下载。
可选的,所述多个缓冲存储器包括:
下载控制信号缓冲存储器、上传响应信号缓冲存储器和上传数据缓冲存储器;
所述下载控制信号缓冲存储器通过所述控制器连接所述USB芯片的控制信号发送端点,用于缓存所述控制器从所述USB芯片接收的控制信号;
所述上传响应信号缓冲存储器通过所述控制器连接所述USB芯片的响应信号接收端点,用于缓存待通过所述控制器发送至所述USB芯片的所述FPGA对于所述控制信号的响应信号;
所述上传数据缓冲存储器通过所述控制器连接所述USB芯片的数据接收端点,用于缓存所述FPGA中待通过所述控制器发送至所述USB芯片的数据。
可选的,所述轮询仲裁模块还包括:
与所述控制器相连,且与所述上传数据缓冲存储器对应的寄存器;
所述寄存器用于存储由所述控制器赋值的标识位,当所述标识位为第一数值时表示:所述寄存器对应的上传数据缓冲存储器中有未传完的数据。
可选的,所述上传数据缓冲存储器的数量为多个;
多个上传数据缓冲存储器分别通过所述控制器与所述USB芯片的数据接收端点相连,其中,所述控制器用于按照预设的类型排序,依次上传所述多个上传数据缓冲存储器中的数据至所述数据接收端点。
可选的,所述装置还包括:
缓存模块;
所述缓存模块中包括控制信号缓冲存储器、响应信号缓冲存储器和数据缓冲存储器;
所述控制信号缓冲存储器与所述下载控制信号缓冲存储器相连,用于与所述下载控制信号缓冲存储器交互所述控制信号;
所述响应信号缓冲存储器与所述上传响应信号缓冲存储器相连,用于向所述上传响应信号缓冲存储器交互所述响应信号;
所述数据缓冲存储器与所述上传数据缓冲存储器相连,用于与相连的上传数据缓冲存储器交互数据。
可选的,在所述上传数据缓存存储器的数量为多个的情况下,所述数据缓冲存储器与所述上传数据缓存存储器数量相同,用于存储相同类型数据的所述数据缓冲存储器与所述上传数据缓冲存储器对应相连。
可选的,所述装置还包括:
参数译码模块,通过总线与所述FPGA中的解析模块相连,用于接收所述解析模块发送的解析信号,其中,所述解析模块与所述控制信号缓冲存储器相连,用于通过接收并解析所述控制信号缓冲存储器中的所述控制信号,得到所述解析信号;
跨时钟域转换模块,与所述参数译码模块和所述轮询仲裁模块相连,用于将所述解析信号的时钟频率转换为本地时钟频率后,依据转换后的解析信号,访问所述轮询仲裁模块中的寄存器。
可选的,所述轮询仲裁模块还包括:
与所述多个缓冲存储器对应的缓存状态寄存器,用于存储对应的所述缓冲存储器的状态信号;
所述缓存状态寄存器为所述跨时钟域转换模块访问的寄存器,所述跨时钟域转换模块通过访问所述缓存状态寄存器获取所述状态信号。
可选的,所述缓存模块中的数据缓冲存储器与数据源相连,所述数据源设置在所述FPGA之外,用于产生所述数据。
一种FPGA,包括前述基于USB的FPGA通信控制装置。
本申请所述的基于USB的FPGA通信控制装置,包括轮询仲裁模块,轮询仲裁模块中包括控制器和多个缓冲存储器,控制器与多个缓冲存储器以及USB 芯片中预设的发送端点和接收端点相连,用于依据多个缓冲存储器的状态以及 USB芯片中的各端点的状态,调度多个缓冲存储器中的信息的上传和/或下载,实现对于FPGA与USB芯片之间的带宽的分时利用,从而提高带宽的利用率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为FPGA通过USB芯片与上位机通信的示意图;
图2为本申请实施例公开的一种基于USB的FPGA通信控制装置的结构示意图;
图3为本申请实施例公开的基于USB的FPGA通信控制方法的流程图。
具体实施方式
本申请实施例公开的基于USB的FPGA通信控制装置,目的在于实现FPGA 对于不同信息的调度传输,以实现充分利用带宽,在传输多种类型的信息的情况下,进一步的,还可以保证信息的完整性。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图2为本申请实施例公开的一种基于USB的FPGA通信控制装置,包括:轮询仲裁模块21,可选的,还包括缓存模块22、参数译码模块23和跨时钟域转换模块24。
其中,轮询仲裁模块21用于存储与USB芯片交互的信息(信息中包括控制信号、响应信号和数据),并实现对于信息传输的调度。
具体的,轮询仲裁模块21包括下载控制信号缓冲存储器211、上传响应信号缓冲存储器212、上传数据缓冲存储器213、控制器214和寄存器(图2中未画出)。
控制器214与轮询仲裁模块21中的多个缓冲存储器(包括211、212和213) 分别相连,并与USB芯片中预设的发送端点和接收端点相连,以用于依据轮询仲裁模块21中的多个缓冲存储器的状态以及USB芯片中的各端点的状态,调度轮询仲裁模块21中的多个缓冲存储器中的信息的上传和/或下载。其中,下载是指接收USB芯片发送的信息(通常是控制信号),上传是指将信息(通常是响应信号和数据)发送至USB芯片。
进一步的,下载控制信号缓冲存储器211通过控制器214连接USB芯片中的控制信号发送端点(图2中,以EP2端点为例)。上传响应信号缓冲存储器 212通过控制器214连接USB芯片中的响应信号接收端点(图2中,以EP4端点为例)。上传数据缓冲存储器213通过控制器214连接USB芯片的数据接收端点(图2中,以EP6端点为例)。
下载控制信号缓冲存储器211用于缓存控制器214从USB芯片的EP2接收的控制信号。其中,控制信号为上位机下发的用于控制FPGA的信号。上传响应信号缓冲存储器212用于缓存FPGA对于控制信号的响应信号,响应信号将被通过控制器214发送到USB芯片的EP4。
上传数据缓冲存储器213用于缓存FPGA中待发送至USB芯片的EP6的数据,数据将被通过控制器214发送到USB芯片的EP6。
进一步的,上传数据缓冲存储器213的数量可以为多个,在待发送的数据的类型为多个的情况下,任意一种类型的数据至少具有一个用于存储该类型的数据的上传数据缓冲存储器213。图2中,以三种待上传的数据为例,因此,设置三个上传数据缓冲存储器213。三个上传数据缓冲存储器213分别通过控制器 214与USB芯片的EP6相连。控制器214可以按照预设的类型排序,依次上传多个上传数据缓冲存储器213中的数据至EP6。
每个上传数据缓冲存储器均对应设置寄存器。寄存器用于存储由控制器214 赋值的标识位,当标识位为第一数值(例如1)时表示:寄存器对应的上传数据缓冲存储器中有未传完的数据。当标识位为第二数值(例如0)时表示:寄存器对应的上传数据缓冲存储器中没有未传完的数据。
缓存模块22用于缓存与FPGA内部的其它模块以及提供数据的硬件设备 (即数据源)交互的信息(信息中包括控制信号、响应信号和数据)。
具体的,缓存模块22中包括控制信号缓冲存储器221、响应信号缓冲存储器222和数据缓冲存储器223。
其中,控制信号缓冲存储器221与下载控制信号缓冲存储器211相连,用于与下载控制信号缓冲存储器211交互控制信号,即下载控制信号缓冲存储器 211在接收到控制信号后,FPGA将控制信号发送至控制信号缓冲存储器221,进一步的,FPGA将控制信号缓冲存储器221中的控制信号发给其它模块。
响应信号缓冲存储器222与上传响应信号缓冲存储器212相连,用于与响应信号缓冲存储器222交互响应信号。即响应信号缓冲存储器222接收到FPGA 对于控制信号的响应信号(响应信号由控制信号的响应模块发送)后,FPGA将响应信号发给上传响应信号缓冲存储器212。
数据缓冲存储器223与上传数据缓冲存储器213相连,用于与上传数据缓冲存储器213交互数据。即数据缓冲存储器223从数据源接收数据,存满后, FPGA将数据发送至上传数据缓冲存储器213。
具体的,在上传数据缓存存储器213的数量为多个的情况下,数据缓冲存储器223与上传数据缓存存储器213的数量相同,且用于存储相同类型数据的数据缓冲存储器223与上传数据缓冲存储器213对应相连。
图2中,数据以超声图像数据(Img表示)、心率数据(Ecg表示)和硬件的状态数据(Inf表示)为例。控制信号以cmd表示,响应信号以status表示。基于图2的举例,缓存模块22中存储Img的缓冲存储器与轮询仲裁模块21中存储Img的缓冲存储器相连,缓存模块22中存储cmd的缓冲存储器与轮询仲裁模块21中存储cmd的缓冲存储器相连,缓存模块22中存储status的缓冲存储器与轮询仲裁模块21中存储status的缓冲存储器相连。
通常,FPGA中包括解析模块,解析模块与控制信号缓冲存储器221相连,用于通过接收并解析控制信号缓冲存储器221中的控制信号,得到解析信号。
图2中,参数译码模块23通过总线(图2中,bus表示总线)与解析模块相连,用于接收解析模块发送的解析信号。
跨时钟域转换模块24与参数译码模块23和轮询仲裁模块24相连,用于将解析信号的时钟频率转换为本地时钟频率后,依据转换后的解析信号,访问轮询仲裁模块中的寄存器。需要说明的是,这里所述轮询仲裁模块中的寄存器,可以包括但不限于轮询仲裁模块中的缓存状态寄存器,其中,缓存状态寄存器用于对应存储各个缓存的状态信号,状态信号用于表示缓存的当前状态为正常或者异常。
例如,解析模块解析控制信号得到的解析信号指示:获取轮询仲裁模块中所有的上传数据缓冲存储器213的当前状态,则跨时钟域转换模块24将解析信号的时钟频率转换为本地时钟频率后,依据转换后的解析信号,读取轮询仲裁模块21中的缓存状态寄存器的状态信号,并将读取的状态信号作为响应信号,由FPGA发给响应信号缓冲存储器222,存满后,传输至上传响应信号缓冲存储器212,再由轮询仲裁模块的控制器214发至USB芯片的EP4。
参数译码模块23以及跨时钟域转换模块24的具体功能实现,与现有技术 (即FPGA基于USB传输一种数据类型的技术)相同,这里不再赘述除了上述各模块之外,图2中,fifo表示队列,USB-reg表示轮询仲裁21模块所使用的寄存器中的信号。
下面以FPGA在上位机的控制下,从硬件设备获取数据、并通过USB芯片将数据发给上位机的场景为例,对图2所示的控制器214执行基于USB的FPGA 通信控制的流程进行详细的说明。
假设FPGA连接心率仪获取心率数据、连接超声仪获取超声图像数据,并获取硬件设备(包括心率仪和超声仪)的状态参数,本实施例中,将心率数据、超声图像数据和状态参数统称为数据。
FPGA将获取的心率数据存储在缓存模块22中的一个缓冲存储器(简称为Ecg数据缓存)中,将获取的超声图像数据存储在缓存模块22中的另一个缓冲存储器(简称为Img数据缓存)中,将状态参数存储在缓存模块22中的又一个缓冲存储器(简称为Status数据缓存)中。
图3为本申请实施例公开的基于USB的FPGA通信控制方法的流程图,由控制器214执行,目的在于:按照一定的轮询顺序,调度传输控制信号、响应信号和数据。图3中包括以下步骤:
S301:判断是否满足下载控制信号条件:即判断EP2端点是否为非空、且下载控制信号缓冲存储器211是否为非满,如果是,执行S302,否则,执行S304。
S302:将EP2端点的控制信号下载到下载控制信号缓冲存储器211中。
S303:在下载控制信号的过程中,判断是否满足下载控制信号停止条件:即判断控制信号传输是否完成、或者EP2端点是否为空、或者下载控制信号缓冲存储器211是否为满,如果任意一个条件的判断结果为是,执行S304,否则,执行S302。
S304:判断是否满足上传响应信号条件:即判断EP4端点是否为非满、且上传响应信号缓冲存储器212是否为非空,如果是,执行S305,否则,执行S307。
S305:将上传响应信号缓冲存储器212中的响应信号上传到EP4端点。
S306:在上传响应信号的过程中,判断是否满足上传响应信号停止条件:即判断响应信号传输是否完成、或者EP4端点是否为满、或者上传响应信号缓冲存储器212是否为空,如果任意一个条件的判断结果为是,执行S307,否则,执行S305。
S307:判断是否有未完成传输的数据,如果否,执行S308,如果是,执行 S321。
具体的,控制器214在上一次数据传输过程中未完成数据传输的情况下,可以记录未完成传输的数据的类型,控制器214依据记录,确定上一次数据传输未完成。具体的,记录未完成传输的数据的缓存的标识,例如假设轮询仲裁模块21中用于存储超声图像数据的缓存的编号为1、用于存储状态数据的缓存的编号为2、用于存储心率数据的缓存的编号为3,则如果上次数据传输过程中超声图像数据未传完,则控制器214记录存储心率数据的缓存的编号3。又或者,如前所述,为每个用于存储数据的缓存设置寄存器,如果在一次数据传输过程中,任意一个缓存中的数据未传完,则将该缓的寄存器中的标志位设置为1。控制器214依据各个缓存对应的寄存器中的标志位确定是否有未传完的数据。
S308:判断是否满足上传数据条件:即判断EP6端点是否为非满、且存储超声图像数据的上传数据缓冲存储器213是否为非空,如果是,执行S309,否则,执行S312。
S309:将存储超声图像数据的上传数据缓冲存储器213中的超声图像数据上传至EP6端点。
S310:在上传超声图像数据的过程中,判断是否满足上传数据停止条件:即判断EP6端点是否为满、或者存储超声图像数据的缓存是否为空,如果任意一个条件的判断结果为是,执行S311,否则,执行S309。
S311:判断本次超声图像数据传输是否完成,如果是,执行S312,否则,执行S320。
S312:判断EP6端点是否为非满、且存储状态数据的缓存是否为非空,如果是,执行S313,否则,执行S316。
S313:将存储状态数据的上传数据缓冲存储器213中的状态数据上传至EP6 端点。
S314:在上传状态数据的过程中,判断EP6端点是否为满、或者状态数据的缓存是否为空,如果任意一个条件的判断结果为是,执行S315,否则,执行 S313。
S315:判断本次状态数据传输是否完成,如果是,执行S316,否则,执行 S320。
S316:判断EP6端点是否为非满、且存储心率数据的缓存是否为非空,如果是,执行S317,否则,执行S301。
S317:将存储心率数据的上传数据缓冲存储器213中的心率数据上传至EP6 端点。
S318:在上传心率数据的过程中,判断EP6端点是否为满、或者心率数据的缓存是否为空,如果任意一个条件的判断结果为是,执行S319,否则,执行 S317。
S319:判断本次心率数据传输是否完成,如果是,执行S301,否则,执行 S320。
S320:记录未完成传输的数据。
记录的具体方式如前所述,这里不再赘述。
S321:传输上次未完成传输的数据。
控制器214在传输完上次未完成传输的数据后,返回执行S308,进行本次数据传输。
从图3所示的流程可以看出,轮询仲裁模块按照控制信号、响应信号、数据的顺序,轮询本地缓存和USB芯片的端点的状态,在两侧均满足条件的情况下进行信息的传输,因此,能够兼顾多种信息的传输。进一步的,对于多种类型的数据,也可以使用预设的顺序进行轮询传输,所以,使用分时利用带宽的方式,能够实现多种类型数据的传输。与现有的一种数据使用单独的FPGA芯片传输的方式相比,一个FPGA芯片可以兼顾多种数据的传输,即可利用为一个FPGA分配的带宽分时传输多种类型的数据,能够提高带宽的利用率。
并且,以USB芯片的端点设置的维度设置轮询顺序,所以,能够兼容于USB 的传输协议,硬件兼容性较高。
通常,与状态参数相比,数据(例如超声图像数据)的传输量较大,因此,在上次有未传完数据的情况下,优先传输未传完的数据,所以,能够进一步保证数据的完整性和正确性,而不会因为轮序机制导致数据丢失和错误。
本实施例中,上述判断条件的设置原则为:信息的接收方非满且信息的发送方非空,因此,既能够保证接收方已满而导致的信息丢失,又能够及时进行下一个信息的轮询,提高信息的传输效率。
需要说明的是,如果上位机卡顿而造成FPGA信息阻塞,则信息会先存储到FPGA的内部队列中,当内部队列存满时,如果上位机还处于卡顿状态,则会导致信息丢失,因此,可以设置如下带宽关系:上位机的带宽>USB带宽>FPGA 带宽。
需要说明的是,图3中所示的流程中所述的轮询顺序:控制信号、响应信号和数据,仅为示例,不作为本申请的限定,也可以使用其它预设顺序进行轮询。同样的,超声数据图像、状态数据和心率数据的轮询顺序,也不作为限定。
需要说明的是,图3所示的流程中,所述下载控制信号存储器、上传响应信号存储器和上传数据存储器,不限定于图2所示的结构,也可以为FPGA中现有的存储器,只要仅用于存储相应类型的数据即可,例如,FPGA中现有的存储器,可以仅用于存储控制信号,即为下载控制信号存储器。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种基于USB的FPGA通信控制装置,设置在FPGA中,所述FPGA与USB芯片通信,其特征在于,所述装置包括:
轮询仲裁模块;
所述轮询仲裁模块中包括控制器和多个缓冲存储器;
所述控制器与所述多个缓冲存储器、以及所述USB芯片中预设的发送端点和接收端点相连,用于依据所述多个缓冲存储器的状态以及所述USB芯片中的各端点的状态,调度所述多个缓冲存储器中的信息的上传和/或下载。
2.根据权利要求1所述的基于USB的FPGA通信控制装置,其特征在于,所述多个缓冲存储器包括:
下载控制信号缓冲存储器、上传响应信号缓冲存储器和上传数据缓冲存储器;
所述下载控制信号缓冲存储器通过所述控制器连接所述USB芯片的控制信号发送端点,用于缓存所述控制器从所述USB芯片接收的控制信号;
所述上传响应信号缓冲存储器通过所述控制器连接所述USB芯片的响应信号接收端点,用于缓存待通过所述控制器发送至所述USB芯片的所述FPGA对于所述控制信号的响应信号;
所述上传数据缓冲存储器通过所述控制器连接所述USB芯片的数据接收端点,用于缓存所述FPGA中待通过所述控制器发送至所述USB芯片的数据。
3.根据权利要求2所述的基于USB的FPGA通信控制装置,其特征在于,所述轮询仲裁模块还包括:
与所述控制器相连,且与所述上传数据缓冲存储器对应的寄存器;
所述寄存器用于存储由所述控制器赋值的标识位,当所述标识位为第一数值时表示:所述寄存器对应的上传数据缓冲存储器中有未传完的数据。
4.根据权利要求2至3任一项所述的基于USB的FPGA通信控制装置,其特征在于,所述上传数据缓冲存储器的数量为多个;
多个上传数据缓冲存储器分别通过所述控制器与所述USB芯片的数据接收端点相连,其中,所述控制器用于按照预设的类型排序,依次上传所述多个上传数据缓冲存储器中的数据至所述数据接收端点。
5.根据权利要求2所述的基于USB的FPGA通信控制装置,其特征在于,所述装置还包括:
缓存模块;
所述缓存模块中包括控制信号缓冲存储器、响应信号缓冲存储器和数据缓冲存储器;
所述控制信号缓冲存储器与所述下载控制信号缓冲存储器相连,用于与所述下载控制信号缓冲存储器交互所述控制信号;
所述响应信号缓冲存储器与所述上传响应信号缓冲存储器相连,用于向所述上传响应信号缓冲存储器交互所述响应信号;
所述数据缓冲存储器与所述上传数据缓冲存储器相连,用于与相连的上传数据缓冲存储器交互数据。
6.根据权利要求5所述的基于USB的FPGA通信控制装置,其特征在于,在所述上传数据缓存存储器的数量为多个的情况下,所述数据缓冲存储器与所述上传数据缓存存储器数量相同,用于存储相同类型数据的所述数据缓冲存储器与所述上传数据缓冲存储器对应相连。
7.根据权利要求5所述的基于USB的FPGA通信控制装置,其特征在于,所述装置还包括:
参数译码模块,通过总线与所述FPGA中的解析模块相连,用于接收所述解析模块发送的解析信号,其中,所述解析模块与所述控制信号缓冲存储器相连,用于通过接收并解析所述控制信号缓冲存储器中的所述控制信号,得到所述解析信号;
跨时钟域转换模块,与所述参数译码模块和所述轮询仲裁模块相连,用于将所述解析信号的时钟频率转换为本地时钟频率后,依据转换后的解析信号,访问所述轮询仲裁模块中的寄存器。
8.根据权利要求7所述的基于USB的FPGA通信控制装置,其特征在于,所述轮询仲裁模块还包括:
与所述多个缓冲存储器对应的缓存状态寄存器,用于存储对应的所述缓冲存储器的状态信号;
所述缓存状态寄存器为所述跨时钟域转换模块访问的寄存器,所述跨时钟域转换模块通过访问所述缓存状态寄存器获取所述状态信号。
9.根据权利要求5所述的基于USB的FPGA通信控制装置,其特征在于,所述缓存模块中的数据缓冲存储器与数据源相连,所述数据源设置在所述FPGA之外,用于产生所述数据。
10.一种FPGA,其特征在于,包括根据权利要求1-9任一项所述的基于USB的FPGA通信控制装置。
CN201821922755.7U 2018-11-21 2018-11-21 基于usb的fpga通信控制装置及fpga Active CN209690899U (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201821922755.7U CN209690899U (zh) 2018-11-21 2018-11-21 基于usb的fpga通信控制装置及fpga

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201821922755.7U CN209690899U (zh) 2018-11-21 2018-11-21 基于usb的fpga通信控制装置及fpga

Publications (1)

Publication Number Publication Date
CN209690899U true CN209690899U (zh) 2019-11-26

Family

ID=68595173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201821922755.7U Active CN209690899U (zh) 2018-11-21 2018-11-21 基于usb的fpga通信控制装置及fpga

Country Status (1)

Country Link
CN (1) CN209690899U (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284243A (zh) * 2018-11-21 2019-01-29 深圳开立生物医疗科技股份有限公司 基于usb的fpga通信控制装置及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284243A (zh) * 2018-11-21 2019-01-29 深圳开立生物医疗科技股份有限公司 基于usb的fpga通信控制装置及方法

Similar Documents

Publication Publication Date Title
US8549204B2 (en) Method and apparatus for scheduling transactions in a multi-speed bus environment
US6925512B2 (en) Communication between two embedded processors
US11063850B2 (en) Slave-to-master data and out-of-sequence acknowledgements on a daisy-chained bus
CN100594705C (zh) 数据通信的方法和数据通信的输入/输入装置
US20080043742A1 (en) Transmission using multiple physical interface
JPH04230557A (ja) 直接メモリアクセス・コントローラ
JPS5810235A (ja) インタ−フエイス回路
CN101282224A (zh) 通信适配器及通信适配器的数据传输方法
US9471521B2 (en) Communication system for interfacing a plurality of transmission circuits with an interconnection network, and corresponding integrated circuit
US20200210224A1 (en) Methods and apparatus for verifying completion of groups of data transactions between processors
KR100944892B1 (ko) 버스 시스템 및 버스 인터페이스
JP2009003677A (ja) Usbホスト、usbスレーブ、無線通信方式、及びデータ転送方法
CN103885840A (zh) 一种基于AXI4总线的FCoE协议加速引擎IP核
CN101237445A (zh) 在终点中无线usb同步的缓冲器管理
CN110290187A (zh) 数据信息的传输方法及装置、存储介质、电子装置
CN209690899U (zh) 基于usb的fpga通信控制装置及fpga
US5341475A (en) Method for exchanging messages between a shared memory and communication adapters using an efficient logical protocol
CN107066413A (zh) 一种用于处理多个总线设备数据的方法、及其总线系统
US11347567B2 (en) Methods and apparatus for multiplexing data flows via a single data structure
EP2779543B1 (en) Direct push operations and gather operations
US7177280B2 (en) Data transfer processing apparatus, data transfer method, and data transfer program
CN109284243A (zh) 基于usb的fpga通信控制装置及方法
EP1759298B1 (en) Bus controller for transferring data
CN209149287U (zh) 大数据运算加速系统
CN109327284A (zh) 数据传输方法、装置及电子设备

Legal Events

Date Code Title Description
GR01 Patent grant
GR01 Patent grant