CN111124317A - 一种数据流写入的异步交替收发方法、收发系统及设备 - Google Patents
一种数据流写入的异步交替收发方法、收发系统及设备 Download PDFInfo
- Publication number
- CN111124317A CN111124317A CN202010013238.3A CN202010013238A CN111124317A CN 111124317 A CN111124317 A CN 111124317A CN 202010013238 A CN202010013238 A CN 202010013238A CN 111124317 A CN111124317 A CN 111124317A
- Authority
- CN
- China
- Prior art keywords
- data
- storage space
- gate
- read
- write
- 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 23
- 230000015654 memory Effects 0.000 claims description 161
- 239000000872 buffer Substances 0.000 claims description 61
- 238000004891 communication Methods 0.000 claims description 25
- 230000005540 biological transmission Effects 0.000 claims description 24
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 claims description 3
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 13
- 230000001960 triggered effect Effects 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006886 spatial memory Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公布了一种数据流写入的异步交替收发方法、收发系统及设备,包括以下步骤:1)创建第一存储空间和第二存储空间;2)向第一存储空间写入数据,当到达指定数据量阈值时,切换往第二存储空间写入数据;3)在读写切换控制模块接收到发送完毕标志信号前,第二存储空间写入数据,若写入的数据量达到指定阈值;若写满,则从第二存储空间的首地址开始覆盖写入新数据,并向读写切换控制模块发出覆盖标志信号;4)判断第二存储空间的覆盖标志信号是否给出,发送第二存储空间的数据;5)第一存储空间写入数据;若写入的数据量达到指定阈值,执行扩容操作;6)若读写切换控制模块收到发送完毕标志信号,则按上述步骤循环往复交替执行。
Description
技术领域
本发明涉及数字信号处理技术领域,特别是涉及一种数据流写入的异步交替收发方法、收发系统及设备。
背景技术
随着电子信息技术、无线通信技术、半导体集成电路技术、生物医疗技术的迅猛发展,电子、生物、医疗等诸多领域相互融合、彼此促进,对各种信号或大规模数据流的无线采集或实时采集等应用需求与日俱增。这就对处于采集前端与后级通信端之间的数据缓存提出了更高的要求,缓存器不仅要作为数据吞吐单元,更重要的是作为一种对前后两级不同速率、不同步调或不同体制电路之间的协调机制,并且就这种机制的工程实现而言,还需要在产品性能、实现复杂度、成本之间折中。
现有的数据流缓存技术,可归结为同步与异步两种方式,同步方式需要缓存器的前级与后级电路具备严格的时序约束,需要复杂的同步处理单元,应用灵活性差,尤其是与现有主流的移动网络、以太网络、Wi-Fi、蓝牙等基于异步分包机制的民用主流无线通信技术衔接不匹配。如宋会龙.基于FPGA的红外视频信号测试系统设计[D].西安电子科技大学,2017.的一个数据缓存的单元,其数据写入与读出的速率均确定不变,实现了在对数据进行位宽转化过程中的数据缓冲。相对而言,异步方式灵活性好,实现系统结构简单,且与主流民用无线通信体制兼容性好,由此异步方式也成为此领域的发展趋势。异步缓存技术正成为如广电网络建设、卫星通信、民用低费用通信、数字家庭、移动医疗检测通信领域的有力技术支撑。
常用的一种异步数据缓存方法是基于RAM(SRAM、SDRAM、DDR等)进行数据读写,而现有广泛应用的RAM器件的数据写入与读出需要时分进行,写入数据时不能读出,读出数据时不能写入,由此在承载数据流缓冲业务时,会造成数据的“断流”。另一种异步缓存方式是基于双RAM的“乒乓”读写技术,对两片对称的存储空间进行数据的交替写入与读出,当第一存储空间写满后,切换写第二存储空间,若第二存储空间数据未完成全部发送,则需等待其完成发送或丢弃部分未发送数据,而在等待其完成发送的过程又会造成新输入的数据由于无空间存储而丢失。如涂云.多光谱票据图像采集系统数据接口设计与实现[D].华中科技大学,2017.的一个用于图像数据传输过程中起数据缓冲作用的乒乓缓存系统。此方式比较适合应对读出速度始终大于或等于写入速度的情况,并不利于支撑后级为移动网络、以太网络、Wi-Fi、蓝牙等主流民用通信的数据读出发送。因为此类通信技术均是基于异步分包机制,并且存在“网络拥堵”等现象,所以在数据读出发送速率上会存在比较大的波动,在设计上只能保证在长时间内对缓存的平均读出发送速率大于写入速率,但在某时段内可能出现读出速率低于写入速率的情况,严重时甚至出现暂时性的停止读出情况。为了应对这种问题,现有的乒乓读写技术,一种解决方法是将存储空间容量尽可能作大,由此又带来新的问题。由于存储容量增加后仍然遵循若第一存储空间数据未写满,即使第二存储空间数据已读出发送完毕,也只能等第一存储空间写满后才会进行再次数据读出发送,这就造成了后级通信线路的“空闲”,系统运行效率降低,系统及通信链路浪费了不必要的资源开销,而且随着存储容量越大,这种问题就越明显。
发明内容
本发明提供一种数据流写入的异步交替收发方法、收发系统及设备,本发明在两个存储空间(第一存储空间(即存储空间A)和第二存储空间(即存储空间B))中设置一个相对较小的存储容量阈值Y,将读写在存储空间A(即存储器A)、存储空间B(即存储器B)中交替的条件设定为:当前正作为数据写入的空间存储数据量达到阈值Y,且正在作为读出数据的存储空间的数据被全部读出发送。当后级通信部分的读出数据速率大于或等于对存储空间的写入速率时,由此可保证后级通信不会出现长时间的空闲状态,避免资源开销的浪费;当后级通信部分的读出数据速率出现暂时小于对存储空间的写入速率,写入数据达到存储空间A的容量阈值且存储空间B中数据仍未读出完毕时,先对存储空间A进行动态扩容,突破阈值Y限制,将数据继续写入存储空间A剩余部分直至写满,在此过程开启对存储空间B的实时监测,只要存储空间B中数据已全部读出发送完毕(在此过程中读出数据速率恢复大于写入速率),则即刻切换为写存储空间B,同时读出存储空间A数据,由此以足够的缓存空间来抵御后级数据读出发送的速率波动,并保证后级通信部分获取数据的不间断性,提高了利用效率。本发明尤其适合用作实时采集与异步通信之间的衔接。
本发明至少通过如下技术方案之一实现。
一种数据流写入的异步交替收发方法,包括以下步骤:
1)创建存储模块,所述存储模块包括第一存储空间和第二存储空间;
2)首先向第一存储空间写入数据,当到达指定数据量阈值Y时,通过读写切换控制模块往第二存储空间写入数据,同时对第一存储空间已写入的数据进行读出并发送至后级数据发送电路;当数据发送完毕时,向读写切换控制模块发出发送完毕标志信号DA;
3)在读写切换控制模块接收到发送完毕标志信号DA前,第二存储空间写入数据,若第二存储空间中写入的数据量已达到指定阈值,则执行扩容操作;若第二存储空间已经写满,则从第二存储空间的首地址开始覆盖写入新数据,同时向读写切换控制模块发出覆盖标志信号F;
4)若读写切换控制模块接收到发送完毕标志信号DA,则判断第二存储空间的覆盖标志信号F是否给出,以及第二存储空间中写入的数据量是否达到指定阈值,然后在第二存储空间发送完全部数据后向读写切换控制模块发出发送完毕标志信号DB;
5)在读写切换控制模块接收到发送完毕标志信号DB前,第一存储空间不停写入数据;若第一存储空间中写入的数据量已达到指定阈值,则执行扩容操作;若第一存储空间已经写满,则从第一存储空间的首地址开始覆盖写入新数据,同时发出覆盖标志信号F;
6)若读写切换控制模块收到发送完毕标志信号DB,则根据上述步骤4)和步骤5)对第一存储空间和第二存储空间交替执行读写操作,其后第一存储空间和第二存储空间按上述步骤循环往复交替执行。
进一步地,指定阈值Y<第一存储空间的存储容量且指定阈值Y<第二存储空间的存储容量。
所述第一存储空间和第二存储空间,通过调用处理器或可编程逻辑器件内部集成的IP核实现,或者通过调用外部存储设备实现。
所述对第一存储空间和第二存储空间的数据是以基本帧数据长度为单位的整数倍写入或读出发送,所写入的数据是连续数据流,或者是任何非连续形式的数据流。
所述对第一存储空间和第二存储空间的数据读出发送,是以基本帧数据长度为单位的整数倍读出发送。
进一步地,步骤3)所述的扩容操作是继续往第二存储空间的剩余地址写入数据;步骤5)所述的扩容操作是继续往第一存储空间的剩余地址写入数据。
步骤4)的判断具体为:
若覆盖标志信号F未给出,则判断第二存储空间当前已写入数据量是否大于指定数据量阈值Y;若大于,则切换向第一存储空间写入数据,同时从第二存储空间首位地址开始发送数据,直至发送完第二存储空间所有数据,并给出发送完毕标志信号DB;若小于,则等待第二存储空间写入数据量达指定数据量阈值Y时,切换向第一存储空间写入数据,同时从第二存储空间首位地址开始发送数据,直至发送完第二存储空间所有数据,并向读写切换控制模块发出发送完毕标志信号DB;
若覆盖标志信号F已给出,则切换向第一存储空间写入数据,同时从第二存储空间当前写入数据地址处开始发送数据,待发送完第二存储空间末尾地址处数据后,再回过头发送第二存储空间首位地址数据,直至发送完当前写入地址的前一位地址中的数据,并向读写切换控制模块发出发送完毕标志信号DB。
进一步地,所述后级数据发送电路可以是某种通信装置,如Wi-Fi、有线以太网、蓝牙等;所述读写切换控制模块采用FPGA(Field Programmable Gate Array),用于控制第一存储空间和第二存储空间。
适用于所述的一种数据流写入的异步交替收发方法的系统,包括:读写切换控制模块、存储模块、数据写入模块和数据读出模块;
所述存储模块包括第一存储空间和第二存储空间,用于存储第一存储空间和第二存储空间的数据,该模块能够通过调用处理器或可编程逻辑器件内部集成的IP核实现,或者通过调用外部存储设备,所述外部存储设备包括但不限于SRAM、SDRAM或者DDR;
所述数据写入模块、数据读出模块与存储模块依次连接;
所述读写切换控制模块与数据写入模块、数据读出模块连接,用于切换第一存储空间和第二存储空间的读写操作,即用于决定当前时刻存储空间的状态是写入数据还是读出数据;
数据写入模块,用于控制数据写入存储空间,该存储空间为读写切换控制模块指定的当前执行写入数据操作的存储空间;
数据读出模块,用于控制数据从存储空间读出,该存储空间为读写状态切换控制模块指定的当前执行读出数据操作的存储空间。
进一步地,读写切换控制模块还包括第一判决模块和第二判决模块;
第一判决模块,用于将当前正在执行写入数据操作的存储空间中写入的数据量与指定阈值进行比较,并根据比较结果判断写入的数据量是否达到指定阈值;
第二判决模块,用于将从当前正在执行读出数据操作的存储空间读出的数据量与该存储空间所存储的数据量进行比较,并根据比较结果判断该存储空间的数据是否被全部读出。
一种数据流写入的异步交替收发设备,包括第一缓存器、计数器、判决器、状态选择器、第一先进先出存储器、第二先进先出存储器、第二缓存器以及第一与门、第一或门、第一非门和第二非门;
所述第一缓存器输入端连接外部数据输出端,所述第一缓存器输出端连接至所述第一先进先出存储器和所述第二先进先出存储器的数据输入端;所述第一缓存器读时钟端连接至所述计数器计数输入端;
所述计数器计数结果输出端连接至所述判决器判决的一个输入端,所述判决器的另一输入端连接外部阈值Y的输入,所述判决器判决结果输出端连接至状态选择器输入端,作为状态选择器的判决结果输入;
所述状态选择器的写使能输出端连接至所述第一先进先出存储器的写使能输入端,同时,所述状态选择器的写使能输出端通过第一非门连接至所述第二先进先出存储器的写使能输入端;
所述状态选择器的读使能输出端连接至所述第一先进先出存储器的读使能输入端,同时,所述状态选择器的读使能输出端通过第二非门连接至所述第二先进先出存储器的读使能输入端;
所述第一先进先出存储器和所述第二先进先出存储器的空信号输出端分别连接至所述第一或门的两个输入端,所述第一或门输出端与所述判决器判决结果输出端分别连接至所述第一与门的两个输入端,所述第一与门输出端连接至所述计数器清零端。
进一步地,所述第一先进先出存储器和所述第二先进先出存储器的数据输出端均连接至所述第二缓存器的数据输入端,所述第二缓存器的数据输出端连接至外部数据发送电路;
所述第一先进先出存储器和所述第二先进先出存储器的空信号输出端连接至状态选择器的输入端,分别作为状态选择器的第一空标志输入和第二空标志输入。
所述状态选择器控制所述第一先进先出存储器和所述第二先进先出存储器的读写状态轮流切换;所述状态选择器通过输出写使能第一信号、写使能第二信号、读使能第一信号、读使能第二信号分别实现:将所述第一缓存器的数据写入所述第一先进先出存储器、将所述第一缓存器的数据写入所述第二先进先出存储器、将所述第一先进先出存储器的数据读出到所述第二缓存器、将所述第二先进先出存储器的数据读出到所述第二缓存器。
所述第一缓存器对外部输入的数据流进行缓存。写使能第一信号有效时,所述第一缓存器的数据被写入到所述第一先进先出存储器;写使能第二信号有效时,所述第一缓存器的数据被写入到所述第二先进先出存储器。
所述计数器对写入第一先进先出存储器的数据量和写入第二先进先出存储器的数据量进行计算。写使能第一信号有效时,所述计数器对写入到所述第一先进先出存储器中的数据量进行计数,计数结果发送至所述判决器;写使能第二信号有效时,所述计数器对写入到所述第二先进先出存储器中的数据量进行计数,计数结果发送至所述判决器。
所述判决器对所述计数器的计数结果Q是否达到指定阈值进行判决,判决结果发送至状态选择器。所述计数器的计数结果Q达到或超过指定阈值Y时所述判决器判决结果成立,否则判决不成立。
所述第二缓存器对输出外部的数据流进行缓存。读使能第一信号有效时,所述第二缓存器接收所述第一先进先出存储器读出的数据;读使能第二信号有效时,所述第二缓存器接收所述第二先进先出存储器读出的数据。
所述第一先进先出存储器的数据被全部读出后,发送第一空标志信号到所述状态选择器;所述先入先出存储器B的数据被全部读出后,发送第二空标志信号到所述状态选择器;
若所述状态选择器在同时接收到所述判决器判决结果成立和空标志即第一空标志或第二空标志信号,所述状态选择器切换所述第一先进先出存储器和所述第二先进先出存储器的读写使能状态,即原先写使能的先进先出存储器切换为读使能,原先读使能的先进先出存储器切换为写使能。同时,所述计数器计数结果清零。
读写状态切换之前,若写使能第一信号有效:所述第一缓存器中的数据一直被写入到所述第一先进先出存储器中。若所述计数器计得写入所述第一先进先出存储器中的数据量已经达到了指定的阈值Y,则执行扩容操作:将所述第一缓存器中的数据写入到第一先进先出存储器的剩余空间,即备用空间中。若所述第一先进先出存储器被写满,则先写入第一先进先出存储器的数据溢出,被后写入的数据覆盖;若写使能第二信号有效:所述第一缓存器中的数据一直被写入到所述第二先进先出存储器中。若所述计数器计得写入所述第二先进先出存储器中的数据量已经达到了指定的阈值Y,则执行扩容操作:将所述第一缓存器中的数据写入到第二先进先出存储器的剩余空间,即备用空间中。若所述第二先进先出存储器被写满,则先写入第二先进先出存储器的数据溢出,被后写入的数据覆盖。
进一步地,所述第一先进先出存储器和第二先进先出存储器中设置存储容量的阈值Y,将读写在第一先进先出存储器和第二先进先出存储器中交替的条件设定为:当前正作为数据写入的先进先出存储器存储数据量达到阈值Y,且正在作为读出数据的先进先出存储器的数据被全部读出发送。
当后级通信部分的读出数据速率大于或等于对先进先出存储器的写入速率时,由此可保证后级通信不会出现长时间的空闲状态,避免资源开销的浪费;当后级通信部分的读出数据速率出现暂时小于对先进先出存储器的写入速率,写入数据达到第一先进先出存储器的容量阈值且第二先进先出存储器中数据仍未读出完毕时,先对第一先进先出存储器进行动态扩容,突破阈值Y限制,将数据继续写入第一先进先出存储器剩余部分直至写满,在此过程开启对第二先进先出存储器的实时监测,只要第二先进先出存储器中数据已全部读出发送完毕(在此过程中读出数据速率恢复大于写入速率),则即刻切换为写第二先进先出存储器,同时读出第一先进先出存储器上的数据,由此以足够的缓存空间来抵御后级数据读出发送的速率波动,并保证后级通信部分获取数据的不间断性,提高了利用效率。
进一步地,阈值Y由外部电路输入,指定阈值Y<第一存储空间的存储容量且指定阈值Y<第二存储空间的存储容量。
进一步地,第一先进先出存储器的写使能第一信号经过第一非门后作为第二先进先出存储器的写使能第二信号,写使能第一信号与写使能第二信号在同一时刻其一有效,另一无效;第一先进先出存储器的读使能第一信号经过第二非门后作为第二先进先出存储器的读使能第二信号,读使能第一信号与读使能第二信号在同一时刻其一有效,另一无效。
进一步地,状态选择器为数据选择器,或者为用门及逻辑电路。
进一步地,所述的用门及逻辑电路包括第三非门、第四非门、第五非门、一个异或门、第二与门、第三与门、第四与门、第二或门、第三或门以及一个SR锁存器;
所述判决器输出信号端连接至异或门的第一输入脚,第二空标志信号连接至异或门第二输入脚,异或门输出信号XOR;
所述第一空标志信号经过第四非门后连接至第二与门的第一输入脚,第二空标志信号经过第五非门后连接至第二与门的第二输入脚,第二与门输出信号AND1;
异或门输出信号XOR连接至第二或门的第一输入脚,第二与门输出信号AND1连接至第二或门的第二输入脚,第二或门输出信号OR1;
第二或门输出信号OR1连接至SR锁存器的输入脚SD;判决器输出信号连接至第三与门的第一输入脚,第一空标志信号经过第四非门后连接至第三与门的第二输入脚,第三与门输出信号AND2;
判决器输出信号经过第三非门后连接至第四与门的第一输入脚,第二空标志信号经过第五非门后连接至第四与门的第二输入脚,第四与门输出信号AND3;
第三与门输出信号AND2连接至第三或门的第一输入脚,第四与门输出信号AND3连接至第三或门第二输入脚,第三或门输出信号OR2;
第三或门输出信号OR2连接至SR锁存器的输入脚RD;
SR锁存器输出脚Q连接至第一先进先出存储器写使能端,SR锁存器输出信号Q’连接至第一先进先出存储器读使能端。
与现有技术相比,本发明的优点在于:当后级通信部分的读出数据速率大于或等于对存储空间的写入速率时,可保证后级通信不会出现长时间的空闲状态,避免资源开销的浪费;当后级通信部分的读出数据速率出现暂时小于对存储空间的写入速率,提供足够的缓存空间来抵御后级数据读出发送的速率波动,并保证后级通信部分获取数据的不间断性,提高了利用效率。本设计尤其适合用作实时采集与异步通信之间的衔接。
附图说明
图1为本实施例的数据流写入的异步交替发送方法的总体流程图;
图2为本实施例的数据流写入的异步交替发送方法的存储模块读写状态切换流程图;
图3为本实施例的数据流写入的异步交替发送系统图;
图4为本实施例的一种数据流写入的异步交替收发设备总体流程图;
图5本实施例的数据流写入的异步交替收发设备中状态选择器用逻辑门与锁存器实现方式图。
具体实施方式
下面结合附图对本发明的技术方案进行说明。
如图1所示,一种数据流写入的异步交替收发方法,包括以下步骤:
S1、系统开始工作时或执行复位操作后,先创建第一存储空间即存储空间A和第二存储空间即存储空间B,该步骤可以通过调用处理器或可编程逻辑器件内部集成的IP核实现,也可通过调用外部存储设备实现。
S2、开始往第一存储空间写入数据,直到写入的数据量到达指定数据量阈值Y,切换到步骤S3。值得注意的是,指定阈值Y<第一存储空间的存储容量且指定阈值Y<第二存储空间的存储容量。
其中,数据写入操作可由前级写入电路触发。例如,当接收到前级写入电路发送的数据写入请求时,即触发数据写入操作。
S3、开始对第二存储空间写入数据,同时开始发送第一存储空间的数据。第一存储空间的数据全部发送完毕后向读写切换控制模块发出一个发送完毕标志信号DA。
S4、在读写切换控制模块接收到发送完毕标志信号DA之前,数据一直被写入到第二存储空间,若第二存储空间写入的数据量已经达到指定阈值Y,则执行扩容操作,往第二存储空间剩下的地址写入数据;若第二存储空间已被写满,则回过头来从第二存储空间的首地址开始覆盖写入数据,同时发出覆盖标志信号F。
S5、若读写切换控制模块接收到发送完毕标志信号DA,说明此时第一存储空间中上一轮被写入的数据全部发送完毕。此时可以对正在写入数据的第二存储空间进行检测,首先检测其是否给出了覆盖标志信号F。
S6、如果覆盖标志信号F已经给出,说明第二存储空间至少一次写满了并且回头从首地址开始覆盖写入新的数据,此时第二存储空间一定是满的状态,这也就意味着第二存储空间里存储的数据量一定是超过了指定阈值。因此可以直接执行读写状态的切换操作:第一存储空间开始从首地址写入新数据,第二存储空间则开始读出数据发送。
由于第二存储空间的数据是被覆盖过的,因此必须是从当前写入数据地址处开始读出数据发送,发送完最后一个地址的数据后回过头来从首地址开始发送数据,直至所有数据发送完毕,给出发送完毕信号DB。这样才能保证数据的原有的排列顺序不变。
在执行读写状态的切换的时候,要把覆盖标志信号清零。
S7、如果覆盖标志信号F还未给出,说明第二存储空间还未写满,此时则需分两种情况讨论:第一种情况是第二存储空间中写入的数据大于或等于指定阈值Y,第二种情况是第二存储空间中写入的数据量小于指定阈值Y。
若第二存储空间中写入的数据量大于或等于指定阈值Y,说明第二存储空间中写入的数据量已达到预设的要求,且由于覆盖标志信号未给出,这意味着写入第二存储空间的数据是从首地址按顺序排列到当前地址的。因此,可直接执行读写状态的切换操作:第一存储空间开始从首地址写入新数据,第二存储空间从首地址开始发送数据,直至第二存储空间中的数据全部发送完毕,给出发送完毕标志信号DB。
若第二存储空间中写入的数据量小于指定阈值Y,说明第二存储空间中写入的数据量没有达到预设的要求。因此,继续往第二存储空间写入数据,直至第二存储空间中的数据量到达指定阈值Y,然后执行读写状态的切换操作,具体操作为:第一存储空间开始从首地址写入新数据,第二存储空间从首地址开始发送数据,直至第二存储空间中的数据全部发送完毕,给出发送完毕标志信号DB。
S8、在接收到发送完毕信号DB之前,数据一直被写入到第一存储空间,若第一存储空间写入的数据量已经达到指定阈值Y,则执行扩容操作,往第一存储空间剩下的地址写入数据;若第一存储空间已被写满,则回过头来从第一存储空间的首地址开始覆盖写入数据,同时给出覆盖标志信号F。该状态一直持续第二存储空间的数据全部发送完毕且向读写切换控制模块发出发送完毕标志信号DB。
S9、读写切换控制模块在接收到发送完毕标志信号DB的时候,执行的操作则参考步骤
S4~步骤S8。
不难看出,此时第一存储空间和第二存储空间的读写状态切换了。此后,第一存储空间和第二存储空间将交替执行上述的读写操作。
对第一存储空间和第二存储空间的数据是以基本帧数据长度为单位的整数倍写入或读出发送,所写入的数据是连续数据流,或者是任何非连续形式的数据流。
关于第一存储空间和第二存储空间的读写状态的切换,具体的切换流程图如图2所示。
所述发送完毕信号、覆盖标志信号等信号发给读写切换控制模块,同时也是由读写切换控制模块控制发出,读写切换控制模块会根据当前时刻是否检测到这些标志位信息决定A、B两个存储空间的读写状态。读写状态切换的条件是:当前正作为数据写入的空间存储数据量达到阈值T(或者已经写满了并重头开始覆盖写入新数据,此时覆盖标志信号F给出),且正在作为读出数据的存储空间的数据被全部读出发送。
如图3所示,本发明还提供一种数据流写入的异步交替发送系统,包括:读写切换控制模块,数据写入模块、数据读出模块和存储模块。
所述存储模块包括第一存储空间和第二存储空间,用于存储第一存储空间和第二存储空间的数据,该模块能够通过调用处理器或可编程逻辑器件内部集成的IP核实现,或者通过调用外部存储设备,所述外部存储设备包括但不限于SRAM、SDRAM或者DDR。
所述读写切换控制模块与数据写入模块、数据读出模块连接,用于决定第一存储空间和第二存储空间当前何块处于写入数据状态,何块处于发送数据状态。具体方式如下:
首先,系统复位后首次执行写入操作时,选取第一存储空间(即存储空间A)写入数据,同时第二存储空间(即存储空间B)既不写入数据也不发送数据,待第一存储空间写入的数据量达到指定阈值Y的时候,执行读写状态切换:往第二存储空间写入数据,同时开始读出发送第一存储空间中存储的数据。
当第一存储空间的数据全部读出发送完毕后,向读写切换控制模块发出发送完毕标志信号DA。在接收到该信号前,即第一存储空间中的数据全部发送完毕之前,第二存储空间一直执行写入数据操作,如果写入的数据量达到了指定阈值Y,则执行扩容操作往第二存储空间剩下的地址写入数据;如果写满了,则回过头来从第二存储空间的首地址开始覆盖写入新数据,同时给出覆盖标志信号F。
接收到发送完毕标志信号DA时,则可以分为以下三种情况:
情况一:覆盖标志信号F已经给出。覆盖标志信号F已经给出,则说明第二存储空间至少一次写满并且从头开始覆盖写入新的数据了,可见第二存储空间的数据量一定超过了指定阈值Y,满足状态切换条件,因此把覆盖标志信号F清零并直接执行读写状态切换操作:往第一存储空间写入数据,同时开始发送第二存储空间中的数据。由于第二存储空间的数据是经过覆盖的,为保证数据顺序的正确性,必须是从当前写入地址处开始发送数据,发送完最后一个地址的数据后回过头来从首地址开始发送,直至发送完当前写入地址的前一位地址,全部数据发送完毕,向读写切换控制模块发出发送完毕信号DB。
情况二:覆盖标志信号F没有给出,但是第二存储空间中写入的数据量大于或等于指定阈值Y。覆盖标志信号F没有给出,说明第二存储空间并未写满,但是第二存储空间中写入的数据量大于或等于指定阈值Y,满足状态切换条件,且数据是从首地址按顺序排列到当前地址的,因此直接执行读写状态切换操作:往第一存储空间写入数据,同时从第二存储空间首地址开始发送数据。当第二存储空间中的数据全部发送完毕,向读写切换控制模块发出发送完毕信号DB。
情况三:覆盖标志信号F没有给出,且第二存储空间中写入的数据量小于指定阈值Y。这种情况下,由于第二存储空间中写入的数据量小于指定阈值Y,尚未满足状态切换条件,因此,继续往第二存储空间写入数据,直到写入的数据量达到指定阈值Y,执行读写状态切换操作:往第一存储空间写入数据,同时从第二存储空间首地址开始发送数据。当第二存储空间中的数据全部发送完毕,向读写切换控制模块发出发送完毕信号DB。
在接收到该信号发送完毕信号DB前,即第二存储空间中的数据全部发送完毕之前,第一存储空间一直执行写入数据操作,如果写入的数据量达到了指定阈值Y,则执行扩容操作往第一存储空间剩下的地址写入数据;如果写满了,则回过头来从第一存储空间的首地址开始覆盖写入新数据,同时给出覆盖标志信号F。
接收到发送完毕标志信号DB时,则读写切换控制模块操作和上述的三种情况一致,唯一的区别是A和B两块空间的读写状态互换。
此后,第一存储空间和第二存储空间按照上述方式循环往复交替执行读写操作的切换。
数据写入模块,用于当触发数据写入操作时,控制数据写入读写切换控制模块指定的存储空间。其中,数据写入操作可由前级写入电路触发。例如,当接收到前级写入电路发送的数据写入请求时,则根据读写状态切换模块的指示,触发数据写入操作。
数据发送模块,用于当触发发送数据操作时,将读写状态转换控制模块指定的存储空间中的数据读出并发送出去。
如图4所示,一种数据流写入的异步交替收发设备,包括第一缓存器(缓存器A)、计数器、判决器、状态选择器、第一先进先出存储器(先进先出存储器A)、第二先进先出存储器(先进先出存储器B)、第二缓存器(缓存器B)以及第一与门1D、第一或门1C、第一非门1A和第二非门1B。
所述第一缓存器输入端连接外部数据输出端,所述第一缓存器输出端连接至所述第一先进先出存储器和所述第二先进先出存储器的数据输入端;所述第一缓存器读时钟端连接至所述计数器计数输入端;所述第一先进先出存储器和第二先进先出存储器中设置存储容量的阈值Y,将读写在第一先进先出存储器和第二先进先出存储器中交替的条件设定为:当前正作为数据写入的先进先出存储器存储数据量达到阈值Y,且正在作为读出数据的先进先出存储器的数据被全部读出发送。
所述计数器计数结果输出端连接至所述判决器判决的一个输入端,所述判决器的另一输入端连接外部阈值Y的输入,所述判决器判决结果输出端连接至状态选择器输入端,作为状态选择器的判决结果输入;
所述状态选择器的写使能A输出端连接至所述第一先进先出存储器的写使能输入端,同时,所述状态选择器的写使能输出端通过第一非门1A连接至所述第二先进先出存储器的写使能输入端;
所述状态选择器的读使能A输出端连接至所述第一先进先出存储器的读使能输入端,同时,所述状态选择器的写使能输出端通过第二非门1B连接至所述第二先进先出存储器的读使能输入端;
所述第一先进先出存储器和所述第二先进先出存储器的数据输出端均连接至所述第二缓存器的数据输入端,所述第二缓存器的数据输出端连接至外部数据发送电路;
所述第一先进先出存储器和所述第二先进先出存储器的空信号输出端连接至状态选择器的输入端,分别作为状态选择器的第一空标志(空标志A)输入和第二空标志(空标志B)入;
所述第一先进先出存储器和所述第二先进先出存储器的空信号输出端分别连接至所述第一或门1C的两个输入端,所述第一或门1C输出端与所述判决器判决结果输出端分别连接至所述第一与门1D的两个输入端,所述第一与门1D输出端连接至所述计数器清零端;
所述状态选择器控制所述第一先进先出存储器和所述第二先进先出存储器的读写状态轮流切换;所述状态选择器通过输出写使能第一信号(写使能A信号)、写使能第二信号(写使能B信号)、读使能第一信号(读使能A信号)、读使能第二信号(读使能B信号)分别实现:将所述第一缓存器的数据写入所述第一先进先出存储器、将所述第一缓存器的数据写入所述第二先进先出存储器、将所述第一先进先出存储器的数据读出到所述第二缓存器、将所述第二先进先出存储器的数据读出到所述第二缓存器。
所述第一缓存器对外部输入的数据流进行缓存。写使能第一信号有效时,所述第一缓存器的数据被写入到所述第一先进先出存储器;写使能第二信号有效时,所述第一缓存器的数据被写入到所述第二先进先出存储器。
所述计数器对写入第一先进先出存储器的数据量和写入第二先进先出存储器的数据量进行计算。写使能第一信号有效时,所述计数器对写入到所述第一先进先出存储器中的数据量进行计数,计数结果发送至所述判决器;写使能第二信号有效时,所述计数器对写入到所述第二先进先出存储器中的数据量进行计数,计数结果发送至所述判决器。
设备开始工作时,所述计数器计数结果为0,所述第一先进先出存储器与所述第二先进先出存储器为空,因此,所述判决器判决结果不成立,第一空标志(空标志A)和第二空标志(空标志B)信号有效。所述状态选择器写使能所述第一先进先出存储器,同时读使能所述第二先进先出存储器。
所述第一缓存器对外部输入的数据流进行缓存,所述第一先进先出存储器在接收到所述状态选择器的写使能信号后,开始写入所述第一缓存器的数据。
所述计数器对写入到所述第一先进先出存储器中的数据量进行计数,计数结果发送至所述判决器。
所述判决器对所述计数器的计数结果Q是否达到指定阈值进行判决,判决结果发送至状态选择器。所述计数器的计数结果Q达到或超过指定阈值Y时所述判决器判决结果成立,否则判决不成立。
所述第二先进先出存储器在接收到所述状态选择器的读使能信号后,开始读出数据到第二缓存器中。若第二先进先出存储器中的数据被全部都出,第二先进先出存储器发送第二空标志至状态选择器。
在所述第二先进先出存储器的数据被全部读出之前,所述第一缓存器中的数据一直被写入到所述第一先进先出存储器中。若所述计数器计得写入所述第一先进先出存储器中的数据量已经达到了指定的阈值Y,则执行扩容操作:将所述第一缓存器中的数据写入到第一先进先出存储器的剩余空间,即备用空间中。若所述第一先进先出存储器被写满,则先写入第一先进先出存储器的数据溢出,被后写入的数据覆盖。
若所述状态选择器在同时接收到所述判决器判决结果成立和空标志(第一空标志或第二空标志)信号,所述状态选择器切换所述第一先进先出存储器和所述第二先进先出存储器的读写使能状态,即:原先写使能的先进先出存储器切换为读使能,原先读使能的先进先出存储器切换为写使能。同时,计数器计数结果清零。
所述第一先进先出存储器在接收到所述状态选择器的读使能信号后,开始读出数据到第二缓存器中。若第一先进先出存储器中的数据被全部都出,第一先进先出存储器发送第一空标志至状态选择器。
所述第二先进先出存储器在接收到所述状态选择器的写使能信号后,开始写入所述第一缓存器的数据。
所述计数器对写入到所述第二先进先出存储器中的数据量进行计数,计数结果发送至所述判决器。
所述判决器对所述计数器的计数结果Q是否达到指定阈值进行判决,判决结果发送至状态选择器。所述计数器的计数结果Q达到或超过指定阈值Y时所述判决器判决结果成立,否则判决不成立。
在所述第一先进先出存储器的数据被全部读出之前,所述第一缓存器中的数据一直被写入到所述第二先进先出存储器中。若所述计数器计得写入所述第二先进先出存储器中的数据量已经达到了指定的阈值Y,则执行扩容操作:将所述第一缓存器中的数据写入到第二先进先出存储器的剩余空间,即备用空间中。若所述第二先进先出存储器被写满,则先写入第二先进先出存储器的数据溢出,被后写入的数据覆盖。
若所述状态选择器在同时接收到所述判决器判决结果成立和空标志(第一空标志或第二空标志)信号,所述状态选择器切换所述第一先进先出存储器和所述第二先进先出存储器的读写使能状态,此后所述第一先进先出存储器与所述第二先进先出存储器的读写状态轮流切换。
其中,状态选择器可用数据选择器实现,也可以用门及逻辑电路实现。在一个示例性的实施例中,如图5所示,所述的用门及逻辑电路包括第三非门A、第四非门B、第五非门C、一个异或门D、第二与门E、第三与门F、第四与门G、第二或门H、第三或门I以及一个SR锁存器;
所述判决器输出信号端连接至异或门D的第一输入脚1,第二空标志信号连接至异或门D第二输入脚2,异或门D输出信号XOR;
所述第一空标志信号经过第四非门B后连接至第二与门E的第一输入脚1,第二空标志信号经过第五非门C后连接至第二与门E的第二输入脚2,第二与门E输出信号AND1;
异或门输出信号XOR连接至第二或门H的第一输入脚1,第二与门E输出信号AND1连接至第二或门H的第二输入脚2,第二或门H输出信号OR1;
第二或门H输出信号OR1连接至SR锁存器的输入脚SD;判决器输出信号连接至第三与门F的第一输入脚1,第一空标志信号经过第四非门B后连接至第三与门F的第二输入脚2,第三与门F输出信号AND2;
判决器输出信号经过第三非门A后连接至第四与门G的第一输入脚1,第二空标志信号经过第五非门C后连接至第四与门G的第二输入脚2,第四与门G输出信号AND3;
第三与门F输出信号AND2连接至第三或门I的输入脚1,第四与门G输出信号AND3连接至第三或门I第二输入脚2,第三或门I输出信号OR2;
第三或门I输出信号OR2连接至SR锁存器的输入脚RD;
SR锁存器输出脚Q连接至第一先进先出存储器写使能端,SR锁存器输出信号Q’连接至第一先进先出存储器读使能端。
设备开始工作时,所述计数器计数结果为0,所述第一先进先出存储器与所述第二先进先出存储器为空,因此,所述判决器判决结果不成立,第一空标志与第二空标志信号有效。所述状态选择器写使能所述第一先进先出存储器,同时读使能所述第二先进先出存储器。
若所述第一先进先出存储器写入的数据量达到指定阈值,则判所述决器判决结果成立。又由于所述第二先进先出存储器为空,空信号B有效。此时,SR锁存器输出结果为:写使能A无效,读使能A有效,同时写使能B有效,读使能B无效。
若所述第二先进先出存储器写入的数据量达到指定阈值,则所述判决器判决结果成立,否则判决结果不成立,所所述第一先进先出存储器的数据被全部读出,空心号A有效,否则空信号A无效。同一时刻,若判决器结果成立且空信号A有效,则SR锁存器输出结果切换为:写使能A有效,读使能A无效,同时写使能B无效,读使能B有效。否则,SR锁存器输出结果保持不变。
同样的,当则SR锁存器输出结果切换为:写使能A有效,读使能A无效,同时写使能B无效,读使能B有效后,若在同一时刻,若判决器结果成立且空信号B有效,SR锁存器结果切换为:写使能A无效,读使能A有效,同时写使能B有效,读使能B无效。否则,SR锁存器输出结果保持不变。
由此状态选择器实现控制第一先进先出存储器和第二先进先出存储器的读写状态轮流切换。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (10)
1.一种数据流写入的异步交替收发方法,其特征在于,包括以下步骤:
1)创建存储模块,所述存储模块包括第一存储空间和第二存储空间;
2)首先向第一存储空间写入数据,当到达指定数据量阈值Y时,通过读写切换控制模块往第二存储空间写入数据,同时对第一存储空间已写入的数据进行读出并发送至后级数据发送电路;当数据发送完毕时,向读写切换控制模块发出发送完毕标志信号DA;
3)在接收到发送完毕标志信号DA前,第二存储空间写入数据,若第二存储空间中写入的数据量已达到指定阈值,则执行扩容操作;若第二存储空间已经写满,则从第二存储空间的首地址开始覆盖写入新数据,同时向读写切换控制模块发出覆盖标志信号F;
4)若读写切换控制模块接收到发送完毕标志信号DA,则判断第二存储空间的覆盖标志信号F是否给出,以及第二存储空间中写入的数据量是否达到指定阈值,然后在第二存储空间发送完全部数据后向读写切换控制模块发出发送完毕标志信号DB;
5)在读写切换控制模块接收到发送完毕标志信号DB前,第一存储空间不停写入数据;若第一存储空间中写入的数据量已达到指定阈值,则执行扩容操作;若第一存储空间已经写满,则从第一存储空间的首地址开始覆盖写入新数据,同时发出覆盖标志信号F;
6)若读写切换控制模块收到发送完毕标志信号DB,则根据上述步骤4)和步骤5)对第一存储空间和第二存储空间交替执行读写操作,其后第一存储空间和第二存储空间按上述步骤循环往复交替执行。
2.根据权利要求1所述的数据流写入的异步交替收发方法,其特征在于,指定阈值Y<第一存储空间的存储容量且指定阈值Y<第二存储空间的存储容量;
所述第一存储空间和第二存储空间,通过调用处理器或可编程逻辑器件内部集成的IP核实现,或者通过调用外部存储设备实现;
所述对第一存储空间和第二存储空间的数据是以基本帧数据长度为单位的整数倍写入或读出发送,所写入的数据是连续数据流,或者是任何非连续形式的数据流;
对第一存储空间和第二存储空间的数据读出发送,是以基本帧数据长度为单位的整数倍读出发送。
3.根据权利要求1所述的数据流写入的异步交替收发方法,其特征在于,步骤3)所述的扩容操作是继续往第二存储空间的剩余地址写入数据;步骤5)所述的扩容操作是继续往第一存储空间的剩余地址写入数据;
步骤4)的判断具体为:
若覆盖标志信号F未给出,则判断第二存储空间当前已写入数据量是否大于指定数据量阈值Y;若大于,则切换向第一存储空间写入数据,同时从第二存储空间首位地址开始发送数据,直至发送完第二存储空间所有数据,并给出发送完毕标志信号DB;若小于,则等待第二存储空间写入数据量达指定数据量阈值Y时,切换向第一存储空间写入数据,同时从第二存储空间首位地址开始发送数据,直至发送完第二存储空间所有数据,并向读写切换控制模块发出发送完毕标志信号DB;
若覆盖标志信号F已给出,则切换向第一存储空间写入数据,同时从第二存储空间当前写入数据地址处开始发送数据,待发送完第二存储空间末尾地址处数据后,再回过头发送第二存储空间首位地址数据,直至发送完当前写入地址的前一位地址中的数据,并向读写切换控制模块发出发送完毕标志信号DB。
4.根据权利要求1所述的数据流写入的异步交替收发方法,其特征在于,所述后级数据发送电路可以是某种通信装置,如Wi-Fi、有线以太网、蓝牙等;所述读写切换控制模块采用FPGA(Field Programmable Gate Array),用于控制第一存储空间和第二存储空间。
5.适用于权利要求1所述的一种数据流写入的异步交替收发方法的系统,其特征在于,包括:读写切换控制模块、存储模块、数据写入模块和数据读出模块;
所述存储模块包括第一存储空间和第二存储空间,用于存储第一存储空间和第二存储空间的数据,该模块能够通过调用处理器或可编程逻辑器件内部集成的IP核实现,或者通过调用外部存储设备,所述外部存储设备包括但不限于SRAM、SDRAM或者DDR;
所述数据写入模块、数据读出模块与存储模块依次连接;
所述读写切换控制模块与数据写入模块、数据读出模块连接,用于切换第一存储空间和第二存储空间的读写操作,即用于决定当前时刻存储空间的状态是写入数据还是读出数据;
数据写入模块,用于控制数据写入存储空间,该存储空间为读写切换控制模块指定的当前执行写入数据操作的存储空间;
数据读出模块,用于控制数据从存储空间读出,该存储空间为读写状态切换控制模块指定的当前执行读出数据操作的存储空间。
6.根据权利要求5所述的系统,其特征在于,读写切换控制模块还包括第一判决模块和第二判决模块;
第一判决模块,用于将当前正在执行写入数据操作的存储空间中写入的数据量与指定阈值进行比较,并根据比较结果判断写入的数据量是否达到指定阈值;
第二判决模块,用于将从当前正在执行读出数据操作的存储空间读出的数据量与该存储空间所存储的数据量进行比较,并根据比较结果判断该存储空间的数据是否被全部读出。
7.适用于权利要求1所述的一种数据流写入的异步交替收发方法的设备,其特征在于:包括第一缓存器、计数器、判决器、状态选择器、第一先进先出存储器、第二先进先出存储器、第二缓存器以及第一与门(1D)、第一或门(1C)、第一非门(1A)和第二非门(1B);
所述第一缓存器输入端连接外部数据输出端,所述第一缓存器输出端连接至所述第一先进先出存储器和所述第二先进先出存储器的数据输入端;所述第一缓存器读时钟端连接至所述计数器计数输入端;
所述计数器计数结果输出端连接至所述判决器判决的一个输入端,所述判决器的另一输入端连接外部阈值Y的输入,所述判决器判决结果输出端连接至状态选择器输入端,作为状态选择器的判决结果输入;
所述状态选择器的写使能输出端连接至所述第一先进先出存储器的写使能输入端,同时,所述状态选择器的写使能输出端通过第一非门(1A)连接至所述第二先进先出存储器的写使能输入端;
所述状态选择器的读使能输出端连接至所述第一先进先出存储器的读使能输入端,同时,所述状态选择器的读使能输出端通过第二非门(1B)连接至所述第二先进先出存储器的读使能输入端;
所述第一先进先出存储器和所述第二先进先出存储器的空信号输出端分别连接至所述第一或门(1C)的两个输入端,所述第一或门(1C)输出端与所述判决器判决结果输出端分别连接至所述第一与门(1D)的两个输入端,所述第一与门(1D)输出端连接至所述计数器清零端。
8.根据权利要求1所述的数据流写入的异步交替收发设备,其特征在于,所述第一先进先出存储器和所述第二先进先出存储器的数据输出端均连接至所述第二缓存器的数据输入端,所述第二缓存器的数据输出端连接至外部数据发送电路;
所述第一先进先出存储器和所述第二先进先出存储器的空信号输出端连接至状态选择器的输入端,分别作为状态选择器的第一空标志输入和第二空标志输入;
所述第一先进先出存储器和第二先进先出存储器中设置存储容量的阈值Y,将读写在第一先进先出存储器和第二先进先出存储器中交替的条件设定为:当前正作为数据写入的先进先出存储器存储数据量达到阈值Y,且正在作为读出数据的先进先出存储器的数据被全部读出发送。
9.根据权利要求1所述的数据流写入的异步交替收发设备,其特征在于,状态选择器为数据选择器,或者为用门及逻辑电路。
10.根据权利要求9所述的数据流写入的异步交替收发设备,其特征在于,所述的用门及逻辑电路包括第三非门(A)、第四非门(B)、第五非门(C)、一个异或门(D)、第二与门(E)、第三与门(F)、第四与门(G)、第二或门(H)、第三或门(I)以及一个SR锁存器;
所述判决器输出信号端连接至异或门(D)的第一输入脚,第二空标志信号连接至异或门(D)第二输入脚,异或门(D)输出信号XOR;
所述第一空标志信号经过第四非门(B)后连接至第二与门(E)的第一输入脚,第二空标志信号经过第五非门(C)后连接至第二与门(E)的第二输入脚,第二与门(E)输出信号AND1;
异或门输出信号XOR连接至第二或门(H)的第一输入脚,第二与门(E)输出信号AND1连接至第二或门(H)的第二输入脚,第二或门(H)输出信号OR1;
第二或门(H)输出信号OR1连接至SR锁存器的输入脚SD;判决器输出信号连接至第三与门(F)的第一输入脚,第一空标志信号经过第四非门(B)后连接至第三与门(F)的第二输入脚,第三与门(F)输出信号AND2;
判决器输出信号经过第三非门(A)后连接至第四与门(G)的第一输入脚,第二空标志信号经过第五非门(C)后连接至第四与门(G)的第二输入脚,第四与门(G)输出信号AND3;
第三与门(F)输出信号AND2连接至第三或门(I)的第一输入脚,第四与门(G)输出信号AND3连接至第三或门(I)第二输入脚,第三或门(I)输出信号OR2;
第三或门(I)输出信号OR2连接至SR锁存器的输入脚RD;
SR锁存器输出脚Q连接至第一先进先出存储器写使能端,SR锁存器输出信号Q’连接至第一先进先出存储器读使能端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010013238.3A CN111124317A (zh) | 2020-01-07 | 2020-01-07 | 一种数据流写入的异步交替收发方法、收发系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010013238.3A CN111124317A (zh) | 2020-01-07 | 2020-01-07 | 一种数据流写入的异步交替收发方法、收发系统及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111124317A true CN111124317A (zh) | 2020-05-08 |
Family
ID=70487077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010013238.3A Pending CN111124317A (zh) | 2020-01-07 | 2020-01-07 | 一种数据流写入的异步交替收发方法、收发系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111124317A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708489A (zh) * | 2020-05-26 | 2020-09-25 | 苏州浪潮智能科技有限公司 | 一种提高硬盘服务质量的方法和设备 |
CN111970488A (zh) * | 2020-07-31 | 2020-11-20 | 中标慧安信息技术股份有限公司 | 监控视频多方应用上传方法及系统 |
CN112804003A (zh) * | 2021-02-19 | 2021-05-14 | 上海剑桥科技股份有限公司 | 一种基于光模块通信的存储方法、系统及终端 |
CN113608695A (zh) * | 2021-07-29 | 2021-11-05 | 济南浪潮数据技术有限公司 | 一种数据处理方法、系统、设备以及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010019050A (ko) * | 1999-08-24 | 2001-03-15 | 서평원 | 판독/기록 취소 가능 가변 용량 선입 선출 통신 시스템 |
CN101923440A (zh) * | 2009-06-15 | 2010-12-22 | 杭州中科微电子有限公司 | 一种高速异步数据采集系统 |
CN103294411A (zh) * | 2013-04-28 | 2013-09-11 | 哈尔滨工业大学 | 具有大容量存储的低速载荷数据加载模块 |
CN104599227A (zh) * | 2013-10-30 | 2015-05-06 | 南京理工大学 | 用于高速ccd数据存储的ddr3仲裁控制器及方法 |
-
2020
- 2020-01-07 CN CN202010013238.3A patent/CN111124317A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010019050A (ko) * | 1999-08-24 | 2001-03-15 | 서평원 | 판독/기록 취소 가능 가변 용량 선입 선출 통신 시스템 |
CN101923440A (zh) * | 2009-06-15 | 2010-12-22 | 杭州中科微电子有限公司 | 一种高速异步数据采集系统 |
CN103294411A (zh) * | 2013-04-28 | 2013-09-11 | 哈尔滨工业大学 | 具有大容量存储的低速载荷数据加载模块 |
CN104599227A (zh) * | 2013-10-30 | 2015-05-06 | 南京理工大学 | 用于高速ccd数据存储的ddr3仲裁控制器及方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708489A (zh) * | 2020-05-26 | 2020-09-25 | 苏州浪潮智能科技有限公司 | 一种提高硬盘服务质量的方法和设备 |
CN111708489B (zh) * | 2020-05-26 | 2021-08-24 | 苏州浪潮智能科技有限公司 | 一种提高硬盘服务质量的方法和设备 |
CN111970488A (zh) * | 2020-07-31 | 2020-11-20 | 中标慧安信息技术股份有限公司 | 监控视频多方应用上传方法及系统 |
CN111970488B (zh) * | 2020-07-31 | 2021-10-26 | 中标慧安信息技术股份有限公司 | 监控视频多方应用上传方法及系统 |
CN112804003A (zh) * | 2021-02-19 | 2021-05-14 | 上海剑桥科技股份有限公司 | 一种基于光模块通信的存储方法、系统及终端 |
CN113608695A (zh) * | 2021-07-29 | 2021-11-05 | 济南浪潮数据技术有限公司 | 一种数据处理方法、系统、设备以及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111124317A (zh) | 一种数据流写入的异步交替收发方法、收发系统及设备 | |
US7949803B2 (en) | System and method for transmitting data packets in a computer system having a memory hub architecture | |
EP0823168B1 (en) | Low latency, high clock frequency plesioasynchronous packet-based crossbar switching chip system and method | |
US6414961B1 (en) | ATM switching with virtual circuit FIFO buffers | |
CN111400205B (zh) | 一种先进先出地址轮询缓存读写方法、系统及装置 | |
WO2022227895A1 (zh) | 数据传输方法、装置、终端设备及计算机可读存储介质 | |
CN116431079A (zh) | 数据读取、写入方法及装置、带宽转换装置和电子设备 | |
CN115543882B (zh) | 不同位宽总线间的数据转发装置及数据传输方法 | |
CN108429707B (zh) | 一种适应不同传输速率的时间触发业务转发器及方法 | |
CN108599908B (zh) | 通信系统和半导体设备 | |
CN211124014U (zh) | 一种数据流写入的异步交替收发设备 | |
US20030193894A1 (en) | Method and apparatus for early zero-credit determination in an infiniband system | |
TWI446766B (zh) | 管理執行之方法及具有執行管理能力之裝置 | |
JPH07202901A (ja) | Atmスイッチ | |
CN115579036A (zh) | 一种基于fpga的ddr连续存储电路及其实现方法 | |
CN112637027B (zh) | 基于uart的帧边界界定装置及发送方法和接收方法 | |
CN105718401A (zh) | 一种多路smii信号到一路mii信号的复用方法及系统 | |
JP2953362B2 (ja) | Lanのスイッチング装置 | |
CN113986798B (zh) | 一种基于usb总线透明传输的同步串口卡及频率自适应方法 | |
JP2000295295A (ja) | ブロック・データ転送用バッファメモリ及びシリアルデータ送受信システム | |
WO2021253999A1 (zh) | 一种数据接入方法、装置、芯片和计算机存储介质 | |
EP2515226A1 (en) | An arrangement | |
JP3651672B2 (ja) | 演算処理システム、特に通信装置のための演算処理システム | |
CN114968909A (zh) | 一种soc芯片、电子设备及滑动缓存器的功耗优化方法 | |
CN112052204A (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 |