CN111767687A - 一种多路并行数据采样***及方法 - Google Patents
一种多路并行数据采样***及方法 Download PDFInfo
- Publication number
- CN111767687A CN111767687A CN202010612503.XA CN202010612503A CN111767687A CN 111767687 A CN111767687 A CN 111767687A CN 202010612503 A CN202010612503 A CN 202010612503A CN 111767687 A CN111767687 A CN 111767687A
- Authority
- CN
- China
- Prior art keywords
- data
- processing unit
- engine
- path
- level
- 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
- 238000005070 sampling Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 title claims description 15
- 238000012545 processing Methods 0.000 claims abstract description 59
- 239000000872 buffer Substances 0.000 claims 8
- 238000013461 design Methods 0.000 abstract description 12
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000004148 unit process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/347—Physical level, e.g. placement or routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
- G06F30/3953—Routing detailed
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Architecture (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种多路并行数据采样***,包括多路数据并行输入和处理单元,处理单元包括级联的1级处理单元、2级处理单元、……、Y级处理单元,其中,Y≥2且Y为正整数;每级处理单元中包括由多个缓存和数据引擎组成的单元,数据引擎包括MUX和仲裁器,仲裁器监视缓存的数据状态,当一个缓存满足数据读取条件时,仲裁器控制MUX选通该缓存,读取数据并将多个缓存的多路输出聚合为一路数据输出,数据引擎的带宽≥多路输入数据的带宽之和。还公开了一种多路并行采样方法,本发明使多路数据的采集在一颗芯片上实现,实现几十路甚至几百路的并行数据采样。无论在FPGA还是ASIC设计中,都能够产生时序良好的电路结构。
Description
技术领域
本发明涉及电子测量技术领域,具体的说,是一种多路并行数据采样***及方法。
背景技术
在信号处理和数据采样***里,需要同时传输多路信号数据,以便于信号分析。现有的通常做法是:一、在FPGA上做多路选择器(MUX)来实现,这种做法随着数据位宽,时钟频率,和数据路数的提高,在功能和FPGA布局布线上面临很多不足:首先在功能上,数据MUX是时分复用电路,任何时刻只能允许通过一路数据通过,这就不能保证多路数据采样的同步性,在对数据同步精确性非常高的场合下,不能满足需要;再者,如果信号数据位宽较大,或者时钟频率较高,会对MUX电路的组合逻辑规模造成很大影响,导致电路时序性能变差。根据设计经验,如果多路数据在30路以上,使用MUX方法的FPGA设计就会在布局布线变得非常困难,严重的会导致FPGA工具无法完成布局布线。在ASIC设计里,也会存在同样的问题。二,多路数据拼接成一路数据,这样做的缺点是任何时候都需要传输所有的多路数据,对采样传输带宽资源是一种浪费,且数据是按时钟节拍拼接而成,采样数据需要进一步拆分处理,才能够被分析使用,***流程设计变动繁琐。
发明内容
本发明的目的在于提供一种多路并行数据采样***及方法,用于解决现有技术中同时传输多路信号数据采用的方法中存在同步性和时序性不能满足的问题。
本发明通过下述技术方案解决上述问题:
一种多路并行数据采样***,包括多路数据并行输入和处理单元,所述处理单元包括级联的1级处理单元、2级处理单元、……、Y级处理单元,其中,Y≥2且Y为正整数,所述单元包括多个缓存和用于读取所述缓存的数据引擎,每个所述缓存用于写入一路输入数据,所述数据引擎包括MUX和仲裁器,所述仲裁器监视缓存的数据状态,当一个缓存满足数据读取条件时,仲裁器控制MUX选通该缓存,读取数据并将多个缓存的多路输出聚合为一路数据输出,数据引擎的带宽大于或等于多个缓存中输入数据的带宽之和。
每级处理单元把并行输入的数据处理成带宽更高的一路数据,经过多级处理单元,最终成为一路高带宽的数据信号,分时复用传输多路数据。为了保证缓存不会写满溢出丢失数据,数据引擎带宽等于或者大于多路输入数据的带宽之和,数据引擎从缓存读取数据的速率足够快,满足缓存不会被写满溢出。本发明使多路数据的采集在一颗芯片上实现,实现几十路甚至几百路的并行数据采样。多路数据的同步采集,可以达到时钟节拍的同步精度,无论在FPGA还是ASIC设计中,都能够产生时序良好的电路结构。
所述数据引擎的带宽设置方法为:设置数据引擎的数据位宽与输入数据位宽相同,设置MUX和仲裁器的时钟频率≥L*输入数据的时钟频率,其中L表示输入数据的路数。
所述数据引擎的带宽设置方法为:设置数据引擎的频率与输入数据的时钟频率相同,设置数据引擎的位宽≥L*输入数据的位宽,其中L表示输入数据的路数。
一种多路并行数据采样方法,包括:
步骤S100:将多路输入数据分别输入1级处理单元;
步骤S200:输入数据分别写入多个缓存,数据引擎监视缓存的状态,当一个缓存满足数据读取条件时,由仲裁器控制MUX选通该缓存,读取缓存的数据;
步骤S300:数据引擎将读取的多个缓存的数据聚合为一路数据输出;
步骤S400:2级处理单元至Y级处理单元顺序执行步骤S200,最后有Y级处理单元将整合后的一路数据输出,其中满足:Y≥2且Y为正整数,Y级处理单元的数据引擎的带宽≥P*(Y-1)级处理单元的数据引擎的带宽,其中,P为(Y-1)级处理单元的缓存个数。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明使多路数据的采集在一颗芯片上实现,实现几十路甚至几百路的并行数据采样。无论在FPGA还是ASIC设计中,都能够产生时序良好的电路结构。因此可以在较为低端的FPGA里时序更大规模的采集***设计,降低设计成本。
(2)本发明多级结构里每级单元可以根据引擎带宽需求进行时钟或位宽的调整;如果时钟频率是设计难点,可以降低时钟频率,增加位宽;如果逻辑资源是设计难点,可以提高时钟频率,减小位宽。即使用调整时钟或逻辑资源,来平衡电路设计的时序和资源的难点。
(3)本发明中的多路数据的同步采集,可以达到时钟节拍的同步精度;并行多路数据采集,数据不需要额外的分离解析步骤。
附图说明
图1为本发明的***框图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例1:
如图1所示,一种多路并行数据采样***,包括16路数据并行输入和处理单元,所述处理单元包括级联的一级处理单元、二级处理单元、三级处理单元和四级处理单元。一级处理单元中包括8个单元;二级处理单元中包括4个单元,其每个单元包括两个缓存和一个二级引擎,三级处理单元中包括4个单元,其每个单元包括两个缓存和一个三级引擎,四级处理单元中有一个单元,其包括两个缓存和一个四级引擎,每个单元中,引擎的带宽大于或等于其读取缓存的数据带宽之和。
一级处理单元中的每个单元的缓存用于写入一路输入数据,支持乒乓操作,一级引擎包括MUX和仲裁器,仲裁器监视缓存的数据状态,当一个缓存满足数据读取条件时,仲裁器控制MUX选通该缓存,读取数据并将两个缓存的两路输出聚合为一路数据输出至二级单元的一个单元的缓存中,同样,二级处理单元的每个单元的两个缓存的两路输出聚合为一路数据输出至三级处理单元的一个单元的缓存中,同样,三级处理单元的每个单元的两路输出聚合为一路数据输出至四级处理单元的一个缓存中。
这样,采用***的输入端支持16路数据并行输入,每级处理单元的把并行信号数据处理成带宽更高的一路数据,经过多级处理最终成为一路高带宽的数据信号,分时复用的来传输16路数据。
为了保证缓存不会写满溢出丢失数据,数据引擎带宽等于或者大于两路输入数据的带宽之和,数据引擎从缓存读取数据的速率足够快,满足缓存不会被写满溢出。
所述数据引擎的带宽设置方法为提升数据引擎处理数据的时钟频率:当一路输入数据的位宽为M比特,时钟频率为N赫兹,另一路输入带宽为M*N比特/秒时,数据引擎的数据位宽与输入数据位宽相同为M比特,MUX和仲裁器频率≥2*N赫兹,数据引擎带宽≥为2*M*N比特/秒。确保两个缓存里的数据被及时读取输出,缓存不会写满溢出。
所述数据引擎的带宽设置方法为增加数据位宽:当输入数据的位宽为M比特,经过位宽拼接成为2*M比特,数据引擎的频率与输入数据时钟频率相同为N赫兹,设置数据引擎的位宽≥2*M比特,数据引擎带宽≥为2*M*N比特/秒,数据引擎的带宽达到两路数据带宽之和。
实施例2:
一种多路并行数据采样方法,包括:
步骤S100:将16路数据两两为一组输入1级处理单元;
步骤S200:两路数据分别写入单元中的两个缓存,数据引擎监视缓存的状态,当一个缓存满足数据读取条件时,由仲裁器控制MUX选通该缓存,读取缓存的数据;
步骤S300:数据引擎将读取的两个缓存的数据聚合为一路数据输出;
步骤S400:2级处理单元至四级处理单元顺序执行步骤S200,最后有四级处理单元将整合后的一路数据输出,后一级处理单元的数据引擎的带宽≥2倍的前一级的处理单元的数据引擎的带宽,后一级处理单元的单元个数=前一级处理单元的单元个数/2。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
Claims (4)
1.一种多路并行数据采样***,其特征在于,包括多路数据并行输入和处理单元,所述处理单元包括级联的1级处理单元、2级处理单元、……、Y级处理单元,其中,Y≥2且Y为正整数,所述单元包括多个缓存和用于读取所述缓存的数据引擎,每个所述缓存用于写入一路输入数据,所述数据引擎包括MUX和仲裁器,所述仲裁器监视缓存的数据状态,当一个缓存满足数据读取条件时,仲裁器控制MUX选通该缓存,读取数据并将多个缓存的多路输出聚合为一路数据输出,数据引擎的带宽大于或等于多个缓存中输入数据的带宽之和。
2.根据权利要求1所述的一种多路并行数据采样***,其特征在于,所述数据引擎的带宽设置方法为:设置数据引擎的数据位宽与输入数据位宽相同,设置MUX和仲裁器的时钟频率≥L*输入数据的时钟频率,其中L表示输入数据的路数。
3.根据权利要求1所述的一种多路并行数据采样***,其特征在于,所述数据引擎的带宽设置方法为:设置数据引擎的频率与输入数据的时钟频率相同,设置数据引擎的位宽≥L*输入数据的位宽,其中L表示输入数据的路数。
4.一种多路并行数据采样方法,其特征在于,包括:
步骤S100:将多路输入数据分别输入1级处理单元;
步骤S200:输入数据分别写入多个缓存,数据引擎监视缓存的状态,当一个缓存满足数据读取条件时,由仲裁器控制MUX选通该缓存,读取缓存的数据;
步骤S300:数据引擎将读取的多个缓存的数据聚合为一路数据输出;
步骤S400:2级处理单元至Y级处理单元顺序执行步骤S200,最后有Y级处理单元将整合后的一路数据输出,其中满足:Y≥2且Y为正整数,Y级处理单元的数据引擎的带宽≥P*(Y-1)级处理单元的数据引擎的带宽,其中,P为(Y-1)级处理单元的缓存个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010612503.XA CN111767687A (zh) | 2020-06-30 | 2020-06-30 | 一种多路并行数据采样***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010612503.XA CN111767687A (zh) | 2020-06-30 | 2020-06-30 | 一种多路并行数据采样***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111767687A true CN111767687A (zh) | 2020-10-13 |
Family
ID=72724759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010612503.XA Pending CN111767687A (zh) | 2020-06-30 | 2020-06-30 | 一种多路并行数据采样***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767687A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485190A (zh) * | 2021-07-13 | 2021-10-08 | 西安电子科技大学 | 一种多通道数据采集***及采集方法 |
CN116132232A (zh) * | 2021-11-15 | 2023-05-16 | 西安电子科技大学 | 一种用于高速数字通信的多路并行上采样方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010056515A1 (en) * | 1996-09-19 | 2001-12-27 | Eino Jacobs | Method and apparatus for bus/arbitration with weighted bandwidth allocation |
CN101038574A (zh) * | 2006-03-17 | 2007-09-19 | 上海奇码数字信息有限公司 | 总线仲裁装置 |
CN101046788A (zh) * | 2006-03-31 | 2007-10-03 | 上海奇码数字信息有限公司 | 总线仲裁方法 |
CN101075183A (zh) * | 2007-06-29 | 2007-11-21 | 北京中星微电子有限公司 | 一种多路音频数据处理*** |
CN103581050A (zh) * | 2012-07-23 | 2014-02-12 | 上海粱江通信***股份有限公司 | 一种以太网数据汇聚方法 |
US20150170720A1 (en) * | 2013-12-17 | 2015-06-18 | Marvell World Trade Ltd. | Multiple port shared memory |
CN105607888A (zh) * | 2014-11-25 | 2016-05-25 | 中兴通讯股份有限公司 | 数据位宽转换方法及装置 |
-
2020
- 2020-06-30 CN CN202010612503.XA patent/CN111767687A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010056515A1 (en) * | 1996-09-19 | 2001-12-27 | Eino Jacobs | Method and apparatus for bus/arbitration with weighted bandwidth allocation |
CN101038574A (zh) * | 2006-03-17 | 2007-09-19 | 上海奇码数字信息有限公司 | 总线仲裁装置 |
CN101046788A (zh) * | 2006-03-31 | 2007-10-03 | 上海奇码数字信息有限公司 | 总线仲裁方法 |
CN101075183A (zh) * | 2007-06-29 | 2007-11-21 | 北京中星微电子有限公司 | 一种多路音频数据处理*** |
CN103581050A (zh) * | 2012-07-23 | 2014-02-12 | 上海粱江通信***股份有限公司 | 一种以太网数据汇聚方法 |
US20150170720A1 (en) * | 2013-12-17 | 2015-06-18 | Marvell World Trade Ltd. | Multiple port shared memory |
CN105607888A (zh) * | 2014-11-25 | 2016-05-25 | 中兴通讯股份有限公司 | 数据位宽转换方法及装置 |
WO2016082362A1 (zh) * | 2014-11-25 | 2016-06-02 | 中兴通讯股份有限公司 | 数据位宽转换方法、装置和设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485190A (zh) * | 2021-07-13 | 2021-10-08 | 西安电子科技大学 | 一种多通道数据采集***及采集方法 |
CN116132232A (zh) * | 2021-11-15 | 2023-05-16 | 西安电子科技大学 | 一种用于高速数字通信的多路并行上采样方法 |
CN116132232B (zh) * | 2021-11-15 | 2024-04-19 | 西安电子科技大学 | 一种用于高速数字通信的多路并行上采样方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111767687A (zh) | 一种多路并行数据采样***及方法 | |
US5418452A (en) | Apparatus for testing integrated circuits using time division multiplexing | |
US7406616B2 (en) | Data de-skew method and system | |
US9042404B2 (en) | Scalable interconnect modules with flexible channel bonding | |
CN108736897B (zh) | 应用于高速接口物理层芯片的并串转换电路及装置 | |
CN111736517A (zh) | 一种基于多通道adc和fpga的同步采集处理卡*** | |
JP2009525625A (ja) | シリアル相互接続の多数レーン用の装置及びデスキュー | |
CN104022775A (zh) | 一种面向SerDes技术中基于FIFO协议的数字接口电路 | |
CN103944583A (zh) | SerDes中高速串行信号的并行化处理方法及装置 | |
CN112152626B (zh) | 一种模数转换采集电路和芯片 | |
US20130070606A1 (en) | Increasing throughput of multiplexed electrical bus in pipe-lined architecture | |
CN111722027B (zh) | 基于fpga的相位噪声数据流处理装置及方法 | |
US20110006932A1 (en) | Programmable deserializer | |
KR20090113784A (ko) | 반도체 장치 | |
US7602868B2 (en) | Asynchronous transmission device, asynchronous transmission method | |
CN101106523A (zh) | 一种分段式共享光分组交换网络缓存结构 | |
CN117852488B (zh) | 一种高速串行数据收发***及时序自适应方法 | |
US20060136796A1 (en) | LSI device having scan separators provided in number reduced from signal lines of combinatorial circuits | |
JP4330146B2 (ja) | スキュー調整回路 | |
CN1275434C (zh) | 传输异步串口数据的方法及其实施装置 | |
CN111030695A (zh) | 基于模数转换的延时时间配置方法及*** | |
CN109862210B (zh) | 多路多谱段串行图像数据的采集接收*** | |
CN118068063B (zh) | 示波器 | |
CN221225412U (zh) | 电子设备 | |
KR100385231B1 (ko) | 버스 시스템 |
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 |