1、天津职业技术师范大学Tianjin University of Technology and Education毕 业 设 计专 业:应用电子技术教育 班级学号: 学生姓名: 指导教师: 二一 一年 六 月天津职业技术师范大学本科生毕业设计基于 FPGA 的数字存储示波器的设计Design a digital oscillograph based on FPGA专业班级: 学生姓名: 指导教师: 学 院:电子工程学院年 月I摘 要本文介绍了一台以 FPGA 为处理核心的双通道数字存储示波器的设计。设计中模拟通道采用 OPA657 为阻抗变换缓冲级,提供 1T 的输入阻抗,VCA824 作为增益
2、控制实现了宽带宽,宽范围输出。再由 THS4500 驱动 ADC ADS831,实现了 80Msamp/s采样率,模拟通道的带宽限制为 10MHz。数字处理采用 SOPC 技术,在 FPGA 内部构建采样 FIFO,及数据流触发及分析逻辑,FPGA 内建的以 NiosII 为核心作为处理核心。此示波器的单通道存储深度为 8Ksamp,波形刷新率为 15 帧每秒,具有一定的实时性。操作界面采用 TFT240X320 显示波形,全触摸控制。波形移动拉伸还有其他控制都通过触摸滑动触摸屏,带来了不一样的操作感受。示波器的制作成模块化功能板,分为模拟通道,控制板,数字核心板,显示控制板。示波器的硬件也成
3、为了一个高速数据采样的开发平台。关键词: 示波器;FPGA;增益控制;触发电路;触摸屏IIABSTRACTThis paper introduces a for processing the core with FPGA dual channel digital storage oscilloscope design. By simulating the channel OPA657 design for impedance transformation buffer level, provide the input impedance 1T,VCA824 as gain control re
4、alized broadband wide, wide range output. By THS4500 drive ADC ADS831 again, realized 80Msamp/s sampling rate, simulation channel bandwidth limitations for 10MHz. Digital processing with the SOPC technology, The FPGA internal construction, and data sampling FIFO flow trigger and analysis of logic, T
5、he FPGA built-in to NiosII as the core as processing core. The depth of the single channel storage oscilloscope for 8Ksamp, waveform refresh rate of 15 frames per second, has certain real-time. By TFT240X320 operation interface, the touch display waveform control. Waveform tensile and other control
6、movement by touching sliding touch-screen, brought different operating experience. Oscilloscope production into modular function board, divided into analog channels, control panel, digital core board, display panel. Oscilloscope hardware also became a high-speed data sampling development platform.Ke
7、y Words:Oscilloscope; FPGA; Gain control; Trigger circuit; Touch screenI目 录1 项目背景 - 1 -1.1 示波器简介 - 1 -1.2 示波器发展现状 - 2 -2 数字存储示波器实现方案 - 3 -2.1 总体构架方案 - 3 -2.2 模拟前端方案 - 4 -2.2.1 阻抗变换方案 - 5 -2.2.2 增益控制方案 - 6 -2.2.3 ADC 驱动方案 .- 7 -2.2.4 抗混叠滤波处理 - 8 -2.2.5 直流偏移方案 - 10 -2.2.6 触发方案 - 10 -2.3 ADC 方案 .- 13 -
8、2.4 FPGA 数字处理系统板 .- 14 -2.5 电源电路 - 15 -2.6 显示和接口方案 - 16 -3 硬件 SOC 及软件的实现基础 .173.1 自定义功能模块及 SOPC 系统组成 .173.2 软件开发环境 .213.3 示波器应用软件构建模式 .224 项目测试验证 .234.1 模拟通道性能测试 .234.1.1 模拟带宽 .234.1.2 垂直精度 .244.1.3 水平精度 .244.1.4 输入范围 .244.1.5 输入阻抗 .244.2 波形测试 .245 结论 .275.1 项目技术总结 .275.1.1 阻抗变换和探头技术 .275.1.2 增益控制 .
9、27II5.1.3 触发波形 .275.1.4 ADC 技术 .275.1.5 数据处理技术 .285.1.6 操控程序构建 .285.1.7 新的操控理念 .285.2 技术之外的感触 .286 附件 .296.1 原理图及 PCB 296.2 程序 .34参考文献 .50致 谢 .51天津职业技术师范大学 2011 届本科生毕业设计- 1 -1 项目背景1.1 示波器简介示波器是一种能够把电路信号从时域的维度展现在屏幕上的仪器,也因此功能示波器成为最常用的测量测试仪器之一。示波器的纵轴方向被电压值所度量,横轴则度量着信号的时间属性。显示在屏幕的图像我们形象地称之为“波形”。而为了方便观察波
10、形,示波器还需要能够设置这两个度量的档位和偏移,即有了垂直刻度,垂直偏移,时间刻度,水平偏移。有了这 4 个设置旋钮我们可以方便观察波形的各个细节。不过不要忽略观察波形的一个重要特性,那就是触发。触发的作用是等待信号的某些特征才开始显示波形。最简单和常用的触发条件是等待上升的波形穿越某个设定的点。有了以上几个基本设置操作就可以构成一个简单的示波器。模拟示波器的构成:图 1-1 模拟示波器的构成 模拟示波器的构成如图 1-1,通过把处理过的信号加在示波管的垂直方向,用锯齿波加在波器管的水平方向来演绎时间。通过触发电路来开启锯齿波从而触发波形。这样的实现方式存在着几个不够理想的缺陷。首先波形是靠眼
11、睛看,偶发性的波形看到了就算看到了,没看到可没有第二次机会。其次示波管的余辉时间太短,对于变化比较缓慢的波形,仅仅靠放慢扫描速度也是看不到波形天津职业技术师范大学 2011 届本科生毕业设计- 2 -的全貌的。因为波形过早地消失了。具有存储功能的模拟示波器成为了高级仪器。图 1-2 数字示波器的组成新型示波器数字存储示波器改进型的模拟示波器开始有了数字的踪影,也有了数字示波器的雏形。其结构如图 1-2。数字示波器除了模拟前端还保持模拟的模拟的方式处理信号其他处理都采用了数字化技术,大量地采用 ADC 和 DAC 技术,连控制波形的偏移和放大也数字化了,不仅如此,显示部件也采用了液晶屏幕。除了显
12、示波形以外还能显示出更多的参数信息,如频率,幅值,上升时间等众多测量参数。1.2 示波器发展现状目前在国内的大部分实验室使用的是快要过时的模拟示波器,其带宽都在100MHz 以下,而同样带宽的数字示波器的价格则在万元左右。而世界上对低端示波器的定义在 300MHz,大家使用 100MHz 的示波器而没有选更高主要原因是数字示波器的核心技术被外国企业所垄断。Tek,Fluke,Agilent ,力科等天津职业技术师范大学 2011 届本科生毕业设计- 3 -示波器制造商几乎占据了国内的数字示波器的市场。不仅如此,因为技术被垄断,外国公司把售价抬得很高,远高于示波器的制造成本。2 数字存储示波器实
13、现方案本章节详细讨论了数字示波器各部分的实现方案,通过对方案的讨论引出了示波器的技术构成和技术目标。2.1 总体构架方案数字示波器一般构成如图 2-1.图 2-1 数字示波器框图 来自探头的信号首先经过无源衰减然后进行阻抗变换(即缓冲),之后信号具有的一定的驱动能力,再经过可变增益的放大或衰减调整到适合 ADC 采样的幅值,为了能在屏幕上移动波形,信号在增益调整之后添加一个偏移量在有ADC 驱动电路输入给 ADC 芯片,ADC 是数据采样的核心,经过高速采样的信号变成了数据流,通过数据存储电路把大量的波形数据存储起来。采样部分告一段落。数据存储器的数据能通过数据总线读写。控制核心通过分析触发条
14、件天津职业技术师范大学 2011 届本科生毕业设计- 4 -挑选存储波形中合适的部分或全部数据处理成现实波形。而所有控制的命令始于控制面板,用户设置好的各种参数通过操作面板采集到控制核心,控制核心把这些控制参数转换成合适不同逻辑设置和模拟电压。例如我们控制波形上下移动将会被控制核心转换成控制 DAC 产生偏移电压加载在进入 ADC 前的模拟信号中。模拟通道在很宽的不同带宽指标下结构并没有太多的变化,而不同的带宽指标通过不同的性能的模拟芯片实现。而示波器带宽指标不同就不能用单一的一种数据处理结构来处理数据。举个例子,在 10MHz 采样时钟下的数据流我们可以用 74 系列的芯片对数据锁存并存入单
15、片 FIFO,而如果采样时钟上升到了1GHz,对 ADC 数据流的处理就只能用 FPGA 及定制芯片来接受和存储了数据流。1GHz 的采样时钟并不是随意虚高的数值,即使采样率达到了 1GHz,示波器的理论带宽最高为 500MHz,而实际应用中只能做到 200MHz 模拟带宽。这也是低端示波器的带宽性能。在数字示波器中后端数字处理的框架决定了整个示波器的性能。我们有必要先讨论一下数字示波器的数字处理框架。FPGA 还有一个强大的功能就是在其大规模的逻辑资源的基础上构建 SOPC系统。SOPC 系统是 ALTERA 公司首先提出来了,其含义是可编程片上系统。即在一个块 FPGA 实现系统的整个功能
16、。其实现的基础是处理器软核和外围数字部件。SOPC 系统的意义在于构建简单快速,处理系统的构建风险降低了,开发周期也将缩短。而且构建相当地灵活,我们可以按照自己的意愿设计添加专用处理组件,无缝的结合在 CPU 系统中。举个例子,如果我们需要一个 FFT处理,我们可以先构建一个 FFT 处理硬件,在借助 SOPC 构建软件我们可以为FFT 定制一条汇编指令,在 C/C+中生成 C 的宏指令。这样我们在 C 环境中调用一条指令就可以完成 FFT 运算。而 SOPC 系统可以利用 FPGA 剩余的逻辑资源实现其他在原来 FPGA 实现的逻辑电路,而不受到太多的影响。2.2 模拟前端方案不管是数字示波
17、器还是模拟示波器,在模拟前端的结构上面是不需要有区别的。模拟前端的任务都是把信号的幅值和偏移调整到需要的水平。主要是两个参数的调整,调整幅值即是变化通道中的增益,而偏移量是通过加上一个直流分量实现偏移。所以我们可以用图 2-2 的框图预览模拟前端的结构。天津职业技术师范大学 2011 届本科生毕业设计- 5 -图 2-2 模拟前端组成框图模拟前端可以讨论的技术点有很多,其中的很多技术也是关键技术。下面我分开讨论一下模拟前端的各个技术组成。2.2.1 阻抗变换方案示波器测量电路是需要在电路中截取信号,同时要尽量减少对信号的影响。加大模拟前端的输入电阻,减少输入电容,是示波器首先应该解决的问题。阻
18、抗变换电路能提供一个大的输入电阻,小的输入电容通路,同时提供一个小的输入电阻大的驱动电流的输出。这个输出提供给后级电路就不需要担心信号变形。输入信号和输入信号通常不需要放大或衰减。但是阻抗变换电路存在一些技术难点。阻抗变换要至少要同时达到 5 个指标。1,大的输入电阻,通常在 G 级,2,小的输入电容,小于 5pF,3,高的通频带,对于一个 100MHz 带宽的示波器,因为每一级都在消耗带宽,阻抗变换的通带要在 200MHz 以上,才能保证进入 ADC 的信号高于 100MHz 带宽。4,高的摆率,摆率和带宽有着紧密的联系,但是高的带宽不一定意味着高的摆率,因为大多数运放的小信号带宽比大信号带
19、宽高很多,大信号的带宽更能体现摆率的意义。更大的摆率意味着更快的变化速度,这样你才能看到类似阶跃的信号。5,输入输出电压范围,输入电压范围会直接影响后级增益分配,而增益和带宽有一定的互斥关系。阻抗变换的输入范围会间接影响带宽指标。如果说单独满足上述技术要求那设计的难度并不大,而要同时满足以上性能。就有难度了。现在集成运放的研究与以往相比取得了长足的进步,现在我们可以轻松的买到带宽超过 1GHz 的运放。电流反馈型运放测有着更高的带宽性能。如果能找到一款高速且具有高输入阻抗的运放,把它设置成 Gain=1,那么阻抗变换变得很简单。而现在就有这样的运放。如 TI 公司的 OPA656,OPA657
20、。OPA657的增益带宽积达到了 1.6GHz,当配置成 Gain=1,那么小信号带宽达到了1.6GHz,而输入阻抗达到了 1T,足以满足低端示波器的性能需求。天津职业技术师范大学 2011 届本科生毕业设计- 6 -图 2-3 集成缓冲芯片本设计中采用如图 2-3 方案,这个方案与直流交流分开缓冲精确合成方案相比成本可高出不少。2.2.2 增益控制方案增益控制范围达到 40dB,带宽达到 300MHz 的集成增益控制芯片是找的到。选用集成控制增益芯片完成增益控制与前两个方案相比有很大的优势,首先增益控制连续可调,而集成化得芯片体积大大减少,电路变得简单,PCB 板的绘制也简洁了许多,从 PC
21、B 线路的角度来说连接简单风险小,电源去耦也方便。此外电路的功耗与前两个方案相比也小一些。我选用的就是 VCA824 方案。在使用中发现了一个问题。VCA824 有两个偏移,一个是内部乘法器之前形成的偏移,另一个是乘法器之后形成的偏移:一个输入偏移,另一个是输入偏移,最后的偏移结果是由这两个偏移叠加而来的。输出偏移是相对固定的,而输入偏移和增益控制有一定关系。如图 2-4。图 2-4 VCA824 输入偏移与增益的关系天津职业技术师范大学 2011 届本科生毕业设计- 7 -由图 2-4 可以看出,在其他的增益点有不同的偏移,而且偏移量不可以忽略,必须得采取措施,否则示波器在使用直流测量功能时
22、,此偏移将造成直流测量误差。解决方法可以用 DAC 通道板提供一个偏移修正电压(如图 2-5) 。图 2-5 VCA824 偏移补偿方案这个偏移修正随着增益的值输出对应的偏移修正电压,也就是说,通过实验的方法把修正的参数做成数据表格存放在处理器中,通过查表来修正偏移误差将会大大减小。在实际运用中这个方法取得了和很好的效果。2.2.3 ADC 驱动方案高速 ADC 通常是差分输入,信号通过增益控制之后需要一个把单极性信号转换成为差分信号的电路,同时这个电路直接驱动 ADC。单运放缓冲单极驱动方案如果把差分输入的 ADC 的负输入端接在一个中间电平,只驱动正输入端也是可工作的(图 2-6)。天津职
23、业技术师范大学 2011 届本科生毕业设计- 8 -图 2-6 单极驱动方案不过这样的用法会损失一半的输入动态范围,也会增大失真。同时还损失了 6dB 的增益。没有差分运放的时候可以勉强使用此方案。单芯片差分驱动方案如果有集成的差分运发来驱动 ADC(图 2-7)那是最好不过了,不至于损失 ADC 的动态输入范围和通道的增。图 2-7 差分驱动方案图中 THS4509 具有 1.9GHz 的带宽,6600V/us 的摆率,而差分共模电平可以重新定位。精确对准 ADC 的参考的中间电平,使 ADC 的输入窗口尽其所用。2.2.4 抗混叠滤波处理数字示波器常常出现测试同一个周期波形在不同的水平档位
24、看到同样的形状,或者明显不符合收缩比例。看个例子:天津职业技术师范大学 2011 届本科生毕业设计- 9 -图 2-8 未发生混叠如图 2-8,红色点标记为 ADC 在波形上的采样点,把所有采到的点连起来就能显现出信号的波形了。图 2-9 发生混叠而如果出现如图 2-9 的情况,我们把采到的点连起来也得到了红色的波形。这个波形和实际波形明显不符。这个时候发生了采样混叠。很明显当采样点低于信号频率是会发生混叠。那采样频率和信号频率满足什么关系才不会发生混叠呢?奎斯特研究并证明了,采样频率必须大于信号频率的 2 倍才不至于发生混叠。可见在采样率一定的时候,需要限制采样前信号的频谱宽度才保证显示不发
25、生混叠。天津职业技术师范大学 2011 届本科生毕业设计- 10 -图 2-10 抗混叠滤波图 2-10 中被圈住的电阻和电容构成了抗混叠功能。如果示波器有等效采样功能,那么就需要去掉抗混叠滤波。因为等效采样的原理的根基就是利用混叠效应,用低的采样率来查看比自身频率高的信号。2.2.5 直流偏移方案偏移电路是示波器模拟通道原理最简单的电路。本质上就是把信号和一个设定的直流信号相加。用一个加法电路就能实现。在运放的差分输入负极输入(图 2-11)一个直流信号也能起到偏移效果。此方案也是不增加通道有源级数,不影响信号的带宽。图 2-11 在差分负极输入处添加偏移2.2.6 触发方案触发是示波器重要
26、的功能之一,如果没有触发示波器的显示将不会出现稳定的波形,是触发让波形稳定。通过设置触发来过滤用户不感兴趣的信号,提取感兴趣的部分。为了看到触发特征之前信号发生了什么,在模拟示波器中需天津职业技术师范大学 2011 届本科生毕业设计- 11 -要延迟波形到达荧幕的时间,同时并不延迟触发的信号。这样示波器好像先知一样。提前显示一部分波形然后才看到了触发显示的特征,而按理说,每次显示都是先由触发电路来触发水平扫描系统开始扫描。其根本技术在于把波形延迟了一段时间。模拟示波器中这个电路叫做延迟线,如图 2-12。而这个延迟线电路能延迟的时间非常有限。在测量低频时几乎丧失了意义。对于低频信号你几乎看不到
27、触发特征之前的信号。图 2-12 模拟示波器的触发原理而在数字示波器中,触发延迟实现起来很简单。如图 2-13,波形是存储在存储器中的,只要把波形数据向前移动地址就可以实现查看触发前信号了。存储器的容量比较大,低频时能实现同样比例的延迟。图 2-13 数字示波器的触发原理下面讨论一下触发特征的识别和其实现方法。天津职业技术师范大学 2011 届本科生毕业设计- 12 -硬件触发方案所谓硬件触发是指把输入的模拟信号与设定的一个电压进行比较,产生一系列比较波形。比较器输出波形中上升沿意味着这个时刻波形从设置电压值的下面上升到设置电压的上面。我们通过数字电路识别比较器输出波形的上升沿从而识别信号上升
28、沿穿过设置电压的特征(图 2-14)。这样的触发信号被称为上升沿触发。图 2-14 比较触发原理同理识别比较器输出波形的下降沿就能实现波形下降沿触发。硬件触发方式是等效采样的必备条件。等效采样必须依靠硬件触发来找寻下一样点的位置。硬件触发在一定条件下也会失效,比如信号中有高频毛刺时,在毛刺点附近存在着很多与大体波形趋势想法的信号,而如果这些信号也可以满足触发条件。由这种条件所引发的触发时误触发(图 2-15)。图 2-15 触发错误原理如果把比较电路设置成迟滞比较,这个迟滞值就决定了触发灵敏度(图 2-16)。灵敏度的大小决定着触发电路对小信号的触发反应。有了灵敏度设置,我们可以设置较小的灵敏
29、度从而稳定观察小毛刺较多的信号。反之,我们可以更多地观察我们感兴趣的毛刺信号。天津职业技术师范大学 2011 届本科生毕业设计- 13 -图 2-16 高频触发抑制原理模拟触发电路从信号缓冲后级截取信号与 DAC 输出的一个设置比较值进行比较。比较器采用 TL3016(图 2-17),TL3016 能提供 4.5ns 触发延迟和 100mV迟滞电压。相比 LM311 的 1us 延迟,此芯片是性价比较高的一块芯片。图 2-17 触发电路比较器输出的是差分信号。即便比较器输出的边沿很快但不会给周围电路带来太大干扰。2.3 ADC 方案ADC 是数字示波器的核心器件,ADC 芯片成本在示波器总成本
30、中占得比例最高,即使方案中使用了高级的 FPGA。很多时候,高的 ADC 采样率就意味着带宽更高,性能更好的示波器。因为 ADC 是示波器性能提高的瓶颈。为此有许多降低成本,提高采样率的方案。本设计采用 TI 公司的 ADS831E,采样率达到了 80Msamp/s。模拟输入带宽是 300MHz,其内部结构如图 2-18。芯片设计成内部 1V 基准,这样对前端天津职业技术师范大学 2011 届本科生毕业设计- 14 -增益的要求降低了 6dB,降低基准电压有助于提高通道的增益,给模拟带宽让出一定的空间。图 2-18 ADC 内部结构通道间没有采用行业内默许的 ADC 交叉技术,因为要交叉是用
31、ADC 就必须把两个通道的电路在一块 PCB 上绘制。而制作一块大板比制作单独的板子再连接起来的风险大一些。假设小板中一个部分设计错误不会涉及其他模块板。2.4 FPGA 数字处理系统板FPGA 系统板资源包括一个 CycloneIII 系列 FPGA EP3C25Q240C8N,一个容量为 32Mbyte SDRAM 和配置芯片 EPCS16(如图 2-19)。天津职业技术师范大学 2011 届本科生毕业设计- 15 -图 219 核心板资源EP3C25Q240C8N 包含 25K LEs,66 个乘法器等诸多资源,足以满足 SOPC功能组件的构建需求。2.5 电源电路图 2-20 电源电路
32、电源电路的设计关系到便携性、通道噪声、散热问题。为了提供干净的电源,开关电源不是一个好选择,但是开关电源的高效率与强大驱动能力是不可轻视的。如果设计好电源滤波电路,开关电源在本设计中是勉强能用的。本设天津职业技术师范大学 2011 届本科生毕业设计- 16 -计采用如图 2-20 的开关电源电路。实验证明通过 LC 滤波电路能有效地去除开关电源中的开关噪声。由于通道的最大增益并不太大,只有 40dB。滤波后的噪声并未对模拟通道造成明显的影响,平衡了噪声因素之后,开关电源带来的高效率使此产品适合移动测试的要求。采用 12V,1.6AH 电池组能支持示波器工作 2 小时。而这是线性电源不可比拟的。
33、此外开关电源也让示波器能适应宽的电源输入范围。8V-40V 的输入情况下示波器都能正常工作。极大地方便了示波器的便携应用。2.6 显示和接口方案显示和接口大体以模拟和数字来分类。最早的模拟示波器和数字示波器都采用 CRT 显示器。而后来数字示波器换成了液晶屏。在操作面板上没有太多的变化。新型设计理念iPhone 风靡全球的一个重要原因是采用全触摸操控,触摸翻页,触摸缩放,给用户全新的体验。如果在查看波形的时候也能实现触摸缩放及移动,测试的心情会不会多一份惬意。本着这个想法本示波器采用全触摸操控,波形掌握于指间,缩放移动波形更人性化。给操控者不一样的使用体验。甚至所以设置都可以通过触摸屏来实现。
34、天津职业技术师范大学 届本科生毕业设计173 硬件 SOC 及软件的实现基础3.1 自定义功能模块及 SOPC 系统组成SOPC 组成如图 3-1 所示,主要包含了 32 位 NiosII 软核处理器和AVALONE 总线架构,这是 SOPC 主体。支持软核运行的有 SDRAM 控制器和偏上存储器,CPU 指令缓存和 CPU 数据缓存。这些都是可以自定义大小的。直接应用在本设计的有 FIFO 读写端口和 LCD 驱动 PIO。还有控制功能组件的GPIO。示波器触发逻辑模块通过 GPIO 控制,完成了触发延迟,触发后延迟,预存储,触发功能选择等项任务。图 3-1 组件框图1. FIFO 的设计F
35、IFO 除去地址生成部分的电路,那么 FIFO 就是一个双口 RAM,利用QuartusII 软件中的 LPM 宏功能模块定制功能生成一个大小为 8Kbyte 的双口RAM。这个 RAM 的读写速度能达到 250MHz。而地址发生器采用一个计数器对地址进行自动累加。设计图如图 3-2 所示。天津职业技术师范大学 届本科生毕业设计18VCCDataIn70 INPUTVCCClk INPUTVCCClear INPUTVCCReadEnable INPUTVCCReadClock INPUTReadData70OUTPUTCurrentAdress120OUTPUTVCCup countercl
36、ockaclrq120lpm_counter_D13_Up_AsyClrinst3 8192 Word(s)RAMBlock Type: AUTOdata70wraddress120wrenrdaddress120rdenwrclockrdclockq70altdpram_D8_A13_W_R_Reinst4 ADCdata RAM图 3-2 FIFO2. 触发逻辑的设计触发逻辑是示波器功能组件中比较重要的功能组件。首要的两个任务是触发预采样和触发后延迟采样的控制,采样数据存入 FIFO 是由触发逻辑来控制的。要完成触发首先要识别触发特征;VCHeadData7.0 INPUTVCCaudaD
37、ata7.0 INPUTVCDataIn7.0 INPUTVCClk INPUTVCClear INPUTVCControlBits6.0 INPUTTrigerOutOUTPUTCLRNDPRNQDFinst1AND2inst5AND2inst6AND2inst7AND2inst8AND2inst9AND2inst10OR3inst1OR3inst12AND3inst13VCNOTinst29DFdata7.0clockaclrq7.0lpm_df_D7_AsyClrinst18DFdata7.0clockaclrq7.0lpm_df_D7_AsyClrinst20unsigned comp
38、aredata7.0datab7.0clockaclr aebagbalblpm_compare_D7_E_G_L_2CK_AsyClrinst21unsigned comparedata7.0datab7.0clockaclr aebagbalblpm_compare_D7_E_G_L_2CK_AsyClrinst2Control6.0Control1.1Control2.2Control3.3Control4.4Control5.5Control6.6Control0.0图 3-3 触发逻辑图 3-3 电路借助数值比较器判断数据流的数值大小,比较器的结果向后延迟一个时钟并且与前一个时钟的比
39、较结果做就能判断出数据的趋势和穿越点的位置。两个类似的逻辑电路综合在一起就可以构成斜率触发。控制触发比较值可以控制触发的灵敏度。数据流触发信号与硬件触发信号一起被 MUX 选择,选出其中一个触发信号作为控制采样的触发源(图 3-4)。天津职业技术师范大学 届本科生毕业设计19VCCCH1TriggerInP INPUTVCCCH1TriggerInN INPUTVCCCH2TriggerInP INPUTVCCCH2TriggerInN INPUTVCCHeadData70 INPUTVCCCaudaData70 INPUTVCCCH1DataIn70 INPUTVCCCH2DataIn70
40、INPUTHeadData70CaudaData70DataIn70Clk ClearControlBits60TriggerOutTriggerinst3VCCdata1x70data0x70selresult70lpm_mux_D7X2inst14DFFdataclockaclrqlpm_df_AsyClrinst16data4data3data2data1data0 sel20resultlpm_mux_D1X5inst1ControlBits7 ControlBits60 ControlBits108图 3-4 触发源选择逻辑开启触发功能后一个叫做触发预采样的计时电路使 ADC 持续采
41、样一个预订的点数。完成预采样之后,触发信号被允许触发开启触发延迟计时器。触发延迟计时的作用是在触发特征出现之后延迟采样的预订的采样点数,然后控制采样时钟停止。这样就控制采集了触发特征前得波形和触发特征后的波形。他们的长度都是受到 CPU 设置的。3. 波形特征分析电路波形的最大值和最小值还有平均值的信息可以用来做自动调整波形功能。所以设计中添加了一个波形特征分析逻辑(图 3-5)。VCCClk INPUTVCCDataIn70 INPUTVCCClear INPUTMin70OUTPUTMax70OUTPUTDFFdata70clockenableasetq70lpm_dff_D8_EN_As
42、ySetinst4DFFdata70clockenableaclrq70lpm_dff_D8_EN_AsyClrinst5unsigned comparedataa70datab70 alblpm_compare_D8_L_0CKinst6unsigned comparedataa70datab70 agblpm_compare_D8_G_0CKinst图 3-5 最大值最小值识别电路特征分析逻辑通过选择记录最低的样值和最高的样值,得出波形的最大值和最小值。通过平均最大值和最小值得出平均值。天津职业技术师范大学 届本科生毕业设计204. 组件预览SOPC 组件(图 3-6)。图 3-6 SOP
43、C 组件列表触发和缓存顶层预览(图 3-7)。天津职业技术师范大学 届本科生毕业设计21VCCDataInCH170 INPUTVCCDataInCH270 INPUTVCCReadEnableCH1 INPUTVCCReadEnableCH2 INPUTVCCReadAdressCH1120 INPUTVCCReadAdressCH2120 INPUTVCCTriggerInPCH1 INPUTVCCTriggerInNCH1 INPUTVCCTriggerInPCH2 INPUTVCCTriggerInNCH2 INPUTVCCHeadData70 INPUTVCCCaudaData70
44、INPUTVCCTriggerDelay310 INPUTVCCPreDelay310 INPUTVCCClockIn INPUTVCCClockSelect40 INPUTVCCClockInADC INPUTVCCReadClock INPUTVCCClear INPUTVCCControlBits100 INPUTClockToADCOUTPUTTriggerDelayOKOUTPUT TriggeredOUTPUTReadDataCH170OUTPUTReadDataCH270OUTPUTMinCH270OUTPUTMinCH170OUTPUT MaxCH170OUTPUTMaxCH2
45、70OUTPUT CurrentAdressCH2120OUTPUTCurrentAdressCH1120OUTPUTCPU InterfaceDataIn70Clk ClearReadClockReadEnableReadAdress120CurrentAdress120Max70Min70ReadData70CHstoreinstClockInClearClkSel40ClockInADCClkOutClockToADCClockControlinst1CPU InterfaceDataIn70Clk ClearReadClockReadEnableReadAdress120Current
46、Adress120Max70Min70ReadData70CHstoreinst3CH1TriggerInPCH1TriggerInNCH2TriggerInPCH2TriggerInNHeadData70CaudaData70CH1DataIn70CH2DataIn70ClkInControlBits100TriggerDelay310PreDelay310ClearTriggerDelayOKTriggerClkOutTriggerControlinst2图 3-7 触发和缓存顶层等精度测频模块预览(图 3-10)。STD_TIME310STD_CLKTEST_CLKSTARTSTD_CO
47、UNT310TEST_COUNT310complete_nTEST_FCH2oSTD_TIME_CH2310 iSTD_COUNT_CH2310iTEST_COUNT_CH2310OSCint3oTriggerControl13图 3-10 精度测频模块 工程顶层文件(图 3-11)。VCCLK0 INPUTVCRest_n INPUTVCTF_in_port2.0 INPUTVCDatInCH17.0 INPUTVCDatInCH27.0 INPUTVCTrigerInPCH1 INPUTVCTrigerInPCH2 INPUT VCTrigerInNCH1 INPUTVCTrigerInN
48、CH2 INPUTVCdat0ToheEpcsControlerINPUToTuchBroad2.0OUTPUTTF_control_port5.0OUTPUTADR12.0OUTPUT BA1.0OUTPUTDQM1.0OUTPUT CKEOUTPUTnCASOUTPUT nCSOUTPUTnRASOUTPUT nWEOUTPUTSdramClkOUTPUTDAC84.0OUTPUTClockToCH1ADCOUTPUT ClockToCH2ADCOUTPUTACDbufControlCH1.0OUTPUT ACDbufControlCH21.0OUTPUTDerbugLed1OUTPUTd
49、clkFromTheEpcsControlerOUTPUT sceFromTheEpcsControlerOUTPUT sdoFromTheEpcsControlerOUTPUTVC TF_dat15.0BIDIRVC DQ15.0BIDIRAND2inst15GNDGNDDatInCH17.0ReadEnableCH1eadAdres12.0ReadClockDatInH27.0ReadEnableCH2eadAdres212.0TrigerInPCH1TrigerInN1TrigerInPCH2TrigerInN2HeadDat7.0Caudaat7.0ontrolBits10.TrigerDelay31.0PreDelay31