逻辑剖析仪首要选用高速采样、灵敏触发和大容量存储等技能来完结对被测数据的捕获、存储和定位剖析。传统数据存储电路将采样回来的数据先通过锁存器锁存,一旦触发标志有用,再依据采样时钟的频率把锁存器数据输出到外接的SRAM。其缺陷是速度慢、存储占用空间大,不适用于很多数据缓存的需求。本文以三星的SDR SDRAM(K4S64632)作为存储器,通过FPGA内部的M4K块作为移位寄存器不断的进行读进数据的方法,在不中止程序运转的情况下完结有用数据不间断的读进,设置3种采样形式,成果表明该规划进步了数据的剖析规模和质量。
1 逻辑剖析仪总体方案
逻辑剖析仪包括:数据采样、数据存储、显现操控3大部分。因为Cyclone芯片EP1C3T144C8抱负情况下最大频率可到达275 MHz,在实践规划中考虑到其差错,该规划的信号捕获精度定位在100 MHz。最多16路信号捕获输入通道,1路信号触发通道,可调的采样时钟/周期,3种信号采样形式,运用计算机的的显现器作为波形显现屏幕。
模块全体上是依据数据流的方向区分的,如图1所示。sys_ctrl模块对体系复位信号进行异步复位、同步开释,并且通过Cyclone芯片EP1C3T 144C8内部的PLL例化得到多个安稳牢靠的时钟信号。Sampling_ctrl模块包括按键检测、触发操控、数据采样、数据存储等多个功用是收集操控的中心模块。VGA显现模块包括界面规划、字模数据寻址送显方法和显现驱动的时序操控。
2 复位信号发生PPL例化
逻辑剖析仪的复位规划如图2所示,这个模块规划里,先用FPGA的外部输入时钟clk将FPGA的输入复位信号rat_n异步复位、同步开释处理,然后将复位信号输入PLL,一起clk也输入PLL。在PLL输出时钟有用前,体系的其他部分都坚持复位状况。PLL的输出locked信号在PLL有用输出之前一直是低电平,等PLL输出安稳有用之后拉高该信号。FPGA外部输入复位信号rst_n和locked信号相与作为整个体系的复位信号。从PPL输出端得到时钟不只频率和相位上比较安稳,并且网络延时也比较内部的逻辑发生的分配时钟要小得多。
3 操控模块
通过FPGA内部的M4K块装备移位寄存器不断地读进新的采样值,数据采样回来后先通过SDRAM放入缓存FIFO中,然后把该FIFO中的数据上传到显现器。该模块的时钟是由PLL电路对FPGA输入的25 MHz晶振时钟倍频得到的。通过FPGA外部一组拨码开关操控输入电平为高或许低,然后设置不同的触发和采样形式。
3.1 SDRAM数据存储模块
将这个存储模块区分为多个子模块来完结。如图3所示。sdram_ctrl是SDRAM状况操控模块,该模块首要完结SDRAM的上电初始化以及守时改写、读/写操控等状况的变迁。内部规划了两个状况机,一个用于上电初始化的状况操控,另一个月用于正常作业时的状况操控;sdram _cmd是SDRAM指令模块,该模块依据sdram_ctrl模块的不同状况指示输出相应的SDRAM操控指令和地址,sdram_wr_data是SDRAM数据读/写模块,该模块相同是依据sdram_ctrl模块的状况指示完结SDRAM数据总线的操控,SDRAM的数据读/写都在该模块完结。数据读/写凭借了两个存储器(异步FIFO)如图4所示。其间wrfifo用于写SDRAM数据,rdfifo用于读SDRAM数据。在规划中SDRAM读/写都是以8个字(16 b)为单位,运用FIFO中的当时数据量作为操作SDRAM的状况指示。当wrfifo数量超越8个则宣布写SD]RAM恳求,读出wrfifo中的数据。相同,在rdfifo数据少于256 B(rd-fifo半空)时宣布读SDRAM恳求,读出8个新的数据写入rdfifo中,以确保后续电路总是继续的传输。SDRAM信号收集模块在上电延时后从SDRAM的0地址开端写入递加数据,随后通过内部FIFO顺次送入SDRAM。SDRAM的一切地址写完数据后,发动SDRAM读逻辑,从0地址开端读出SDRAM内的数据放入缓存FIFO中,然后把该FIFO中的数据上传到显现器。
3.2 根据M4K的移位寄存器接连且可变频的采样模块
为了完结有用效据的准确捕获在不中止程序运转的情况下,有用数据长期实时读进,进步嵌入式软件功用剖析的规模和质量。运用Cyclone芯片内部M4K结构装备移位寄存器对数据实时采样,并且设置2个按键调理操控采样频率。
图5为M4K移位寄存器原理图。装备输入/输出的数据位宽w,移位寄存器的一个taps位宽m,总的taps数量n。这三个参数乘积便是占用的M4K存储巨细。从图5中可看出,每个clk输入一个移位数据,一起输出一个数据,而M4K内部则是每个clk周期移位一次,每个tap的输出直接移位到下一个tap的输入,装备后的输出中可看到每个tap的最终一个w位宽的数据。
4 VGA显现界面的规划
VGA界面规划首要完结对成果的显现。可以对测验目标的数目、采样形式、触发信号的形式、采样频率进行操控,并且将成果显现成为波形图以便运用者进行调查。在规划中需求的字符是通过取模软件PCtoLCD2002,把界说的字模数据存储在FPGA的M4K块生成的ROM里,显现的时分从ROM读数据进行显现。
5 FPGA仿真及调试
实时数据收集剖析数据量大,时序杂乱,以10 kHz~100 MHz的采样频率进行数据传输时,运用QuartusⅡ自带的仿真东西生成的鼓励,花费的时间长,并且与实践处理成果有必定的误差,无法有用的验证全体模块的功用,一起也赡以对其进行实时模仿。本文在运用QuartusⅡ自带仿真东西的基础上,将归纳后得到的成果导入Modesim 6.0中,编写Testbench供给仿真鼓励对逻辑剖析仪的顶层模块进行仿真。通过比较全体功用进行验证。图6为逻辑剖析仪顶层模块仿真波形。
由图6看出,3种采样形式分别为001,010,100。001采样形式被触发后显现后64个采样数据;010采样形式触发后显现前32个采样数据和后32个采样数据;100采样形式触发后显现前64个采样数据。铲除采样信号低有用,开端一个新的采样触发。通过调试,该逻辑剖析仪采样频率为100 MHz。在输入采样信号的情况下,可以得到比较不错的波形。图7是在该采样频率下调查到的波形。
6 结语
成果表明,该逻辑剖析仪以每8个像素为单元作为一个采样数据的显现长度,最多16路信号捕获输入通道,1路信号触发通道,3种信号采样形式,数据的剖析规模和质量得到进步,可便利科研、教育运用。