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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C甲VGA显示的多通道数字示波器.docx

1、C甲VGA显示的多通道数字示波器VGA显示的多通道数字示波器摘要:本系统以Xilinx公司50万门FPGA芯片XC3S500E为控制核心,设计出一台多通道VGA显示的数字示波器。系统主要由EXCD-1开发板,模拟通道与AD采样部分,VGA显示,PS2键盘和外部非易失性存储器等组成。实现了模拟信号任意电平触发,数字信号上升沿下降沿触发和存储回放功能,并按要求进行了垂直灵敏度和扫描速度的挡位设置。整个系统结构清晰,经测试,完成了题目所要求的各项基本指标,并达到了全部的发挥部分要求。关键词:多通道 ,FPGA,数字示波器,10位AD ,VGA显示Abstract: This system takes

2、 the 500,000 door FPGA chipXC3S500E from the Xilinx company as control core to make a multi-channel VGA display of digital oscilloscope. It consists of the EXCD-1development board, analog channels and AD sampling, VGA display, PS2 keyboard and external nonvolatile storage etc. We can use analog sign

3、al of any level and the digital signal rising edge or falling edge to trigger and have achieved storage playback according to the request of the vertical sensitivity and scan speed gear set The entire system structure is clear and the design accomplishes not only the basic demand, but also the exten

4、ded demand of the design.Keywords: Multi-channel, FPGA, Digital oscilloscopes, 10 AD, VGA display1 系统方案1.1设计思路本系统以Xilinx公司的FPGA芯片XC3S500E为控制核心,FGPA内建双缓冲机制的VGA显示模块,实现中文信息显示和绘制波形的颜色控制。使用Verilog描述硬件控制A/D转换器,存储采样数据并进行数据处理,简化了硬件电路,提高稳定性。输入模拟信号系统通过4级级联放大器,达到了所要求的带宽和精度。使用硬件比较器达到单次触发,和存储显示功能和正负延时功能。选用存储容量为8

5、K的EEPROM芯片24C64作为手动存储的存储介质,实现掉电不丢失。另外通过软件实现了自动选择扫描速率和垂直量程的功能。图1 系统框图1.2方案论证与比较选择数字存储示波器系统由信号调理电路、触发电路、A/D采样、数字通道、数字信号产生电路、控制处理系统、键盘控制模块、VGA显示模块等组成。 方案一:由Verilog硬件描述语言完成全部逻辑控制功能,组成可编程片上系统。此方案优点是处理速度快,不占用多余的片上资源。但是系统功能复杂,且控制、运算量大,开发起来比较困难。 方案二:采用EXCD-1开发板为控制核心,由Verilog硬件描述语言实现采样频率控制模块、数据存储控制模块和VGA显示,键

6、盘人机交互模块。嵌入MicroBlaze软核作为主控制模块,用来处理实时性要求低和复杂的运算,并完成彩色通道显示,中文界面显示等。整个控制系统都集中在单个芯片上,大大简化了外围硬件电路设计,增加了系统的稳定性和可靠性。FPGA的高速性能比其他控制芯片更适合于高速数据采集和处理,而且使用FPGA内部存储模块完成输入信号的量化存储,在存储速度上有着外接RAM无法比拟的优势。方案选择:综上所述比较可知,方案二既可满足题设基本要求又能充分发挥扩展部分,电路简单,易于控制,所以选择方案二。1.3系统总体方案分析系统总体上利用Xilinx系统开发环境ISE,内建AD采样控制,键盘控制,VGA控制等多个模块

7、,并利用XPS将MicroBlaze微处理器嵌入到FPGA中,实现了可编程片上系统。MicroBlaze通过LBM总线访问片上存储模块BlockRAM;通过OPB总线上挂接外设接口连接并进行驱动。VGA显示部分采用双缓冲机制工作,在FPGA内建GRAM,按照一定时序将将RAM内缓存数据映射到VGA显示器上。通过这种机制,我们可以灵活地另外大跨度增益自动调节是程控增益放大电路设计的一个难点,本系统通过4级级联放大器,并合理地由软件控制继电器实现增益的步进,达到了要求的带宽。2 理论分析和计算2.1 垂直灵敏度分析设计要求垂直灵敏度分为10mv/div,100mv/div,1v/div三档,我们的

8、垂直刻度为8 div。 A/D转换器的输入信号电压幅度为02V,当示波器满刻度显示时,被测信号的幅度将分别为: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.2 扫描速率分析A/D的转换速率取决于被测信号的频率范围,或DSO对扫描速度的要求,设计要求扫描速度

9、含1ms/div、1s /div、1 s/div三挡,我们通过FPGA内建分频电路实现了最高采样率16MSa/s,每10倍频步进,共六档,增加了该示波器的实用性。水平显示分辨率为64点/div,以保证显示波形清晰稳定。3电路设计3.1 FPGA部分硬件设计顶层模块包括例化的8个子模块(RTL级结构图见附录1)。1.AD采样时钟产生模块Module ad_clk_gen 。2.AD与fifo控制模块Module fifo_control(核心控制模块,作用为AD与fifo读写控制和Uart发送控制)。3.VGA显示模块 vga_drv 与GRAM模块。4.键盘输入模块。5.锁相环倍频模块。6.缓

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

11、时钟产生模块与采样控制模块这是整个设计的核心模块,ad_clk_gen译码指令产生ad采样时钟信号,这个信号决定了示波器的水平分辨率。最大16M,最小32HZ,可以观测出带宽2M以下的信号。该部分也负责存储和显示存储正负延时功能。存储空间支持4屏数据,达到发挥部分要求。另外可以通过PS2键盘设置显示存储延时功能,负640至正320点连续可调。可观测到前后共1280点数据,最大存储时间20s。3.1.3 数字信号的产生模块在FPGA内建比较器,使用一个表示信号平均值的数据与AD采样得来的数据进行比较得到同频同相的A路信号,再经由A信号触发计数器,经过合理设置计数脉冲,得到有45延时,占空比25%

12、的B路信号。表示信号平均值的数据由MicroBlaze测量信号提供。3.1.4键盘模块键盘采用PS2键盘,用FPGA作PS2键盘的控制器,在FPGA中嵌入相应的功能模块,充分利用了FPGA的内部资源,增加了系统的可靠性和灵活性。键盘功能表如附录2所示。 3.2 模拟通道与AD采样电路设计图2 信号调理部分电路图此部分由于贴片元件多,抗干扰等要求苛刻,因而自己绘制了PCB。模拟部分由AD采样部分,程控放大部分,电源部分等构成。程控放大器的作用是对输入信号进行衰减或放大调整,使输出信号电压在 AD转换器输入电压要求范围内。信号从探头输入,进入程控放大(衰减)电路进行放大(衰减),再对被放大(衰减)

13、的信号进行电平抬高后送入高速 AD转换器对信号进行采样,采样所得的数据存入 FPGA内建的存储器中。时钟引出插针。由FPGA为高速 AD转换器提供从 32Hz-16MHz 的6 种不同的频率信号作为不同水平扫速时的采样时钟频率。从程控放大器输出的信号送入 AD 转换器。在本电路中选用的是精密运算放大器OPA4727和高速AD8012,合理的搭配两种运放来设计电路,互补优劣,使系统既达到了高精度和高带宽,又大大节约了设计成本。我们选用10bit,65MSa/s,的ADC10065.达到了采样率和精度的要求。AD采样电路原理图见附录3。3.3存储介质存储显示使用FPGA内建的BlockRAM,手动

14、存储使用存储容量为8K的EEPROM芯片24C64作为非易失性存储介质,实现手动存储的波形掉电不丢失。3.4电源电路为避免相互干扰,所以将数字部分的供电与模拟部分分别用独立的稳压电路,并用滤波器隔离。4 软件部分设计4.1软件组成本系统的软件部分包括AD采集控制,水平分辨率控制,垂直分辨率设置,多个颜色的波形画线函数,测量功能,自动功能,存储与回放,存储显示状态控制,通道选择控制,用户界面实现等。由于系统充分利用了SOPC的优势,将大部分工作交由硬件完成,从而大大简化了系统的软件设计。4.2软件流程图图3 系统程序流程图5 系统测试与结果分析5.1测试仪器DS1102E数字示波器 1台 ,EE

15、1641D函数信号发生器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扫描速率测试档位输入f1输出f2误差| f1f2 |/ f11001s/div500Hz5.09 Hz4.5%15.00

16、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%由表中数据知,测量结果都在测量误差允许范围内,满足题目要求的误差5%。5.4 实际效果 图4 实际显示效果

17、图5.5结果分析本设计完成了题目所要求的各项基本指标,并达到了全部的发挥部分要求。实现了实时显示和存储多通道显示,自行产生两路数字信号,且A路数字信号与输入模拟信号同频同相,中文提示时间、幅度刻度和通道颜色,图像左右平移,存储显示的正负延时。很好地完成了设计任务。6 结束语本设计以EXCD-1开发板为控制核心,实现了多通道VGA显示的数字存储示波器。通过测试,系统不但完成了基本要求,也完成了发挥部分的要求。在设计制作过程中遇到了不少难题,但经过几天的不懈努力,经过一次次的测试和改,最终圆满完成了设计任务。参考文献1李辉. 基于FPGA的数字系统设计.M 西安电子科技大学出版社2黄智伟. 全国大

18、学生电子设计竞赛技能训练 .M 北京航空航天大学出版社3何宾xilinx可编程逻辑器件技术详解M 清华大学出版社附录1: RTL级结构图附录2: 键盘功能表功能 按键触发电平调节T/G切换通道1/2波形上下平移方向上/方向下波形左右平移方向左/方向右测量M垂直分辨率I/K水平分辨率J/LAUTOQRUN/STOPR上升/下降沿触发切换P触发源选择O存储显示H设置正负延时C回放B存储V附录3:AD采样电路附录4: Verilog顶层设计文件timescale 1ns / 1psmodule vga_top_moudule( clk, /VGA的IO h_sync,v_sync,red,green

19、,blue, /MicroBlaze核用IO fpga_0_Micron_RAM_Mem_A_pin,fpga_0_Micron_RAM_Mem_CEN_pin,fpga_0_Micron_RAM_Mem_OEN_pin, fpga_0_Micron_RAM_Mem_WEN_pin,fpga_0_Micron_RAM_Mem_BEN_pin,fpga_0_Micron_RAM_Mem_DQ_pin, fpga_0_rst_1_sys_rst_pin, /外设 fpga_0_LEDs_8Bit_GPIO_IO_O_pin, fpga_0_Push_Buttons_4Bit_GPIO_IO_I_p

20、in, fpga_0_Switches_8Bit_GPIO_IO_I_pin, fpga_0_RS232_PORT_RX_pin, fpga_0_RS232_PORT_TX_pin, /键盘 ps2k_clk,ps2k_data, /AD max1242_sclk,max1241_cs,max1241_data,sam_clk,ad_data );input clk;/50MHz/VGAoutput h_sync,v_sync;output 2:0red;output 2:0green;output 2:0blue; /ADoutput max1242_sclk,max1241_cs;inpu

21、t max1241_data;/键盘input ps2k_clk;input ps2k_data; /IP外设output 7:0 fpga_0_LEDs_8Bit_GPIO_IO_O_pin;input 7:0 fpga_0_Switches_8Bit_GPIO_IO_I_pin;input 3:0 fpga_0_Push_Buttons_4Bit_GPIO_IO_I_pin;input fpga_0_RS232_PORT_RX_pin;output fpga_0_RS232_PORT_TX_pin;/CPU的RAM引脚 output 31:13fpga_0_Micron_RAM_Mem_A

22、_pin;output fpga_0_Micron_RAM_Mem_CEN_pin;output fpga_0_Micron_RAM_Mem_OEN_pin;output fpga_0_Micron_RAM_Mem_WEN_pin;output 1:0fpga_0_Micron_RAM_Mem_BEN_pin;inout 15:0fpga_0_Micron_RAM_Mem_DQ_pin;input fpga_0_rst_1_sys_rst_pin; /模块之间的互联信号wire clkb;wire 11:0 addrb;wire 31:0 doutb;wire 12 : 0 addra;wir

23、e 31 : 0 dina; wire mainclk;wire clk100M;wire wea=1;wire keyclr=1;wire 31:0xps_gpio_2_GPIO_IO_I_pin;wire 31:0xps_gpio_3_GPIO_IO_I_pin;wire rst_n=fpga_0_rst_1_sys_rst_pin;wire 7:0ps2_byte;wire ps2_state; wire 31:0 gpio4; wire 29:0 iobuf;wire 23:0 b_doutb;wire 8:0markline;/连续性赋值assign clka=clk100M;ass

24、ign xps_gpio_2_GPIO_IO_I_pin8=ps2_state;assign xps_gpio_2_GPIO_IO_I_pin7:0=ps2_byte7:0;assign xps_gpio_2_GPIO_IO_I_pin31:9=0;assign iobuf=gpio431:26;/6位assign markline=gpio410:2;/assign xps_gpio_3_GPIO_IO_I_pin16=max1241_data;/接到了gpio3上assign max1241_cs=gpio41;assign max1242_sclk=gpio40;wire sam_sta

25、rt,sam_done;wire 10:0 ad_addra;wire 11:0 ad_doutb;/MCU,inwire 10:0ad_addrb;/MCU use,owire 2:0 clkdivid;/MCU ,oassign ad_addrb10:0=gpio421:11;assign sam_start=gpio422;assign clkdivid2:0=gpio425:23;assign xps_gpio_3_GPIO_IO_I_pin11:0=ad_doutb7:0;assign xps_gpio_3_GPIO_IO_I_pin22:12=ad_addra10:0;/例化各个模

26、块vga vgadrv ( .mainclk(mainclk), .h_sync(h_sync), .v_sync(v_sync), .red(red), .green(green), .blue(blue), .clkb(clkb), .addrb(addrb), .doutb(doutb), .b_doutb(b_doutb), .markline(markline), .addrb_b(addrb_b), .clk(b_wave_clk) );b_GRam_wave b_GRam_wave ( .clka(clka), .wea(wea), .addra(b_addra), .dina(

27、b_dina), .clkb(b_wave_clk), .addrb(addrb_b), .doutb(b_doutb); GRam GRam ( .clka(clka), .wea(wea), .addra(r_addra), .dina(r_dina), .clkb(clkb), .addrb(addrb), .doutb(doutb) ); MicroBlaze MicroBlaze ( .fpga_0_LEDs_8Bit_GPIO_IO_O_pin(fpga_0_LEDs_8Bit_GPIO_IO_O_pin), .fpga_0_Push_Buttons_4Bit_GPIO_IO_I_

28、pin(fpga_0_Push_Buttons_4Bit_GPIO_IO_I_pin), .fpga_0_Switches_8Bit_GPIO_IO_I_pin(fpga_0_Switches_8Bit_GPIO_IO_I_pin), .fpga_0_RS232_PORT_RX_pin(fpga_0_RS232_PORT_RX_pin), .fpga_0_RS232_PORT_TX_pin(fpga_0_RS232_PORT_TX_pin), .fpga_0_Micron_RAM_Mem_A_pin(fpga_0_Micron_RAM_Mem_A_pin), .fpga_0_Micron_RA

29、M_Mem_CEN_pin(fpga_0_Micron_RAM_Mem_CEN_pin), .fpga_0_Micron_RAM_Mem_OEN_pin(fpga_0_Micron_RAM_Mem_OEN_pin), .fpga_0_Micron_RAM_Mem_WEN_pin(fpga_0_Micron_RAM_Mem_WEN_pin), .fpga_0_Micron_RAM_Mem_BEN_pin(fpga_0_Micron_RAM_Mem_BEN_pin), .fpga_0_Micron_RAM_Mem_DQ_pin(fpga_0_Micron_RAM_Mem_DQ_pin), .fpga_0_clk_1_sys_clk_pin(clk100M), .fpga_0_rst_1_sys_rst_pin(fpga_0_rst_1_sys_rst_pin), .xps_gpio_0_GPIO_IO_O_pin(dina), .xps_gpio_1_GPIO_IO_O_pin(addra), .xps_gpio_2_GPIO_IO_I_pin(xps_gpio_2_GPIO_IO_I_pin), .xps_gpio_3_GPIO_IO_I_pin(xps_gpio_3_GPIO_IO_I_pin), .xps_gpio_4_GPIO_IO_

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

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