基于FPGA的数字示波器设计 - 图文

更新时间:2023-11-05 15:39:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1

摘 要

本设计是一个采样率高达100MSPS、模拟带宽10MHz的便携式数字示波器,采用XILINX的FPGA器件来作为系统核心器件来设计。 系统使用可编程逻辑实现部分数字电路功能,使用内嵌Microblaze软核CPU执行系统的运算与控制功能。示波器的模数转换器采用AD9283-80实现。整个系统的设计由两部分完成,一是完成硬件电路的设计;二是采用ise10.0开发套件设计系统的软件功能。

本便携式数字示波器具有体积小、重量轻、成本低及低功耗的优点。

关键词: Microblaze;A/D转换器;示波器;FIFO;VHDL

2

Abstract

This design is a sampling rate as high as 80MSPS, simulation of portable digital oscilloscopes bandwidth 10MHz XILINX FPGA device, the core device as a system design. Systems use the FPGA internal programmable logic realize part of digital circuit function, use inline Microblaze soft nuclear CPU execution system operation and control function, oscilloscope by AD9283-80 adc. The whole system design consists of two parts, protel99se finish EDA software finish printed circuit board design, use ise10.0 development kit to design the system of FPGA part. This portable digital oscilloscopes has volume is small and exquisite, low cost, low power consumption advantages.

Keywords: Microblaze A/Dconverter Oscilloscope FIFO VHDL

3

目 录

绪论................................................................................................................................... 1 1 便携式数字示波器的组成........................................................................................... 2

1.1设计原理及思路.................................................................................................. 2 1.2便携式数字示波器的结构.................................................................................. 2 1.3便携式数字示波器的性能.................................................................................. 3 2 方案论证....................................................................................................................... 3

2.1任务分析与实现.................................................................................................. 3 2.2硬件方案论证...................................................................................................... 4

2.2.1整体方案选择............................................................................................ 4 2.2.2显示器件选择................................................................................................... 5

2.2.3A/D转换器选择 ......................................................................................... 5 2.2.4可编程增益放大器方案论证 ................................................................... 6 2.2.5模拟电压输出方案论证 ........................................................................... 7 2.3软件代码量估算.................................................................................................. 7 3 便携式数字示波器硬件设计....................................................................................... 8

3.1 电源电路设计..................................................................................................... 9 3.2 耦合和衰减电路设计....................................................................................... 10 3.3 增益可变放大电路设计................................................................................... 10 3.4 A/D转换电路设计 ............................................................................................ 11 3.5PWM电路设计................................................................................................... 12 3.6显示设计............................................................................................................ 13 3.7整体电路............................................................................................................ 14 4 便携式数字示波器FPGA设计 .................................................................................. 15

4.1设计思路............................................................................................................ 15 4.2顶层设计............................................................................................................ 15 4.3CPU设计 ............................................................................................................. 17 4.4时钟分配模块设计............................................................................................ 18 4.5采样率设置模块设计........................................................................................ 19 4.6FIFO模块设计 .................................................................................................... 19 4.7触发设置............................................................................................................ 20 4.8pwm模块设计 ................................................................................................... 21 5 microblaze软件设计 ................................................................................................... 21

I

I

5.1软件总体概述.................................................................................................... 21 5.2文字显示设计.................................................................................................... 22 5.3波形显示函数设计............................................................................................ 22 5.3波形读取............................................................................................................ 22 5.4采样率设置........................................................................................................ 23 5.5参数刷新............................................................................................................ 23 6 调试与分析................................................................................................................. 23

6.1调试中遇到的问题简述.................................................................................... 23 6.2热转印制作电路板的问题现象以及解决方法................................................ 23 6.3microblaze程序中定义长数组后程序不能在rom中运行 ............................. 23 6.4lcd刷新缓慢的解决方法 ................................................................................... 24 6.5A/D转换器的调试 ............................................................................................. 24 6.6调试过程............................................................................................................ 24 结论................................................................................................................................. 28 参考文献......................................................................................... 错误!未定义书签。 致 谢............................................................................................. 错误!未定义书签。

II II

北京城市学院2011届毕业设计

绪论

示波器作为在电子技术领域中重要的测量工具有着无可取代的地位,它能将探测到的电压波形显示到屏幕上,为电路设计者提供了一种直观的电路状态反映。

示波器不仅仅是一种重要的测量仪器,他更是电子技术飞速发展的结晶。 早期的示波器是一种模拟电子仪器,输入的电压利用电磁偏转控制电子束移动,这样电子束在移动的过程中激发屏幕上的荧光粉发光从而留下轨迹,此轨迹被称之为“波形”,这是一种实时的波形。随着电子技术的发展,这种实时的波形难以满足人们的需要,于是数字存储示波器诞生了,数字示波器采用“存储回放”的思想将模拟的电压信号转换为数字信号进行存储并显示到屏幕上,这中方法使得各种瞬间的信号捕捉变得更加容易。设计一台性价比高的示波器成了现代厂商们追求的目标,这些示波器往往具有较全面的功能和优异的性能,但是他们的体积往往比较大且操作繁琐,在实际应用的过程中大多数情况下不需要那么全面的功能,因此设计一个精简的便携式示波器非常有必要,就像现在的精简指令计算机一样,不常用的指令就给去掉,那些复杂的指令虽然方便,但是占用资源。

本便携式数字示波器主要优点是: 1.体积小巧; 2.成本低廉; 3.方便易用;

4.系统集成度高,稳定性好; 5.硬件可编程; 6.系统升级方便。

1 1

北京城市学院2011届毕业设计

1 便携式数字示波器的组成

1.1设计原理及思路

数字示波器的基本原理就是将模拟信号转换为数字信号显示到屏幕上,其核心部分就是控制电路和模数转换电路。控制电路为模数转换电路提供时钟以及控制信号并负责数据的处理。本设计采用CPU配合高速A/D、模拟调理电路、液晶显示屏、探头等基本单元完成数字存储示波器。系统的模拟部分包含了耦合电路、衰减电路、增益控制、基准控制、模数转换器等。系统人机交换系统由一块320×240彩色液晶显示屏和键盘组成,使用CPU来控制显示屏显示波形以及菜单,CPU通过读取按键状态来判断用户的操作从而执行相应的操作原理示意如图1.1所示。

图1.1 数字示波器原理示意图

1.2便携式数字示波器的结构

便携式数字示波器的结构如图1.2所示:

2 2

北京城市学院2011届毕业设计

电源 数据采集模块 控制器 显示模块 按键

图1.2 便携式数字示波器设计框图

1.3便携式数字示波器的性能

便携式数字示波器具有很高的性能,其具体参数: 屏幕分辨率:320×240; 最高采样率:80MSPS;

时基范围:250ns-5s,以1、2、5的方式变化; x轴灵敏度:从1mv到50v; 存储深度:256字节; 模数转换器位数:8位。

2 方案论证

2.1任务分析与实现

分析任务书,本设计主要的任务就是采集模拟信号的幅值将其处理后显示到lcd屏幕上。数据转换的工作将由A/D转换器来完成,数据转换完成后将由CPU进行处理,由于A/D转换器的采样速率较高,而一般的CPU的速度相对比较慢,这就需要在A/D转换器与CPU之间加上数据缓存,在一定的时钟配合下可以精确的采集并再现数据。当然,这个采集的过程中并不是将数据完整的捕捉保存的,根据实际的应用,示波器并不需要每时每刻都更新数据,仅仅是在触发条件满足的时刻需要将波形采集并保存。对于示波器,还有一些其他的辅助功能,如频率测量、峰峰值检测??这些功能将会在扩展部分完成。

3

3

北京城市学院2011届毕业设计

2.2硬件方案论证

2.2.1整体方案选择

本电路需要用到大量数字逻辑电路,如时钟分配、pwm、触发控制、频率计数等,这些电路可以通过使用74系列电路来实现,也可以通过可编程逻辑器件来实现,主要有如下两种方案供选择:

方案一:对电路逻辑进行分析后得出逻辑表达式以及真值表,使用74系列芯片搭建,这样做成本比较低,但是印刷线路板设计要求比较高,电路的稳定性比较差。

方案二:采用专用的芯片进行设计,比如可以使用专门的PWM芯片或数模转换实现模拟电压的输出,这类电路往往成本较高,且通用性不强。但是这些电路都是经过专门的设计、测试得出的产品,稳定性非常高。

方案三:采用可编程逻辑器件来实现这部分电路,可以选择的可编程逻辑恰见有GAL、CPLA、FPGA等,这类芯片成本往往介于以上两种方案之间。如上的可编程逻辑器件中GAL已经不常用了,它是早期的可编程逻辑,内部逻辑两很小,不适合作为本设计的方案。

本设计中的CPU起着系统核心的作用,负责整个系统的运作,对于CPU的选型有如下方案:

方案一:采用单片机,早期的单片机性能非常弱,比如51系列的单片机的rom只有4K,对于本设计力不从心,还有一些精简指令的单片机如:avr、pic这些单片机性能比51稍强,内存也有不同的等级,基本可以满足本设计的要求。最近新出的一些32位单片机是一个不错的选择,如STM32可以运行在最高72MHZ的时钟频率下,内部集成了单周期硬件乘法器,运算性能很高,价格不超过20元,非常适合本系统的应用。

方案二:采用嵌入式微处理器,这些器件往往具有几百MHZ的运行频率,运算能力非常强大。嵌入式操作系统要求系统存储资源很大一般处理器内置存储往往不能满足要求,这些处理器的嵌入式微处理器的存储器往往是外置的,这样硬件成本比方案一增加了数倍。

方案三:某些可编程逻辑器件(FPGA)可以内建微处理器软核,这样做大大增加了系统的稳定性且性价比非常高。

综合以上两个部分的电路的要求,本设计将采用fpga作为和核心器件,因为有现成的spartan3E的开发板,所以本设计将使用开发板加电路的形式,对于系统的逻辑数量在设计之前还没有办法估算,基本采用先设计后调整的方式。具体方式为把能用VHDL实现的部分用VHDL实现,当逻辑数量不够了再将一些部件使用

4

4

北京城市学院2011届毕业设计

cpu来实现,这样达到一个动态的平衡使得系统的资源最佳利用。

2.2.2显示器件选择

电路最主要的功能是为人类服务,有了服务就得有人机对话的设备,最通常的电子设备都装有显示器件或发声器件来告知人们电路的运行状态。本设计中,需要的交互设备是显示器件,还有键盘。目前电子系统中常用的显示设备是发光二极管、数码管、lcd,显然发光二极管和数码管不适合本系统的额要求,对于lcd有两种方案可以选择。

方案一:使用单色lcd,这种方案操作简单对CPU要求不高,但是单色lcd一般都是工业设备上使用,由于出货量不是很大,所以价格往往较贵。

方案二:采用tft彩色lcd,此方案最大的优点是成本低廉,tft彩色lcd一般为消费类电子产品必备,这类产品出货量很大,这样价格就会非常低廉,但是彩色液晶一般为一个像素需要16位的数据,对于CPU的要求较高。

考虑到成本问题,本设计将采用tft彩色液晶,且显示波形色彩多样,内容更加丰富,提高系统的美观。

2.2.3A/D转换器选择

A/D转换器是整个示波器的核心器件之一,A/D转换器的性能决定了数字示波器的性能,目前A/D转换器成了限制数字示波器带宽提高的主要瓶颈。A/D转换器的主要参数有分辨率和速度,而对于数字示波器来说速度这个指标相对分辨率显得更加重要。目前高速

A/D产品比较完善的厂家都来自国外,由于某些限制,一些高速A/D是不进入中国大陆销售的,但是对于本市合计要求这样速度的A/D在市场上很容易买到,且有多数场上可以选择,下面是AD公司的选型过程,首先进入高速A/D的性能选择<=9bit、50-100Mhz,如图2.1所示:

5

5

北京城市学院2011届毕业设计

case

22:disp_num(225,310,0,5);disp_string(225,280,\);XGpio_mSetDataReg(XPAR_FRE_GEN_SET_BASEADDR,1,20000000);break;

default:break;

}

6 6

北京城市学院2011届毕业设计

sys_rst_pin : 系统复位信号

fpga_0_Micron_SRAM_FLASH_Mem_DQ_pin :存储器控制引脚 fpga_0_RS232_PORT_TX_pin : 串口数据发送

fpga_0_LEDs_8Bit_GPIO_d_out_pin :led灯接口

fpga_0_Micron_SRAM_FLASH_Mem_A_pin : 存储器控制引脚

fpga_0_Micron_SRAM_FLASH_Mem_BEN_pin : 存储器控制引脚 fpga_0_Micron_SRAM_FLASH_Mem_CEN_pin : 存储器控制引脚 fpga_0_Micron_SRAM_FLASH_Mem_WEN_pin : 存储器控制引脚 fpga_0_FLASH_BYTE_GPIO_d_out_pin : 存储器控制引脚 tft_bl_GPIO_d_out_pin : lcd背光

tft_rs_GPIO_d_out_pin : lcd数据命令选择 tft_rst_GPIO_d_out_pin :lcd复位 tft_wr_GPIO_d_out_pin : lcd写时钟 tft_rd_GPIO_d_out_pin : lcd读时钟 tft_data_GPIO_IO_pin :lcd数据接口 ad_data : 模数转换器接口 ad_clk : 模数转换器时钟接口 gain_pwm : 增益控制pwm输出 div_pwm : 灵敏度控制pwm输出

led : 状态指示

16 16

北京城市学院2011届毕业设计

图4.1 FPGA内部逻辑电路图

FPGA设计包括时钟分配、cpu、采样频率控制、pwm、触发控制、fifo等这些部分,这些模块采用VHDL语言进行包含.

4.3CPU设计

Cpu逻辑的设计是在xps套件中进行的,xilinx厂家会为每一款芯片设计评估板以及开发实例,利用xilinx厂家设计好的板级支持包建立基本的CPU模块,在根据需要添加自己的模块。在本设计中主要的是添加一些端口、中断控制器、连接端口,这些外设都是通过IP核生成器添加的。各个端口、连接线将会在顶层VHDL中跟其他模块相连。Edk中的设计如图4.2所示:

17 17

北京城市学院2011届毕业设计

图4.2 XPS环境中cpu的设计图

4.4时钟分配模块设计

Spartan3E器件中内置了dcm(数字时钟处理)模块,需要时钟管理的时候只需要条用响应的ip核即可,对dcm配置为输入50Mhz,输出100Mhz:

如图4.3:

图4.3 数字时钟处理模块

18 18

北京城市学院2011届毕业设计

4.5采样率设置模块设计

设计中的采样率是通过对fifo时钟的改变控制的,改变采样率由两部分组成,一部分是数字逻辑部分,另一部分是通过CPU控制数字逻辑产生不同的频率,其中CLK是系统时钟,fre_set是CPU对模块的设置引脚,fre_out采样率输出,如图4.4所示:

图4.4 采样率设置模块

4.6 FIFO模块设计

FIFO是通过ip核生成器生成的,FIFO模块的工作原理是当写时能的时候在写时钟的上升沿采集DIN的数据存入内部存储器,当采集到指定的深度full引脚变为高电平,指示FIFO写满,FIFO写时钟由采样率控制模块给出。当FULL标志置位后即可对数据进行读取,读取的过程是将读时能置位,在读时钟的上升沿输出数据,最先写入的数据最先读出,读时钟有CPU引脚给出,这样即可配合CPU的速度来存储波形了。FIFO模块如图4.5所示:

19 19

北京城市学院2011届毕业设计

4.5 FIFO模块

4.7触发设置

本示波器的触发控制由硬件实现,通过软件配合实现高速FIFO与低速CPU之间的数据传输。触发设置的具体设计思路是将A/D转换器输出的数字量进行整形成为方波,这个方波将会在频率计数器和触发器中用到。由一个频率计数器将方波信号进行计数,计数值由fre_out输出供CPU读取。当检测到这个方波上升沿到来的瞬间如果FIFO为空,即打开写使能进行数据存储,这个动作持续到fifo写满标志置位。这一系列过程有VHDL语言实现,这样做大大减轻了CPU的工作量,此条件下CPU只需要在空闲时刻检测FULL标志置位了才读取数据,读完之后EMPTY标志置位,再准备下一次触发。框图见图4.6:

20 20

本文来源:https://www.bwwdw.com/article/3a82.html

Top