1013基于FPGA的逻辑分析仪设计与实现.docx

上传人:可****阿 文档编号:30816815 上传时间:2022-08-07 格式:DOCX 页数:35 大小:294.69KB
返回 下载 相关 举报
1013基于FPGA的逻辑分析仪设计与实现.docx_第1页
第1页 / 共35页
1013基于FPGA的逻辑分析仪设计与实现.docx_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《1013基于FPGA的逻辑分析仪设计与实现.docx》由会员分享,可在线阅读,更多相关《1013基于FPGA的逻辑分析仪设计与实现.docx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、基于FPGA的逻辑分析仪设计与实现摘要逻辑分析仪在数字系统调试中起着巨大的作用,但是一般的硬件逻辑分析仪价格十 分昂贵,这很大程度上限制了它的市场范围。为了使更多用户使用到逻辑分析仪,本文 在虚拟仪器技术、FPGA技术基础上,设计了基于FPGA的逻辑分析仪。通过对计算机 技术、传感器技术、数字处理等技术进行整合,设计了该逻辑分析仪,该技术调动了丰 富的计算机软硬件资源,突破了数据处理以及存储等方面的限制,是当今仪器发展的趋 势。本系统设计的逻辑分析仪将FPGA技术与虚拟仪器技术相结合,突出了新技术在智 能仪器应用中的优势。该虚拟逻辑分析仪的价格只为传统逻辑分析仪的十分之一,是一 款实用的数字测

2、试仪器。本文首先探讨了逻辑分析仪的工作原理及需求分析,并在此基础上,确定了逻辑分 析仪的整体方案。之后在Quartus II的开发环境中使用Verilog HDL语言对模块进行了 编码,以实现所需的功能。本设计主要由三大部分组成,时钟模块,采集模块,VGA 显示模块。其中采集模块是整个设计的核心部分,该模块主要由检测电路,触发电路, 采集电路,移位寄存器组成。最终,使用Quartus II结合modelsim对系统功能进行了一系列的仿真测试,验证了 本逻辑分析仪功能与设计相符,具有变频采样时钟和多路采样通道。本逻辑分析仪使用 液晶显示器作为波形显示屏幕,用FPGA控制其接口、数据传输及数据的显

3、示,因而 实时采样波形的显示效果度好,这标志着未来逻辑分析仪一个新的发展趋势。关键词:FPGA,逻辑分析仪,Veri log HDLThe Design and Implementation of LogicAnalyzer Based on FPGAAbstractLogic analyzer plays a huge role in the debugging of digital system, but the price of logic analyzer in general is very expensive, which seriously affected it popular

4、ity. In order to make more users to use the logic analyzer.The design of a logic analyzer based on the virtual instrument technology and FPGA technology.The design the logic analyzer through the integration of computer technology .sensor technology, digital processing technology and fully mobilize t

5、he software and hardware resources,which break through data processing and storage and other aspects and it is the trend of instrument development.The logic analyzer combines FPGA technology and virtual instrument technology.which uses new technology to highlight the advantages of smart instrumentat

6、ion applications.Virtual Logic Analyzer is a tenth of the price of traditional logic analyzer, it is a practical digital test equipment.Firstly, the paper discusses the principle, the overall design scheme, and the demand analysis of the logic analyzer. Secondly, in order to achieve the desired func

7、tionality has been encoded using Verilog HDL language in the Quartus II development environment.The design mainly consists of three parts, clock module, data acquisition module.VGA display module. The acquisition module is the core part of the whole design, the module is composed of a detection circ

8、uit, trigger circuit, sampling circuit and shift register.Finally,Logic analyzer system functions are tested using the Quartus II simulation combined with modelsim.to verify whether its function and design features are the same, it has a frequency sampling clock and multiple sampling channels. The l

9、ogic analyzer waveform display using a LCD, Its Better display effect real-time sampling of the wavefbnn because it controls interfaces, data transmission and data display using a FPGA, which is mark a new trend in the future.Key words: FPGA. Logic Analyzer, Verilog HDL摘要Abstract11第1章绪论11-1课题研究背景与意义

10、11.2本课题的研究内容1第2章 关键技术介绍32.1 FPGA 介绍32.2硬件描述语言32.3集成开发环境Quartus II介绍4第3章系统功能需求63.1逻辑分析仪的基本结构与特点63.1.1逻辑分析仪的基本结构63.1.2逻辑分析仪的特点63.2逻辑分析仪的功能需求63.3逻辑分析仪的工作原理7第4章系统RTL级设计94.1 PLL94.1.1 PLL 配置94.1.2 PLL复位电路94.1.3复位信号产生104.2数据采集模块104.2.1按键检测104.2.2触发控制124.2.3数据采集134.2.4移位寄存器144.2.5数据采集模块接口定义154.3 VGA显示模块164

11、3.1 VGA 接口原理1643.2 VGA字符显示1843.3 VGA显示模块接口定义20第5章时序约束与仿真验证225.1 PLL仿真与时序225.1.1 PLL 仿真225.1.2时序分析简介225.1.3时序分析工具TimeQuest225.1.4 PLL时序约束235.2数据采集模块仿真245.3 VGA控制模块仿真2553.1 VGA模块功能仿真2553.2 VGA 时序265.4顶层模块的功能仿真27第6章结论与展望296.1设计总结296.2基于FPGA逻辑分析仪的展望29参考文献30致谢31第1章绪论1.1课题研究背景与意义当前,数字逻辑电路的出现,使得计算机和大规模集成电路

12、的迅速发展。数字电路 是处理由离散的二进制信息所表示的信息,用“1”表示高电平,“0”表示低电平。这 些二进制数的组合是多样化的,在此区域被称为数据域:用来测试数据域的技术叫数据 域测试技术。一般情况数据信号忽视了实际的特定的波形,而只关心逻辑和时序关系。 大量的数据流中,包含了大量的非隐蔽,随机误差的信号,要想找到它们无异于大海捞 针。像逻辑分析仪一类的新的测试设备,能够及时,迅速,准确的解决问题。逻辑分析 仪会用时钟信号从测试设备去采集和显示的数字信号。逻辑分析仪没有很多的电压等级,通常只显示两个电压(逻辑0和1)。设置参考电 压后,逻辑分析仪将通过一个比较器确定,低于参考电压显示高电平(

13、逻辑1),低于显 示(逻辑0)。逻辑分析仪测量信号只是显示逻辑1或逻辑0。逻辑分析仪和示波器之间 还有另一个区别是信道数。示波器一般只有双通道或四通道,而逻辑分析仪的渠道可以 有很多,甚至达到上百个。所以在测试多渠道时逻辑分析仪优势会很明显,特别适合总 线调试信号。逻辑分析仪一般用于大规模数字系统组成的数字集成电路的检测,例如微 处理器组成的数字系统,硬件和软件故障的检测。硬件逻辑分析仪的核心部件非常昂貴,投资髙,技术更新周期长的缺点。更关键的 是它与其他仪器设备的连接有限,无法自己编程硬件,二次开发差。基于软件的FPGA 逻辑分析仪(软逻辑分析仪)有机地与计算机相结合,用软件开发系统,大大减

14、少了产 品开发周期,设计简单,成本也大大降低,但同时也更方便与网络外设连接、技术更新 周期短、实用性更高。1.2本课题的研究内容本文研究了逻辑分析仪工作基本思路,仔细的分析了逻辑分析仪的整体架构和系统 解决方案。主要对逻辑分析仪的主要组成部分数据采集、触发控制、数据存储和显 示控制四大部分进行了研究。确定了系统的设计方案后,研究了 FPGA并利用Verilog HDL硬件描述语言进行硬 件电路的设计。本设计采用自下而上的设计方法对系统进行功能划分和定义,随后采用 Verilog HDL硬件描述语言对每个模块进行描述。在做完电路设计后,在FPGA的开发 环境Quartus II中对逻辑分析仪的进

15、行仿真。最终会对论文的主要工作进行总结,总结 该逻辑分析仪的特点和不足,并指出需要进一步完善和发展的方面,和未来逻辑分析仪 的发展趋势。第2章关键技术介绍2.1 FPGA 介绍集成电路(ASIC)领域中的一种半定制电路而出现的,它是的前身是PAL(可编程阵 列逻辑)、GAL(通用阵列逻辑)等可编程器件。FPGA既终结了定制电路的缺陷,又改善 了原有可编程器件门电路数不足的缺点。FPGA是一种PLD(可编程逻辑器件)芯片,它是的主要结构是以一种RAM,即査找 表(LookUpTable, LUT)作为基础的。目前FPGA中多使用4输入的LUT,因此每 一个LUT都可以认为是一个有4位地址线的16

16、X1的RAM。当用户通过原理图或HDL 描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能结果,并把 结果事先写入RAMo就如同输入一个地址査表一样,当有一个信号进行逻辑计算时, 就能找出与地址内容相对应的部分,只需要输出它就可以了。FPGA设计流程分为设计 规范、设计输入、功能仿真、综合设计、布局布线:时序仿真、下载验证等步骤,简明 设计流程如图2.1所示。图2.1 FPGA设计流程图2.2硬件描述语言硬件描述语言HDL用形式化的方法描述数字电路和系统。这种语言设计的数字电 路系统,不但可以从上层到下层(从抽象到具体)逐层描述自己的设计思想,而且可以 用一些分层次的模块去表

17、示一个极其复杂的数字系统。使用电子设计自动化(EDA)工具, 对用硬件描述语言设计的数字逻辑模型进行仿真,然后在用自动综合工具将设计的内容 转换成门级电路网表。这其中具有代表性的语言就包括Verilog HDL语言Verilog HDL语言的诞生要追溯到上世纪80年代初,当时的GateWay Design Automation公司需要为其模拟器产品开发一种新的硬件建模语言,该公司的工程师菲 尔漠比(PhilMoorby)完成了 Verilog的主要设计工作。Verilog HDL作为一种便于使 用的语言渐渐的为众多设计者所青睐,也因此他们的模拟仿真器产品也得到了大面积的 应用,Verilog

18、HDL语言在公众领域开始普及是在1993年,当时的一个组织,OVI(Open Verilog International)决定推广Verilog HDL语言,使得这门新起之秀得到了快速的发展。 VerflogHDL的优越性得到了广泛的认同,因此IEEE于1995年制定了 Verilog HDL的 IEEE标准。Verilog HDL的优点主要有以下几个方面,首先它在1983年就诞生了,设计资源及 其的丰富,也因此拥有广泛的设计群体。其次这种硬件描述语言非常的简单易懂,只要 有一些C语言基本知识,经过一段时间的学习与实际操作,就可以在极短的时间内掌握 这种设计技术。考虑到这种语言的灵活性和实用性

19、,本文的设计将采用Verilog HDL作 为硬件开发语言。2.3集成开发环境Quartus II介绍Quartus II是Altera公司在本世纪初推出的FPGA / CPLD集成开发环境,它持原理 图、内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计 流程。Quartus II 设计工具完全支持 VHDL、VerilogHDL 以及 AHDL ( Altera Hardware Description Language)等多种设计输入形式,为模块化的设计提供了方便。Quartus II能 够提供完美的层次化设计,在一个输入编辑环境中可以相互使用不同的设计输入形式,

20、可以有效的运用原理图与HDL进行混合设计:Quartus II能够使用RTL Viewer观察器 观察综合后的RTL图,RTL图提供了综合后逻辑模块及它们之间的相互连接方式:完 成编译成功,可以进行仿真来验证设计的功能正确与否可;最后,综合和仿真没有问题 后,便可以将编程文件(如.sof文件、.pof文件)通过编程器下载到目标器件中验证 功能的实现。Quartus II的Nios II软核处理器开发包SOPC Builder.主要用于实现Nios II系统的 配置和生成,以及与Nios II系统相关的监控和软件调试平台的生成。除此以外,用户 也能够使用Quartus II结合基于MATLAB的

21、DSP Builder进行FPGA的DSP系统开发。 Quartus II是一种综合性的开发平台,它集嵌入式软件开发、Altera的片上可编程系统 (SOPC)开发、集系统级设计于一体。由于Altera Quartus II这种可编程逻辑的设计环境的强大的设计能力和直观易用的接口,很受数字系统设计者的青睐。本论文采用Verilog HDL实现硬件设计。仿真、综合、采用Quartus II和modelsim 软件工具实现。作为一种可编程逻辑的设计环境第3章系统功能需求3.1逻辑分析仪的基本结构与特点3.1.1逻辑分析仪的基本结构逻辑分析仪通道输入,主要按照数据的捕获方式,去寻找已经规定好的数据。

22、用数 据采集模块将其转换成相应的数据流形式。数据采立即集模块的主要作用是用来捕获需 要观察的数据的:当时钟模块工作时,一旦搜索数据,会有一个控制数据存储器的触发 信号被数据触发:存储在存储器里的数据将会在显示控制模块里显示出来。3.1.2逻辑分析仪的特点逻辑分析仪要有如下主要特点:(1) 要求测试速度大于被测数字系统的工作速率。(2) 为了便于观察,以VGA接口的显示屏显示数字系统的运行情况。(3) 输出通道足够多,可同时检查16路,32路甚至更多路的信号。(4) 要有记忆功能,它的高速存储器是能够将数据快速的进行采集和存储的。数据 采集速度是由储存器的速度决定的:而存储器的容量又影响着采集数

23、据的多少。(5) 具有超前的观察能力。因为逻辑分析仪内部有存储器,可以存储处出发前的数 据,可以显示付延迟的数据,有助于分析故障原因。3.2逻辑分析仪的功能需求本次设计工程的功能需求,需要实现的逻辑分析仪的功能,罗列了下述9个功能点。(1) 本次设计在理想情况下最大频率可以达到275MHz,但实际情况却不能达到如此 高的频率只能到150MHz。所以这次设计的信号捕获精度定位在lOOMHzo(2) 采集模式共有三种:MODE1-触发后显示后64个采集数据:MODE2-触发后显示前32个采集后32个采集数据:MODE3触发后显示前64个采集数据。(3) 共有4路信号捕获输入通道,1路信号触发通道(

24、可配置的上升沿或者下降沿触 发)。(4) 使用60Hz/640*480分辨率下的电脑显示器(VGA),用作显示波形的屏幕,以每 8个像素点为单位作为一个采集数据的显示长度。(5) 位拨码开关,控制上升沿触发或者下降沿触发的。(6) 配置触发模式的三位拨码开关,例如:开关1拉高则开启MODE1,开关2拉高 则开启MODE2,开关3拉高则开启MODE3。同一时刻三个开关只能有一个置高,多 开没有效果。(7)有一个FPGA的系统复位按键和一个逻辑分析仪的采集清除按键,低有效。用于 清除当前采集波形,以开始一个新的采集触发。(8)两个调节按键,控制采集频率(采集周期)的设置。可调的采集频率(采集周期)

25、。3.3逻辑分析仪的工作原理逻辑分析仪的一般工作过程就是数据采集、存储、触发、显示。由于它采用了数字 存储技术可将数据采集工作和显示工作分开进行。同时,也可以对存储的数据反复进行 显示,对于分析和研究会有很大的帮助。使用逻辑分析仪的探头(逻辑分析仪的探头是将若干个探极集中起来,其触针细小, 以便于探测高密度集成电路)监测接进被测系统的数据流,之后会形成并行数据。再将 其送到比较器里处理,在比较器中,输入信号与外部设定的门限电平进行比较,当输入 信号的值比门限电平值大时,就在相应的线上输出高电平,反之输出低电平,并对输进 波形进行整形。之后,再在时钟脉冲控制下将经比较整形后的信号送至采样器进行采

26、样, 被采样的信号按顺序存储在存储器中。采样信号在存储器中存储的组织依据“先进先 出”的原则,当有显示命令输入时,信息会依据先后顺序逐一读岀,并按照之前设定的 显示方式来显示信息。逻辑分析仪的基本功能有两个,一是分析系统和诊断系统故障:二是用便于观察的 形式,显示出数字系统的运行情况,起到一个逻辑显示器的作用。为了简化设计,本设 计原理图如图3.1所示,数据获取部分是用于捕获并存储所要观察分析的数据,而数据 显示则是用多种形式来显示所获取的数据。其中触发产生是逻辑分析仪中最为关键的部 分,它的作用,简单的说就是在被分析的数据流中搜索特定的数字,一旦发现这个数字, 便产生触发信号来控制和存储有效

27、的数据,它的功能决定了欲观察的数据窗口在整个数 据流中的位置:那么数据流从何而来呢,这就是数据输入部分的功能,数据输入部分就 是将各通道的输入信号变换成相应的数据流:最后,数据显示部分的功能则是将存储器 中的有效数据,最终以多种不同的显示方式显示出来。需要说明的是,整个系统都是在 同步(外部时钟)或异步(内部时钟)的作用下实现运行的。时钟选择被测数据,数据输入0数据显示匕触发产生*数据存储GA图3-1逻辑分析仪的原理结构第4章系统RTL级设计4.1 PLL4.1.1 PLL 配置该PLL的输入时钟为FPGA外部的25MHz晶振,希望得到一个100MHz (输入时 钟的4倍频)的系统时钟供FPG

28、A内部使用。该PLL的输入输岀接口如表4.1所示。表4.1 PLL接口定义信号名方向功能描述inclkOinputPLL输入时钟arcsetinputPLL复位信号,高电平有效cOoutputPLL输出时钟cloutputPLL输出时钟Lockedoutput该信号用于指示PLL处理后的时钟已经稳定输出,高有效。4.1.2 PLL复位电路FPGA设计中复位方式有异步复位和同步复位是两种很常用的复位方式。异步复位 是指,无论时钟沿是否到来,当复位信号有效时,就对系统进行复位。而同步复位则是, 只要复位信号和时钟信号同步,一旦时钟上升沿到来并且检测到复位信号就进行复位的 操作。根据表4.2所列出的

29、同步复位信号与异步复位信号的优缺点,可以从中看出,要 想解决同步复位的资源消耗问题以及异步复位的亚稳态问题,只要设计一个异步复位, 同步释放的电路就能够解决。表4.2同步复位与异步复位优、缺点的比较同步复位异步复位优点仿真器的仿真异步复位可以节省资源, 有利于时序分析设计相对简单可以滤除 高于时钟频率的毛刺。异步复位可以节省资源优设计相 对简单点异步复位信号识别便。缺点复位信号的有效时长必须大于时钟周期, 同时组合逻辑的路径延时,复位延时等 会耗费较多的逻辑资源。在复位信号释放的时候容易出现 问题。复位信号容易受到毛刺的 影响。如图4.1所示,为一个异步复位,同步释放的双缓冲PLL后复位电路。

30、该电路采用FPGA的外部时钟c汰作为输入时钟,该电路先把输入复位信号rst_n做异步复位、同步 释放处理,随后同时将时钟elk以及复位信号输入到PLL。为了达到PLL输出时钟有效 前的目的,要把系统其他部分维持在复位的状态。也就是说,在PLL有效输岀之前,其 输出locked信号要一直保持在低电平,而要把它置于高电平,需要在PLL的输出稳定 以后才能做到。然后,需要把locked和FPGA外部输入复位信号rst_n进行相与的操作 后,再作为整个系统的复位信号。而这个复位信号也是让合适的PLL输岀时钟异步复位、 同步释放处理的。该电路在PLL输出前和PLL输出后对复位信号进行了两次处理,因 此它

31、的复位信号特别稳定。图4.1 PLL后复位电路设计4.1.3复位信号产生当PLL得到一个时钟输入(一般是外部晶振时钟)时,经过其内部处理后输岀端能 得到一些时钟频率。PLL输出的时钟频率和相位上很稳定,而且时钟网络延时比外电路 的分频时钟小很多,因此其应用非常广泛。如图4.2所示,在逻辑分析仪的复位设计里,先用FPGA的外部输入时钟elk将输 入复位信号rst_n异步复位、同步释放处理,然后将复位信号输PLL,同时elk也输入 PLL。在PLL输出时钟有效前,系统的其它部分都保持复位状态。PLL的输出locked信 号在PLL有效输出之前一直是低电平,等PLL输出稳定有效之后拉高该信号。FPG

32、A 外部输入复位信号rst n和locked信号相与之后在作为整个系统的复位信号。图4.2复位设计原理图4.2数据采集模块sampling_ctrl模块的功能主要是包含按键检测、触发控制和模式选择、数据采集、 数据存储等,数据采集的主要功能都是由它实现的,因此它是采集控制部分的核心模块。4.2.1按键检测人们日常生活中所用的键盘,分为编码键盘和非编码键盘。用专用的硬件编码器才 能识别键盘的闭合,同时输出键编码号或键值的称为编码键盘,如计算机键盘。非编码键盘则是利用软件编程来识别。嵌入式系统的键盘应用中,一般会使用非编码键盘,也 有用到编码键盘的。如图4.3所示,按键在闭合和断开的那一刻,触点会

33、存在抖动现象。在按键按下或 释放时,可能都会出现一个不稳定的抖动时间,而这个抖动时间会使得按键编码无法处 理好,所以有必要有效消除按键抖动。理想波形实际波形按卜,抖动图4.3按键波形按键检测的代码如下:reg20:0 delay; /延时计数器regl :0 key_valuerl ,key_valuer2;wire 1:0 key_change; /always (posedge clk_100m or negedge rst_n)if(!rst_n) delay v= 21dO;else delay = delay+lbl;/always (posedge clk_100m or nege

34、dge rst_n)iR!rst_n) beginkey_valuerl =2bll;key_valuer2 =2bll;endelse iRdelay = 21hlfffff) beginkey_valuerl = add_key,dec_key; /delay 20ms,锁定键值 key_valuer2 = key_valuerl;endassign key_change = (delay = 2Id 1) ? (key_valuerl & (key_valuer2): 2b00;程序设计鬲基本思路是:-(1) 第一个always模块启动计数器,延时20ms左右的时间。(2) 第二个alw

35、ays语句,每过一个20ms,进行一次键值采集。(3) 如果前后20ms的键值是否发生了改变,则锁定鍵值,同时输岀控制信号key_changeo4.2.2触发控制组合触发(也叫基本触发)是将逻辑分析仪各通道的信号与各通道预置的触发字进 行比较,当这些触发字一一匹配时,就能够产生触发信号。这种功能可以在复杂的数据 流中观察和分析某些特定的数据块。如选择“AMP”指令在数据线上出现的时刻作为触 发条件,就可以使逻辑分析仪跟踪AMP指令,监视程序的转移。这对组合触发是非常 有利的。逻辑分析仪都必须要具备组合触发的功能。它主要由主要由两种方式构成,即触发 开始跟踪和触发终止跟踪(也被称为开始显示触发和

36、终止显示触发或后置触发和预触 发)。开始触发的原理是直到写满数据为止,存储采集的数据的先决条件(从数据流中 识别触发字)只要满足,存储器就一直存储数据。而终止触发的先决条件是存储器存满 新数据后才开始触发,也就是说当存储器存满新数据时,就开始在数据流中搜索触发字, 只要能搜素到数据就停止存储的动作。此时存储器中所写入的信息就是以触发字为终点 的一组数据。对于故障诊断来说,这样的功能是很有实际意义的。一旦系统出错的数据 被设置为触发字,逻辑分析仪就会去搜索这些出错的数据,甚至一些意想不到的情况也 能找得到,这对于分析故障的原因很有帮助。组合触发的代码如下:input trigger;reg tr

37、iggcr_r I ,triggcr_r2,triggcr_r3:wire pos_tri;wire ncg_tri; always (poscdgc clk_100m or ncgedgc rst_n)jR!rst_n) begintriggcr_rl = 1bO;triggcr_r2 = b();triggcr_r3 = 1bO;endelse begintriggcr_rl = trigger;lriggcr_r2 = triggcr_rl;triggcr_r3 = trigger_r2;endassign pos_tri = trigger_r2 & triggcr_r3;assign

38、 ncg_tri = triggcr_r2 & triggcr_r3reg trigger_valid; 设定的触发条件满足后,该标志位拉高always (posedge clk_100m or negedge rst_n)iR!rst_n) triggcr_valid = 1bO;else iR!sampling_clr_n) triggcr_valid = 1bO;else iRtri_modc & pos_tri) trigger_valid = Ibl;oJsERhri. mode & neg tri) irigger vali4 tn or n 關伊 M 吋irst n)崎踞else

39、 iikey chancy 1 (sampliog rak 4J9;) sampling rale 4dO) sairipiing rate sampling raieJbl; 采样 周期模式最小到0计算釆样率对应的分频汁数值s.Jways (sampling rate)casssmpling rate)4如 sapdivmsx 14dO;4dl: sapdivimx v14dl;4也;sapdivmax v14雄4也 sapdvmax v14kd9;4!4: sapdivmax v14*9;4d5: sapdivmax14099;4d6: sapdivmax v14kd(99;4d7: sa

40、pdivmax v14*99;4盜8: sapdivmax vM 依999;原创力文档max.bookl 预览与源文档一致下载高清无水印4d9: sapdivmax = 14d9999;dciault: sapdiv_max= 14dO;cndcasc采样频率分频计数always (posedge clk_100m or negcdgc rst_n)iR!rst_n) sapdiv_cnt = 14dO;else iRsapdiv_cnt = sapdiv_max) sapdiv_cnt = 14dO;采样率计数最大值到else sapdiv_cnt = sapdiv_cnt+lbl;assi

41、gn sapdiv_cnd = (sapdiv ent = 14dO); 采样点到/产生64*16个移位寄存器reg63:0 sft_rt);/移位寄存器组0reg63:0 sft_rl;/移位寄存器组1采集信号signalfOalways (poscdgc clk_100m or negcdgc rst_n)iR!rst_n) sft_rO = 64dO;else ifi;sampling_siart) sft_rO = signal0.sft_r063:l; 向右移位,最高位输入新数据 4.2.4移位寄存器本设计采用Cyclone芯片内部M4K结构配置移位寄存器对数据实时采集,并且设 置2

42、个按键调节控制采集频率。图4.4为M4K移位寄存器原理图。它的参数w, m, n分别表示为输入输出的数据 位宽,移位寄存器的一个taps位宽,总的taps数量。这三个参数相乘得到的结果就是占 用的M4K存储空间的大小。从图中可得知,每个c汰输入时,有一个移位数据和一个 输出数据,M4K内部则是每个elk周期移位一次,每个tap的输出直接移位到下一个tap 的输入,配置后的输出里可以看到每个tap的最后一个w位宽的数据。本设计共使用16组移位寄存器来采集数据,sfl_rO63:O到sfl_rfI63:0这16组数据 就是16路输入信号在触发后,最终需要显示到液晶屏供用户观察的连续64个采集值。

43、这16个数组一直以移位寄存器的方式不断的读进新的采集值,直到触发信号到来,根 据采集模式的不同,在相应的时刻这个移位寄存器停止工作,当前的64位采用值也就 固定不变了。移位寄存器部分代码:rcg63:0always (posedgc clk_100m or negcdgc rst_n)iR!rst_n) sft_rO = 64dO;else if(sampling_siart) sft_rO = signal0,sft_r063:l;w*m*n shin register图4.4 M4K移位寄存器原理图4.2.5数据釆集模块接口定义信号采集模块sampling_ctrl.v的输入接口定义如表4

44、.4所示表4.4输出接口定义信号名方向功能描述clk 100minputFPAG采集时钟信号,频率为100MHzrst ninput系统复位信号,低电平有效signal 15:0input16路被采集信号TriggerInput1路触发信号,可配置为上升沿或者下降沿触发tri modcinput触发信号模式选择,1 -上升沿触发,0-F降沿触发sampling_mode2:0input采集模式选择,高珥平表示选中。OOl-MODEl. OIO-MODE2, 100-MODE3add keyinput按键用于控制采集频率的降低,低电平表示按下dec keyInput按键用于控制釆集频率的提高,低电平表示按下sampling cljnInput采集清除信号,用于清除当前采集数据,低有效disp ctrloutputVGA触发且采集完成,显示波形使能sampling ratc3:()loutput采集率设置寄存器,0-100M, 1-50M.,9-10sft r063:0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁