基于STC单片机虚拟示波器的设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

接口实验报告

题目:基于STC单片机虚拟示波器的设计院(系):电子工程与自动化学院

专业:测试计量技术及仪器

姓名:

学号:

指导老师:李智

职称:教授

2012年8月1日

一.实验目的及意义

(1)用单片机控制 AD7862 实现对交流电压、电流信号的采集和计算;

(2)将测量数据发送给PC机显示,并能响应PC机下传的指令将电压电流的波形数据上传至PC机显示;

(3)学习用 VC 编写相应适合于虚拟仪器界面并显示数据与波形。通过实验掌握了计算机的串口通信方法,掌握了单片机接口电路的设计,掌握了 PC 机VC 界面程序的设计。

二.方案论证

本设计中AD转换芯片选用的是AD7862-10.AD7862是AD公司推出的一个高速,低功耗,双12位的A/D转换,单+5V供电,功率为60m。它包含两个4us

的延时的ADC,两个锁存器,一个内部的+2.5V参考电压和一个高速并行输出端口。有四个模拟输入通道,分为两组,由A0选择。每一组通道有两个输入(VA1和VA2,VB1和VB2),它们能同时的被采样和转化,保存相对的信号信息。它可以接受+10、+2.5V或0-2.5V的输入电压范围。对模拟电压输入,具有过电保护功能,相对地,允许输入电压到达+17V,+7V,+7V,而不会造成损害。

本实验采用的微处理器是STC单片机。STC单片机使用方便,内存有256Bytes 片内RAM、8K Flash ROM,支持串口下载,易于在线编程调试。由于A/D的输出是12位,单片机的寄存器是8位的,所以要分成两次才能读得A/D转换的结果。故需将单片机的两个口(P0、P2)分别与AD7862的DB0-DB11相连,即可完成数据的采集。

本设计利用MAX232芯片实现RS-232电平与TTL电平转换,利用串行通信方式1将数据发给PC机,波特率为9600bit/s、无校验位;用VC++6.0编写相应的界面进行数据处理,控制和显示。

在实验的初级阶段采用的是每采集一次模拟电压值,就直接把12位的并行数据,利用串行通信方式1直接发给上位机。这时发现A/D7862每采样一个数据只需要4μs,单片机采用11.0592MHz的晶振,即单片机采集一次数据真正需要的时间只有十几μs,以正弦波每个周期至少20个点来表示计算,对于采集4KHz 以下的正弦波是没有问题的。而如果从串口通信的波特率来说,如采用19200bit/s 来计算,则只有44Hz以下的波形能采集了。对比之下可以看出,影响这种方案采集波形的主要瓶颈是波特率,如果在不变硬件的基础上采用其最高波特率57600bit/s的波特率传输数据,理论计的测量范围也只是0~130Hz。

在此基础上为了提高采样波形的频率范围,最后采用先采集保存再群组发送的方式,首先采集100个点,并将数字量存储在单片机的RAM中,然后群组发给上位机,这样可以大大的提高采样率,根据AD7862的时序图,还有单片机的一个机器周期大约1微秒,这样可以得出采理论上采样率大约40KHZ,要使得波形比较平滑的话,每个信号周期内至少应该采集20个点,这样算起来能采样到2KHZ的波形。经实验采样率最大只能达到20KHZ左右,同样换算最大能采样到1KHZ左右的波形。在下位机里采用定时器0的方式2对采样率进行设定,设定不同的采样率,就可以采样到低于1KHZ的不同频率段的波形。由于定时的时间比较短,采用方式2比较精确,但是最大只能定时255微秒,经换算最大能采样到196HZ,经调试最小频率能采集到10HZ左右。故采样的波形频率范围在

10HZ-1000HZ。

最终利用上位机对采集的数据进行处理,画出模拟信号的波形,并显示模拟信号的电压值、最大值、最小值和峰峰值等。

三、系统工作原理

系统由电源模块、AD 采样模块、STC 单片机控制模块、串口通信模块、计算机处理与显示模块组成。电源模块提供总个系统工作的电压,保证系统正常工作。STC 单片机控制AD 采样电压值,并将电压值通过串口传送给上位机,上位机通过VC 程序对数据进行处理和显示。上位机通过串口发送不同的标志位给下位机,控制下位机在不同的采样率下对模拟电压值进行采样。

四、硬件电路

1、AD 硬件电路设计如下。为了使得单片机能够更有效地控制AD7852工作,在连线的时候尽可能多地把AD7862的控制端与单片机的I/O 相连接,以便供以后升级使用。DB0-DB11是A/D 转换后的数字量输出端口,它们分别与单片机的P2和

P0口P1.1-P1.4相连接,以便单片机把数字量读走。CONVST 是AD7862转换开始触发端口,与单片机的P0.0连接,是为了利用单片机的外部中断0来提高模拟电压信号的采样率,使得AD7862更有效的工作起来。VA1和A2,VB1和VB2分别是模拟电压信号的四个输入通道。当A0为低电平的时候选择VA0或VA1,当A0为高电平的时候选择VB1或VB2,此电路图中将A0接地,选择VA0或VA1.

2、PC机通过串口进行通信,电路如图所示。单片机串口为TTL电平,PC机串口为232电平,通过MAX232与单片机和DB9连接,DB9通过USB转串口线与PC机相连,实现电平转换和下位机和上位机的通信。

3.单片机控制模块电路图如图所示,单片机的控制AD采样,要保证电容和晶振振荡器给单片机提供合适的工作频率。

4.电源模块

电源模块电路图如图所示,电源模块给系统提供5V的恒定电压,保证系统正常工作。

五、系统软件设计

1、下位机设计

下位机处理三方面的工作,一是控制AD7862采集VA1端得模拟电压信号,得到数字量,并保存到单片机内部的RAM单元;二是是通过定时器0的方式2定不同的采样率,得出所采波形的采样周期;三是负责与PC通信,将保存的数据发送到PC,让上位机做处理。

控制数据采集主要依据AD7862工作时序来完成。下图即使AD7862的工作时序图

如图所示,CONVST、CS、RD、A0由单片机来控制,让AD采哪个通道、何时采集等;BUSY与单片机的INT0管脚相连从而通过外部中断0来提高AD7862的工作效率,当CONVST下降沿一来,AD转换开始,这时两个锁存器同时锁存两个通道的模拟量,在大约3.6us之后,转换完成同时BUSY的下降沿向单片

相关文档
最新文档