CN113220607B - 一种基于fifo的数据处理方法 - Google Patents

一种基于fifo的数据处理方法 Download PDF

Info

Publication number
CN113220607B
CN113220607B CN202110579373.9A CN202110579373A CN113220607B CN 113220607 B CN113220607 B CN 113220607B CN 202110579373 A CN202110579373 A CN 202110579373A CN 113220607 B CN113220607 B CN 113220607B
Authority
CN
China
Prior art keywords
data
fifo
identifier
transmission
value
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
CN202110579373.9A
Other languages
English (en)
Other versions
CN113220607A (zh
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.)
Zhejiang Science Electronic Tech Co ltd
Original Assignee
Zhejiang Science Electronic Tech Co ltd
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 Zhejiang Science Electronic Tech Co ltd filed Critical Zhejiang Science Electronic Tech Co ltd
Priority to CN202110579373.9A priority Critical patent/CN113220607B/zh
Publication of CN113220607A publication Critical patent/CN113220607A/zh
Application granted granted Critical
Publication of CN113220607B publication Critical patent/CN113220607B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明公开了基于FIFO的数据处理方法,包括以下步骤:S1:处理器从外部数据源获取数据量,根据数据量计算总字节数;S2:根据数据量大小,确定数据发送的次数;S3:发送数据和标识符;S4:等待接收方回复标识,如果接收方回复的电平值为高电平,则表明接收方还没有处理完接收到的数据,需要继续等待,直到接收方回复的标识为低电平,说明接收方已经接收完数据并写入FIFO缓存,然后再进行下一次的数据发送;本发明适用于每次发送任务数据数量不固定的场景,发送方和接收方通过各自的标识进行通讯,通过数据同步和发送使能相对于FIFO写时钟完全对应起来,避免了数据写入FIFO缓存的重复或数据丢失问题。

Description

一种基于FIFO的数据处理方法
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于FIFO的数据处理方法。
背景技术
FIFO是数据通讯领域常用的数据缓存技术,尤其是以FPGA(Field Program GateArray)为代表的可编程逻辑器件,经常会使用FIFO来对数据进行缓存,通过对数据的缓存,可以提高数据输出的可靠性。FIFO看似原理很简单,但是在使用过程中,对于批量数据传输时,如果对于FIFO的时钟,写使能,数据三者不能很好的配合会导致通过FIFO缓存后读出来的数据有重复或者一些数据因为被重复数据覆盖而丢失。因为FIFO没有地址,在每次传输数据数量都是相同的情况下,处理起来很简单,只要通过计数器把所有数据写入FIFO就可以正确地从FIFO缓存区读出数据。但是当要写入FIFO的数据总量不确定是多少或者说不知道需要写入多少次才能写完,这种情况下固然可以将FIFO发送的位数设置的非常大,通过一次传输完成所有的数据发送,虽然理论可行,但是当传输数据量很小的情况下,FIFO的资源浪费很大。这种方式不能有效地发挥FIFO的缓冲效果。另一种情况是知道每次需要写入的最小单位数据比如一个字节,在没有外部给FIFO写使能的条件下,因为不知道多次写入FIFO的数据总计有多少,就不能通过计数的方式来确定要写入数据的数量。而简单地通过拉高写使能信号使能写数据处理,进行数据缓存,则会导致FIFO一直处于写使能状态,在连续不断地写入数据时,很容易出现后写入的数据覆盖最早写入的数据,使得FIFO出现重复写入最后发送的数据,造成最早写入的数据被覆盖(丢失),并且会在输出端读出重复的数据。这样会导致一些不需要重复写入的数据写入FIFO缓存区,而需要写入的数据因为缓存区被重复的数据占用,又没有写入缓存区的问题出现,影响数据传输的正确性。
例如,申请号为201610754742.2的中国专利公开了批量数据处理方法、前端系统、主机及批量数据处理系统,虽然内容也涉及批量数据传输,但是并没有介绍在数据写入FIFO缓存前,如何对数据进行处理避免写入缓存数据重复或数据丢失的问题。
发明内容
本发明主要解决现有的技术中写入缓存数据重复或数据丢失的问题;提供一种基于FIFO的数据处理方法,在不确定数据总量需要发送多少次才能发送完成的条件下,使得每一个需要写入的数据都能够正确地写入FIFO缓存,避免丢失,同时也避免了由于写入缓存数据重复而带来的读出数据重复的问题,充分利用了FIFO的资源,并且节省了FIFO的资源。
本发明的上述技术问题主要是通过下述技术方案得以解决的:一种基于FIFO的数据处理方法,应用于数据处理系统中,所述数据处理系统包括:处理器,用于从外部数据源获得数据,作为数据的发送方,将数据分批次进行传输;可编程器件,用于产生读写时序信息,控制FIFO按照时序信息工作,作为数据的接收方;FIFO,用于数据存储,与可编程器件连接;
处理器作为数据发送方发送数据时的数据处理包括以下步骤:
S1:处理器从外部数据源获取数据量,根据数据量计算总字节数;
S2:根据数据量大小,确定数据发送的次数;
S3:发送数据和标识符;
S4:等待接收方接收数据后回复一个标识。在进行数据发送和接收前,关于通讯状态需要发送方和接收方事先约定好:发送方给接收方发送数据时同时附带一个标识(为方便起见该标识默认值为高电平),在发送数据时该标识被发送方设置为高电平,接收方收到这个标识检测其电平值为高电平,就知道发送方已经发送了有效数据,接收方接收数据后对数据进行处理,处理完数据后回复发送方一个标识,将这个标识设置为低电平。发送方接收到这个标识时,检测这个标识的电平值为低电平,就知道此时接收方已经接收完数据并写入FIFO缓存,然后再进行下一次的数据发送;如果发送方检测到接收方回复标识的电平值为高电平,则表明接收方还没有处理完接收到的数据,需要继续等待,直到接收方回复的标识为低电平。
S5:发送方检查发送的数据是否为最后一个字节数据,如果不是,则重复步骤S3和步骤S4,如果是,则结束数据发送;
可编程器件作为数据接收方接收数据时的数据处理包括以下步骤:
A:接收方接收来自发送方的数据和发送标识,按照各自的位置分别解析出数据和发送标识;
B:对发送标识电平值进行检测,按照上面S4的标识约定,判定其电平高低,如果为低电平,说明发送方发送的不是有效数据,或者发送方未发送数据需要继续等待,如果是高电平,说明发送方发送了有效数据;
C:由检测到的发送标识产生一个新的标识标记为NF;
D:当新标识NF为高电平,在FIFO写入的时钟沿到来时,同步接收到来的有效数据,其同步方法为:当新标识NF为高电平,将需要写入FIFO的有效数据赋值给一个新的寄存器,也就是让新的寄存器中的值保持和FIFO写入的时钟上升沿对齐。同时,再用新标识NF来作为写FIFO的使能;确保写入的数据(新的寄存器中的值)和此时此刻的写使能完全对应,避免数据重复写入,避免数据丢失;
E:将数据写入FIFO;
F:给发送方回复一个标识,接收方将根据该新标识NF的电平值状态回复发送方,如果新标识NF的电平值为低电平,此时接收方就给发送方回复一个低电平值,表示发送的数据已经写入FIFO,可以启动新一轮的数据发送。如果新标识NF为高电平,此时接收方就给发送方回复一个高电平值,说明接收方的数据还没有处理完成,发送方需要继续等待接收方处理完数据,发送方必须等到接收到的标识为低电平时才能结束等待启动新一轮的数据发送。
发送方和接收方通过各自的标识进行通讯,通过数据同步和发送使能相对于FIFO写时钟完全对应起来,避免了数据写入FIFO缓存的重复或数据丢失问题,每次只要能够满足最小的传输单元分多次传输数据即可,使得FIFO开辟的缓存区不需要太大,充分利用了FIFO的资源,并且节省了FIFO的资源。
作为优选,所述的数据发送的次数的确定方法为:根据传输数据的总线位宽,确定每次传输的数据位数,结合数据量大小确定数据发送的次数。方便数据进行分包发送。
作为优选,所述的数据发送的次数的确定方法为:根据每次写入FIFO的最少位数,按照单个字节八位进行换算,算出FIFO每次能传输的字节数,结合总字节数,计算出数据发送的次数。方便数据进行分包发送,加快数据处理,避免数据重复发送。
作为优选,所述的FIFO由独立的硬件芯片构成或属于可编程器件内部的功能模块。FIFO可选性多,降低系统成本。
作为优选,所述的FIFO作为软核由可编程器件提供。FIFO可选性多,降低系统成本。
作为优选,所述的新标识NF生成方法包括以下步骤:
S11:在可编程器件中设置一个两位的寄存器,并初始化其值为00;
S12:给寄存器赋值并进行左循环移位操作;
S13:检测寄存器值,在写入FIFO的时钟上升沿检测寄存器值;
S14:根据寄存器检测值,进行判断,为了便于理解事先约定:如果检测值为01,设置检测结果为高电平,如果检测值为其它值(00、10或11)则设置检测结果为低电平。再设置一个新标识NF,根据检测值的不同设置不同的电平值。当检测结果为高电平时,新标识NF为高电平,检测结果为低电平时,新标识NF为低电平。当然也可以约定,如果检测值为01,设置检测结果为低电平,如果检测值为其它值(00、10或11)则设置检测结果为高电平,此时设置一个新标识NF,根据检测值的不同设置不同电平值,当检测结果为低电平时,新标识NF为高电平,检测结果为高电平时,新标识NF为低电平。两种约定都是可以的。通过寄存器赋值进行检测值判断,设置标识,避免数据的重复或丢失。
作为优选,步骤S12中,寄存器赋值循环移位操作的具体方法为:将寄存器的最低位更改为接收到的标识,将寄存器的最低位替换为接收到的标识,最高位替换为寄存器原最低位的变量值然后,进行左循环移位操作。
本发明的有益效果是:(1)本发明适用于每次发送任务数据数量不固定的场景,发送方和接收方通过各自的标识进行通讯,通过数据同步和发送使能相对于FIFO写时钟完全对应起来,避免了数据写入FIFO缓存的重复或数据丢失问题;(2)该方法无需额外增加其它设备,简单易行,不需要增加额外成本;(3)在某些场景下,只需要每次发送,接收最低要求的数据,经过重复发送接收,理论上可以实现任意容量数据的传输,因为FIFO可以重复写操作和读操作,因此其容量不需要设置太大,节省了FIFO的资源。
附图说明
图1是本发明实施例的数据发送的流程图。
图2是本发明实施例的数据接收的流程图。
图3是本发明实施例的检测发送标识的流程图。
图4是本发明实施例的发送方和接收方标识约定示意图。
图5是本发明实施例的产生新标识NF的示意图。
图6是与本发明相关的一种数据处理系统。
图7是与本发明实施例相关的A组和B组时钟,使能,数据对应关系示意图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:一种基于FIFO的数据处理方法,应用于数据处理系统中,如图6所示,数据处理系统包括处理器,可编程器件和FIFO,其中处理器可以由ARM(Advanced RISCMachine)或数字信号处理器构成,从外部数据源获得数据,作为数据的发送方将数据分批次进行传输,可编程器件一般可以由FPGA构成,可编程器件主要产生读写时序,控制FIFO按照一定的时序关系工作,作为数据的接收方,而FIFO可以由独立的硬件芯片构成,也可以作为软核,由可编程器件提供,或者是属于可编程器件内部产生的功能模块,FIFO的作用是用来做数据缓存的,写入数据需要在写时钟,写使能的配合下进行,而读出数据需要在读时钟,读使能的配合下进行, 在正确的写入数据时序,正确的读出数据时序配合下,读出数据和写入数据完全相同,不会出现重复或丢失的问题。
为了确保数据正确地写入FIFO缓存区,从而正确地从FIFO缓存区读出数据,需要分别从数据发送和接收方正确地处理数据。为了便于理解数据处理,我们以TOD(Time OfDay)数据传输为例,该数据通讯根据用户的要求不同,传输的时间参数不相同,该数据通常以串行接口的形式传输,单次传输8位数据(一个字节),而处理器方以16位数据总线传输为例,还需要事先约定发送的数据和发送标识在16位数据总线中的位置,比如数据位于第一至第八位,第九位为发送标识,而接收方回复的标识位于16位数据总线的第十六位。
从发送方看,数据处理发送时需要进行如下步骤如图1所示:
S1:处理器需要从外部数据源获取数据量,确定要发送的数据量按照数据常用的单位来算需要发送多少个字节。
S2:处理器根据获取的数据量大小,确定要发送多少次,也就是说将一次发送的任务按照FIFO的每次缓存的数据大小,分成多次进行传输,可根据传输数据的总线位宽,确定每次传输的数据位数,结合数据量大小确定数据发送的次数,也可根据每次写入FIFO的最少位数,按照单个字节八位进行换算,算出FIFO每次能传输的字节数,结合总字节数,计算出数据发送的次数;例如,要发送的数据量为800字节,单次传输8位数据(一个字节),则需要进行800次的数据发送。
S3:发送数据和标识符,如图4所示,标识符用来告诉接收数据方,有数据要接收,需要接收方做好数据接收准备,每次发送数据时,通过标识符进行数据接收提示,保证数据能被准确的接收,防止数据丢失。
S4:等待接收方接收数据后回复一个标识。在进行数据发送和接收前,关于通讯状态需要发送方和接收方事先约定好:发送方给接收方发送数据时同时附带一个标识(为方便起见该标识默认值为高电平),在发送数据时该标识被发送方设置为高电平,接收方收到这个标识检测其电平值为高电平,就知道发送方已经发送了有效数据,接收方接收数据后对数据进行处理,处理完数据后回复发送方一个标识,将这个标识设置为低电平。发送方接收到这个标识时,检测这个标识的电平值为低电平,就知道此时接收方已经接收完数据并写入FIFO缓存,然后再进行下一次的数据发送;如果发送方检测到接收方回复标识的电平值为高电平,则表明接收方还没有处理完接收到的数据,需要继续等待,直到接收方回复的标识为低电平。
S5:发送方检查发送的数据是否为最后一个字节数据,如果不是就重复步骤S3和步骤S4,如果是,则结束数据发送。
从接收方看,处理接收数据时,需要进行如下的步骤,如图2所示,根据前面的举例,每次发送的数据为一个字节的长度,对于接收方来说,它是被动接收收据,每次发送的数据长度是固定的一个字节八位,因此接收方不需要知道需要接收的数据总量是多少,这样接收方处理数据就简单了。
A:接收方接收发送方发送过来的数据和发送的标识,按照各自的位置分别解析出数据和发送标识。
B:对发送标识电平值进行检测,按照上面S4的标识约定,判定其电平高低,如果为低电平,说明发送方发送的不是有效数据,或者发送方未发送数据需要继续等待,如果是高电平,说明发送方发送了有效数据。
C:根据发送标识电平值状态产生一个新的标识标记为NF如图5所示。
D:当新标识NF为高电平,在FIFO写入的时钟沿到来时,同步接收到来的有效数据,其同步方法为:当新标识NF为高电平,将需要写入FIFO的有效数据赋值给一个新的寄存器,也就是让新的寄存器值保持和FIFO写入的时钟上升沿对齐。同时,再用新标识NF来作为写FIFO的使能,控制FIFO的写操作;确保写入的数据和此时此刻的写使能完全对应,避免数据重复写入,避免数据丢失;如图7所示,A组为传统的FIFO时钟,写使能,数据三者关系图,B组为本发明通过新标识NF对FIFO时钟,写使能,数据三者对应关系的改进,B组中的每个数据多了标识NF,另外写使能也与传统FIFO的写使能不同,在写使能为低电平时,是不能写入FIFO的,这样通过新标识NF的作用,使得B组FIFO在数据写入时可以避免数据重复或丢失的问题。值得说明的是图7仅仅是实施例中的一种示意图,根据实际数据处理的情况,完全可以对时钟,使能,数据三者的对应关系进行调整,以避免数据在写入FIFO时出现重复或丢失的情况。
E:将数据写入FIFO。
F:给发送方回复一个标识,接收方将根据该新标识NF的电平值状态回复发送方,如果新标识NF的电平值为低电平,此时接收方就给发送方回复一个低电平值,表示发送的数据已经写入FIFO,可以启动新一轮的数据发送。如果新标识NF为高电平,此时接收方就给发送方回复一个高电平值,说明接收方的数据还没有处理完成,发送方需要继续等待接收方处理完数据,发送方必须等到接收到的标识为低电平时才能结束等待启动新一轮的数据发送。
为了更进一步深入理解接收方在步骤三涉及的新标识NF,下面介绍由发送标识来产生新标识NF的方法步骤如图3所示:
S11:在可编程器件中设置一个两位的寄存器,并初始化其值为00。
S12:寄存器赋值左循环移位操作;将寄存器的最低位替换为接收到的标识,最高位替换为寄存器原最低位的变量值,例如原寄存器为reg[1:0],修改后的寄存器为{reg[0],flag},其中flag代表接收到的标识,进行左循环移位操作则为:reg[1:0]《={ reg[0],flag}。
S13:检测步骤S12的寄存器值,在写入FIFO的时钟上升沿检测寄存器值。
S14:根据寄存器检测值,进行判断,可以约定:如果检测值为01,设置检测结果为高电平,如果检测值为其它值(00、10或11)则设置检测结果为低电平,根据检测值,再设置一个新标识NF,检测结果为高电平时,新标识NF为高电平,检测结果为低电平时,新标识NF为低电平。如图3所示,当然也可以约定,如果检测值为01,设置检测结果为低电平,如果检测值为其它值(00、10或11)则设置检测结果为高电平,此时根据检测值,设置一个新标识NF,检测结果为低电平时,新标识NF为高电平,检测结果为高电平时,新标识NF为低电平。两种约定都是可以的。
本发明所提出的一种基于FIFO的数据处理方法,通过接收方和发送方分别对数据进行处理,两者之间通过各自产生的标识来进行通讯,巧妙地实现了写入FIFO的数据和写使能信号,在写时钟的边沿处进行同步,从而避免了写入数据的重复或数据的丢失,提高了数据传输的可靠性,而通过此方法,FIFO的每次发送的数据大小(字节)是一定的,只要重复写入,读出数据即可,不需要将FIFO的容量设置的很大,一定程度上节省了资源。因为发送方采用本方案传输数据,发送方每次需要完成发送的总数据量可以不固定,但是FIFO单次写入的数据量又是固定的,这种将任务的不固定性,转化为FIFO每次写入数据又是固定的方法来处理,大大提高了数据传输的灵活性,同时又节省了FIFO的资源。
以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。

Claims (5)

1.一种基于FIFO的数据处理方法,应用于数据处理系统中,所述数据处理系统包括处理器,可编程器件和FIFO,其特征在于,
处理器作为数据发送方发送数据时的数据处理包括以下步骤:
S1:处理器从外部数据源获取数据量,根据数据量计算总字节数;
S2:根据数据量大小,确定数据发送的次数;
S3:发送数据和标识符;
S4:等待接收方回复标识,如果接收方回复的电平值为高电平,则表明接收方还没有处理完接收到的数据,需要继续等待,直到接收方回复的标识为低电平,说明接收方已经接收完数据并写入FIFO缓存,然后再进行下一次的数据发送;
S5:发送方检查发送的数据是否为最后一个字节数据,如果不是,则重复步骤S3和步骤S4,如果是,则结束数据发送;
可编程器件作为数据接收方接收数据时的数据处理包括以下步骤:
A:接收方接收来自发送方的数据和发送标识,按照各自的位置分别解析出数据和发送标识;
B:对发送标识电平值进行检测,判定其电平高低,如果为低电平,说明发送方发送的不是有效数据,或者发送方未发送数据需要继续等待,如果是高电平,说明发送方发送了有效数据;
C:由检测到的发送标识产生一个新的标识标记为NF;
D:当新标识NF为高电平,在FIFO写入的时钟沿到来时,同步接收到来的有效数据;
E:将数据写入FIFO;
F:给发送方回复一个标识,接收方将根据该新标识NF的电平值状态回复发送方,如果新标识NF的电平值为低电平,此时接收方就给发送方回复一个低电平值,表示发送的数据已经写入FIFO,如果新标识NF为高电平,此时接收方就给发送方回复一个高电平值,说明接收方的数据还没有处理完成,发送方需要继续等待接收方处理完数据;
所述新标识NF生成方法包括以下步骤:
S11:在可编程器件中设置一个两位的寄存器,并初始化其值为00;
S12:给寄存器赋值并进行左循环移位操作;
S13:检测寄存器值,在写入FIFO的时钟上升沿检测寄存器值;
S14:根据寄存器检测值,进行判断,如果检测值为01,则设置检测结果为高电平,如果检测值为00、10或11,则设置检测结果为低电平,根据检测结果,设置新标识NF,检测结果为高电平时,新标识NF为高电平,检测结果为低电平时,新标识NF为低电平;
步骤S12中,寄存器赋值循环移位操作的具体方法为:将寄存器的最低位替换为接收到的标识,最高位替换为寄存器原最低位的变量值然后,进行移位循环操作。
2.根据权利要求1所述的一种基于FIFO的数据处理方法,其特征在于,
数据发送的次数的确定方法为:根据传输数据的总线位宽,确定每次传输的数据位数,结合数据量大小确定数据发送的次数。
3.根据权利要求1所述的一种基于FIFO的数据处理方法,其特征在于,
数据发送的次数的确定方法为:根据每次写入FIFO的最少位数,按照单个字节八位进行换算,算出FIFO每次能传输的字节数,结合总字节数,计算出数据发送的次数。
4.根据权利要求1或2或3所述的一种基于FIFO的数据处理方法,其特征在于,
所述FIFO由独立的硬件芯片构成或属于可编程器件内部的功能模块。
5.根据权利要求1或2或3所述的一种基于FIFO的数据处理方法,其特征在于,
所述FIFO作为软核由可编程器件提供。
CN202110579373.9A 2021-05-26 2021-05-26 一种基于fifo的数据处理方法 Active CN113220607B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110579373.9A CN113220607B (zh) 2021-05-26 2021-05-26 一种基于fifo的数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110579373.9A CN113220607B (zh) 2021-05-26 2021-05-26 一种基于fifo的数据处理方法

Publications (2)

Publication Number Publication Date
CN113220607A CN113220607A (zh) 2021-08-06
CN113220607B true CN113220607B (zh) 2023-05-12

Family

ID=77099557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110579373.9A Active CN113220607B (zh) 2021-05-26 2021-05-26 一种基于fifo的数据处理方法

Country Status (1)

Country Link
CN (1) CN113220607B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117242441A (zh) * 2021-08-20 2023-12-15 华为技术有限公司 数据传输电路、芯片和终端
CN114064532B (zh) * 2021-11-08 2022-06-17 深圳华云信息系统有限公司 一种数据处理方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102654827A (zh) * 2011-03-02 2012-09-05 安凯(广州)微电子技术有限公司 一种先进先出缓冲器及缓存数据的方法
CN107153412A (zh) * 2017-06-16 2017-09-12 北方电子研究院安徽有限公司 一种具有发送fifo的can总线控制器电路

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2476192A (en) * 1991-08-16 1993-03-16 Multichip Technology High-performance dynamic memory system
US7657706B2 (en) * 2003-12-18 2010-02-02 Cisco Technology, Inc. High speed memory and input/output processor subsystem for efficiently allocating and using high-speed memory and slower-speed memory
US7454538B2 (en) * 2005-05-11 2008-11-18 Qualcomm Incorporated Latency insensitive FIFO signaling protocol
CN111262655B (zh) * 2020-01-15 2023-05-12 江苏方天电力技术有限公司 基于异步时钟的fpga万兆以太网数据高速发送方法
CN112699059B (zh) * 2020-12-17 2022-12-20 中国电子科技集团公司第四十一研究所 一种数据缓存和上传装置及数据缓存和上传方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102654827A (zh) * 2011-03-02 2012-09-05 安凯(广州)微电子技术有限公司 一种先进先出缓冲器及缓存数据的方法
CN107153412A (zh) * 2017-06-16 2017-09-12 北方电子研究院安徽有限公司 一种具有发送fifo的can总线控制器电路

Also Published As

Publication number Publication date
CN113220607A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN113220607B (zh) 一种基于fifo的数据处理方法
US4852127A (en) Universal protocol data receiver
CN111737182B (zh) 串行通信参数自动配置方法及系统
US20040059965A1 (en) Synchronous serial data communication bus
CN111698271B (zh) 一种hdlc协议ip核
CN109947677B (zh) 支持乱序功能的axi总线位宽转换装置及数据传输方法
CN112817518B (zh) 存储器系统及其操作方法
CN112463700B (zh) 一种控制axi总线带宽的方法和装置
CN113852533B (zh) 一种多通道数据通信系统、方法及电子设备
EP0564118B1 (en) Serial data transfer apparatus
CN111026691B (zh) 基于apb总线的owi通讯设备
CN116049054B (zh) 一种spi从设备在跨时钟域中的数据读写方法及系统
US9094911B2 (en) Data communication system, method of optimizing preamble length, and communication apparatus
CN115963891A (zh) 同步串行通信延迟补偿的方法、装置、存储介质及设备
CN113875162B (zh) Nfc读取器与双nfc接口应答器之间的数据交换装置
CN111104166B (zh) 寄存器的写入方法和写入装置
US5175750A (en) Application specific integrated circuit for a serial data bus
US7287208B2 (en) Two-wire interface having embedded per frame reliability information
CN116185936B (zh) 一种spi通信数据收发异常检测控制系统及检测方法
CN110505038B (zh) 一种数据传输方法及相关装置
CN111200432B (zh) 一种离散接口接收数据方法
US20060031424A1 (en) Packet signal processing architecture
KR102265400B1 (ko) Uart 통신 장치 및 방법
CN116804977A (zh) 片间数据传输系统及片间数据传输方法
CN116756073A (zh) 一种提高SPI slave的读写速度的方法

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