CN111427823A - 支持pc与fpga通过pcie通信的驱动设计方法 - Google Patents
支持pc与fpga通过pcie通信的驱动设计方法 Download PDFInfo
- Publication number
- CN111427823A CN111427823A CN202010235268.9A CN202010235268A CN111427823A CN 111427823 A CN111427823 A CN 111427823A CN 202010235268 A CN202010235268 A CN 202010235268A CN 111427823 A CN111427823 A CN 111427823A
- Authority
- CN
- China
- Prior art keywords
- data
- dma
- fpga
- state
- transmission
- 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
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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/24—Interrupt
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种支持PC与FPGA通过PCIE通信的驱动设计方法,包括根据FPGA中断类型,设计驱动运行状态表;设计PCIE上行数据流程,根据驱动运行状态表判断状态进行下一步的操作;设计PCIE下发数据流程,根据驱动运行状态表判断状态进行下一步的操作。本发明支持PCIE协议2.0,能够匹配FPGA直连单板PC的工作模式;保障了数据上行、下行和命令上行、下行,其中上行数据传输速度能够达到102.4MB/s;实现了FPGA主动中断请求的传输模式;保障了传输稳定,不会出现丢包问题。
Description
技术领域
本发明属于数字通信技术领域,特别是涉及到一种支持PC与FPGA通过PCIE通信的驱动设计方法。
背景技术
PCIE即PCI-Express(peripheral component interconnect express),是一种高速串行计算机扩展总线标准。该标准将时钟融合到传输的数据中,采用点到点的互连方法,大大提高传输速度,突破了并行传输带宽的瓶颈。其传输的数据以协议定义的数据包(packet)的形式进行传输,保障了数据传输的完整性和可靠性。而且PCIE加入了数据重传机制,提高了数据传输的可靠性。
正是由于PCIE的这些技术特点,使得其越来越广泛的应用在计算机系统架构及海量数据传输接口领域,特别是在加入了高速DMA控制器传输方式下,PCI Express带宽及传输效率大大提高,因此在高速系统领域具有广阔的前景。
但在FPGA通过PCIE直连PC的情况下,上位机软件不能直接访问硬件板卡,无法直接得到FPGA输出的数据信息,为了保证单板机通过PCIE接口得到数字处理模块的输出信息数据,就需要为数字处理板卡开发基于PCIE协议的windows系统下内核层的驱动程序。
发明内容
本发明提出一种支持PC与FPGA通过PCIE通信的驱动设计方法,解决上位机软件无法直接访问板卡得到FPGA数据、传输速度不稳定丢包、不同项目需重复适配等等问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种支持PC与FPGA通过PCIE通信的驱动设计方法,包括:
S1、根据FPGA中断类型,设计驱动运行状态表;
S2、设计PCIE上行数据流程,根据驱动运行状态表判断状态进行下一步的操作;
S3、设计PCIE下发数据流程,根据驱动运行状态表判断状态进行下一步的操作。
进一步的,步骤S1中所述驱动运行状态表的设计方法包括:
根据FPGA的中断类型,设计驱动状态主要包括:空闲状态、发送状态、接收状态三种;在空闲状态时,进行读取数据的操作,并转换成接收数据状态,不再允许读取数据操作,直到读取数据完成,再转换成空闲状态。
进一步的,步骤S2所述上行数据流程包括:
S21、FPGA主动向PC发送中断;
S22、FPGA发送的中断在Windows驱动内进行处理;先进行状态判断;如果设备已经打开并且处于空闲状态,执行步骤S23,如果设备不是空闲状态,执行步骤S26;
S23、通过查询寄存器判断FIFO中是否满足一包的数据要求;如果满足要求,申请dpc处理;
S24、先复位DMA控制器,分配DMA传输空间和地址,再将缓存地址发送给FPGA的寄存器08H,最后通过设置寄存器04H,启动DMA Write传输,并改变驱动状态;
S25、等待DMA传输完成后,DMA控制器产生中断;
S26、通过读取寄存器04H,判断读取数据是否完成,如果读取数据完成,则该改变标志位,申请dpc处理;
S27、将数据从总线上转移到DMA关联的buf中;然后将数据从DMA关联的buf中,存储到两个交替使用的用户buffer中;
S28、当其中一个用户buffer存满后,通过事件通知DLL层,DLL层的程序再将用户buffer中的数据拷贝到内核层的buf中。
进一步的,步骤S3所述下发数据流程包括:
S31、下发命令,通知FPGA停止中断,使上行数据停止上传;
S32、将应用层要下发的数据传入到内核层;
S33、将传递下来的数据拷贝到DMA关联的Buf中;
S34、初始化DMA操作,先复位DMA控制器,分配DMA传输空间和地址,再将缓存地址发送给FPGA的寄存器1CH寄存器,最后通过设置寄存器04H,启动DMA Read传输,并改变驱动状态,并等待传输完成;
S35、等待DMA传输完成后,DMA控制器产生中断;
S36、进入中断后,判断状态,通过读取寄存器04H,判断发送数据据是否完成,如果发送数据完成,则该改变标志位,申请dpc处理;
S37、在dpc处理中,释放DMA资源,并通知内核中的等待事件,步骤S34继续运行,传输完成,返回信息。
本发明另一方面还提供了一种支持PC与FPGA通过PCIE通信的驱动,包括:
驱动运行状态表,根据FPGA中断类型所设计;
PCIE上行数据流程,根据驱动运行状态表判断状态进行下一步的操作;
PCIE下发数据流程,根据驱动运行状态表判断状态进行下一步的操作。
进一步的,驱动运行状态表包括空闲状态、发送状态、接收状态三种。
进一步的,PCIE上行数据流程包括:
S21、FPGA主动向PC发送中断;
S22、FPGA发送的中断在Windows驱动内进行处理;先进行状态判断;如果设备已经打开并且处于空闲状态,执行步骤S23,如果设备不是空闲状态,执行步骤S26;
S23、通过查询寄存器判断FIFO中是否满足一包的数据要求;如果满足要求,申请dpc处理;
S24、先复位DMA控制器,分配DMA传输空间和地址,再将缓存地址发送给FPGA的寄存器08H,最后通过设置寄存器04H,启动DMA Write传输,并改变驱动状态;
S25、等待DMA传输完成后,DMA控制器产生中断;
S26、通过读取寄存器04H,判断读取数据是否完成,如果读取数据完成,则该改变标志位,申请dpc处理;
S27、将数据从总线上转移到DMA关联的buf中;然后将数据从DMA关联的buf中,存储到两个交替使用的用户buffer中;
S28、当其中一个用户buffer存满后,通过事件通知DLL层,DLL层的程序再将用户buffer中的数据拷贝到内核层的buf中。
进一步的,PCIE下发数据流程包括:
S31、下发命令,通知FPGA停止中断,使上行数据停止上传;
S32、将应用层要下发的数据传入到内核层;
S33、将传递下来的数据拷贝到DMA关联的Buf中;
S34、初始化DMA操作,先复位DMA控制器,分配DMA传输空间和地址,再将缓存地址发送给FPGA的寄存器1CH寄存器,最后通过设置寄存器04H,启动DMA Read传输,并改变驱动状态,并等待传输完成;
S35、等待DMA传输完成后,DMA控制器产生中断;
S36、进入中断后,判断状态,通过读取寄存器04H,判断发送数据据是否完成,如果发送数据完成,则该改变标志位,申请dpc处理;
S37、在dpc处理中,释放DMA资源,并通知内核中的等待事件,步骤S34继续运行,传输完成,返回信息。
与现有技术相比,本发明具有如下的有益效果:
(1)支持PCIE协议2.0,能够匹配FPGA直连单板PC的工作模式;
(2)保障了数据上行、下行和命令上行、下行,其中上行数据传输速度能够达到102.4MB/s;
(3)实现了FPGA主动中断请求的传输模式;
(4)保障了传输稳定,不会出现丢包问题。
附图说明
图1是本发明实施例的PCIE传输信息框图;
图2是本发明实施例的PCIE驱动中断源;
图3是本发明实施例的PCIE驱动状态关系图;
图4是本发明实施例的上行数据控制框图;
图5是本发明实施例的下行数据控制框图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
一、本发明实施例中所设计的驱动与应用层和FPGA的交互原理如图1所示。
首先,FPGA会向PC主动发送中断,主要包括以下4种情况,但是中断形式都是Legacy Interrupt,并且只会发送传统中断A类型的中断,导致在驱动程序中无法区分中断类型。
驱动中只有一个中断处理响应函数,所有进入设备或驱动的中断都需要通过该中断处理函数BDMA_Isr()进行响应。
进入驱动的中断源主要由4种,如图2所示:
a)FPGA主动请求的中断,当FIFO有数据并且允许中断标志位打开的情况下,FPGA主动向驱动发送该中断;
b)下行数据完成后,由FPGA内DMA控制器主动发送DMA_Read_Done中断。
c)上行数据完成后,由FPGA内DMA控制器主动发送DMA_Write_Done中断。
d)在数据传输过程中,每个TLP包传输完成时,产生的中断。
FPGA上传的中断都为INTA,导致该版本的驱动无法区分FPGA上传的中断到底是哪种情况下产生的,所以需要驱动程序自身维护一个驱动运行状态表,根据自身所在的状态,进行下一步的操作,如图3所示,驱动状态主要包括:空闲状态、发送状态、接收状态三种。只有在空闲状态时,才进行读取数据的操作,并转换成接收数据状态,不再允许读取数据操作,直到读取数据完成,再转换成空闲状态。
二、本发明实施例所设计的驱动中最为重要的功能是从FPGA接收FPGA上传的数据,上行数据流的传输关系如图4所示。
按图4的流程编号①—⑧对其整个过程梳理如下:
(1)FPGA的FIFO内数据达到一定量后,并且上位机已经设置了允许中断标志,FPGA主动向PC发送中断,只要满足条件FPGA间隔一段时间(100us)就发送一次中断;
(2)FPGA发送的中断在Windows驱动内中断处理函数BDMA_Isr()中进行处理;先进行状态判断;
(3)如果设备已经打开并且处于空闲状态,执行第③步,通过查询寄存器判断FIFO中是否满足一包的数据要求;如果满足要求,申请dpc处理;
(4)在dpc处理函数DpcForIsr()中,先复位DMA控制器,调用StartDMAWrite()调分配DMA传输空间和地址,再调用WriteAdapterControl()将缓存地址发送给FPGA的寄存器(08H寄存器),最后通过设置寄存器(04H),启动DMA Write传输,并改变驱动状态。
(5)等待DMA传输完成后,DMA控制器产生中断;(经观察,在传输过程中也会有中断触发);
(6)因为此时驱动状态标志位不再是空闲状态,所以进入中断后,判断状态,会执行第⑥项,通过读取寄存器(04H),判断读取数据是否完成,如果读取数据完成,则该改变标志位,申请dpc处理;
(7)在处理函数DpcForIsr()中,将数据从总线上转移到DMA关联的buf中,实现代码为:
pDevExt->pWriteAdapter->DmaOperations->PutScatterGatherList(
pDevExt->pWriteAdapter,
pDevExt->pWriteSGL,
FALSE);
然后将数据从DMA关联的buf中,存储到两个交替使用的用户buffer中;
注意:DMA传输大小为51200字节,而用户buffer为两个51200*40字节大小的缓存空间。
(8)当其中一个用户buffer存满后,会通过事件通知DLL层的WaitForSingleObject(),DLL层的程序再通过writefile()进入到内核层,映射到Dispatch()中IRP_MJ_WRITE项,从而将用户buffer中的数据拷贝到通过writefile()传到内核层的buf中。从而完成了整个数据从FPGA到内核,再由内核到缓存,由缓存到应用层的传递。
三、本发明实施例所设计的驱动中另外一部分功能是将数据通过DMA发送到FPGA端,下行数据流的传输关系如图5所示。
按图5的流程编号①—⑦对其整个过程梳理如下:
(1)在下发定频样本前,下发命令,通知FPGA停止中断,使上行数据停止上传;下载样本和下载410程序时,不需要该过程,因为此时还没有数据上传;
(2)将应用层要下发的数据,通过readfile()传入到内核层,对应到驱动的处理函数Dispatch()中IRP_MJ_READ项;
(3)将传递下来的数据拷贝到DMA关联的Buf中;
(4)初始化DMA操作,先复位DMA控制器,调用StartDMARead()调分配DMA传输空间和地址,再调用ReadAdapterControl()将缓存地址发送给FPGA的寄存器(1CH寄存器),最后通过设置寄存器(04H),启动DMA Read传输,并改变驱动状态,并在Dispatch()中IRP_MJ_READ项中等待传输完成,代码如下:
KeWaitForSingleObject(&deviceExtension->DMATransFinish,Executive,KernelMode,FALSE,NULL);
(5)等待DMA传输完成后,DMA控制器产生中断;(经观察,在传输过程中也会有中断触发);
(6)因为此时驱动状态标志位不再是空闲状态,所以进入中断后,判断状态,会执行第⑥项,通过读取寄存器(04H),判断发送据是否完成,如果发送数据完成,则该改变标志位,申请dpc处理;
(7)在处理函数DpcForIsr()中,释放DMA资源,实现代码为:
pDevExt->pReadAdapter->DmaOperations->PutScatterGatherList(
pDevExt->pReadAdapter,
pDevExt->pReadSGL,
TRUE);
并通知内核中的等待事件,如下代码,步骤(4)可以继续运行,readfile()函数可以执行完成,返回信息。
KeSetEvent(&pDevExt->DMATransFinish,0,FALSE);
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种支持PC与FPGA通过PCIE通信的驱动设计方法,其特征在于,包括:
S1、根据FPGA中断类型,设计驱动运行状态表;
S2、设计PCIE上行数据流程,根据驱动运行状态表判断状态进行下一步的操作;
S3、设计PCIE下发数据流程,根据驱动运行状态表判断状态进行下一步的操作。
2.根据权利要求1所述的设计方法,其特征在于,步骤S1中所述驱动运行状态表的设计方法包括:
根据FPGA的中断类型,设计驱动状态主要包括:空闲状态、发送状态、接收状态三种;在空闲状态时,进行读取数据的操作,并转换成接收数据状态,不再允许读取数据操作,直到读取数据完成,再转换成空闲状态。
3.根据权利要求1所述的设计方法,其特征在于,步骤S2所述上行数据流程包括:
S21、FPGA主动向PC发送中断;
S22、FPGA发送的中断在Windows驱动内进行处理;先进行状态判断;如果设备已经打开并且处于空闲状态,执行步骤S23,如果设备不是空闲状态,执行步骤S26;
S23、通过查询寄存器判断FIFO中是否满足一包的数据要求;如果满足要求,申请dpc处理;
S24、先复位DMA控制器,分配DMA传输空间和地址,再将缓存地址发送给FPGA的寄存器08H,最后通过设置寄存器04H,启动DMA Write传输,并改变驱动状态;
S25、等待DMA传输完成后,DMA控制器产生中断;
S26、通过读取寄存器04H,判断读取数据是否完成,如果读取数据完成,则该改变标志位,申请dpc处理;
S27、将数据从总线上转移到DMA关联的buf中;然后将数据从DMA关联的buf中,存储到两个交替使用的用户buffer中;
S28、当其中一个用户buffer存满后,通过事件通知DLL层,DLL层的程序再将用户buffer中的数据拷贝到内核层的buf中。
4.根据权利要求1所述的设计方法,其特征在于,步骤S3所述下发数据流程包括:
S31、下发命令,通知FPGA停止中断,使上行数据停止上传;
S32、将应用层要下发的数据传入到内核层;
S33、将传递下来的数据拷贝到DMA关联的Buf中;
S34、初始化DMA操作,先复位DMA控制器,分配DMA传输空间和地址,再将缓存地址发送给FPGA的寄存器1CH寄存器,最后通过设置寄存器04H,启动DMA Read传输,并改变驱动状态,并等待传输完成;
S35、等待DMA传输完成后,DMA控制器产生中断;
S36、进入中断后,判断状态,通过读取寄存器04H,判断发送数据据是否完成,如果发送数据完成,则该改变标志位,申请dpc处理;
S37、在dpc处理中,释放DMA资源,并通知内核中的等待事件,步骤S34继续运行,传输完成,返回信息。
5.一种支持PC与FPGA通过PCIE通信的驱动,其特征在于,包括:
驱动运行状态表,根据FPGA中断类型所设计;
PCIE上行数据流程,根据驱动运行状态表判断状态进行下一步的操作;
PCIE下发数据流程,根据驱动运行状态表判断状态进行下一步的操作。
6.根据权利要求5所述的驱动,其特征在于,驱动运行状态表包括空闲状态、发送状态、接收状态三种。
7.根据权利要求5所述的驱动,其特征在于,PCIE上行数据流程包括:
S21、FPGA主动向PC发送中断;
S22、FPGA发送的中断在Windows驱动内进行处理;先进行状态判断;如果设备已经打开并且处于空闲状态,执行步骤S23,如果设备不是空闲状态,执行步骤S26;
S23、通过查询寄存器判断FIFO中是否满足一包的数据要求;如果满足要求,申请dpc处理;
S24、先复位DMA控制器,分配DMA传输空间和地址,再将缓存地址发送给FPGA的寄存器08H,最后通过设置寄存器04H,启动DMA Write传输,并改变驱动状态;
S25、等待DMA传输完成后,DMA控制器产生中断;
S26、通过读取寄存器04H,判断读取数据是否完成,如果读取数据完成,则该改变标志位,申请dpc处理;
S27、将数据从总线上转移到DMA关联的buf中;然后将数据从DMA关联的buf中,存储到两个交替使用的用户buffer中;
S28、当其中一个用户buffer存满后,通过事件通知DLL层,DLL层的程序再将用户buffer中的数据拷贝到内核层的buf中。
8.根据权利要求5所述的驱动,其特征在于,PCIE下发数据流程包括:
S31、下发命令,通知FPGA停止中断,使上行数据停止上传;
S32、将应用层要下发的数据传入到内核层;
S33、将传递下来的数据拷贝到DMA关联的Buf中;
S34、初始化DMA操作,先复位DMA控制器,分配DMA传输空间和地址,再将缓存地址发送给FPGA的寄存器1CH寄存器,最后通过设置寄存器04H,启动DMA Read传输,并改变驱动状态,并等待传输完成;
S35、等待DMA传输完成后,DMA控制器产生中断;
S36、进入中断后,判断状态,通过读取寄存器04H,判断发送数据据是否完成,如果发送数据完成,则该改变标志位,申请dpc处理;
S37、在dpc处理中,释放DMA资源,并通知内核中的等待事件,步骤S34继续运行,传输完成,返回信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010235268.9A CN111427823B (zh) | 2020-03-30 | 2020-03-30 | 支持pc与fpga通过pcie通信的驱动设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010235268.9A CN111427823B (zh) | 2020-03-30 | 2020-03-30 | 支持pc与fpga通过pcie通信的驱动设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111427823A true CN111427823A (zh) | 2020-07-17 |
CN111427823B CN111427823B (zh) | 2023-05-02 |
Family
ID=71555538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010235268.9A Active CN111427823B (zh) | 2020-03-30 | 2020-03-30 | 支持pc与fpga通过pcie通信的驱动设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427823B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112433966A (zh) * | 2020-11-15 | 2021-03-02 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于Windows平台的多接口架构及实现方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495817A (zh) * | 2011-12-08 | 2012-06-13 | 成都林海电子有限责任公司 | 一种基于pci总线的高速数据传输方法 |
CN105786752A (zh) * | 2016-01-22 | 2016-07-20 | 北京大学 | 一种计算设备与fpga间的usb通信方法和通信系统 |
CN106681816A (zh) * | 2016-12-27 | 2017-05-17 | 深圳开立生物医疗科技股份有限公司 | PCIe中断方法和系统 |
CN108153485A (zh) * | 2017-11-20 | 2018-06-12 | 天津津航技术物理研究所 | 一种多设备协同访问sram的方法及系统 |
CN108225389A (zh) * | 2017-12-22 | 2018-06-29 | 联创汽车电子有限公司 | 超声波传感器驱动装置及其驱动方法 |
CN110362512A (zh) * | 2019-07-18 | 2019-10-22 | 成都谐盈科技有限公司 | 一种面向sca和sdr的快速系统重构方法 |
CN110545152A (zh) * | 2019-09-10 | 2019-12-06 | 清华大学 | 一种以太网中具有实时传输功能的上位机及以太网系统 |
-
2020
- 2020-03-30 CN CN202010235268.9A patent/CN111427823B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495817A (zh) * | 2011-12-08 | 2012-06-13 | 成都林海电子有限责任公司 | 一种基于pci总线的高速数据传输方法 |
CN105786752A (zh) * | 2016-01-22 | 2016-07-20 | 北京大学 | 一种计算设备与fpga间的usb通信方法和通信系统 |
CN106681816A (zh) * | 2016-12-27 | 2017-05-17 | 深圳开立生物医疗科技股份有限公司 | PCIe中断方法和系统 |
CN108153485A (zh) * | 2017-11-20 | 2018-06-12 | 天津津航技术物理研究所 | 一种多设备协同访问sram的方法及系统 |
CN108225389A (zh) * | 2017-12-22 | 2018-06-29 | 联创汽车电子有限公司 | 超声波传感器驱动装置及其驱动方法 |
CN110362512A (zh) * | 2019-07-18 | 2019-10-22 | 成都谐盈科技有限公司 | 一种面向sca和sdr的快速系统重构方法 |
CN110545152A (zh) * | 2019-09-10 | 2019-12-06 | 清华大学 | 一种以太网中具有实时传输功能的上位机及以太网系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112433966A (zh) * | 2020-11-15 | 2021-03-02 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于Windows平台的多接口架构及实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111427823B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7028109B2 (en) | Data transfer control device including buffer controller with plurality of pipe regions allocated to plurality of endpoints | |
KR100352224B1 (ko) | 핀-총수가 적은 버스 상에서의 직접 메모리 억세스 트랜잭션 | |
US20100131681A1 (en) | Bus Based Communications Between A Processor And A Peripheral Controller In A Digital Processing System | |
WO2002031672A2 (en) | Method and apparatus for interprocessor communication and peripheral sharing | |
JP4837659B2 (ja) | 分割トランザクションを処理するためのバス・コントローラ | |
CN108763121B (zh) | TTE端系统适配卡PCIe控制器的中断操作方法 | |
CN113742269B (zh) | 用于epa设备的数据传输方法、处理设备和介质 | |
CN115499505B (zh) | Usb网卡和通信方法 | |
CN101937413B (zh) | 一种i2c总线的通信方法 | |
US6366877B1 (en) | Method and device for emulation of peripheral input/output (I/O) controller of a computer system | |
US7793024B2 (en) | Method for utilizing a PCI-Express bus to communicate between system chips | |
US7469304B2 (en) | Data transfer control device, electronic equipment, and method for a data transfer through a bus, the data transfer control device including a register and a packet buffer that are commonly used during a host operation and a peripheral operation | |
CN111124985A (zh) | 一种移动终端只读控制方法及装置 | |
CN111427823B (zh) | 支持pc与fpga通过pcie通信的驱动设计方法 | |
JP2005504392A (ja) | バス・システムおよびバス・インターフェース | |
US8074232B2 (en) | Method for improving the communication of the human interface device | |
CN116627869B (zh) | 应用于电子设备的数据传输方法及装置 | |
US7428600B2 (en) | Data transfer control device, electronic equipment, and data transfer control method | |
US20140075063A1 (en) | Smart device with no AP | |
CN110971621A (zh) | 基于sdio接口的嵌入式多cpu互联电路、互联方法及驱动方法 | |
KR20040043198A (ko) | 버스 시스템 및 버스 인터페이스 | |
US6665752B1 (en) | Interrupt driven interface coupling a programmable media access controller and a process controller | |
CN110765044B (zh) | 数据包传输装置及系统 | |
CN116601616A (zh) | 一种数据处理装置、方法及相关设备 | |
CN117312202B (zh) | 片上系统和用于片上系统的数据传输方法 |
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 |