实现逻辑波形数据存储的方法_2

文档序号:9865438阅读:来源:国知局
度。
[0073] 系统开始采数后,预触发计数器开始计数,同时数据在系统时钟驱动下写入SRAM, 送时触发识别电路没有使能。当预触发计数器的溢出时,说明SRAM中已经写入的数据量= 存储深度一延迟数% X存储深度,此时使能触发识别电路,等待触发标志产生,同时数据 不断的写入SRAM,当SRAM中的数据的数目等于存储深度后,将又从SRAM的ο地址开始写, 新写入的数据将覆盖先写入的数据,让SRAM中保存的始终是最新的数据。
[0074] 当触发标志产生就使能延时计数器,同时把当前地址计数器的输出值锁存到暂存 器中,用来记录触发字在存储器中的物理地址。送样就可W根据该物理地址和预触发数W 及存储深度来确定SRAM中哪些地址是存储了有效数。地址锁存电路如图3所示。Tri奸 是触发标志信号,cn_/clrn是触发清零信号,ACH_AD[17..0]是地址产生计数器的输出, t;rig_site是记录下来的触发字在SRAM中的地址。
[0075] 延时计数溢出后,停止往SRAM中写数,采数结束。触发控制流程如图4所示。
[0076] SRAM地址产生计数器和预触发计数器同时开始工作,当触发产生时,触发标志把 当前地址计数器的输出值锁存到暂存器中,用来记录触发字在存储器中的物理地址。送样 就可W根据该物理地址和预触发数W及存储深度来确定SRAM中哪些地址是存储了有效数 据。
[0077] 3、FIFO控制电路
[0078] FIFO直接用Altera公司的IP核实现,是带有异步清零的双时钟FIFO。8个FIFO 的控制类似,图5是其中一个FIFO的电路连接图,其它FIFO类似。
[0079] 串并转换输出的时钟(没有经过分频)作为FIFO的写时钟,写使能信号和系统采 集使能信号连接,16位数据端口分别和16个通道的8位并行输出中的一位相邻。和SRAM 一样,FIFO中也需要根据用户的设置,保存触发点前后一定量的数据。由于FIFO没有地址 线,控制方法和SRAM也不一样,所W不能用前面讲的控制SRAM的方法去控制FIFO。我们 采用的方案是:采数使能后开始往FIFO中写入数据,当写入FIFO中的数据量和预触发的 数据量一样,而触发标志没有产生时,每写入一个数据,就丢弃一个先前写入的数据,W保 持FIFO中的数据量和预触发值一样,当触发标志产生,则正常写入FIFO,不再丢弃先写入 的数据,直到FIFO写满,结束采数过程。
[0080] 我们采用改变读时钟W及读使能的办好来实现送个方案,在预触发计数器溢出标 志为0时,正常写入FIFO,此时读使能和读时钟都由读模块控制,当预触发计数器溢出标志 为1,且触发标志为0时,把写时钟赋给读时钟,同时读使能有效,送时,每往FIFO写入一个 数据,也读出一个数据。保持了 FIFO中数据量不变,而且FIFO保存的总是最后采到的数据。 当触发标志有效后,读时钟和读使能又切换为由读模块控制。送个电路模块用VHDL写成, 其流程图如图6所示:
[0081] FIFO的读取比较简单,由USB控制器直接控制,软件产生读时钟。先设读使能有 效,在读时钟上升沿后判断空标志是否为1,不为1输出端口数据有效,为1输出端口数据无 效,继续给读时钟。8个FIFO共用读时钟,所W用一个3 - 8译码器来控制读使能。
[0082] 4、SRAM控制电路
[0083] SRAM 采用 IS61LV25616AklO,其主要管脚见表 1。
[0084] 在本设计中,片选信号/CE,高字节控制/UB,低字节控制/LB接地,保持片选和高 低字节常有效,输出使能/0E在写入时为1,SRAM的地址由前面所说的计数器控制,计数输 出连到地址线上。写使能信号/WE由系统时钟控制。由于产生地址的计数器的驱动时钟也 是系统时钟,所W SRAM的地址变化和系统时钟同步,上升沿地址加1,系统时钟的低电平写 入数据。为了确保写入SRAM的每个数据都是有效数据,必须在系统时钟的下降沿使能数 据存储,确保在写完第一个数后地址才加1,避免了地址加1后才写入第一个数据的情况。 SRAM的读取由USB控制器控制,此时地址计数器的驱动时钟切换为微控制器软件产生的时 钟。
[0085] 表 1
[0086]
[0087]
[0088] 5、数据输出选择
[0089] 4个SRAM和8个FIFO都通过同一个16位的数据端口传到USB芯片,再由USB芯 片传到PC中显示。所W在某一个时刻只能有一个存储器的输出和数据端口连接,本方法采 用了总线选择器来进行数据总线的切换,如图7所示。
[0090] 6、寄存器读写与地址译码
[0091] 本设计中,FPGA内部有很多寄存器需要USB控制器来配置,USB控制器也需要读取 FPGA内部一些寄存器的状态来进行相关的控制。寄存器写锁存电路由74374组成,读数据 缓冲由74244组成。图8是一个写锁存和一个读缓冲的电路。
[009引 图中DO~D7是USB控制芯片的外部数据总线。AR7和AW5相当于读写地址。74374 时钟上升沿把数据锁存到输出端,74244其实是2组4通道的Η态口,在使能端为0时把数 据输出。
[0093] 每个读写寄存器和读缓冲都有地址,由USB的地址总线译码得到。译码电路由多 个74154和口电路组成,本设计中总共有132个写锁存寄存器和11个读缓冲。图9是部分 读写地址的译码。
[0094] 图中A0 - A7是USB控制芯片的地址总线的低8位地址,由图中可知,AA0-AA15 对应的地址是0x00-OxOF。/WR和/畑分别是USB控制芯片的读写使能信号。把译码后 的地址分别和/WR、/RD相或得到读写地址。利用/WR信号的上升沿把有效数据锁存,利用 /RD的低电平读数据。
【主权项】
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写入控制流程包括如下步骤: ⑴初始化; (2) 判断写使能是否等于1,否,继续;是,进行下一步; (3) 判断预触发标志是否等于1,是,进行下一步;否,判断FIFO是否满,FIFO未满,写 FIFO ;FIF0已满,结束; (4) 判断触发标志是否等于1,否,同步读FIFO ;是,读使能无效。
【专利摘要】本发明属于电子信号采样测量技术领域,本发明的实现逻辑波形数据存储的方法,包括如下步骤:计数流程、触发控制流程、FIFO写入控制流程,其中,计数流程包括如下步骤:(1)判断清零信号是否有效,有效,继续判断;无效,进行下一步;(2)判断预置数使能是否有效,有效,返回步骤(1);无效,进行下一步;(3)判断计数使能信号是否有效,无效返回步骤(1);有效,进行下一步;(4)计数值加1;(5)存储深度判断,设定计数器模。方法通过存储器的选择、计数器设计、FIFO控制电路、SRAM控制电路、数据输出选择、寄存器读写与地址译码等设计,实现逻辑波形数据存储。
【IPC分类】G06F13/16
【公开号】CN105630713
【申请号】CN201410614690
【发明人】宋云衢, 冯太明
【申请人】江苏绿扬电子仪器集团有限公司
【公开日】2016年6月1日
【申请日】2014年11月3日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1