[go: up one dir, main page]

CN103592489A - 数字示波器深存储设计方法 - Google Patents

数字示波器深存储设计方法 Download PDF

Info

Publication number
CN103592489A
CN103592489A CN201310567241.XA CN201310567241A CN103592489A CN 103592489 A CN103592489 A CN 103592489A CN 201310567241 A CN201310567241 A CN 201310567241A CN 103592489 A CN103592489 A CN 103592489A
Authority
CN
China
Prior art keywords
data
fifo
ddr2sdram
digital oscilloscope
mcb
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
Application number
CN201310567241.XA
Other languages
English (en)
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.)
JIANGSU LVYANG ELECTRONIC INSTRUMENT GROUP CO Ltd
Original Assignee
JIANGSU LVYANG ELECTRONIC INSTRUMENT GROUP 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 JIANGSU LVYANG ELECTRONIC INSTRUMENT GROUP CO Ltd filed Critical JIANGSU LVYANG ELECTRONIC INSTRUMENT GROUP CO Ltd
Priority to CN201310567241.XA priority Critical patent/CN103592489A/zh
Publication of CN103592489A publication Critical patent/CN103592489A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Recording Measured Values (AREA)

Abstract

本发明属电子测量仪器领域,本发明的数字示波器深存储设计方法,包括如下步骤:(1)数据写入DDR2SDRAM时,前端采样得到的数据经过前抽点后存入前FIFO进行暂存;(2)每存到MCB核的一个突发长度的数据量就写入MCB核内部的写数据FIFO中,直到写入足够的数据;(3)数据从DDR2SDRAM读出时,MCB核控制DDR2SDRAM将数据读出到它的读数据FIFO中;(4)然后经过后抽点存入后FIFO中,最后由DSP从后FIFO把数据读走。本发明采用这种分区交替存储的方式来设计数字示波器的深存储功能,并实现了深存储下预触发、后触发、停止展宽、平移、压缩等具体功能,且达到很好的效果。

Description

数字示波器深存储设计方法
技术领域
本发明属电子测量仪器领域,尤其涉及一种数字示波器深存储设计方法。
背景技术
存储深度是对数字示波器存储采样点数的一个度量,是数字示波器的一项非常重要的指标。存储深度越大,就能够储存更多的采样点,包含更多的波形细节,提高数字示波器所捕获波形的质量。比如要对一个脉冲串行不间断捕捉,就要求数字示波器拥有足够的存储空间来保证整个事件被捕获。具有大存储深度的数字示波器叫深存储数字示波器,它具有同时分析高频和低频信号的能力。可见,深存储技术的不断提升,已成为数字示波器发展的重要的推动力量。
数字示波器存储深度做的比较大,一般也要在10MPTS以上。FPGA内部的RAM理论上可以作为深存储器,然而常用的FPGA的RAM资源都是很有限的,一般只有几兆Byte。而且,FPGA内部的RAM还要作为它用,所以这种方法不可取。采用外部容量较大的SRAM来充当深存储器也是一种可以实现的方法,但价格昂贵。
发明内容
本发明的技术效果能够克服上述缺陷,提供一种数字示波器深存储设计方法,其利用高速率的DDR2SDRAM作为深存储器,能够做到比较大的存储深度,既满足了指标又节约了成本,给深存储数字示波器的优化设计提供了平台。。
为实现上述目的,本发明采用如下技术方案:其包括如下步骤:
(1)数据写入DDR2SDRAM时,前端采样得到的数据经过前抽点后存入前FIFO进行暂存;
(2)每存到MCB核的一个突发长度的数据量就写入MCB核内部的写数据FIFO中,直到写入足够的数据;
(3)数据从DDR2SDRAM读出时,MCB核控制DDR2SDRAM将数据读出到它的读数据FIFO中;
(4)然后经过后抽点存入后FIFO中,最后由DSP从后FIFO把数据读走。
采集系统要实现双通道各1GSPS的采样率,深存储器就要对这个高速数据流进行存储。
设计中,进入前FIFO的250MSPS的32bit数据是采样、降速后得到的4个并行的点,(即8bit×4)中标明了后续传输中数据的位宽和速率.其中DDR2SDRAM的外部时钟为333MHz,由于它是双边沿传输数据,故而数据流为667MSPS。其他时钟使用的是166MHz,主要原则是后面数据读出的速率必须大于前面数据写入的速率,以免造成数据的丢失。整个DDR2读写以及刷新等过程都是由FPGA内部集成的MCBIP核控制的,只需要对MCB核进行正确设置即可。
本发明的数字示波器深存储设计方法就是采用这种分区交替存储的方式来设计数字示波器的深存储功能,并实现了深存储下预触发、后触发、停止展宽、平移、压缩等具体功能,且达到很好的效果。
附图说明
图1为本发明的深存储数据流程图;
图2为本发明的深存储触发地址产生原理图;
图3为本发明的分区交替存储产生原理图。
具体实施方式
本发明的数字示波器深存储设计方法,包括如下步骤:
(1)数据写入DDR2SDRAM时,前端采样得到的数据经过前抽点后存入前FIFO进行暂存;
(2)每存到MCB核的一个突发长度的数据量就写入MCB核内部的写数据FIFO中,直到写入足够的数据;
(3)数据从DDR2SDRAM读出时,MCB核控制DDR2SDRAM将数据读出到它的读数据FIFO中;
(4)然后经过后抽点存入后FIFO中,最后由DSP从后FIFO把数据读走。
深存储触发地址设计:
本发明最核心的任务就是DDR2SDRAM读写控制,具体操作由MCB核完成,对于FPGA内部设计的关键就是根据系统需求产生正确的触发地址。下面就说明这个深存储触发地址产生原理,这里仅以预触发为例,后触发的深存储原理可以以此类推。
根据普通存储预触发原理,存储满预触发深度后,要边读边写,直到触发到来,才一直写满存储器,有效的波形是从触发点前N个采样数据开始的。深存储稍有不同,如附图2所示,N代表预触发深度,CNT1、CNT2是2个计数器,Ready是预触发深度满标志,Trigged是触发产生标志。其地址产生原理为:当DDR2写开始时,(这里固定从DDR2SDRAM零地址开始写),CNT1就开始计数;当计数值等于预触发深度N时,处于READY状态,与普通采集不同,此时不会边读边写,而是继续往DDR2SDRAM中写入数据;与此同时,从预触发深度满起,CNT2开始计数,直到触发到来停止。并把触发地址(d点)送给DSP;而CNT1继续计数,由于CNT1的最大值刚好设置得和存储深度一样,计数到最大值(即存储器的最大地址e点)之后再加1就跳变为0(即到存储器的零地址a点)继续计数;当CNT1的值等于CNT2的值时,计数停止,此时DDR2SDRAM写停止,并把写停止地址(c点)送给DSP。由附图2可见,触发地址d点和写停止地址c点之间的距离恰好是预触发深度。也就是说,只要获得触发到来的地址,往前推一个预触发深度的距离,就是DSP的读起始地址。而且从c点读到e点,接着再从a点读到c点,这是一个连续的波形存储区,长度正好是设置的最大存储深度。
综上所述,用DDR2SDRAM做存储器,实现了数字示波器的预触发功能。虽然控制上与普通采集使用FIFO作为存储器有所区别,但是都体现了预触发的基本原理。知道了存储在DDR2SDRAM中数据是怎样的,读取数据就比较简单,仅需要知道读取的数据量和起始地址即可。
分区交替深存储设计:
由于对DDR2SDRAM的读和写不能够同时进行,数字示波器正常运行时,采用上述方法设计的深存储功能是没有问题的。但是,如果程序正在写DDR2SDRAM的过程中,示波器的使用者按了STOP键。然后在屏幕上把波形展开,这时就要重新读取DDR2SDRAM中的数据,但是此时正在进行写操作,原来的数据已经被破坏。结果是,写过程没有完成,存储空间的数据是不完整的,读出来的数据就不对。如果把一个大存储量的DDR2颗粒的存储空间划分为2部分:DDR2-BLOCK0和DDR2-BLOCK1,就能够进行分区交替存储,解决这一问题。
下面仍以预触发为例介绍这种深存储技术,后触发的情况类似。如附图3所示,从e点把一个DDR2SDRAM分为2块大小相同的存储区域:DDR2-BLOCK0和DDR2-BLOCK1。2个区域的控制一模一样,只是在起始和终止地址上不同,就连FPGA内部的模块都是复用的,只需设置一个控制量BLOCK-SEL即可,当对DDR2-BLOCK0进行操作时,让BLOCK-SEL为0,其他同深存储基本方案;当DDR2-BLOCK1进行操作时,让BLOCK-SEL为1,只是在地址上加1个偏移即可,其他完全复用原来的模块。设DDR2SDRAM的容量为M,则DDR2-BLOCK1的起始地址不在是0,而是M/2。
在该方案下,假设先让BLOCK-SEL=0。此时DDR2-BLOCK0处于激活状态,对DDR2SDRAM的任何操作都是针对DDR2-BLOCK0。让写使能有效,直到检测到满标志。此时,DDR2-BLOCK0被写满,可以进行读操作。下一次写,则让BLOCK-SEL=1,此时DDR2-BLOCK1处于激活状态,对DDR2SDRAM的任何操作都是针对DDR2-BLOCK1。然后让写使能有效,直到检测到满标志,此时DDR2-BLOCK1被写满,可以进行读操作。
若在写DDR2-BLOCK1的过程中(即未写满)要读数据,则读DDR2-BLOCK0的数据,此时只要让BLOCK-SEL=0,然后执行读操作即可,但此时DDR2-BLOCK1的写被终止,读DDR2SDRAM停止后需要重新写DDR2-BLOCK1。值得注意的是:在2个区切换过程中,要注意保存上一次写完的区的触发地址,以方便多次读取数据。
这样,既充分利用了DDR2SDRAM的容量,又解决了任意时间停止数字示波器读取数据与写DDR2SDRAM之间的矛盾,使之不会破坏已存储的数据。本公司就是采用这种分区交替存储的方式来设计数字示波器的深存储功能。并实现了深存储下预触发、后触发、停止展宽、平移、压缩等具体功能,且达到很好的效果。

Claims (3)

1.一种数字示波器深存储设计方法,其特征在于,包括如下步骤:
(1)数据写入DDR2SDRAM时,前端采样得到的数据经过前抽点后存入前FIFO进行暂存;
(2)每存到MCB核的一个突发长度的数据量就写入MCB核内部的写数据FIFO中,直到写入足够的数据;
(3)数据从DDR2SDRAM读出时,MCB核控制DDR2SDRAM将数据读出到它的读数据FIFO中;
(4)然后经过后抽点存入后FIFO中,最后由DSP从后FIFO把数据读走。
2.根据权利要求1所述的数字示波器深存储设计方法,其特征在于,进入前FIFO的250MSPS的32bit数据是采样降速后得到的4个并行的点。
3.根据权利要求1或2所述的数字示波器深存储设计方法,其特征在于,其中DDR2SDRAM的外部时钟为333MHz。
CN201310567241.XA 2013-11-14 2013-11-14 数字示波器深存储设计方法 Pending CN103592489A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310567241.XA CN103592489A (zh) 2013-11-14 2013-11-14 数字示波器深存储设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310567241.XA CN103592489A (zh) 2013-11-14 2013-11-14 数字示波器深存储设计方法

Publications (1)

Publication Number Publication Date
CN103592489A true CN103592489A (zh) 2014-02-19

Family

ID=50082708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310567241.XA Pending CN103592489A (zh) 2013-11-14 2013-11-14 数字示波器深存储设计方法

Country Status (1)

Country Link
CN (1) CN103592489A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804044A (zh) * 2018-06-26 2018-11-13 电子科技大学 基于深存储的数据采集方法和深存储数据采集系统
CN110824218A (zh) * 2019-11-18 2020-02-21 重庆邮电大学 一种基于zynq的数字存储示波器系统
CN111739569A (zh) * 2020-06-19 2020-10-02 西安微电子技术研究所 一种边读边写的sdram控制系统及控制方法
CN111965405A (zh) * 2020-08-12 2020-11-20 电子科技大学 基于fpga的数字三维示波器数据映射存储系统
CN111966628A (zh) * 2020-07-30 2020-11-20 电子科技大学 一种多核组合式大容量数据同步存储方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1470996A (zh) * 2002-07-23 2004-01-28 华为技术有限公司 外部存储器sdram读写处理方法
US6952655B2 (en) * 2001-12-11 2005-10-04 Lecroy Corporation User defined processing function
CN1798091A (zh) * 2004-12-30 2006-07-05 中兴通讯股份有限公司 一种提高sdram处理带宽的方法
CN101000590A (zh) * 2007-01-22 2007-07-18 北京中星微电子有限公司 一种读取内存中数据的方法和系统
CN102109543A (zh) * 2010-12-08 2011-06-29 电子科技大学 一种具有波形图像实时缩放功能的数字三维示波器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6952655B2 (en) * 2001-12-11 2005-10-04 Lecroy Corporation User defined processing function
CN1470996A (zh) * 2002-07-23 2004-01-28 华为技术有限公司 外部存储器sdram读写处理方法
CN1798091A (zh) * 2004-12-30 2006-07-05 中兴通讯股份有限公司 一种提高sdram处理带宽的方法
CN101000590A (zh) * 2007-01-22 2007-07-18 北京中星微电子有限公司 一种读取内存中数据的方法和系统
CN102109543A (zh) * 2010-12-08 2011-06-29 电子科技大学 一种具有波形图像实时缩放功能的数字三维示波器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐文超等: "基于Spartan_6FPGA的DDR2控制器接口设计", 《数据采集与处理》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804044A (zh) * 2018-06-26 2018-11-13 电子科技大学 基于深存储的数据采集方法和深存储数据采集系统
CN108804044B (zh) * 2018-06-26 2021-01-26 电子科技大学 基于深存储的数据采集方法和深存储数据采集系统
CN110824218A (zh) * 2019-11-18 2020-02-21 重庆邮电大学 一种基于zynq的数字存储示波器系统
CN110824218B (zh) * 2019-11-18 2022-03-22 重庆邮电大学 一种基于zynq的数字存储示波器系统
CN111739569A (zh) * 2020-06-19 2020-10-02 西安微电子技术研究所 一种边读边写的sdram控制系统及控制方法
CN111739569B (zh) * 2020-06-19 2022-04-26 西安微电子技术研究所 一种边读边写的sdram控制系统及控制方法
CN111966628A (zh) * 2020-07-30 2020-11-20 电子科技大学 一种多核组合式大容量数据同步存储方法
CN111966628B (zh) * 2020-07-30 2023-04-18 电子科技大学 一种多核组合式大容量数据同步存储方法
CN111965405A (zh) * 2020-08-12 2020-11-20 电子科技大学 基于fpga的数字三维示波器数据映射存储系统
CN111965405B (zh) * 2020-08-12 2021-08-13 电子科技大学 基于fpga的数字三维示波器数据映射存储系统

Similar Documents

Publication Publication Date Title
CN103592489A (zh) 数字示波器深存储设计方法
CN103325426B (zh) 基于ddr2sdram阵列分段存储的无缝采集方法
CN111949577B (zh) 一种高速高精度采样数据大容量存储快速传输方法
CN104407998B (zh) 基于fpga的高速adc采样数据接收缓存方法和系统
EP3249543A1 (en) Interface signal remapping method based on fpga
CN109918332A (zh) Spi从设备及spi设备
CN103714038A (zh) 一种数据处理方法和装置
CN100517498C (zh) 一种无读取延迟的先进先出存储器
CN103327265A (zh) 一种基于fpga的四路视频合成方法及其装置
CN101577025B (zh) 一种新型数据采集累加器及其实现方法
CN102520902B (zh) 基于单片块ram的并行写入多fifo实现方法
CN102497575A (zh) 一种多片面阵ccd的筛选测试系统
CN111966628B (zh) 一种多核组合式大容量数据同步存储方法
CN103309981B (zh) 一种具有高存储效率的adc数据组织系统及其方法
CN103177133A (zh) 一种数据采集和存储的系统及方法
CN112650448A (zh) 一种基于fpga的大数据量存储文件管理方法
CN104869284A (zh) 一种双线性插值放大算法的高效率fpga实现方法和装置
CN103048506B (zh) 一种用于校准并行采集系统数据拼合顺序的方法
CN106873450A (zh) 一种基于fpga与usb3.0的导航中频信号采集存储复现器
CN105577985A (zh) 一种数字图像处理系统
CN108804044A (zh) 基于深存储的数据采集方法和深存储数据采集系统
CN102929808A (zh) 一种高可靠性的跨时钟域数据传输电路
CN113091897B (zh) 一种符合计数方法、装置、符合计数设备及存储介质
CN103220168B (zh) 一种基于定长协议数据包长度异常的处理方法
JP5499131B2 (ja) デュアルポートメモリおよびその方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140219

WD01 Invention patent application deemed withdrawn after publication