CN105630713A - 实现逻辑波形数据存储的方法 - Google Patents
实现逻辑波形数据存储的方法 Download PDFInfo
- Publication number
- CN105630713A CN105630713A CN201410614690.XA CN201410614690A CN105630713A CN 105630713 A CN105630713 A CN 105630713A CN 201410614690 A CN201410614690 A CN 201410614690A CN 105630713 A CN105630713 A CN 105630713A
- Authority
- CN
- China
- Prior art keywords
- judge
- fifo
- next step
- trigger
- carry out
- 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
Landscapes
- Communication Control (AREA)
Abstract
本发明属于电子信号采样测量技术领域,本发明的实现逻辑波形数据存储的方法,包括如下步骤:计数流程、触发控制流程、FIFO写入控制流程,其中,计数流程包括如下步骤:(1)判断清零信号是否有效,有效,继续判断;无效,进行下一步;(2)判断预置数使能是否有效,有效,返回步骤(1);无效,进行下一步;(3)判断计数使能信号是否有效,无效返回步骤(1);有效,进行下一步;(4)计数值加1;(5)存储深度判断,设定计数器模。方法通过存储器的选择、计数器设计、FIFO控制电路、SRAM控制电路、数据输出选择、寄存器读写与地址译码等设计,实现逻辑波形数据存储。
Description
技术领域
本发明属于电子信号采样测量技术领域,尤其涉及一种实现逻辑波形数据存储的设计方法。
背景技术
随着电子技术的发展,数字***的设计正朝着复杂程度高、工作速度快的方向发展,对测试仪器提出了更高的要求。由模拟***的时域和频域分析发展起来的传统的测试方法与测试仪器往往难以奏效,必须研制专用于数字***的数据域测试仪器。逻辑分析仪作为数据域测试仪器中应用最为广泛的通用测试仪器,逻辑分析仪是一种分析数字化设备硬件和软件的仪器,具有数据捕获、存储、处理的功能,是最重要的数据域测试仪器之一,其存储深度决定了获取数据的多少,存储深度越深,表明在相同分析频率下所能观察到的时间范围就越大。
发明内容
本发明的技术效果能够克服上述缺陷,提供一种实现逻辑波形数据存储的方法,其实现逻辑波形数据存储。
为实现上述目的,本发明采用如下技术方案:其包括如下步骤:计数流程、触发控制流程、FIFO写入控制流程,
其中,计数流程包括如下步骤:
(1)判断清零信号是否有效,有效,继续判断;无效,进行下一步;
(2)判断预置数使能是否有效,有效,返回步骤(1);无效,进行下一步;
(3)判断计数使能信号是否有效,无效返回步骤(1);有效,进行下一步;
(4)计数值加1;
(5)存储深度判断,设定计数器模;
(6)判断计数器是否计满,否,返回步骤(1);是,进行下一步;
(7)计数值清零,计数器溢出,并返回步骤(1);
其中,触发控制流程包括如下步骤:
(1)写入预触发计数器、延时计数器的初值,触发使能关闭;
(2)预触发计数器、地址产生计数器计数,存储控制使能;
(3)判断PCNF是否等于1,否,继续;是,进行下一步;
(4)开启触发使能,等待触发标志TF;
(5)判断TF是否等于1,否,继续;是,进行下一步;
(6)延时计数器计数;
(7)判断DCNF是否等于1,否,继续;是,进行下一步;
(8)停止数据存储,结束;
其中,FIFO写入控制流程包括如下步骤:
(1)初始化;
(2)判断写使能是否等于1,否,继续;是,进行下一步;
(3)判断预触发标志是否等于1,是,进行下一步;否,判断FIFO是否满,FIFO未满,写FIFO;FIFO已满,结束;
(4)判断触发标志是否等于1,否,同步读FIFO;是,读使能无效。
本方法通过存储器的选择、计数器设计、FIFO控制电路、SRAM控制电路、数据输出选择、寄存器读写与地址译码等设计,实现逻辑波形数据存储。
附图说明
图1为计数器流程图;
图2为计数器仿真图;
图3为触发字地址锁存电路;
图4为触发控制流程图;
图5为FIFO电路连接图;
图6为FIFO写入控制流程图;
图7为总线选择器;
图8为寄存器读写电路;
图9为本发明的地址译码电路。
具体实施方式
本发明的实现逻辑波形数据存储的方法,包括如下步骤:计数流程、触发控制流程、FIFO写入控制流程,
其中,计数流程包括如下步骤:
(1)判断清零信号是否有效,有效,继续判断;无效,进行下一步;
(2)判断预置数使能是否有效,有效,返回步骤(1);无效,进行下一步;
(3)判断计数使能信号是否有效,无效返回步骤(1);有效,进行下一步;
(4)计数值加1;
(5)存储深度判断,设定计数器模;
(6)判断计数器是否计满,否,返回步骤(1);是,进行下一步;
(7)计数值清零,计数器溢出,并返回步骤(1);
其中,触发控制流程包括如下步骤:
(1)写入预触发计数器、延时计数器的初值,触发使能关闭;
(2)预触发计数器、地址产生计数器计数,存储控制使能;
(3)判断PCNF是否等于1,否,继续;是,进行下一步;
(4)开启触发使能,等待触发标志TF;
(5)判断TF是否等于1,否,继续;是,进行下一步;
(6)延时计数器计数;
(7)判断DCNF是否等于1,否,继续;是,进行下一步;
(8)停止数据存储,结束;
其中,FIFO写入控制流程包括如下步骤:
(1)初始化;
(2)判断写使能是否等于1,否,继续;是,进行下一步;
(3)判断预触发标志是否等于1,是,进行下一步;否,判断FIFO是否满,FIFO未满,写FIFO;FIFO已满,结束;
(4)判断触发标志是否等于1,否,同步读FIFO;是,读使能无效。
1、存储器选择
本方法采样了两种存储器,一种是在FPGA内部实现8个FIFO来存储500MHz采样时的数据,另外选择了4个ISSI公司的SRAM芯片IS61LV25616AL-10来存储其它采样率的数据,该芯片的存储容量为256K×16位,访问时间10ns。没有采用外部SRAM存储500MHz采样数据的原因是:1,采样外部存储器将需要再增加4个SRAM,在加大硬件成本的同时,也增加了对FPGA普通I/O口的需要,引起管脚资源紧张。2,采用内部存储器,可以实现“高速取样”功能,即在500MHz以下定时采样的时候,同时可以在内部存储器中保存触发点附近16K深度的400MHz采样的数据,给用户提供一个细致的观察窗口。以下是各个采样率下的最大存储深度。
定时分析的存储深度:
1,500MHz采样最大深度16K用8个FIFO存储
2,200MHz/100MHz采样最大深度1M用4个SRAM存储
4,50MHz及以下最大深度256K用1个SRAM存储
状态分析的存储深度:
所有采样率最大深度256K用1个SRAM存储
在定时分析50MHz及以下采样率的时候,在毛刺采样功能选择的情况下,用一个SRAM来保存毛刺数据。
2、计数器设计
计数器电路完成SRAM的地址产生以及触发的起始、终止计数,它包括两个SRAM地址产生计数器、一个预触发计数器和一个延时计数器,这四个计数器结构相同。计时器用VHDL编写,有清零、使能、预置数、模可编程等功能,***总是把计数器的模设为数据的存储深度,当用户选择存储深度的时候也就选定了计数器的模,计数器计满后输出溢出标志,同时又从0开始循环计数。计数器用VHDL编写,流程图如图1所示
从流程图中可以看到,计数器从0或预置数开始计数,当计满后(即计到存储深度-1),产生溢出信号,又从0开始计,不断重复,直到使能信号为0。图2是计数器的波形仿真图。
触发控制由预触发计数器和延时计数器实现。应用程序根据用户设置的延时比例和存储深度,计算出预触发计数器和延时触发器的初值并预置数,其中预触发计数器初值的计算公式为:延迟数%×存储深度,其计数最大值为存储深度,延时计数器初值计算公式为:存储深度-延迟数%×存储深度,其计数最大计数值为存储深度。
***开始采数后,预触发计数器开始计数,同时数据在***时钟驱动下写入SRAM,这时触发识别电路没有使能。当预触发计数器的溢出时,说明SRAM中已经写入的数据量=存储深度-延迟数%×存储深度,此时使能触发识别电路,等待触发标志产生,同时数据不断的写入SRAM,当SRAM中的数据的数目等于存储深度后,将又从SRAM的0地址开始写,新写入的数据将覆盖先写入的数据,让SRAM中保存的始终是最新的数据。
当触发标志产生就使能延时计数器,同时把当前地址计数器的输出值锁存到暂存器中,用来记录触发字在存储器中的物理地址。这样就可以根据该物理地址和预触发数以及存储深度来确定SRAM中哪些地址是存储了有效数。地址锁存电路如图3所示。Trigf是触发标志信号,cn_/clrn是触发清零信号,ACH_AD[17..0]是地址产生计数器的输出,trig_site是记录下来的触发字在SRAM中的地址。
延时计数溢出后,停止往SRAM中写数,采数结束。触发控制流程如图4所示。
SRAM地址产生计数器和预触发计数器同时开始工作,当触发产生时,触发标志把当前地址计数器的输出值锁存到暂存器中,用来记录触发字在存储器中的物理地址。这样就可以根据该物理地址和预触发数以及存储深度来确定SRAM中哪些地址是存储了有效数据。
3、FIFO控制电路
FIFO直接用Altera公司的IP核实现,是带有异步清零的双时钟FIFO。8个FIFO的控制类似,图5是其中一个FIFO的电路连接图,其它FIFO类似。
串并转换输出的时钟(没有经过分频)作为FIFO的写时钟,写使能信号和***采集使能信号连接,16位数据端口分别和16个通道的8位并行输出中的一位相邻。和SRAM一样,FIFO中也需要根据用户的设置,保存触发点前后一定量的数据。由于FIFO没有地址线,控制方法和SRAM也不一样,所以不能用前面讲的控制SRAM的方法去控制FIFO。我们采用的方案是:采数使能后开始往FIFO中写入数据,当写入FIFO中的数据量和预触发的数据量一样,而触发标志没有产生时,每写入一个数据,就丢弃一个先前写入的数据,以保持FIFO中的数据量和预触发值一样,当触发标志产生,则正常写入FIFO,不再丢弃先写入的数据,直到FIFO写满,结束采数过程。
我们采用改变读时钟以及读使能的办好来实现这个方案,在预触发计数器溢出标志为0时,正常写入FIFO,此时读使能和读时钟都由读模块控制,当预触发计数器溢出标志为1,且触发标志为0时,把写时钟赋给读时钟,同时读使能有效,这时,每往FIFO写入一个数据,也读出一个数据。保持了FIFO中数据量不变,而且FIFO保存的总是最后采到的数据。当触发标志有效后,读时钟和读使能又切换为由读模块控制。这个电路模块用VHDL写成,其流程图如图6所示:
FIFO的读取比较简单,由USB控制器直接控制,软件产生读时钟。先设读使能有效,在读时钟上升沿后判断空标志是否为1,不为1输出端口数据有效,为1输出端口数据无效,继续给读时钟。8个FIFO共用读时钟,所以用一个3-8译码器来控制读使能。
4、SRAM控制电路
SRAM采用IS61LV25616AL-10,其主要管脚见表1。
在本设计中,片选信号/CE,高字节控制/UB,低字节控制/LB接地,保持片选和高低字节常有效,输出使能/OE在写入时为1,SRAM的地址由前面所说的计数器控制,计数输出连到地址线上。写使能信号/WE由***时钟控制。由于产生地址的计数器的驱动时钟也是***时钟,所以SRAM的地址变化和***时钟同步,上升沿地址加1,***时钟的低电平写入数据。为了确保写入SRAM的每个数据都是有效数据,必须在***时钟的下降沿使能数据存储,确保在写完第一个数后地址才加1,避免了地址加1后才写入第一个数据的情况。SRAM的读取由USB控制器控制,此时地址计数器的驱动时钟切换为微控制器软件产生的时钟。
表1
A0–A17 | 地址输入 |
I/O0–I/O15 | 双向数据端口 |
/CE | 片选 |
/OE | 输出使能 |
/WE | 写使能 |
/LB | 低字节控制 |
/UB | 高字节控制 |
VDD | 电源 |
GND | 地 |
5、数据输出选择
4个SRAM和8个FIFO都通过同一个16位的数据端口传到USB芯片,再由USB芯片传到PC中显示。所以在某一个时刻只能有一个存储器的输出和数据端口连接,本方法采用了总线选择器来进行数据总线的切换,如图7所示。
6、寄存器读写与地址译码
本设计中,FPGA内部有很多寄存器需要USB控制器来配置,USB控制器也需要读取FPGA内部一些寄存器的状态来进行相关的控制。寄存器写锁存电路由74374组成,读数据缓冲由74244组成。图8是一个写锁存和一个读缓冲的电路。
图中D0~D7是USB控制芯片的外部数据总线。AR7和AW5相当于读写地址。74374时钟上升沿把数据锁存到输出端,74244其实是2组4通道的三态门,在使能端为0时把数据输出。
每个读写寄存器和读缓冲都有地址,由USB的地址总线译码得到。译码电路由多个74154和门电路组成,本设计中总共有132个写锁存寄存器和11个读缓冲。图9是部分读写地址的译码。
图中A0-A7是USB控制芯片的地址总线的低8位地址,由图中可知,AA0-AA15对应的地址是0x00-0x0F。/WR和/RD分别是USB控制芯片的读写使能信号。把译码后的地址分别和/WR、/RD相或得到读写地址。利用/WR信号的上升沿把有效数据锁存,利用/RD的低电平读数据。
Claims (1)
1.一种实现逻辑波形数据存储的方法,其特征在于,包括如下步骤:计数流程、触发控制流程、FIFO写入控制流程,
其中,计数流程包括如下步骤:
(1)判断清零信号是否有效,有效,继续判断;无效,进行下一步;
(2)判断预置数使能是否有效,有效,返回步骤(1);无效,进行下一步;
(3)判断计数使能信号是否有效,无效返回步骤(1);有效,进行下一步;
(4)计数值加1;
(5)存储深度判断,设定计数器模;
(6)判断计数器是否计满,否,返回步骤(1);是,进行下一步;
(7)计数值清零,计数器溢出,并返回步骤(1);
其中,触发控制流程包括如下步骤:
(1)写入预触发计数器、延时计数器的初值,触发使能关闭;
(2)预触发计数器、地址产生计数器计数,存储控制使能;
(3)判断PCNF是否等于1,否,继续;是,进行下一步;
(4)开启触发使能,等待触发标志TF;
(5)判断TF是否等于1,否,继续;是,进行下一步;
(6)延时计数器计数;
(7)判断DCNF是否等于1,否,继续;是,进行下一步;
(8)停止数据存储,结束;
其中,FIFO写入控制流程包括如下步骤:
(1)初始化;
(2)判断写使能是否等于1,否,继续;是,进行下一步;
(3)判断预触发标志是否等于1,是,进行下一步;否,判断FIFO是否满,FIFO未满,写FIFO;FIFO已满,结束;
(4)判断触发标志是否等于1,否,同步读FIFO;是,读使能无效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410614690.XA CN105630713A (zh) | 2014-11-03 | 2014-11-03 | 实现逻辑波形数据存储的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410614690.XA CN105630713A (zh) | 2014-11-03 | 2014-11-03 | 实现逻辑波形数据存储的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105630713A true CN105630713A (zh) | 2016-06-01 |
Family
ID=56045679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410614690.XA Pending CN105630713A (zh) | 2014-11-03 | 2014-11-03 | 实现逻辑波形数据存储的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105630713A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112511156A (zh) * | 2020-11-18 | 2021-03-16 | 河南卓正电子科技有限公司 | 一种脉冲计量及存储方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050182885A1 (en) * | 2004-02-16 | 2005-08-18 | Fujitsu Limited | Semiconductor integrated circuit |
CN103995764A (zh) * | 2014-05-21 | 2014-08-20 | 电子科技大学 | 一种具有串行总线协议连续触发功能的逻辑分析仪 |
-
2014
- 2014-11-03 CN CN201410614690.XA patent/CN105630713A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050182885A1 (en) * | 2004-02-16 | 2005-08-18 | Fujitsu Limited | Semiconductor integrated circuit |
CN103995764A (zh) * | 2014-05-21 | 2014-08-20 | 电子科技大学 | 一种具有串行总线协议连续触发功能的逻辑分析仪 |
Non-Patent Citations (1)
Title |
---|
张为: "外接式混合信号分析仪示波器模块设计", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112511156A (zh) * | 2020-11-18 | 2021-03-16 | 河南卓正电子科技有限公司 | 一种脉冲计量及存储方法 |
CN112511156B (zh) * | 2020-11-18 | 2024-03-22 | 河南卓正电子科技有限公司 | 一种脉冲计量及存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101226767B (zh) | 双端口ram的读写控制电路、方法及装置 | |
CN103996416A (zh) | 一种可重用的ftl验证方法 | |
CN104679681A (zh) | Ahb总线访问片上sram的高速桥装置及其工作方法 | |
CN105426314B (zh) | 一种fpga存储器的工艺映射方法 | |
CN109902000B (zh) | 变速多通道调试追踪***、方法、设备及存储介质 | |
CN105630713A (zh) | 实现逻辑波形数据存储的方法 | |
CN106873450A (zh) | 一种基于fpga与usb3.0的导航中频信号采集存储复现器 | |
CN103592599A (zh) | 基于usb逻辑分析仪触发装置 | |
CN106055496B (zh) | 一种eeprom控制器的信号生成电路及控制方法 | |
CN103226531B (zh) | 一种双端口外设配置接口电路 | |
CN108108149B (zh) | 一种基于分离统计高效收集的性能统计电路 | |
CN105183664B (zh) | 一种可变长度雷达脉冲数据缓存方法 | |
Li et al. | A novel multiple dies parallel nand flash memory controller for high-speed data storage | |
Zhao et al. | Design and implementation of a radar waveform playback system for real-time digital signal processing test | |
Che | FPGA-based memory test system design and test algorithm implementation | |
Alexandropoulos et al. | A dynamic DFI-compatible strobe qualification system for Double Data Rate (DDR) physical interfaces | |
CN207690508U (zh) | 存储器测试装置 | |
CN220020275U (zh) | 基于fpga的***芯片原型验证调试装置 | |
CN103095254A (zh) | 一种基于fpga的脉冲滑变信号产生电路 | |
CN105183372B (zh) | 基于内容寻址存储的触发匹配装置和方法 | |
CN206002858U (zh) | 一种基于fpga的计数型高精度时间间隔测量装置 | |
CN219958216U (zh) | 一种芯片原型验证调试板 | |
CN203085182U (zh) | 一种基于同步静态随机存储器ip 的异步静态随机存储器 | |
CN108646048A (zh) | 一种基于fpga的转速检测装置 | |
Huang et al. | DI-SSD: Desymmetrized interconnection architecture and dynamic timing calibration for solid-state drives |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160601 |
|
WD01 | Invention patent application deemed withdrawn after publication |