CN113741987A - 一种Linux系统下FPGA数据低延时接收方法 - Google Patents
一种Linux系统下FPGA数据低延时接收方法 Download PDFInfo
- Publication number
- CN113741987A CN113741987A CN202110976206.8A CN202110976206A CN113741987A CN 113741987 A CN113741987 A CN 113741987A CN 202110976206 A CN202110976206 A CN 202110976206A CN 113741987 A CN113741987 A CN 113741987A
- Authority
- CN
- China
- Prior art keywords
- data
- buffer
- fpga
- dma
- cpu
- 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 46
- 239000000872 buffer Substances 0.000 claims abstract description 122
- 238000012545 processing Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 abstract description 9
- 230000006870 function Effects 0.000 abstract description 3
- 230000002093 peripheral effect Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- 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/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/282—Cycle stealing DMA
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Advance Control (AREA)
Abstract
本发明公开了一种Linux系统下FPGA数据低延时接收方法,包括以下步骤:S1、Linux系统下的CPU软件在内存中初始化环形数据缓冲区,并初始化DMA接收通道;S2、CPU软件启动FPGA侧的DMA控制器使能接收;S3、当有外部数据包到达时,FPGA接收该数据包的数据,并利用基于ARM AXI总线的DMA通道将该数据包传输到所述环形数据缓冲区;S4、在该数据包的数据接收完成后,FPGA向DMA控制器发送数据完成信号,DMA控制器向CPU软件发起DMA完成中断;CPU软件响应该中断后对所述环形数据缓冲区的数据进行处理;S5、当有新数据包到达时,重复执行S3‑S4。本发明能够降低数据接收流程延迟,避免因延迟导致FPGA侧功能异常,减少FPGA存储逻辑资源消耗,降低CPU暂用率,从而提高系统数据传输效率。
Description
技术领域
本发明涉及Linux系统中ARM CPU与FPGA逻辑外设间接口技术领域,更具体的说是涉及一种Linux系统下FPGA数据低延时接收方法。
背景技术
当前嵌入式系统中Linux+ARM的系统模型使用十分广泛,整体系统中常常通过FPGA为ARM CPU扩展特定功能外设,CPU与FPGA之间的数据接口通信效率会对系统性能产生显著影响。在基于ARM AXI高速总线的接口上,外设接收数据存在突发性,CPU需及时高效的接收外设数据,以免对系统总体延时产生不良影响。如图2所示,常见的完整接收处理流程一般为:(1)CPU软件初始化DMA接收通道;(2)当有新数据到达,外设产生接收数据中断;(3)CPU响应接收数据中断,并初始化接收数据的内存缓冲区,检测DMA通道状态,若为空闲态则启动DMA控制器,标记DMA通道为忙状态;(4)DMA控制器开始将数据从FPGA缓冲搬移到内存缓冲区,搬移完成后通过DMA完成中断通知CPU处理内存缓冲区数;(5)CPU响应DMA完成中断,标记DMA通道为空闲状态;(6)当有新数据到达时重复上述第(2)、(3)、(4)、(5)步流程。
然而,Linux操作系统本质并非实时操作系统,导致ARM CPU对中断的响应存在一定的延时,有时能达到数毫秒(某些代码可能存在较长的关中断时间),而数据搬移操作往往放在中断处理的底半步,其延时有时能达到数十毫秒,导致上述流程中第三、第四步处理被延后,引入的延时可能使FPGA侧的缓冲被外部数据充满溢出,导致数据丢失,甚至逻辑异常。通常情况下会考虑在FPGA侧增大缓冲空间,但对于一些高速接口来说对缓冲的要求可能很大,而FPGA有限的存储逻辑资源不一定能很好的满足需求。
因此,如何提供一种能降低数据接收流程延时的Linux系统下FPGA数据低延时接收方法是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种Linux系统下FPGA数据低延时接收方法,能够降低数据接收流程延迟,避免因延迟导致FPGA侧功能异常,减少FPGA存储逻辑资源消耗,降低CPU暂用率,从而提高系统数据传输效率。
为了实现上述目的,本发明采用如下技术方案:
一种Linux系统下FPGA数据低延时接收方法,包括以下步骤:
S1、Linux系统下的CPU软件在内存中初始化环形数据缓冲区,并初始化DMA接收通道;
S2、CPU软件启动FPGA侧的DMA控制器使能接收;
S3、当有外部数据包到达时,FPGA接收该数据包的数据,并利用基于ARM AXI总线的DMA通道将该数据包传输到所述环形数据缓冲区;
S4、在该数据包的数据接收完成后,FPGA向DMA控制器发送数据完成信号,DMA控制器向CPU软件发起DMA完成中断;CPU软件响应该中断后对所述环形数据缓冲区的数据进行处理;
S5、当有新数据包到达时,重复执行S3-S4。
优选的,在上述一种Linux系统下FPGA数据低延时接收方法中,S1中,所述环形数据缓冲区的初始化阶段包括以下步骤:
S11、创建n个独立的内存缓冲区;
S12、创建n个缓冲描述符,CPU软件在CPU侧内存中利用所述缓冲描述符将各个独立的内存缓冲区组织起来;缓冲描述符包括:下一个缓冲描述符地址域、缓冲区地址域、控制域和状态域;
S13、CPU软件利用缓冲描述符中的下一个缓冲描述符地址域依次将各个所述缓冲描述符串联起来,并将末尾位置的缓冲描述符的下一个缓冲描述符地址域指向首端位置的缓冲描述符的地址,形成所述环形数据缓冲区。
优选的,在上述一种Linux系统下FPGA数据低延时接收方法中,S1中,CPU软件对所述环形数据缓冲区初始化完成后,将所述环形数据缓冲区中的缓冲描述符队列中的首个缓冲描述符的地址参数配置给FPGA侧的DMA控制器,并启动DMA控制器做好接收准备;DMA控制器自动从缓冲描述符中加载缓冲信息,等待FPGA发起数据接收信号。
优选的,在上述一种Linux系统下FPGA数据低延时接收方法中,S3中,DMA控制器自动依次加载所述环形数据缓冲区中缓冲描述符队列中的各个缓冲区描述符,并将接收的数据传输到各缓冲描述符指向的内存缓冲区。
优选的,在上述一种Linux系统下FPGA数据低延时接收方法中,缓冲描述符队列中缓冲描述符的数量是根据接口速率、Linux系统下ARM CPU处理延时情况和内存大小进行配置的。
优选的,在上述一种Linux系统下FPGA数据低延时接收方法中,S4中,接收整个数据包之后,FPGA使用DMA完成中断通知CPU软件对所述环形数据缓冲区中的缓冲数据进行处理,在无CPU软件干涉的条件下,DMA控制器自动加载下一个缓冲描述符,并等待FPGA发起新一次数据接收信号。
经由上述的技术方案可知,本发明公开提供了一种Linux系统下FPGA数据低延时接收方法,在Linux系统下ARM CPU和FPGA间基于AXI高速数据接口通信,利用DMA SG(Direct Memory AccessScatter/Gather)进行数据传输,取消收中断并利用环形数据缓冲区实现低CPU软件干涉的接收过程,以达到低延时传输的目的。通过本发明在系统启动后CPU仅执行一次接收初始化流程,每当FPGA中有数据包需发向CPU时,则直接启用DMA通道进行传输,无需CPU配置,仅需在每个数据包发送完成后通知CPU处理数据。
相较于现有技术中常见的接收流程,本发明取消了外设接收中断,相当于在接收循环中减少了如下流程:当有新数据到达,外设产生收数据中断;CPU响应收数据中断,并初始化接收数据的内存缓冲区,检测DMA通道状态,若为空闲态则启动DMA控制器,标记DMA通道为忙状态。本发明中CPU软件不管理DMA通道状态,DMA通道由FPGA逻辑直接管控,消除了CPU处理引入的延时,使DMA通道利用率更高。同时,本发明取消了外设接收数据中断,降低了FPGA逻辑设计复杂度,降低了Linux系统下ARM CPU软件设计的复杂度。
总体而言,本发明利用环形数据缓冲区,将重复的接收流程中CPU处理的流程进行了简化,取消了接收中断信号,消除了CPU响应收数据中断引入的延时,简化了FPGA和CPU软件的设计复杂度,降低了FPGA存储资源的消耗,降低了数据接收流程的延时,为高速接口提供了一种高效率接收数据的方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明提供的Linux系统下FPGA数据低延时接收方法的结构框图;
图2附图为本发明提供的现有技术中常见的数据接收流程图;
图3附图为本发明提供的Linux系统下FPGA数据低延时接收方法的详细流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1和图2所示,本发明实施例公开了一种Linux系统下FPGA数据低延时接收方法,包括以下步骤:
S1、Linux系统下的CPU软件在内存中初始化环形数据缓冲区,并初始化DMA接收通道;
S2、CPU软件启动FPGA侧的DMA控制器使能接收;
S3、当有外部数据包到达时,FPGA接收该数据包的数据,并利用基于ARMAXI总线的DMA通道将该数据包传输到所述环形数据缓冲区;
S4、在该数据包的数据接收完成后,FPGA向DMA控制器发送数据完成信号,DMA控制器向CPU软件发起DMA完成中断;CPU软件响应该中断后对所述环形数据缓冲区的数据进行处理;
S5、当有新数据包到达时,重复执行S3-S4。
本发明取消了接收中断,并利用环形数据缓冲区降低CPU软件干涉的接收过程。当接收数据到达时,FPGA逻辑能自动利用DMA通道将接收数据搬移到内存,而无需等待CPU软件响应接收中断后再启动传输,本方法降低了接收的延时,降低了FPGA侧存储逻辑资源消耗,降低了Linux系统下软件和FPGA逻辑设计的复杂度。
具体的,本发明接手方法主要涉及CPU软件和FPGA逻辑,两部分通过内存中的环形数据缓冲区实现数据的低延时接收处理,并通过传输完成通知实现接收过程中模块间的同步运行。
CPU软件在初始化阶段,首先利用Linux DMA驱动标准接口申请DMA通道,然后完成内存环形数据缓冲区的初始化。
环形数据缓冲区中各个独立的内存缓冲区深度应为接口接收包最大长度(MAX_SIZE);缓冲区数量(BUFF_CNT)应根据接口接收速率(SPEED字节/秒)、接收包最小长度(MIN_SIZE字节)、软件处理缓冲的最大延迟(DELAY秒)做计算,此延时靠参考图3中第四步DMA完成中断触发到CPU处理完缓冲数据的延时,并考虑2-3倍缓冲数量的冗余;以3倍缓冲数量冗余设计为例,内存缓冲区数量的计算公式为:
BUFF_CNT=SPEED×DELAY÷MIN_SIZE。
CPU软件初始化内存环形缓冲区的步骤为:
(1)创建BUFF_CNT个大小为MAX_SIZE的内存缓冲区;
(2)创建BUFF_CNT个缓冲描述符,依次将各内存缓冲区地址填入各缓冲描述符缓冲区地址域(BUFFER_ADDRESS),并在缓冲描述符的控制域(CONTROL)、状态域(STATUS)填入缓冲长度、缓冲状态等信息;
(3)利用缓冲描述符中下一个BD地址域(NXTDESC)将各缓冲描述符依次串联起来,并将末尾缓冲描述符的下一个BD地址域指向第一缓冲描述符地址,使其形成环形数据缓冲区。
CPU软件完成环形数据缓冲区初始化后,将第一个缓冲描述符的地址信息配置给FPGA逻辑侧DMA控制器,然后利用DMA驱动标准接口启动DMA接收,DMA控制器会自动从缓冲描述符中获取缓冲相关信息。
至此,CPU软件的初始化工作基本完成。
在数据接收阶段,FPGA逻辑根据接收数据的包头信息,在每个数据包传输完成后向DMA控制器发送数据完成信号,DMA控制器向CPU软件发起DMA完成中断,此后DMA控制器会自动加载下一个缓冲描述符,并通过检查该缓冲描述符状态域(STATUS),来获取指向的内存缓冲区状态,若状态为忙,即缓冲中数据还未被CPU软件处理则通过DMA中断报错,若缓冲空闲则等待FPGA逻辑发起下一次传输,由于缓冲区描述符成环形,所以DMA控制器会循环使用描述符所指向的各个缓冲区,实现周而复始的接收过程。
Linux系统下CPU软件还需要实现对接收完成的数据缓冲的处理,当FPGA逻辑利用DMA控制器完成一个数据包的搬移后,DMA完成中断会被发起,CPU软件在响应该中断后可对缓冲数据进行处理,同时需要将缓冲描述符中的状态域(STATUS)配置为空闲。
本发明实施例有效的减少了如图2中CPU软件的多个处理流程,降低了接收数据延时,同时Linux系统下ARM CPU软件与FPGA逻辑的设计也得到了简化。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (6)
1.一种Linux系统下FPGA数据低延时接收方法,其特征在于,包括以下步骤:
S1、Linux系统下的CPU软件在内存中初始化环形数据缓冲区,并初始化DMA接收通道;
S2、CPU软件启动FPGA侧的DMA控制器使能接收;
S3、当有外部数据包到达时,FPGA接收该数据包的数据,并利用基于ARM AXI总线的DMA通道将该数据包传输到所述环形数据缓冲区;
S4、在该数据包的数据接收完成后,FPGA向DMA控制器发送数据完成信号,DMA控制器向CPU软件发起DMA完成中断;CPU软件响应该中断后对所述环形数据缓冲区的数据进行处理;
S5、当有新数据包到达时,重复执行S3-S4。
2.根据权利要求1所述的一种Linux系统下FPGA数据低延时接收方法,其特征在于,S1中,所述环形数据缓冲区的初始化阶段包括以下步骤:
S11、创建n个独立的内存缓冲区;
S12、创建n个缓冲描述符,CPU软件在CPU侧内存中利用所述缓冲描述符将各个独立的内存缓冲区组织起来;缓冲描述符包括:下一个缓冲描述符地址域、缓冲区地址域、控制域和状态域;
S13、CPU软件利用缓冲描述符中的下一个缓冲描述符地址域依次将各个所述缓冲描述符串联起来,并将末尾位置的缓冲描述符的下一个缓冲描述符地址域指向首端位置的缓冲描述符的地址,形成所述环形数据缓冲区。
3.根据权利要求2所述的一种Linux系统下FPGA数据低延时接收方法,其特征在于,S1中,CPU软件对所述环形数据缓冲区初始化完成后,将所述环形数据缓冲区中的缓冲描述符队列中的首个缓冲描述符的地址参数配置给FPGA侧的DMA控制器,并启动DMA控制器做好接收准备;DMA控制器自动从缓冲描述符中加载缓冲信息,等待FPGA发起数据接收信号。
4.根据权利要求2所述的一种Linux系统下FPGA数据低延时接收方法,其特征在于,S3中,DMA控制器自动依次加载所述环形数据缓冲区中缓冲描述符队列中的各个缓冲区描述符,并将接收的数据传输到各缓冲描述符指向的内存缓冲区。
5.根据权利要求4所述的一种Linux系统下FPGA数据低延时接收方法,其特征在于,缓冲描述符队列中缓冲描述符的数量是根据接口速率、Linux系统下ARM CPU处理延时情况和内存大小进行配置的。
6.根据权利要求1所述的一种Linux系统下FPGA数据低延时接收方法,其特征在于,S4中,接收整个数据包之后,FPGA使用DMA完成中断通知CPU软件对所述环形数据缓冲区中的缓冲数据进行处理,在无CPU软件干涉的条件下,DMA控制器自动加载下一个缓冲描述符,并等待FPGA发起新一次数据接收信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110976206.8A CN113741987A (zh) | 2021-08-24 | 2021-08-24 | 一种Linux系统下FPGA数据低延时接收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110976206.8A CN113741987A (zh) | 2021-08-24 | 2021-08-24 | 一种Linux系统下FPGA数据低延时接收方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113741987A true CN113741987A (zh) | 2021-12-03 |
Family
ID=78732551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110976206.8A Pending CN113741987A (zh) | 2021-08-24 | 2021-08-24 | 一种Linux系统下FPGA数据低延时接收方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113741987A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114398303A (zh) * | 2022-01-19 | 2022-04-26 | 扬州万方科技股份有限公司 | 一种实现低延时的数据传输方法及系统 |
CN116225534A (zh) * | 2023-05-10 | 2023-06-06 | 国仪量子(合肥)技术有限公司 | Dma数据传输控制系统 |
CN117312202A (zh) * | 2023-11-30 | 2023-12-29 | 浙江国利信安科技有限公司 | 片上系统和用于片上系统的数据传输方法 |
CN117851291A (zh) * | 2024-03-07 | 2024-04-09 | 北京象帝先计算技术有限公司 | 内存访问系统、电子组件及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468404A (zh) * | 2014-11-07 | 2015-03-25 | 迈普通信技术股份有限公司 | 一种缓冲区配置方法及装置 |
CN108228490A (zh) * | 2018-01-26 | 2018-06-29 | 武汉精测电子集团股份有限公司 | 一种基于pcie卡高速数据传输的驱动方法 |
CN109471816A (zh) * | 2018-11-06 | 2019-03-15 | 西安微电子技术研究所 | 一种基于描述符的pcie总线dma控制器及数据传输控制方法 |
-
2021
- 2021-08-24 CN CN202110976206.8A patent/CN113741987A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468404A (zh) * | 2014-11-07 | 2015-03-25 | 迈普通信技术股份有限公司 | 一种缓冲区配置方法及装置 |
CN108228490A (zh) * | 2018-01-26 | 2018-06-29 | 武汉精测电子集团股份有限公司 | 一种基于pcie卡高速数据传输的驱动方法 |
CN109471816A (zh) * | 2018-11-06 | 2019-03-15 | 西安微电子技术研究所 | 一种基于描述符的pcie总线dma控制器及数据传输控制方法 |
Non-Patent Citations (1)
Title |
---|
孙欣欣: "一种基于PCIE 总线的DMA 引擎研究", 云南大学学报( 自然科学版), 1 December 2020 (2020-12-01), pages 444 - 449 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114398303A (zh) * | 2022-01-19 | 2022-04-26 | 扬州万方科技股份有限公司 | 一种实现低延时的数据传输方法及系统 |
CN114398303B (zh) * | 2022-01-19 | 2022-10-28 | 扬州万方科技股份有限公司 | 一种实现低延时的数据传输方法及系统 |
CN116225534A (zh) * | 2023-05-10 | 2023-06-06 | 国仪量子(合肥)技术有限公司 | Dma数据传输控制系统 |
CN117312202A (zh) * | 2023-11-30 | 2023-12-29 | 浙江国利信安科技有限公司 | 片上系统和用于片上系统的数据传输方法 |
CN117312202B (zh) * | 2023-11-30 | 2024-03-01 | 浙江国利信安科技有限公司 | 片上系统和用于片上系统的数据传输方法 |
CN117851291A (zh) * | 2024-03-07 | 2024-04-09 | 北京象帝先计算技术有限公司 | 内存访问系统、电子组件及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113741987A (zh) | 一种Linux系统下FPGA数据低延时接收方法 | |
EP2530599A1 (en) | Method and mobile terminal for realizing audio transmission | |
CN103428108B (zh) | 数据帧处理方法和装置 | |
CN102388583B (zh) | 一种串口波特率配置方法及相关设备、系统 | |
WO2017148292A1 (zh) | 一种级联板、ssd远程共享访问的系统和方法 | |
CN113179227B (zh) | 基于队列的at指令控制方法 | |
CN103650401B (zh) | 一种移动终端内部通信方法 | |
CN105353671B (zh) | 核电站仪控系统的变量强制和释放装置及方法 | |
CN103019975B (zh) | 通用串行总线传输控制方法及主机设备 | |
CN111008169B (zh) | 一种低成本高速通信总线及其传输控制方法 | |
US9792193B2 (en) | Method and system for processing data conflict | |
CN103955153B (zh) | 一种运动控制系统及方法 | |
JP2007243239A (ja) | 通信装置及び通信方法 | |
CN106982156B (zh) | 优先级设置方法、装置、通信系统、设备及可读存储介质 | |
CN102736951A (zh) | 一种模块调用方法和装置 | |
CN101997777A (zh) | 中断处理方法、装置和网络设备 | |
CN111258937B (zh) | 一种环式链表dma的传输方法及系统 | |
CN212541321U (zh) | 血液细胞分析仪及其控制系统 | |
CN106371966B (zh) | 收集与数据处理系统的操作相关的监视数据 | |
CN107729140B (zh) | 一种并行实现多个eMMC主机接口命令排队功能的装置及方法 | |
CN103164369A (zh) | 数据传输的控制方法及装置 | |
CN106803816B (zh) | 一种可配置自适应负载平衡系统及方法 | |
CN114116583B (zh) | 双芯片的串行通信方法和具有双芯片的系统 | |
JPH04177445A (ja) | ディスクリプタ制御方式 | |
CN111078619A (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 |