当前位置:首页 >> 信息与通信 >>

简易数字存储示波器


简 易 数 字 存 储 示 波 器
第七组:周严,姚伶伶,周小光 指导老师:黄根春 2007 年 5 月 25 日 摘要: 本系统基于数字存储的原理,以单片机和 FPGA 为控制和处理核心,设计并实现了一个 数字存储示波器。本系统除了具有单次触发与连续触发,多档水平分辨率与垂直灵敏度,双 踪示波,水平垂直移动显示等功能外,还扩展了自动测量,视窗扩展显示,时间、电压光标 线,简易频谱分析等功能。本系统充分发挥了 FPGA 的高速数据处理的优势,将数据存储, 数据处理,波形显示,DFT 分析,光标的实现全部集成在 FPGA 内,大大简化了硬件电路, 发挥了大规模可编程逻辑器件的特点和优势,而且还大大提高了系统的稳定性。 关键词:FPGA 数字存储 示波器

一、 方案设计与论证
本系统要求设计并制作一台用普通示波器显示被测波形的简易数字存储示波器。 要求该系统 具有单次触发与连续触发,多档水平分辨率与垂直灵敏度,双踪示波,水平移动扩展显示等 功能。 分析题目要求, 我们认为难点在于所测波形的完美显示以及视窗, 频谱等扩展功能上, 下面我们就各个部分进行方案论证。 (一) 采样方式的选择 1、等效时间采样 采用中高速模数转换器, 对于频率较高的周期性信号采用等效时间采样的方法, 即对每 个周期仅采样一个点, 经过若干个周期后就可对信号各个部分采样一遍。 而这些点可以借助 步进延迟方法均匀地分布于信号波形的不同位置。 其中步进延迟是每一次采样比上一次样点 的位置延迟△t 时间。实质就是实现将周期性的高频信号经过取样变成波形与之形状相似的 周期性低频信号,然后做进一步处理。 2、实时采样 实时采样是在信号存在周期对其采样。 根据采样定理, 采用速率必须高于信号最高频率 分量的2倍。对于周期的正弦信号,一个周期内应该有2个采样点。为了不失真的恢复原被 测信号,通常一个周期内就需要采样8个点以上。为了配合高速模数转换器,必须用 FPGA 代替单片机准确的定时控制 ADC 的采样速率。以实现高速实时采样。 等效时间采样虽然可以对很高频率的信号进行采样, 可是步进延迟的采样技术与电路较 为复杂并且难于精准控制,再者,它只限于处理周期信号,而且对非周期信号的采样无能为 力。而实时采样虽说要用到高速 AD 转换器,但可以实现整个频段的全速采样,控制起来相 对要简单很多。 但是实时采样用到的高速 AD 采样的正确率和抗干扰性能都要比低速 AD 差, 在实际调试中,如何正确有效的使用高速 AD 也是一个难点,我们选择了 Analog 公司的 AD9220。AD9220 最高转换速率为 10MHz,转换位数为 10 位。综上方案的比较分析,根据 本课题技术指标要求,故而本设计采用方案二。

(二) 双踪显示方式的选择 1、 采用两片模数转换器、两片存储器和两片数模转换器,分别的对两路信号采样量化和存 储。双踪显示时,先显示通道A,再选择通道B的数据,轮流输出不同的波形,以实现两路 波形的双踪显示。 2、只用一片模数转换器、两片存储器、两片数模转换器和一片模拟开关,以高速切换模拟 开关,分别选通两路信号进入采样电路,两路波形数据分别存储,分别显示。 考虑到我们目前手头高速 AD 的数目以及硬件的复杂程度,我们决定采用方案二, 只用一片 模数转换器, 辅以模拟开关进行通道切换。 该方法实现起来, 虽说软件要比方案一复杂一点, 控制起来也要麻烦一点。但是可以很大程度上节约硬件开支,是一个不错的选择。 (三) 频率测量方法的选择 1、用单片机扫描存储在 RAM 中波形数据,找到波形的上升过零点位置或者波形数据的峰 值,并记录此时的地址 ADR1,在扫描下一个波形的上升过零点位置或者波形数据的峰值, 并记录此时的地址 ADR2,通过如下公式计算出波形的频率: f = 1/[B× (ADR2-ADR1)/20] 其中,B 为水平分辨率,单位为 s/div。 2、等精度测量法 在预定的闸门时间 T0 内, 分别用计数器 1 和计数器 2 同时对被测信号 fx 和基准信号 f0 进行计数,设所得值为 Nx 和 N0,则被测信号的频率为: fx=(Nx/N0)*f0; 在测量中,闸门的开启和关闭都由被测信号的上升沿(或下降沿)来控制,因而与 Nx 的计 数保持同步,因而 Nx 不存在误差,但是对于基准信号 f0 来说,闸门的开启和闭合仍然是 随机的,因而 N0 存在±1 的误差,测频的最大相对误差为: Δ fx/fx=±(Δ N0/N0+/Δ f0/f0) 。 由上式看出,测频精度与被测信号频率没有关系,只要 N0 和 f0 足够大,系统可以满 足很高的精度要求。因此,参考计数器的最高计数频率的限制,选取合适的基准信号频率和 恰当的闸门开启时间,便可以在 0.1Hz~16MHz 的范围内使测频精度不变,即等精度测量。 方案一具有操作简单的特点,但是频率数据的精度明显不高。方案二,虽说要增加硬件 量(比较整形)和软件量,但是可以保证精度,而且测量时间也可以控制在很短的范围内。 所以我们选择方案二。 (四) 各扩展功能方案的选择 在这里,我就不再具体比较各部分的方案选择了,我只是详细的说一下我们采用的方案。 1、 波形水平上下移动显示 为了增强实感,我们决定利用两个滑动变阻器来实现波形的水平上下移动。具体实现为:将 滑动变阻器 R 上的电平通过模数转换器化为数字信号传给 FPGA, FPGA 再将此时的电平值 叠加在 X 轴输出地址或者 Y 轴输出数据上,就可以实现波形的水平上下的移动。 2、 时间光标电压光标的实现 将滑动变阻器分时复用。利用滑动变阻器改变 R 上的电平值,从而实现光标的上下左右的 移动,再利用简单的软件计算得出两光标之间的时间差、电压差。 3、 视窗扩展 所谓视窗扩展,就是用光标截取一段波形,然后将这段波形扩展显示,让观察者可以更详细 的分析所测信号的波形。 光标的移动我们仍利用滑动变阻器。 正常显示波形时的其实只是采 样点二分之一。视窗扩展显示时才是全部的采样点。 4、 简单频谱分析 这里采用的是 64 点的 DFT 实现的频谱计算。仅仅只是简单的显示了一下频谱的形状,并不

打算将幅值精确到何等地步。所以实现起来比较简单。

二、 系统总体设计与实现方框图

DAC0800

DAC0800

通道1 通道2 通道选择 程控放大 AD9220

AD9220采样

触发存储 测频触发 电路 滑动变阻器 MAX1270

RAM

总线接口

送显

测频

读地址

单 片 机

MAX1270采样

键盘

LCD

图 1 系统总体实现框图

三、 理论分析与参数计算
1、 垂直分辨率与 A/D 位数的关系 示波器垂直方向共 8 格,要求每格 32 级,共有 32×8=256 级。

n ? log 2(256) ? 8
因而, 采用 8 为以上的 A/D 即可, 我们使用的是 Analog 公司的 12 位 A/D 转换器 AD9220。 但是在实际使用中,我们只用了 AD9220 的高八位。系统的垂直分辨率为 8 位,用百分数表 示为 1/256=0.4%。 2、 扫描速度与采样频率的关系 假设扫描速度为 1s/div,每格点数为 n,采样频率为 fs。 则:fs=n/t; 当 n=20 时,针对不同的扫描速度,可得到不同的采样频率。

3、 幅度程控 用模拟开关 AD7503、 AD844 及精密电位器来构成程控放大电路。 我们设定输入信号的最大幅 度 VPP 为 20v,而 AD9220 的最大电压幅度为 5v,垂直分辨率的范围为 12.5mv/div 到 2.5v/div。所对应的放大倍数如下表 1 所示:

垂 直 灵 敏 2500 度 (mv/div) 放大倍数 0.25

1250 0.5

625 1 表1

312.5 2

125 5

62.5 10

25 25

12.5 50

四、 主要功能电路的设计
1、 通道选择与程控放大电路 考虑到双通示波,我们决定用模拟开关 CD4051 来切换两个通道,CD4051 最大切换频率为 2MHz,基本满足题目要求。程控放大器采用 AD844,因为最大放大倍数为 50 倍,通过的 信号的最大频率超过 100KHz,增益带宽积应大于 5MHz。AD844 在放大十倍时的 3dB 增益 带宽积为 33MHz,满足题目要求。实际电路图见图 2 所示。
U 2 +5V 6 1 E N 1 K Z 1 1 0 A VCC 6

U

1

9

B

1

+12V

C

V

D

1

3

+12V

3

D

1





1

X

0

E

N

O

U

1

4





2

X

1

AD844

U

1

5

5

2

T

1

3

2

4

R

2

2

X

2

7

S

R

1

2

3

4

2

1

6

1

1

1

K

R

3

5

X

3

X

IN1

A

0

S

1

6

1

2

1

0

R

X

4

Res2

IN2

A

1

S

5

3

4

3

9

5

1

0

K

R

1

X

5

K

IN3

A

2

S

2

8

4

8

R

7

6

2

0

X

6

S

4

R11

1

5

7

5

0

K

R

X

7

S

Res2

6

6

R

9

8

5

0

4

OUTPUT

S

8

7

3

K

7

5

1

0

0

G

N

D

VEE

S

CD4051BM

-5V

-12V

2

8

1

5

R10

K

2

0

0

G

N

D

AD7503

VEE

图 2 通道选择与程控放大电路图 2、 测频触发电路 我们将测频电路和触发电路集成在一个比较器上。 比较器采用迟滞比较模式, 这样能够很好 的整形。在信号进比较器之前,我们先将信号添加一个直流电平。此直流电平可以通过调节 电位器 R12 改变。 然后再通过一级射随, 使阻抗匹配。 将比较器 2 脚的电压调到小于 100mV, 这样整个电路的触发电平就可以从 100mV 到 5V 调节了。当满足触发条件时,比较器输出 正脉冲,没有触发时,输出则一直为低电平。

-12V

K

K

K

K

SIGNAL_IN

I

N

LM356

1

3

2

+5V

4

7

R11

5

5

R12

0

U

K

-15V

+15V

0

2

8

6

5

1

C12

1

3

2

0



0.1uF C13

C10

u

F

模 0.1uF

4

7





1

C11

+5V 0



u

F

由 2 R

-15V

+15V

0.1uF 3

C

7

自 0

8

K

成一高通滤波器,其截至频率为: f ?



8

6

5

LM356



R

R

2

1

1 源

C

C

U

0 9 7

u 提

2

0.1uF

5

5

F

1

1





5

R

K

2

1

2

1

2

1

2

2

1

1

1

5

6

6

5

2

8

4

3

7

9

AD9220AR

图 3 测频触发电路

0.1uF U

C

0.1uF

C

2 1 REFCOM

1

相当于给输入信号叠加了一个 2.5V 的直流电平,正好使输入的差分信号变成 0~5V 的单极 性信号,满足该芯片对输入信号的要求。CLK 由外接的 8.388MHz 的晶振提供。

3、 AD9220 转换电路 我们 AD9220 的电路图基本参照 Datasheet 所示的典型连接图,如图 4 所示。C12,C13,R3 构

图 4 AD9220 电路图
AVSS AVSS A A CML VREF VINB VINA SENSE V V D D D D 2 0 CAPB 3 R 2 1 CAPT 6 2 (LSB)BIT12 (MSB)BIT1 0 K D DVSS BIT11 BIT10 V BIT9 CLK OTR BIT8 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 D D 2 2 1 2 3 4 5 6 7 8 9 1 1 1 1 1 7 8 0 1 2 3 4 0.1uF C 5 +5V Bit_output ( 由 1 C 数 外 0 6 u 字 界 F 电 8.388MHz , 由 系 统 CLK 的 板 晶 提 振 供 提 )

1

C

0

4

2

3

5

u

-15V

F

0.1uF

C

3

4

8

1

+15V

7

6

LM311N

U

5

+15V

4K7

R

6

OUTPUT

4、FPGA 部分 因为为高速 AD 采样,倘若用单片机来控制 AD 采样的话,速度不够。所以我们将与 AD 转 换器相关的处理工作放在 FPGA 内部处理,包括控制采样,数据存取,触发判断,扫描显 示。 图 5 为触发判断模块。题目要求上升沿触发。我们用硬件实现了触发整形,然后在 FPGA 内用状态机模拟触发状态。从而正确的判断触发,进一步控制其单次触发和连续触发。

1 =0.1Hz。VREF 与 VINB 连接, 2? (C12 ? C13) ? R3



bijiao ad9220number[11..4] chuf azi[7..0] CLK_40 clksmp P1[4] P1[7] signal_in P1[1] din[7..0] chuf azi[7..0] clk1 clk2 en wen clkcf _2 sn data[11..0] raddr[11..0]

inst17





















图 5 触发判断模块 图 6 为 X 轴 Y 轴扫描模块。该模块主要用来做与显示波形相关的工作。该模块中锯齿波的 频率为 240Hz。我们将两个滑动变阻器上的电平值通过 MAX1270 采进 FPGA,并引入此模 块。然后辅以单片机的控制信号 wen[3:0],P1[1]实现波形移动,光标,视窗等扩展工作。
waddr
CLK_250K P1[0] sbxpd[3..0] qa[7..0] data1270_2[11..0] data1270_1[11..0] sccd[7..0] scjz[7..0] P1[1] qa[7..0] qb[7..0] waddr_1[10..0]

clk en wen[3..0] datain[7..0] czpz[11..0] spy d[11..0] b[7..0] a[7..0] sn qa[7..0] qb[7..0] inst25

wd[10..0] wother[10..0] dataout[7..0]

wother[10..0] y data[7..0]

X



Y











图 6 显示模块 图 7 为数据存储模块,为三口 RAM,其中一个口为写数据口,另外两个为读数据口,读数 据口一个用来显示,一个用来供单片机读出数据进行分析。
RAM_3O
ad9220number[11..4] P1[4] raddr[10] NOT inst23 inst21 wother[10..0] P1[0]
AND2

raddr[10..0]

data[7..0] w raddress[10..0] w ren rdaddress_a[10..0] rden_a rdaddress_b[10..0] rden_b w rclock rdclock
8 bits 2048 words

qa[7..0] qb[7..0]

qa[7..0] RAM_3P[7..0]

RAM_A[10..0] nRD
NOT

inst47 CLK_40













inst46

图 7 数据存储模块 图 8 为 DFT 分析模块。对于周期信号,以 64 倍的信号频率的采样频率进行采样,所以对于 周期信号只能分析其 32 次谐波分量。对于非周期信号,以 4MHz 的固定采样率进行采样。 存储 1024 个点,这样还可以分析非谐波分量。

RAM_1K
data[7..0] w raddress[9..0] w ren
raddr1[9..0]
NOT

rdaddress[9..0] rden w rclock rdclock
inst31 Block Ty pe: AUTO

1024 Word(s) RAM

q[7..0]

inst30

ROM_1K
raddr2[9..0] CLK_40

DFT
SIN[7..0] sin_d[7..0]

address[9..0] clock
inst33

q[7..0]
cos_d[7..0] CLK_5

ROM_1K
raddr3[9..0] CLK_40

raddr1[10] COS[7..0]

address[9..0] clock
inst34

sin_d[7..0] signai_in[7..0] cos_d[7..0] CLK_5 clr
inst11

signal_out[25..0]

q[7..0]

图8

DFT 分析模块

五、 系统软件的设计 六、 系统测试与数据分析
本系统没有对数据进行详细的测试。

七、 系统总结与分析
虽说没有进行详细的数据测试,但从整体功能上讲,本系统完全达到了题目要求,并且从相 关指标和扩展功能上都有了很大的提升。但是系统仍然存在以下不足: (一) 显示波形的不完美。其实本系统最重要的就是让波形显示得完美无暇。但是我们做 得不够好,仔细看的话,一个周期总会时不时出现一个两个坏点。这个与我们 AD 采样的好坏程度是直接相关的。我们后来在实验结束后,尝试了另一种高速 AD (man1425) ,这个的效果似乎比 AD9220 要好一些。值得推荐一下! (二) 其实视窗显示的方案有好几种!譬如可以不插点,直接将点距拉开,还可以采用线 性插值法,也可以多采一些点,视窗显示的时候才显示全部点。我们采用的是最后 一种方案,其他的没有尝试。也许其他方案效果会更好一点。 (三) DFT 的计算速度太慢。计算 1024 个点的 DFT 要花 1s 钟的时间。实时性不够强。我 们如果采用 FFT 的话,可以将时间压缩至 15ms 以下(这个大全曾用实例证实过) 。 但是碍于精力和技术,我们没有采用 FFT。 (四)还可以将失真度分析,X-Y 轴显示等功能扩展到本系统中。


相关文章:
简易数字存储示波器
本科生毕业论文(设计) 中文题目 简易数字存储示波器 英文题目 simple digital storage oscilloscope 学生姓名 孟庆阳 学专院业 班级 520704 学号 20070402 通信工程...
实验二 简易数字存储示波器
实验二 简易数字存储示波器 - 实验二 简易数字存储示波器 一、 实验目的 学习理解示波器原理,学习人机界面设计,实现波形的数字化采集、存储和 回放。 二、 实验任务...
简易数字存储示波器_图文
简易数字存储示波器 - 简易数字存储示波器 作者:周良成 纪彬彬 胡榜 指导老师:田裕康 摘要: 数字存储示波器是随着数字电路的发展而发展起来的一种具有存储功能 的...
简易数字存储示波器技术
简易数字存储示波器调试 二 总体设计方案 1 数字存储示波器工作原理 输入前置放大器 模拟信号 2 1 1 2 时基与 触发器 1 2 垂直放大器 水平放大器 数据 A/D...
简易数字存储示波器设计
简易数字存储示波器设计 - 合肥工业大学 课程设计实验报告 题目:简易数字存储示波器设计 学院: 专业: 姓名: 学号: 指导老师: 目录 一、概述---...
简易数字存储示波器_第30组
简易数字存储示波器 第七组:周严,姚伶伶,周小光 指导老师:黄根春 2007 年 5 月 25 日 摘要: 本系统基于数字存储的原理,以单片机和 FPGA 为控制和处理核心,...
B题.简易数字存储示波器
B题.简易数字存储示波器_电子/电路_工程科技_专业资料。B 题.简易数字存储示波器一、设计任务 设计制作一简易数字存储示波器,测量显示电压信号波形,计算显示有关参 ...
基于XC878单片机的简易数字存储示波器
基于XC878单片机的简易数字存储示波器 - 基于 XC878 单片机的简易数字存储示波器 一、任务 设计并制作一台用于显示被测波形的简易数字存储示波器,参考结构图 1 所示...
数字示波器及其简单原理图
数字示波器及其简单原理图 - 数字示波器及其简单原理图 数字示波器可以分为数字存储示波器(DSOs) 、数字荧光示波器(DPOs) 、混合信 号示波器(MSOs)和采样示波器。 ...
电子测量课程设计题目
电子测量课程设计题目 - 简易数字存储示波器 简易数字存储示波器 存储 一、任务 设计并 二、要求 1、被测信号波形:方波、正弦波、三角波; 基频:10Hz~1 kHz;幅度...
更多相关标签: