ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:193.11KB ,
资源ID:24262097      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24262097.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VGA显示的多通道数字示波器课设.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VGA显示的多通道数字示波器课设.docx

1、VGA显示的多通道数字示波器课设 20132014学年 第一学期专业综合设计课 程 设 计 报 告题 目: VGA显示的多通道数字示波器 班 级: 10电子信息(2)班 姓 名: 许怀生 张小东 刘玉 陈奇 江陆子 指导教师: 崔 雪 英 电气工程系2013年11月专业综合设计任务书课题名称VGA显示的多通道数字示波器指导教师崔雪英 执行时间20132014学年第一学期 第 11 周学生姓名学号承担任务评分刘玉1009121046理论分析与计算 张小东1009121090硬件电路设计(AD采样;转换部分)许怀生100912108硬件电路设计(其他部分)陈奇1009121010软件设计(软件流程

2、图部分)江陆子论文撰写,排版设计目的用FPGA平台实现VGA显示的多通道数字示波器设计要求(1)示波器实时采样频率为10MHz,A/D转换精度为10bits。(2)模拟信号输入电压为-2.5V-+2.5V,频率为0-1MHz。(3)两路数字信号输入。数字信号低电平为0V,高电平为3.3V,频率为0-1MHz。摘 要本设计是基于sopc技术的VGA显示数字存储示波器。采用在FPGA内嵌入32位软核处理器MicroBlaze的 SOPC技术为核心来构建系统,充分利用FPGA中的可编程逻缉器件资源构成各部分数字电路,处理器与eda技术相互补充,形成了整个基于VGA显示的数字示波器的核心,完成高速数据

3、采样控制、数据处理及波形显示等系统功能。设计分为模拟信号预处理电路、AD采样电路、触发电路、RAM存储、Flash存储、可调数字信号产生、MicroBlaze控制模块、VGA显示输出与人机交互接口控制。设计中采用实时采样,AD采样后的数据经过触发电路,满足触发条件后送到RAM中,然后显示在显示器上,并能够相应按键存储命令,实现波形数据的非易失性存储。设计中发挥可编程逻辑器件和处理器各自优势,符合现代设计理念,满足设计要求。关键词:多通道 ,FPGA,数字示波器,10位AD ,VGA显示第1章 方案论证与设计1.1设计思路本系统以Xilinx公司的FPGA芯片XC3S500E为控制核心,FGPA

4、内建双缓冲机制的VGA显示模块,实现中文信息显示和绘制波形的颜色控制。使用Verilog描述硬件控制A/D转换器,存储采样数据并进行数据处理,简化了硬件电路,提高稳定性。输入模拟信号系统通过4级级联放大器,达到了所要求的带宽和精度。使用硬件比较器达到单次触发,和存储显示功能和正负延时功能。选用存储容量为8K的EEPROM芯片24C64作为手动存储的存储介质,实现掉电不丢失。另外通过软件实现了自动选择扫描速率和垂直量程的功能。输入信号AD 采样Xilinx FPGAEXCD-1开发板触发电路数字通道波形存储VGA显示器PS2键盘信号调理电路图1 系统框图1.2方案论证与比较选择数字存储示波器系统

5、由信号调理电路、触发电路、A/D采样、数字通道、数字信号产生电路、控制处理系统、键盘控制模块、VGA显示模块等组成。 方案一:由Verilog硬件描述语言完成全部逻辑控制功能,组成可编程片上系统。此方案优点是处理速度快,不占用多余的片上资源。但是系统功能复杂,且控制、运算量大,开发起来比较困难。 方案二:采用EXCD-1开发板为控制核心,由Verilog硬件描述语言实现采样频率控制模块、数据存储控制模块和VGA显示,键盘人机交互模块。嵌入MicroBlaze软核作为主控制模块,用来处理实时性要求低和复杂的运算,并完成彩色通道显示,中文界面显示等。整个控制系统都集中在单个芯片上,大大简化了外围硬

6、件电路设计,增加了系统的稳定性和可靠性。FPGA的高速性能比其他控制芯片更适合于高速数据采集和处理,而且使用FPGA内部存储模块完成输入信号的量化存储,在存储速度上有着外接RAM无法比拟的优势。方案选择:综上所述比较可知,方案二既可满足题设基本要求又能充分发挥扩展部分,电路简单,易于控制,所以选择方案二。1.3系统总体方案分析系统总体上利用Xilinx系统开发环境ISE,内建AD采样控制,键盘控制,VGA控制等多个模块,并利用XPS将MicroBlaze微处理器嵌入到FPGA中,实现了可编程片上系统。MicroBlaze通过LBM总线访问片上存储模块BlockRAM;通过OPB总线上挂接外设接

7、口连接并进行驱动。VGA显示部分采用双缓冲机制工作,在FPGA内建GRAM,按照一定时序将将RAM内缓存数据映射到VGA显示器上。通过这种机制,我们可以灵活地另外大跨度增益自动调节是程控增益放大电路设计的一个难点,本系统通过4级级联放大器,并合理地由软件控制继电器实现增益的步进,达到了要求的带宽。第2章 理论分析与计算2.1 实时采样与等效采样的选择 通常采样是按固定顺序进行,并且采样顺序与示波器屏幕上显示的顺序相同 ,这就是实时采样,实时采样技术的好处就是可以捕获单个信号。题目给出AD的采样速率为10M,当档位在1us/div,显示器上选择分辨率为40点/div,此时显示器上每四个相邻扫描点

8、为相同的幅值,但被检测信号的频率范围是在01MHz,即在最高频率1MHZ时,实时采样可以在每周期采10个点以保证取到一个完整的信号波形。等效时间采样又称重复采样,在满足以下两个条件时:1.波形必需重复;2 必需稳定触发,示波器可以从多个波形周期获得波形不同点的采样,然后在屏幕上完整恢复波形,它包含顺序采样和随机重复采样两种技术,其好处 是可用很慢的模数转换器。,且题目要求能检测单次按键的波形,等效采样不能完成非周期波形的采样,故选用实时采样方式。2.2 采样速率分析显示波形的水平轴的调节通过采样点的时间间隔的变化来调整,题目要求有1us/div,1ms/div,1s/div三个档位,并且水平显

9、示分辨率 为20点/div,因此对应的采样速率是25ns/点、25us /点、25ms/点,当显示波形的水平分辨率为1us/div时,能分辨的信号最高频率为1MHZ ,由奈圭斯特定理要求采样速率至少为2MHZ才能使信号不失真;分辨率为1ms/div时,可以分辨的信号最高频率为1KHZ,采样速率至少应为2KHZ,同理分辨率为1s/div时,采样速率至少为2HZ。本设计中保持AD的采样速率为10M,完全可以满足实际需求。2.3 垂直灵敏度分析设计要求垂直灵敏度分为10mv/div,100mv/div,1v/div三档,我们的垂直刻度为8 div。 A/D转换器的输入信号电压幅度为02V,当示波器满

10、刻度显示时,被测信号的幅度将分别为:VI11V/div8div=8V,VI2=0.1V/div8div=0.8,VI3=10mv/div8div=80mV。A/D转换器的满刻度输入值为VMAX=4V,程控放大器电路的增益ANVMAX / VIN,其中N1、2、3,对应于3挡不同垂直灵敏度的增益分别为:A12/80.25; A22/0.82.5; A32/0.0825。我们进一步提高了参数,增加了250倍档,1mv刻度。2.4 扫描速率分析A/D的转换速率取决于被测信号的频率范围,或DSO对扫描速度的要求,设计要求扫描速度含1ms/div、1s /div、1 s/div三挡,我们通过FPGA内建

11、分频电路实现了最高采样率16MSa/s,每10倍频步进,共六档,增加了该示波器的实用性。水平显示分辨率为64点/div,以保证显示波形清晰稳定。2.5 显示分辩率分析显示波形的垂直分辨率:显示RAM中的数据为12位,其中模拟信号经AD后的值为10位,两路数字信号的值各占1位,要求中有垂直分辨率为 10mv/div,100mv/div,1v/div,垂直刻度为8 div。 A/D转换器的输入信号电压幅度为05v,当示波器满刻度显示时,被测信号的幅度将分别为:VI11V/div8div=8V,VI2=0.1V/div8div=0.8v,VI3=0.01v/div8div=0.08V。A/D转换器的

12、满刻度输入值为VMAX=5V8v,根据题目要求通过外部输入来信号来改变分辨率以适应不同精度。将AD采样的值和数字信号的值据当前档位进行计数存储,即1us/div时每10个点保存一个,1ms/div时每10000个点保存一个,1s/div时每采样个点保存一个。第3章 系统硬件设计在Xilinx的EXC1控制板的基础上,为实现系统功能,所设计的外围硬件电路主要包括:电源电路、信号调理电路、A/D转换电路、触发电路、及键盘接口电路。下面只叙述其主要功能实现部分。3.1信号调理电路 由于模拟信号输入为2.5V,而所用A/D有效输入为2Vp-p,因此需要输入信号进行比例缩小,因此需要设计一个比例运算电路

13、。本设计采用了高速放大器AD826来实现这一功能。AD826可以作为出色的ADC/DAC缓冲器或有源滤波器用于数据采集系统中,0.01%建立时间为70 ns,最大输入失调电压低至2mV。利用AD826来搭建一个反向比例运算电较路,其运算公式为:根据设计要求,取R=1K ,R12.5R=2.5K, RpR1Rf0-71K。为了保证信号显示与输入信号同相,再采用AD826搭建反相器,将输出信号接入到后面的AD876中进行采样转换。信号调理原理图3.2 模拟通道与AD采样电路设计此部分由于贴片元件多,抗干扰等要求苛刻,因而自己绘制了PCB。模拟部分由AD采样部分,程控放大部分,电源部分等构成。AD采

14、样电路图程控放大器的作用是对输入信号进行衰减或放大调整,使输出信号电压在 AD转换器输入电压要求范围内。信号从探头输入,进入程控放大(衰减)电路进行放大(衰减),再对被放大(衰减)的信号进行电平抬高后送入高速 AD转换器对信号进行采样,采样所得的数据存入 FPGA内建的存储器中。时钟引出插针。由FPGA为高速 AD转换器提供从 32Hz-16MHz 的6 种不同的频率信号作为不同水平扫速时的采样时钟频率。从程控放大器输出的信号送入 AD 转换器。在本电路中选用的是精密运算放大器OPA4727和高速AD8012,合理的搭配两种运放来设计电路,互补优劣,使系统既达到了高精度和高带宽,又大大节约了设

15、计成本。我们选用10bit,65MSa/s,的ADC10065.达到了采样率和精度的要求。3.3 A/D转换电路 AD876是一款CMOS、160 mW、10位、20 MSPS模数转换器(ADC),内置一个片内输入采样保持放大器。它采用多级流水线架构,内置输出纠错逻辑,可提供精确的性能,并保证在整个工作温度范围内无失码。参考输入的驱动和检测连接将外部压降降至最低。可以将AD876置于待机工作模式,此时功耗降至50 mW以下。模拟输入端接受2Vp-p值范围内胡信号,数字I/O接口支持+5 V或+3.3 V逻辑。可以将数字输出引脚置于高阻态;输出格式为标准二进制编码。A/D转换模块原理图3.4 触

16、发电路设计 数字存储示波器中触发电路的作用是:在满足触发条件时开始对采集的数据按规定的起点地址进行存储和显示。触发电路如图所示。电阻R2、R3用于调节或选择触发电平,分别为和20K,后者为可调电位器,可以在05V范围内任意选择触发电平。触发电路原理图3.5 FPGA部分硬件设计顶层模块包括例化的8个子模块。1.AD采样时钟产生模块Module ad_clk_gen 。2.AD与fifo控制模块Module fifo_control(核心控制模块,作用为AD与fifo读写控制和Uart发送控制)。3.VGA显示模块 vga_drv 与GRAM模块。4.键盘输入模块。5.锁相环倍频模块。6.缓存采

17、样数据的双口RAM模块。下面对有关部分进行说明:3.5.1 VGA显示部分该模块使用双缓冲机制,软核MicroBlaze通过读写显存来控制VGA显示。考虑VGA显示部分要求至少有三种颜色,我们使用2bit数据表示一个点,可以完成4色显示,可以对不同通道使用不同颜色加以区分。网格与水平标度轴由硬件实现,CPU通过接口方便地进行访问,充分利用了SOPC的优势。GRAM位宽32bit,大大提高了FPGA刷屏的速度。vga_drv与GRAM对内嵌的MCU设计成为BlackBox ,MCU只需向相应地址发送合适数据即可显示想要的波形。经实践证明该方案可稳定地显示多种颜色和中文信息。3.5.2 数字信号的

18、产生模块在FPGA内建比较器,使用一个表示信号平均值的数据与AD采样得来的数据进行比较得到同频同相的A路信号,再经由A信号触发计数器,经过合理设置计数脉冲,得到有45延时,占空比25%的B路信号。表示信号平均值的数据由MicroBlaze测量信号提供。3.5.3FLASH存储部分由于要求掉电不丢失,因此我们使用开发板上的一块AMD的型号为AM29LV160DB的FLASH存储器,当按下存储健后,FLASH把RAM中的数据写到FLASH中,根据资料中的读写时序图,使用状态机实现这个过程,当按下回显的按键时将FLASH中的数据读回图像显示RAM,再显示出来。3.5.4键盘模块键盘采用PS2键盘,用

19、FPGA作PS2键盘的控制器,在FPGA中嵌入相应的功能模块,充分利用了FPGA的内部资源,增加了系统的可靠性和灵活性。键盘电路第4章 软件部分设计4.1软件流程图系统程序流程图开始上电初始化进入主循环启动AD采样等待数据处理完与双口RAM交换数据测量,画波形及相应信息显示读取按键值有按键触发电平调节RUN/STOP存储功能measure响应用户其他操作4.2软件组成本系统的软件部分包括AD采集控制,水平分辨率控制,垂直分辨率设置,多个颜色的波形画线函数,测量功能,自动功能,存储与回放,存储显示状态控制,通道选择控制,用户界面实现等。由于系统充分利用了SOPC的优势,将大部分工作交由硬件完成,

20、从而大大简化了系统的软件设计。第5章 系统测试与结果分析5.1测试仪器DS1102E数字示波器 1台 ,EE1641D函数信号发生器1台,数字万用表15.2测试方法用标准数字示波器和本设计示波器并联测量同一信号的幅度和周期,测量所得数据分别记为Vi/Vo,T1/T2。5.3测试数据表1.垂直灵敏度测试档位输入Vi/V输出Vo/V误差|VoVi|/Vi1001V/div2.50V2.47V1.25%1.00V0.97V3.0%100mv/div300mV297mV1.0%100mV98mV2.0%10mv/div30.0mV31.0mV3.3%10.0 mV10.3mV3.0%表2扫描速率测试档

21、位输入f1输出f2误差| f1f2 |/ f11001s/div500Hz5.09 Hz4.5%15.00 Hz15.33 Hz1.2%1ms/div220Hz218 Hz1.0%660Hz663 Hz0.45%1us/div220KHz224 KHz1.8%660KHz643KHz2.6%表3数字通道测试档位输入f1输出f2误差| f1f2 |/ f11001s/div5.00Hz5.04Hz0.8%15.00 Hz15.30 Hz2.0%1ms/div220Hz216 Hz1.8%660Hz665 Hz0.75%1us/div220KHz217 KHz1.3%660KHz664KHz0.6

22、%由表中数据知,测量结果都在测量误差允许范围内,满足题目要求的误差5%。5.4 实际效果 图2 实际显示效果图5.5结果分析本设计完成了题目所要求的各项基本指标,并达到了全部的发挥部分要求。实现了实时显示和存储多通道显示,自行产生两路数字信号,且A路数字信号与输入模拟信号同频同相,中文提示时间、幅度刻度和通道颜色,图像左右平移,存储显示的正负延时。很好地完成了设计任务。总结本设计以EXCD-1开发板为控制核心,实现了多通道VGA显示的数字存储示波器。通过测试,系统不但完成了基本要求,也完成了发挥部分的要求。在设计制作过程中遇到了不少难题,但经过几天的不懈努力,经过一次次的测试和改,最终圆满完成

23、了设计任务。参考文献1李辉. 基于FPGA的数字系统设计.M 西安电子科技大学出版社2黄智伟. 全国大学生电子设计竞赛技能训练 .M 北京航空航天大学出版社3何宾xilinx可编程逻辑器件技术详解M 清华大学出版社4 夏宇闻 verilog 数字系统设计教程 北京 北京航空航天大学 出版社,20035 孙航 XIlinx可编程逻辑器件的高级应用与设计技巧,北京,电子工业出版社,2004附录主要程序1、# Created by Base System Builder Wizard for Xilinx EDK 10.1.03 Build EDK_K_SP3.6# Sun Sep 19 22:50

24、:27 2010# Target Board: Hep Hep EXCD 2-500 Board Rev C# Family: spartan3e# Device: XC3S500E# Package: PQ208# Speed Grade: -4# Processor: microblaze_0# System clock frequency: 50.00 MHz# On Chip Memory : 8 KB# Total Off Chip Memory : 1 MB# - RAM = 1 MB# #2、户的按键做出响应程序部分/*/ Located in: microblaze_0/inc

25、lude/xparameters.h#include xgpio_l.h#include xparameters.h#include xgpio.h#include xbasic_types.hXGpio key,output;volatile u32 out_put;/xx xx x x xx xx xxxx xx xx xx 共 18位 /波形左移 波形右移标尺左移/右移 暂停/继续 开显示/显示 时间尺度 幅值单位 数字信号频率调节 存储回放 多道显示选择 volatile u8 h_scale,v_scale,trig,disp,channel,mov; volatile u8 fre

26、q,vga_on_off,pause_run,,cursor_left.cursor_right;/ 函数名 : delayus delayms/ 功能描述 : 延时2us 1ms/ 参数 : Xuint16 delay/ 返回值 : void /static void delayus(Xuint16 delay) volatile Xuint16 i, j; for (i = 0; i delay; i+) for (j = 0; j 10; j+) ; static void delayms(Xuint16 delay) volatile Xuint16 i,j; for(i=0;idel

27、ay;i+) for(j=0;j3785;j+); /*Function: key_scan()3、scription: 扫描键盘并返回键值Calls: nonoCalled By: mainTable Accessed: Table Updated: /Input: /。Output: Return: 按键值Others: */Xuint8 key_scan() Xuint8 value; Xuint8 temp,sccode,recode; pio_SetDataDirection(&key,1,0x00);/设置为输出 /P1=0xf0; XGpio_DiscreteWrite(&key

28、,1,0xf0);/输出0xf0 delayus(1); XGpio_SetDataDirection(&key,1,0xf0);/设置为输入 if(XGpio_DiscreteRead(&key,1)&0xf0)!=0xf0) /若读回值不是0xf0 delayms(5); if(XGpio_DiscreteRead(&key,1)&0xf0)!=0xf0) /P1=0xf0; XGpio_SetDataDirection(&key,1,0x00);/设置为输出 XGpio_DiscreteWrite(&key,1,0xf0);/输出0xf0 /temp=P1; XGpio_SetDataDirection(&key,1,0xf0);/设置为输入 temp=XGpio_DiscreteRead(&key,1); /读回值 sccode=temp&0xf0;/取高四位 /P1=0x0f; XGpio_SetDataDirection(&key,1,0x00);/设置为输出 XGpio_DiscreteWrite(&key,1,0x0f);/输出0x0f /temp=P1; XGpio_SetDataDirection(&key,1,0x0f);/设置为输入 temp=XGpio_DiscreteRead(&key,1); /读回值 recode=temp&0x0f;/取低四位

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1