波形采集存储与回放.docx

上传人:b****7 文档编号:10131763 上传时间:2023-02-08 格式:DOCX 页数:27 大小:247.53KB
下载 相关 举报
波形采集存储与回放.docx_第1页
第1页 / 共27页
波形采集存储与回放.docx_第2页
第2页 / 共27页
波形采集存储与回放.docx_第3页
第3页 / 共27页
波形采集存储与回放.docx_第4页
第4页 / 共27页
波形采集存储与回放.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

波形采集存储与回放.docx

《波形采集存储与回放.docx》由会员分享,可在线阅读,更多相关《波形采集存储与回放.docx(27页珍藏版)》请在冰豆网上搜索。

波形采集存储与回放.docx

波形采集存储与回放

摘要

本系统最基本的工作原理是采用的存储示波器的工作原理,系统主要由软件和硬件两大部分组成。

硬件主要组成部分是:

三端式固定稳压器(7805、7905)、双运放器(LM358)、模数转换器(ADC0809)、低功耗存储器(62256)、八D锁存器(74HC373)、数码管、数模转换器(DAC0802)、双极性运算放大器集成电路(OP07)。

在系统工作中,利用三端式稳压器使系统电压维持正负5V。

同时为了提高输入阻抗使其不小于10K,在信号输入时采用了双运放器来达到目的。

然后在数据采集与处理时,利用模数转换器将其输入端的模拟信号转换成数字信号,以方便对信号波形的的采样。

将采样而来的数字信号存储在低功能存储器里面,再通过八D锁存器将其送到七段数码管进行显示。

在输出电路部分,安装了数模装换器,将经过模数转换器转换后的数字信号还原成模拟信号,再经过双极性运算放大器集成电路将其进行放大,最后输出。

软件部分的核心控制是单片机(STC12C5A60S2),在单片机中使用了定时器T1中断来控制波形的采集与回放,当判断控制位为0的时候进行波形回放,为1时进行波形采样。

使用按键控制波形的存储、波形的周期测试、高低电平的测试。

经过调试,整个波形的采集、存储、回放系统操作简便,界面美观,同时能达到相当好的性能指标,设计出了一个好的电子产品。

 

关键词:

数模转换器、单片机、模数转换器、存储器、三端稳压器

 

第一章论述

1.1设计任务………………………………………………………3

1.2方案论证与分析………………………………………………3

1.2.1方案1……………………………………………………3

1.2.2方案2……………………………………………………3

1.2.3最终方案…………………………………………………3

第二章各模块实现原理

2.1稳压模块电路……………………………………………4

2.2输入模块电路……………………………………………4

2.3数据采集与处理模块……………………………………4

2.4数据存储模块……………………………………………6

2.5数据显示模块……………………………………………6

2.6输出电路模块……………………………………………7

第三章电路与程序设计

3.1单通道输入输出电路设计思路…………………………9

3.2单片机的控制程序………………………………………9

3.2.1主程序设计流程…………………………………9

3.2.2定时器T1中断程序设计流程…………………10

第四章测试方案与测试结果

4.1测试仪器…………………………………………………12

4.1.1万用表……………………………………………12

4.1.2示波器……………………………………………12

4.2测试方案…………………………………………………12

4.2.1硬件测试…………………………………………12

4.2.2软件仿真测试……………………………………12

4.2.3硬软件联调………………………………………12

4.3测试结果…………………………………………………12

4.4测试结果分析……………………………………………12

结论…………………………………………………………………13

参考文献……………………………………………………………15

附录1

电路板图………………………………………………………16

附录2

程序设计………………………………………………………17

附录3

原理图设计……………………………………………………23

 

波形采集存储与回放

第一章论述

1.1设计任务

设计并制作一个波形采集、存储与回放系统,该系统能同时采集两路周期信波形,要求系统断电恢复后,能连续回放已采集的信号,显示在示波器上。

1.2方案论述与分析

1.2.1方案一

采用单片机作为核心控制波形的采集、存储与回放。

需要在一定的存储设备中进行存储,单片机的频率也不是很高,抗干扰性能强,操作简单,成本低。

1.2.2方案二

采用FPGA芯片作为核心控制波形的采集、存储与回放

采用FPGA芯片作为核心控制波形的采集、存储与回放,在FPGA中可实现各种存储器。

其硬件可编程的特点允许开发人员灵活设定存储器数据的宽度、存储器的大小、读写控制逻辑等,尤其适用于各种特殊存储要求的场合。

FPGA/FPGA器件可工作于百兆频率以上,其构造的存储器存取速度也可达百兆次/秒以上,这样构成的高速存储器能够胜任存储数据量不太大,但速度要求很高的工作场合,成本较高。

1.2.3最终方案

方案二的采用虽然硬件的编程能力很高,存储器的存取速度很快,可是高速存储器存储的数据量不是很大。

再者,速度的要求需要是很高的工作场合,而且成本也很高。

考虑到由于本题对频率的要求使用单片机就足以满足,单片机的操作简单,和产品成本问题。

因此我们将采用方案一。

 

第二章各模块实现原理

系统的组成大致分为以下几个部分:

电源电路,信号输入电路,信号采集预处理电路,数据存储电路,数据显示电路,波形回放电路。

系统电路框架如图2-1:

 

图2-1系统电路框架图

2.1稳压模块电路

稳压电源电路如图2-2采用三端固定式稳压器,只要把正输入电压Ui加到7805和7905的输入端,7805和7905的公共端接地,其输出端便能分别输出芯片标称正电压和标称负电压Uo。

在电路中,芯片输入端和输出端与地之间除分别接大容量滤波电容外,另外我们采用7805和7905还需在芯片引出脚根部接小容量电容到地,分别用于抑制芯片的自激振荡和压窄芯片的高频带宽,减小高频噪声(采用7805和7905芯片保证在最大负载电流时调整管不进入饱和,又不至于功耗偏大)。

电路图:

图2-2稳压电路图

2.2信号输入模块电路

单通道输入模块如图2-3采用了LM358的双运放器。

LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。

它的使用范围包括传感放大器直流增益模组,音频放大器、工业控制、DC增益部件和其他所有可用单电源供电的使用运算放大器的场合。

在此主要用LM358提高输入阻抗使输入阻抗满足不小于10K。

电路图:

图2-3信号输入电路图

2.3数据采集与处理模块

此电路实现了将模拟信号转换成数字信号。

为了提高系统的精度,A/D转换电路,采用12位逐次逼近型的ADC0809该芯片内有三态输出缓冲器,输出可直接连到单片机总线,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。

多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。

三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

ADC0809各脚功能如下:

D7-D0:

8位数字量输出引脚。

IN0-IN7:

8位模拟量输入引脚。

VCC:

+5V工作电压。

GND:

地。

REF(+):

参考电压正端。

REF(-):

参考电压负端。

START:

A/D转换启动信号输入端。

ALE:

地址锁存允许信号输入端。

(以上两种信号用于启动A/D转换)

EOC:

转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。

OC:

输出允许控制端,用以打开三态数据输出锁存器。

CLK:

时钟信号输入端。

A,B,C:

地址输入线。

ADC0809与单片机接口如图2-4.由于ADC0809片中无时钟,估利用87C51提供的地址锁存信号ALE经D触发器二分频获得。

由于ADC0809具有输出三态锁存器,故其8位数据输出线可直接与单片机数据总线相连。

单片机的P2.7作为片选信号,与

进行或非操作得到一个正脉冲,加到ADC0809的ALE和START引脚上。

由于ALE和START连在一起,因此ADC0809在锁存信道地址的同时也启动转换。

在读取转换结果时,用单片机的读信号

和P2.7引脚经或非门后产生的正脉冲作为OE信号,用以打开三态输出锁存器。

显然,上述操作时,P2.7应为低电平。

ADC0809的EOC端经反相器连接到单片的P3.3(

)引脚,作为查询或中断信号。

图2-4数据采集与处理电路图

2.4数据存储模块

数据存储模块主要采用的是单片机控制外部扩展存储电路,见图2-5。

外部数据存储器使用的是62256芯片。

62256是32K的低功耗静态RAM存储器.用P0和P2来扩展外部ram(就是用P0和P2与62256对应的管脚相连接),假设P2.7接WR,P2.6接RD,P2.5接CS,那么就可以确定个外部RAM的一个地址,想往外部RAM的一个地址写一个字节时,地址可以定为XBYTE[0x4000],其中WR,CS为低,RD为高,那就是高位的4(0100也就是P2.7和P2.5输出了低电平,而P2.6输出了高电平,目的当然是要选通62256并且向62256写入数据),其它位的可以根据情况自己定(也就是其它位是什么不打紧,关键就是控制的wcsrd那几个位要符合选通读写的规定就可以了)。

62256各个引脚的作用:

A0–A14:

地址总线(Address)

D0/D7:

输入/输出口(nput/output)

CS :

端口选择(Chipselect)

WE :

输入始能(Writeenable)

OE :

输出始能(Outputenable)

VCC:

电源始能(Powersupply)

VSS:

接地(Ground)

图2-5数据存储电路图

2.5数据显示模块

数据显示模块电路见图2-6使用了74HC373(八D锁存器),HC373内含8个带三态输出的透明D锁存器,每个锁存器有一个数据输入(D)和数据输出(Q);锁存器允许控制(LE)和输出允许控制(EN)为8个锁存器共用。

当EN为高电平时,所有输出均为高阻态,既不是总线的负载也不驱动总线,但锁存器的内部运算不受影响。

当LE为高电平时,Q将随着D而变。

当LE为低电平时,Q被锁存在一建立在D输入的电平。

显示数码管使用的是七段共阴极显示数码管。

A92三极管用于驱动显示数码管,单片机把经过A/D转换的数据送入到74HC373中,74HC373再把数据送入的七段显示数码管中显示。

与单片机的接口见图2-4.

图2-6数据显示电路

 

2.6输出电路模块

输出电路模块电路见图2-7。

输出电路模块使用了DAC0832芯片。

DAC0832由一个8位入锁存器、一个8位DAC寄存器和八个D/A转换器及逻辑控制电路组成。

输入数据锁存器和DAC寄存器构成了两级缓存,可以实现多通道同步转换输出,DAC0832芯片内具有两级输入锁存结构,可以工作于双缓冲和直通方式,使用非常灵活方便。

DAC0832采用20脚双列直插式封装。

各引脚功能如下:

◆DI7~DI0:

转换数据输

◆/CS:

片选信号(输入),低电平有效

◆ILE:

数据锁存允许信号(输入),高电平有效

◆/WR1:

第1写信号(输入),低电平有效

上述两个信号控制输入寄存器是数据直通方式还是数据锁存方式;当ILE=1和/WR1=0时,为输入寄存器直通方式;当ILE=1和/WR1=1时,为输入寄存器锁存方式。

◆WR2:

第2写信号(输入),低电平有效

◆/XFER:

数据传送控制信号(输入),低电平有效

上述两个信号控制DAC寄存器是数据直通方式还是数据锁存方式;当/WR2=0和/XFER=0时,为DAC寄存器直通方式;当/WR2=1和/XFER=0时,为DAC寄存器锁存方式。

◆Iout1:

电流输出1

◆Iout2:

电流输出2

DAC转换器的特性之一是:

Iout1+Iout2=常数。

◆Rfb—反馈电阻端

DAC0832是电流输出,为了取得电压输出,需在电压输出端接运算放大器,Rfb即为运算放大器的反馈电阻端。

运算放大器的接法如图3所示。

◆Vref:

基准电压,其电压可正可负,范围-10V~+10V。

◆DGND:

模拟地,摸拟信号和基准电源的参考地。

◆AGND:

数字地,两种地线在基准电源处共地比较好。

图中ILE接+5V,Iout2接地,Iout1输出电流经运算放大器变换后输出单极性电压,范围为0到+5V片选信号CS和数据传送控制信号XFER都与87C51的地址线相连,因此输入锁存器和DAC寄存器的地址都为7FFFH。

WR1,WR2均与87C51的写信号线WR相连。

CPU对DAC0832执行一次写操作,则将一个数据直接写入DAC寄存器,DAC0832的输出模拟量随之变换。

由于DAC0832具有数字量的输入锁存功能,故数字量可以直接从87C51的P0口送入。

与单片机的接口见图2-4中的单片机。

图2-7输出电路图

 

第三章电路与程序设计

3.1单通道输入输出电路设计思路

图3-1电路设计思路图

信号通过输入电路输入到模数转换器中,将模拟信号转换成数字信号,然后把转换后的信号送入到存储显示与控制装置中,再送入到数模转换器中把存储的数字信号转换成模拟信号,最后通过输出电路输出所采集的波形。

3.2单片机的控制程序

3.2.1主程序设计流程

图3-2主程序设计流程图

程序开始进行初始化,初始化完毕进入输出显示,然后进行按键检测,按键

检测分为:

波形存储检测,波形周期检测,高电平检测,低电平检测。

最后返回输出显示循环执行。

3.2.2定时器T1中断程序设计流程:

图3-3定时器T1设计流程图

程序开始判断控制位K0是否为0,如果K0为0进行波形回放,如果K0为1则进行波形采样。

 

第四章测试方案与测试结果

4.1测试仪器

4.1.1万用表

选用原则:

(1)额定电压等级的选择。

一般情况下,额定电压在500V以下的设备,应选用500V或1000V的摇表;额定电压在500V以上的设备,选用1000V~2500V的摇表。

(2)电阻量程范围的选择。

摇表的表盘刻度线上有两个黑点,小黑点之间的区域为准确测量区域。

所以在选表时应使被测设备的绝缘电阻值在准确测量区域内。

4.1.2示波器

选用原则:

它可以测量一个脉冲电压波形各部分的电压幅值,如上冲量或顶部下降量等。

这是其他任何电压测量仪器都不能比拟的。

4.2测试方案

4.2.1硬件测试

(1)测试供电电源,VCC=5V,VEE=-5V,系统供电正常。

(2)电源正常供电后,给电路板,部分模块加负载,测试电流,电压均能正常工作。

(3)把电路各部分连为整体,对控制部分进行检测,观察显示部分能正常工作和键盘按键功能能实现。

4.2.2软件仿真测试

本程序较大所以采用C51语言编写,采用自上而下的调试方法,先调试功能电路,再调试整个系统,在调试过程中与硬件的调试相结合,提高调试效率。

4.2.3硬软件联调

当软件和硬件的基本功能分别调试后,进行软硬件联合调试及优化。

4.3测试结果

1.能够完成对A通道单极性信号测试,高电平约4V、低电平约0V。

2.能对频率约为1KHZ的信号采集。

3.能对频率约为1KHZ的信号存储。

4.能对频率约为1KHZ的信号连续回放。

5.系统的输入阻抗约为1M。

6.系统的输出阻抗约为150欧。

7.采集回放能测量并显示信号的高电平、低电平和信号的周期。

8.原信号与回放信号电平之间的绝对值约为40mv。

9.周期之间的绝对值约为4%。

10.系统功耗约为60mW。

4.4测试结果分析

根据测试结果可得除了系统功耗约大于要求功耗,其余的功能都一一实现,且满足要求。

结论

这次课设给我的总体感觉是比较简单,任务相对轻松。

不过在组装和调试波形的过程中,我还是遇到了不少的问题。

在电路原理图设计完成之后,紧接着我们设计电路程序,出现了第一个问题——数码显示管出现错误。

当我们输入高电平时,数码管不能正确显示数据。

经过我们重新组装之后,发现是电路中的数码管公共端接地,导致数码显示代码输出是相反的。

在开始测试的时候,遇到了第二个问题——万用表的使用。

我们在测试的过程中,犯了罪低级的错误,使用万用表时没有正确选择测试范围,测出范围过大或过小,使我们不能正确得到准确的数据。

当我们发现这个错误立即纠正,在之后的测试过程时刻记着这个错误,不能再次犯错。

我们将测试后的波形输出到示波器上时,又遇到了问题,输出的波形不正确。

通过基本调试发现电路没有问题,万用表的使用和数码显示管的数据显示都是正确的,最后问题集中在示波器波形输出上。

经过认真检查,原来是示波器上的频率调节没有达到额定值,电压幅度没有达到峰峰值,波形也不稳定,之后我们将错误进行改正了。

将最后一个错误纠正以后,我们对波形的采集,存储和回放顺利完成。

虽然过程中出现了问题,但我总体感觉还是成功的。

我比较满意的是我的电路设计,由于一开始就比较重视电路的设计,最后总体做起来是比较好的,电路版面很整洁,元件的放置很规范,各个线路也都很清晰,这样使电路板恰到好处。

在对电路的程序设计时我也是比较满意的。

虽然我对程序设计上下了一定的功夫,程序部分也是相当重要的部分,在设计过程中,每一个细节,每一个程序对电路板上执行的功能都做了认真的设计。

测试的过程我们犯了一些低级错误,幸好我们及时发现错误,立即纠正错误之后,我们的测试过程也顺利完成了。

总的来说,这次课程设计还是学到了不少东西的。

尤其是在电路图的设计上有了长进,在对电路和程序过程中的分析和解决问题方面也明显看到自己的进步。

其他方面,通过这次课程设计对波形采集,存储和回放有了初步认识,知道了怎样写总结论文,还体会了成功的喜悦,可以说收益颇深。

 

参考文献

[1]吴金.单片机实践与应用.清华大学出版社.

[2]全国大学生电子设计竞赛获奖作品精选.北京理工大学出版社.

[3]全国大学生电子设计竞赛获奖作品汇编.北京理工大学出版社.

[4]张友德.单片微型机原理、应用与实验.复旦大学出版社.

[5]何小艇.电子系统设计.浙江大学出版社.

[6]石宗义.电路原理图与电路板设计教程Protel99SE.北京希望电子出版社.

[7]王紫婷.电子技术实验教程.成都:

西南交大出版社.

 

附录

附目录一:

 

电路板图

 

附目录二:

程序设计

#include

#include

#include

#defineadc0809XBYTE[0x7fff]

#definedac0832XBYTE[0xbfff]

#defineout1XBYTE[0x7fff]

sfrIAP_DATA=0xc2;//EEPROM

sfrIAP_ADDRH=0xc3;

sfrIAP_ADDRL=0xc4;

sfrIAP_CMD=0xc5;

sfrIAP_TRIG=0xc6;

sfrIAP_CONTR=0xc7;

sbitEOC=P3^3;

sbitK0=P1^0;//按键。

sbitK1=P1^1;

sbitK2=P1^2;

sbitK3=P1^3;

unsignedcharkeyvalue;

unsignedchardat[20]={,70,130,210,250,250,210,130,70,30,};

unsignedchari;

unsignedchark;

unsignedintdataout;

unsignedchardatamax;

unsignedchardatamin;

unsignedcharq;

unsignedcharqt;

unsignedcharcodetab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

voidkan(void);

voidkeycheck(void);

voidzhouqi(void);

voidlevel(void);

voiddelay10ms(void);

voiddelay1ms(void);

voidcuncu(void);

voidhuifang(void);

bithl;

/************************************************/

 

voidmain(void)

{

keyvalue=0;

i=0;

k=0;

EA=1;//开定时器11。

50US。

ET1=1;

TMOD=0x20;

TH1=216;

TL1=216;

TR1=1;

EX1=1;//中断1开,

PT1=1;//高优先级别。

hl=0;

if(K1==0)

{

TR1=0;

EX1=0;

huifang();

huifang();

TR1=1;

EX1=1;

}

while

(1)

{

kan();//显示

keycheck();//键值

switch(keyvalue)

{

case1:

cuncu();

break;

case2:

zhouqi();

break;

case3:

level();

break;

}

}

}

/************************************************/

voidzhouqi(void)

{

dataout=1000;

}

voidlevel(void)

{

if(hl==0)

dataout=datamin*20;

else

dataout=datamax*20;

}

/*****************************************************************/

 

voiderase(void)//EEPROM

{

IAP_ADDRH=0x00;

IAP_ADDRL=0x00;

IAP_CONTR=0x0b;

IAP_CONTR=0x80;

IAP_CMD=0x03;

IAP_TRIG=0x5A;

IAP_TRIG=0xA5;

}

voidwrite(void)

{

IAP_DATA=dat[q];

IAP_ADDRH=0;

IAP_ADDRL=q;

IAP_CONTR=0x0b;

IAP_CONTR=0x80;

IAP_CMD=0x02;

IAP_TRIG=0x5a;

IAP_TRIG=0xa5;

_nop_();

}

voidread(void)

 

{

IAP_ADDRH=0;

IAP_ADDRL=qt;

IAP_CONTR=0x0b;

IAP_CONTR=0x80;

IAP_CMD=0x01;

IAP_TRIG=0x5a;

IAP_TRIG=0xa5;

dat[qt]=IAP_DATA;

}

voidcuncu(void)

{

TR1=0;

EX1=0;

q=0;

erase();

_nop_();

while(q<20)

{

q

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

当前位置:首页 > 表格模板 > 合同协议

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

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