基于FPGA的数字示波器的设计1Word格式文档下载.docx

上传人:wj 文档编号:3658325 上传时间:2023-05-02 格式:DOCX 页数:42 大小:1.75MB
下载 相关 举报
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第1页
第1页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第2页
第2页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第3页
第3页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第4页
第4页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第5页
第5页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第6页
第6页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第7页
第7页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第8页
第8页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第9页
第9页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第10页
第10页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第11页
第11页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第12页
第12页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第13页
第13页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第14页
第14页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第15页
第15页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第16页
第16页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第17页
第17页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第18页
第18页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第19页
第19页 / 共42页
基于FPGA的数字示波器的设计1Word格式文档下载.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于FPGA的数字示波器的设计1Word格式文档下载.docx

《基于FPGA的数字示波器的设计1Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于FPGA的数字示波器的设计1Word格式文档下载.docx(42页珍藏版)》请在冰点文库上搜索。

基于FPGA的数字示波器的设计1Word格式文档下载.docx

4.1.2ADC、FIFO时钟选择电路的设计 12

4.1.2FIFO电路设计 13

4.1.3程控放大器和AC/DC耦合驱动电路的设计 13

4.2STM32的程序设计 15

4.2.1按键程序的设计 16

4.2.2液晶显示程序的设计 16

4.2.3同步触发程序的设计 17

第5章系统的调试 18

5.1硬件的调试 18

5.2软件的调试 19

5.2.1FPGA程序的调试 19

5.2.2STM32程序的调试 19

5.3整体的调试 19

第6章结论 21

致谢 22

参考文献 23

附录一:

原理图 24

附录二:

FPGA程序 27

附录三:

STM32程序 33

I

第1章引言

在电子行业飞速发展的今天,示波器已成为电子工程师必不可少的工具,它可以帮助电子工程师观察和分析电路的各个部分的状态并转化为波形,能有效的帮助电子工程师完成电子电路的设计。

从第一台数字示波器诞生以来很长一段时间里发展一直很缓慢,直到80年代中期半导体技术和计算机技术的发展,极大地促进了数字示波器发展,使其在功能上慢慢赶上了模拟示波器。

在90年代初期,高速AD转换器得到了长足的发展,使示波器的实时采样率提高到了8GSa/s。

使数字示波器的性能得到了大大的提升。

到了近现代数字示波器以其集测量、显示、运算、分析记录等功能于一体而到了各大厂商的大力发展[1]。

如美国的TEK公司的DPS77004SX数字示波器其带宽高达70GHz,双通道可达到200GSa/s的采样率,可以记录62.5M到1G个点。

不过在大多数的设计中并不需要如此高的带宽和采样率,500MHz及其以下带宽的示波器基本可以满足大部分的需求,而我们大学生在学习的时候接触的信号往往在1MHz以下,于是我想趁着毕业之际制作一款适合大学生学习的入门级的数字示波器。

本设计采用FPGA为核心制作一款数字示波器,其性能指标如下:

(1)带宽为1MHz。

(2)采样率:

50MSa/s

(3)垂直分辨率:

8位

(4)垂直灵敏度:

100mV-5V/div

(5)水平灵敏度:

500ns-50ms/div

(6)存储深度:

1K

(7)输入阻抗:

1MW

(8)显示:

TFT液晶

(9)通道:

单通道

39

第2章系统方案选择

衰减电路

按键

2.1系统方案

AC/DC耦合

液晶显示器

AD转换

程控放大电路

STM32

FPGA

图2-1系统方框图

本系统由前级信号处理电路、AD转换电路、FPGA、STM32、按键输入电路和液晶显示器组成,系统方框图如图2-1所示。

其中前级信号处理电路由

AC/DC耦合电路、衰减电路和程控放大电路组成[2]。

当信号输入时经过前级信号处理电路处理后输入由FPGA控制的AD转换电路把模拟信号转换为数字信号,由STM32处理后在液晶显示器上还原出信号的波形。

2.2方案论证

方案一:

采用STM32为主控芯片,对处理输入信号的模拟前端进行控制,

ADC采用STM32自带的ADC对信号进行采样,用DMA进行数据的搬运,并采用

TFT液晶作为显示器显波形及其参数。

本方案电路较简单,外围电路较少,但是STM32的ADC最大转换速率为1MHz,否则会导致转换结果不准确。

而本设计的上限是1MHz,根据奈奎斯特采样定理,要采样1MHz的信号最低需要2MHz的

采样率,而要对信号进行较准确的还原采样率要比信号频率要高5到10倍以上。

方案二:

ADC采用BB公司的ADS830E,采用FIFO芯片IDT7204作为高速缓存,时钟对

50M的有源晶振进行分频后通过74F151提供。

采用TFT液晶作为显示器显波形及其参数。

本方案电路较复杂,外围电路较多,特别是时钟电路,要对50M的时钟进行500Hz到50MHz的分频需要多个分频电路,这样比较容易引入干扰。

方案三:

采用FPGA为主控,对处理输入信号的模拟前端进行控制,ADC采

用BB公司的ADS830E,FIFO使用FPGA中的IP核。

STM32负责对外部按键进行扫描把相关的控制信号传递给FPGA和对FIFO中的数据进行处理后在TFT液晶

上进行波形和其参数的显示。

本方案电路较简单,除模拟前端外不需要复杂的电路,而且时钟的分频电路、FIFO都可以用FPGA来实现,而且使用集成电路能有效的减少干扰。

综上所述采用方案三。

第3章硬件电路的设计

3.1FPGA和STM32电路

由于FPGA和STM32的管脚较多且密级,手工制板的成功率低,所以FPGA

和STM32采用成品的开发板。

FPGA采用了睿智的助学板,采用的是Altera公司的CycloneIV代的EPC4E6E22C8N,这款芯片的拥有6272个逻辑单元,270KB的嵌入式存储器,15个18´

18的嵌入式乘法器,2个通用PLL,10个全局时钟网络,8个用户IO块高达179个用户IO,资源十分的丰富,完全满足本次设计的要求[3]。

STM32采用了原子的mini开发板,STM32芯片采用的是Cortex-M3内核拥有强劲的性能、更高的代码密度、位带操作、可嵌套中断、低成本、低功耗等众多优势。

本设计使用的型号为STM32F103RCT6,这款芯片具有

TIMER、SPI、IIC、ADC、DAC、RTC、DMA等众多外设及功能,完全满足本次设计的要求。

3.2前端信号处理电路设计

前端信号处理电路主要的功能是对输入的信号进行调理,对小信号进行放大,对大信号进行衰减,使之在ADC的采样电压范围之内[4]。

由于采用了BB公司的ADS830E这个芯片,其采样的电压区间是1.5V~3.5V。

前端信号处理电路包括了AC/DC耦合电路、衰减电路、程控放大电路。

3.2.1AC/DC耦合电路的设计

图3-1AC/DC耦合电路

AC/DC耦合电路如图3-1所示,输入信号通过BNC接口进入系统,当继电器吸合的时候信号通过继电器的开关进入后级系统,继电器没有吸合时信号进过

C1进入后级系统。

当我们需要分析交流信号时只要让信号经过C1到后级系统,这样就可以隔离掉直流信号的影响。

3.2.2衰减电路的设计

衰减电路是对大幅度的输入信号进行衰减,便于后级电路对信号进行处理,而且起到了保护后级电路的作用,使信号的幅度在后级电路的承受范围之内[5]。

最简单的衰减电路为电阻分压如图3-2所示。

图3-2电阻分压电路

其衰减的倍数为:



K=Vout

Vin

=R1+R2

R2

(3-1)

同时要满足输入阻抗为1MW,既R1+R2=1MW。

简单的电阻分压电路工作在低频的时候能很好的实现衰减的效果,但是在高频的时候会失效,因为通过高频信号是电阻器件的寄生电感和寄生电容的影响就不可忽略,它们会导致高频信号输入的时候,导致高频信号的上升时间变大,波形发生畸变,其前沿变坏,失真[6]。

所以我们需要对电路进行补偿,使其工作在高频的时候也能正常的实现衰减。

电路如图3-3所示。

图3-3补偿后的衰减电路

在R1和R2的两端分别并上一个补偿电容C1、C2。

当满足

R1´

C1=R2´

C2时衰减的倍数与频率无关,在整个频带内达到最佳的补偿。

实际的电路如下图3-4所示。

图3-4实际的RC衰减电路

图3-4所示的衰减电路实现了10倍和100倍的衰减。

图中的电阻R1和R2和R3、R4和R5串联构成了分压电路实现了电阻分压,电容C2~C6则是对电阻分压电路进行高频补偿。

设R1、R2的串联等效电阻为R12,R3、R4的串联等效电阻为R34。

当进行10倍的衰减时,R12与R34和R5串联的电阻构成了分压电路,C2

为R12的高频补偿电容,C4//C6为R34和R5串联而成的电阻的高频补偿电容。

因为要进行频率补偿要满足R1´

C2,所以:

R12´

C2=(R34+R5)´

C4´

C6

C4+C6

(3-2)

当进行100倍的衰减时,R12和R34串联的电阻和R5构成了分压电路,

C2//C4为R12和R34串联的电阻的高频补偿电容,C6为R5的高频补偿电容。

(R12+R34)´

C2´

C4=R5´

C2+C4

因为本设计的数字示波器的输入阻抗为1MW,再综合上述的考虑取

(3-3)

R12=900KW,R34=90KW,R5=10KW。

再由(3-2)和(3-3)两式可得:

í

ì

C2=10C1

î

C3=90C1

(3-4)

取C1=28pF,C4=280pF,C6=2720pF。

由于没有280pF和2720pF的电容所以取了较接近的220pF和2500pF,再给C4并上了120pF的可变电容C3,给C6并上了C5。

通过调整C3和C5使其接近280pF和2720pF。

3.2.3程控放大电路的设计

图3-5程控放大电路

本设计的程控放大器由5个运算放大器组成,并且采用了±

5V供电,电路中对信号进行处理的采用的是NSC公司生产的高速运算放大器LM6172,它的带宽为100MHz,其SR高达3000v/μs[7]。

完全可以满足本设计的要求,还对以后的改进留下了足够的空间。

其中U2A接成了同相的跟随器,对输入的信号进行阻抗的变换[8]。

U2B构成了一个反相的放大器,通过继电器K3和K4可以控制放大倍数,再通过继电器K5可以控制U2B输出的信号是否再放大10倍再传输给后级。

U3B则构成了一个单位增益的加法器,通过R14加入了2.5V的中位基线的信号。

该信号由电压基准TL431来产生,通过NE5532构成的单位增益的反相放大器来传递。

信号经过衰减电路之后通过U2A后,U2B对信号进行放大,当K3未吸合是放大倍数为:

A=-R7+R20=-2

R6

当K3吸合K4未吸合时的放大倍数为:

A=-R23//R8=-5

当K3和K4都吸合的时候放大倍数为:

A=-R9=-10

当K5吸合的时候,则对U2B放大后的信号再放大10倍。

A=R21+R12+R13=10

R21+R12

(3-5)

(3-6)

(3-7)

(3-8)

表3-1程控放大器放大倍数

K3

K4

K5

放大倍数A

L

2

H

20

5

50

10

100

“H”表示继电器吸合,“L”表示继电器未吸合。

程控放大器的放大倍数是由继电器控制的,驱动继电器本设计采用了

ULN2003,ULN2003是达林顿管驱动能力强,再驱动多个继电器的情况下电路结构简单。

其电路如图3-6、图3-7所示。

图3-6ULN2003电路

图3-7继电器线圈

3.3AD转换电路的设计

本设计的ADC是采用BB公司的ADS830E,ADS830E是8位高速AD转换器,其采样率为10kSa/s~60MSa/s[7]。

实验发现其在1K的采样率的时候也可以正常工作,本设计的采样率为1.25kSa/s~50MSa/s,这个ADC完全能满足本次设计。

其电路原理图如图3-8所示。

DGND

DATA

DGND

1

3

4

6

7

8

9

GNDVDRV

Bit1(MSB)+Vs

Bit2GND

Bit3IN

Bit4IN

Bit5CM

Bit6REFT

Bit7REFBBit8(LSB)INT/EXTCLKRSEL

U4

19

18

17

16

15

104

C23

3.3V

C20104

C21

Header10

7

ADS830E

14

13

12

11

104C22

104

AGND

R190R

DGNDAGND

C24

10uf

图3-8ADS830E电路

L1

C25104

100uH

+5V

ADC830E的20脚是控制输出数据的逻辑电平的,由于FPGA是3.3V的,所以此脚也要接3.3V。

ADS830E的输入信号幅度是可以编程控制的,通过对11脚(RSEL)的控制可以设置为1Vpp和2Vpp,当11脚置高电平时,ADS830E

的输入电压范围是

1.5V~3.5V,即2Vpp。

当11脚置低电平时,输入电压范

围是2V~3V,即 1Vpp。

本设计是设置为2Vpp,其中点的电压为2.5V,所以程控放大器的中位基线设置为2.5V。

3.4电源电路的设计

本设计的电源是由外部输入的5V电源如图3-9所示。

为了尽可能的降低输入电源的纹波,在电源的输入端加入了由电感和两个电容组成的π型滤波电路。

以滤除由继电器动作引起的电源波动。

因为运算放大器要对一些微小的信号进

JP

VCC

100uH

L2

3C26

C29

2100uf

PWR2.5

C27104

C28100uf104

行放大,如果电源有很大的纹波的话产生的噪声就会把信号给覆盖掉。

图3-9电源输入电路

由于ADC中的20脚需要3.3V的电源,于是采用了低压差稳压芯片XC6206

来进行5V到3.3V的转换。

电路如图3-10所示。

图3-105V转3.3V电路

由于运放是±

5V双电源供电,所以我选择了TI公司的TPS60403进行+5V到-5V的转换。

TPS60403具有60mA的输出电流,外围电路只需要三个电容,十分简单。

由于要同时给5个运放供电,所以用两片TPS60403。

电路如图3-11所示。

C16

C15

1uF

U7

OUT

CFLY+

IN

C14

CFLY-TPS60403

C13

GND

U61uF

OUTCFLY+

C12

C11

CFLY-GND

TPS60403

图3-11+5V转-5V电路

第4章软件系统设计

4.1FPGA的程序设计

FPGA作为本次设计的核心器件之一,它实现了采样时钟的输出和FIFO,对程控放大电路和AC/DC耦合电路的控制,最后还有和STM32的数据传输。

FPGA的设计采用了QuartusII软件平台,Verilog HDL硬件描述语言来设计,用ModelSim进行时序仿真[9]。

4.1.1分频器的设计

分频器的实际上就是计数器,通过对高频时钟的计数来达到分频的目的。

图4-110分频流程图

如图4-1所示的是10分频的流程图,其中由一个计数器和一个控制输出的寄存器组成,初始化时计数器的初值为0,输出低电平。

当分频器开始工作的时候对外部输入的50MHz的时钟信号进行计数,因为是10分频,所以每计数5

个脉冲就让输出翻转一次。

这样当经过一个周期翻转两次就是10个脉冲,就完

成了对输入时钟信号的10分频[10]。

另一个2分频的分频器也是类似的设计,只不过它是对输入时钟的上升或

下降沿进行检测,每当遇到上升或下降沿的时候就对输出翻转一次。

还有一个5分频的分频的设计与上述的由所区别,产生奇数分频的原理为:

对于任一个奇数2*N+1(N=1、2、3……)分频器,分别利用时钟上升沿、下降沿生成占空比为N:

2N+1的波形,生成的两个波形错开了半个周期,然后将这两个波形相或,即可得出2N+1分频电路。

具体代码详见附录。

图4-210分频仿真波形

图4-2为10分频的仿真波形,从仿真波形来看设计的分频器都达到了预期的效果。

为后面的时钟选择电路的设计打下了良好的基础。

4.1.2ADC、FIFO时钟选择电路的设计

由于本设计ADC的采样率为1.25K到50M,所以FPGA要输出1.25KHz到

50MHz的时钟。

因为FPGA的输入时钟为50MHz,所以1.25KHz到50MHz的时钟信号就需要用分频器来产生了。

根据需要要产生

1.25KHz、2.5KHz、5KHz、12.5KHz、25KHz、50KHz、125KHz、250KHz、500KHz

、1.25MHz、2.5MHz、5MHz、12.5MHz、25MHz、50MHz这15个时钟频率。

为示波器提供了20ms/Div到500ns/div按1-2-5模式递增的灵敏度。

其中25MHz的信号由50MHz输入信号2分频得到,12.5MHz的信号由25MHz的信号二分频得到,5MHz的信号由50MHz的输入信号10分频得到,其他频率都按此方法由上一级信号分频得到。

具体的程序祥见附录。

图4-3时钟选择电路仿真波形

图4-3是根据上述的分频方法得到各个频率的仿真波形,由仿真结果可知各

个频率的信号都能准确的产生。

在此结果的基础上设计了一个16选一的数据选

择器,就产生能输出15种不同频率波形的时钟电路。

4.1.2FIFO电路设计

本设计的FIFO采用了QuartusII软件中提供的IP核,采用IP核是因为这个程序是经过了厂家的验证的,稳定性好,减少了调试时的不确定因素。

本设计采用的是8位数据,1024字节存储深度,读写双时钟的FIFO[11]。

由于采用了IP核,因此这里仅对该FIFO进行仿真。

结果如下图所示。

图4-4FIFO仿真时序图

从图4-4可以看出要对FIFO进行写要先使wrreq端为高,然后在写时钟的上升沿写入数据,当rdreq端为低电平时是无法对FIFO进行读的。

当FIFO被写满了后,wrfull端输出高电平,此端可以用来通知外部设备来读FIFO。

当rdreq端置为高电平后FIFO的数据在每个读时钟的上升沿被输出,当数据被读出后,

FIFO的满标志wrfull端会被置为低电平。

测试的testbench文件祥见附录。

4.1.3程控放大器和AC/DC耦合驱动电路的设计

此电路的设计是因为STM32控制的IO不够而仿74HC595设计的10位的串入并出的电路。

其由一个移位寄存器和一个输出寄存器组成。

输入端为一个数据端,一个输入时钟端和一个锁存端。

移位寄存器把外部输入的串型数据转化为并行数据进行暂存,通

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2