1、基于基于5151单片机单片机简易存储示波器的设计简易存储示波器的设计 DailywindyDailywindy2010 072010 07毕业设计内容提要毕业设计内容提要 绪论绪论 总体方案论证总体方案论证 电路设计(硬件电路设计)电路设计(硬件电路设计) 软件设计软件设计 调试与分析调试与分析 结束语结束语 致致 谢谢绪论绪论 随着科技高速发展,模拟示波器的功能不能满足人们的要求,数字存储示波器以其可以存储波形,稳定的输出,方便观察波形,操作简单等特点代替了模拟示波器。 本次设计的简易数字存储示波器,以80C51为核心,由信号采集、数据处理、波形显示,控制面板等功能模块组成。整个系统分成A/
2、D转换部分、D/A转换部分、波形存储部分、键盘输入控制四大部分组成。 此存储示波器即具有一般示波器实时采样实时显示的功能,又可以对某段波形进行即时存储和连续回放显示。输出波形可以在示波器输出显示。具体设计原理以及过程在下面章节中详细说明。总体方案论证总体方案论证 这次设计可以采用多种方案,下面给出两种常用的方案,并且选择出适合任务要求的方案:方案一方案一:FPGA/CPLD:FPGA/CPLD或带有或带有IPIP核的核的FPGA/CPLDFPGA/CPLD方式。方式。方案二:单片机方式。方案二:单片机方式。方案一:方案一:FPGA/CPLDFPGA/CPLD或带有或带有IPIP核的核的FPGA
3、/CPLDFPGA/CPLD方式方式 即用FPGA/CPLD完成采集,存储,显示及A/D,D/A等功能,由IP核实现人机交互及信号测量分析等功能。其优点在于系统结构紧凑,可以实现复杂测量与控制,操作方便;缺点是此方案由纯硬件实现,设计复杂,系统庞大,调试过程繁琐。方案二:单片机方式方案二:单片机方式 即使用单片机,A/D转换器,D/A转换器以及存储器等组成系统。对输入信号用外接触发电路产生触发信号,通过A/D转换将模拟信号转换成数字信号,再通过单片机将数据锁存至外部RAM,然后由单片机控制将数据送至D/A输出。它的优点是系统规模小,有一定的灵活性,但是不适宜于观察高速信号或者复杂信号。单片机方
4、式原理框图单片机方式原理框图电路设计(硬件电路设计)电路设计(硬件电路设计) 硬件电路存储控制芯片的设计硬件电路存储控制芯片的设计 外围电路外围电路A/DA/D模块设计模块设计 外围电路外围电路D/AD/A模块设计模块设计 外围电路键盘输入模块设计外围电路键盘输入模块设计 硬件电路存储控制芯片的设计硬件电路存储控制芯片的设计 存储器的位宽根据 A/D转换器的位宽来选取,对于该课题选用8位的RAM。而控制芯片是选用单片机里的80C51来实现对整个系统的控制。80C5180C51单片机主要组成单片机主要组成 80C5180C51的引脚的引脚 80C5180C51的内部结构的内部结构 80C5180
5、C51单片机主要组成单片机主要组成 (1) CPU系统:8位CPU,含布尔处理器、时钟电路以及总线控制逻辑。(2) 存储器系统:4K字节的程序存储器(ROMEPROMFLASH,可外扩至64K)、128字节的数据存储器(RAM,可再外扩64K)以及特殊功能寄存器SFR。(3) I/O口和其它功能单元:4个并行I/O口;2个16位定时计数器、1个全双工异步串行口以及中断系统(5个中断源,2个优先级)。 80C5180C51的引脚的引脚 本课题使用的是P89V51RB2FN芯片,其总线引脚图为: 80C5180C51的内部结构的内部结构 80C51单片机由微处理器(含运算器和控制器)、存储器、I/
6、O接口以及特殊功能寄存器SFR等构成。80C51的微处理器 80C51的片内存储器 80C51的I/O口及功能单元 80C51的特殊功能寄存器(SFR) 80C5180C51的内部结构的内部结构- -微处理器微处理器 80C51单片机的微处理器是一个8位的高性能中央处理器(CPU)它主要由运算器和控制器两部分构成。它的作用是读入并分析每条指令,根据各指令的功能控制单片机的各功能部件执行指定的运算或操作。80C5180C51的内部结构的内部结构- -片内存储器片内存储器 80C51单片机的片内存储器设计成程序存储器和数据存储器两个独立的空间。基本型单片机片内程序存储器容量为4KB,地址范围是00
7、00H0FFFH。 基本型单片机片内数据存储器均为128字节,地址范围是00H7FH,存放运算的中间结果,暂存数据和数据缓冲。这128字节的低32个单元用作工作寄存器,32个单元分成4组,每组8个单元。在20H2FH共16个单元是位寻址区,位地址的范围是00H7FH,然后是80个单元的通用数据缓冲区。 增强型片内数据存储器为256字节,地址范围是00HFFH,低128字节的配置情况与基本型单片机相同。高128字节为一般RAM,仅能采用寄存器见解寻址方式访问(而与该地址范围重叠的SFR空间采用直接寻址方式访问)。 80C5180C51的内部结构的内部结构-I/O-I/O口及功能单元口及功能单元
8、80C51有4个8位的并行口,即P0P3它们均为双向口,每个口各有8条I/O线;一个全双工的串行口(利用P3的两个引脚,P3.0和P3.1);2个16位的定时计数器(增强型单片机有3个定时计数器)以及一套完善的中断系统。80C5180C51的内部结构的内部结构- -特殊功能寄存器特殊功能寄存器(SFR)(SFR) 80C51单片机内部有SP,DPTP,PCON,IE,IP等21个特殊功能积储器单元,它们同内部RAM的128个字节同意编址,地址范围是80HFFH这些SFR中用到了80HFFH中21个字节单元,且这些单元是离散分布的。增强性单片机的SFR有26个字节单元,所增加的5个单元均与定时计
9、数器有关。外围电路外围电路A/DA/D模块设计模块设计 A/D转换器的原理 A/D转换器的主要技术指标 A/D转换芯片的选取 ADC0809芯片 A/DA/D模块模块- -转换器的原理转换器的原理 将连续变化的模拟量转换成数字量的器件称为模/数转换器(ADC)。 按其转换原理课分为:逐次逼近(比较)式、双重积分式、量化反馈式和并行式。 A/DA/D模块模块- -转换器的主要技术指标转换器的主要技术指标1 1 (1) 分辨率 分辨率:数字量变化的一个最小量时模拟信号的变化量,定义为满刻度与的比值。分辨率又称精度,通常以数字信号的位数来表示。 量化间隔用下式表示:其中n为A/D转换器的位数。ADC
10、通过把采样电压和许多参考电压进行比较来确定采样电压的幅度。构成ADC所用的比较器越多,其电阻链越长,ADC可以识别的电压层次也越多。这个特性称为垂直分辨率,垂直分辨率越高,则示波器上的波形中可以看到的信号细节越小。A/DA/D模块模块- -转换器的主要技术指标转换器的主要技术指标2 2(2) 水平分辨率 在数字存储示波器中,水平系统的作用是确保对输入信号采集足够数量的采样值,并且每个采样值取自正确的时刻,数字存储示波器的水平分辨率与存储器的存储深度也即是容量,扫描速度和采样率有关。 存储器用来存储 A/D 转换器输出的数据,存储器的容量决定了可以存储的取样点的数目。一般认为,存储容量越大越好,
11、但是由于存储容量是随着成本而增加的,因此需要在两者中作权衡。 通常数字示波器技术指标是在最大扫描速率下给出的。在给定扫描速度时,随着存储容量的增加,采样率也增加,采样率越高,则信号重建的精度也越高;当给定采样速率的时候,示波器记录时间的时间长度也将呈线性递增,时间长度越长,对时间的观察也就也完整和精细。A/DA/D模块模块- -转换器的主要技术指标转换器的主要技术指标3 3(3) 转换速率 转换速率是指完成一次从模拟转换到数字的A/D转换所需的时间的倒数。积分型A/D的转换时间是毫秒级属低速A/D,逐次比较型A/D是微秒级属中速A/D,全并行/串并行型A/D可达到纳秒级。A/DA/D模块模块-
12、 -转换器的主要技术指标转换器的主要技术指标4 4(4) 实时采样 实时采样是在信号存在期间对其采样采样率必须满足采样定理。对于正弦信号而言,每个周期内应该超过二个采样点才能给出足够的信号细节,同时也要考虑实际因素的影响,按照所采用的信号的恢复方式选取相应的采样点数。实时采样中,A/D 转换器必须以高于最高采样率才能正确地工作,因此 A/D 转换器的转换速率决定最高采样率。 A/DA/D模块模块- -转换器的主要技术指标转换器的主要技术指标5 5(5) 等效时间取样 要实现高频信号的实时采样,A/D转换器的转换速率必须要高,但采样速率高的 A/D 器件价格较高,对于周期信号可采用等效时间采样方
13、法来实现高频信号的实时采样。 等效时间采样分为:顺序采样和随机重复采样。顺序采样就是对每一个信号周期仅采样一个点,用步进延迟的方法在每一个周期信号中采样信号波形的不同点,从而获取整个波形的采样数据。步进延迟法:每一次采样比上一次采样点的位置延迟某个时间,一般以触发信号作为基准,每触发一次,往后延迟一定的时间。只要精确控制从触发获得采样的时间延迟,就能够准确的恢复出原始信号。对于高频信号可以借助分频的方法恢复出原始信号。顺序采样缺点:所有采样是在触发信号之后,因此不能够提供触发前的信息。采用随机重复采样就可以提供触发前的信息,它既可在触发信号之前采样,也可在触发信号之后采样。采样率与 A/D 转
14、换器的转换速率无关,与取样点有关。A/DA/D模块模块- -转换器的主要技术指标转换器的主要技术指标5 5 处理过的模拟信号需要经过 A/D 转换器进行量化编码。通常为了防止转换期间信号电压发生变化,在进行 A/D 转换之前要加上采样保持电路。对于A/D转换器参数的选取叶需要考虑多方面的因素,A/D转换器的采样频率取决于待测信号的频率范围,或者简易示波器对扫描速度的要求。而 A/D 转换器的编码位数与垂直分辨率相关。根据两个条件选择合适的A/D转换器芯片。 A/DA/D模块模块- -转换芯片的选取转换芯片的选取 A/D转换器的选取涉及到以下几个参数,A/D转换器的位宽,A/D转换器转换速率。根
15、据要求,应该根据垂直分辨率来选取位宽,根据扫描速度选采样速率。 垂直分辨率为32级/div,垂直刻度为 8div,那么,要求信号的量化级数: N =328= 256 (式3.5) 因此可以采用8位的A/D,垂直分辨率为8位,用百分数表示为1/2564%。在本次设计中,在进行模拟信号的采样以及数字量化时,选用的是ADC0809 A/DA/D模块模块-ADC0809-ADC0809芯片芯片1 1 ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。ADC0809主要性能为:(1) 分辨率为8位。(2) 精度:
16、ADC0809小于1LSB。(3) 单+5V供电,模拟输入电压范围为0+5V。(4) 具有锁存控制的8路输入模拟开关。(5) 可锁存三态输出,输出与TTL电平兼容。(6) 功耗为15mW。(7) 不必进行零点和满度调整。 转换速度取决与芯片外接的时钟频率。时钟频率范围:101280kHz。 A/DA/D模块模块-ADC0809-ADC0809芯片芯片2 2ADC0809主要由四部分组成: 一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE
17、端为高电平时,才可以从三态输出锁存器取走转换完的数据。A/DA/D模块模块-ADC0809-ADC0809芯片芯片3 3ADC0809的外围电路连接图 : ADC0809的数据线、地址线、读/写信号与单片机试验系统板连接,其片选信号来自实验系统板的地址译码器,有效地址范围为F000-F3FFH(PS4)。 RV2为ADC0809的IN-0输入电压调节器。外围电路外围电路D/AD/A模块设计模块设计 D/A转换的原理 D/A转换器的主要性能指标 D/A转换器的典型输出连接方式 D/A转换器的选取 DAC0832芯片 D/AD/A模块模块- -转换的原理转换的原理 D/A转换器的基本功能,是将数字
18、量转换成对应的模拟量输出。 数/模转换器(DAC)是一种把数字信号转换为模拟信号的器件。数字量是二进制代码的位组合,每一位数字代码都有一定的“权”,并对应一定大小的模拟量。为了将数字量转换成模拟量,应将数字量的每一位都转换成响应的模拟量,然后对其求和即可以得到与该数字量成正比的模拟量。 D/A转换器的具体电路有多种形式,其中解码网络是普通采用的形式,解码网络的主要形式有2种,二进制权电阻网络和T型电阻网络。D/AD/A模块模块- -转换器的主要性能指标转换器的主要性能指标1 1(1) 分辨率: 分辨率是D/A转换器的对输入量变化敏感程度的描述,指输入数字量的最低有效位(LSB)发生变化时,所对
19、应的输出模拟量(常为电压)的变化量。它反映了输出模拟量的最小变化值。 对于线性D/A转换器来说,其分辨率与输入数字量输出的位数呈现下列关系: (式3.6) 分辨率与输入数字量的位数有确定的关系,可以表示成FS/2。FS即为满量程输入值,n位二进制位数,对于5V的满量程,采用8位的DAC时,分辨率为5V/2=19.5mV;当采用12位的DAC时,分辨率则为5V/2=1.22mV。显然,位数越多,分辨率就越高。D/AD/A模块模块- -转换器的主要性能指标转换器的主要性能指标2 2(2) 线性度: 线性度(也称非线性误差)是实际转换特性曲线与理想直线特性之间的最大偏差。常以相对于满量程的百分数表示
20、。如%是指实际输出值与理论值之差在满刻度的%以内。(3) 绝对精度和相对精度: 绝对精度(简称精度)是指在整个刻度范围内,任一输入数所对应的模拟量实际输出值与理论值之间的最大误差。绝对精度是由DAC的增益误差(当输入数码为全1时,实际输出值与理想输出值之差)、非线性误差和噪声等引起的。绝对精度(即最大误差)应小于1个LSB。 相对精度与绝对精度表示同一含义,用最大误差相对于满刻度的百分比表示。D/AD/A模块模块- -转换器的主要性能指标转换器的主要性能指标3 3(4) 建立时间: 建立时间是描述D/A转换速度快慢的一个重要参数。一般是指输入的数字量发生满刻度变化时,输出模拟信号达到满刻度值的
21、/2LSB所需的时间。 电流输出型DAC的建立时间短。电压输出型DAC的建立时间主要决定于运算放大器的响应时间。根据建立时间的长短,可以将DAC分成超高速(S2S64,如同时按下S2 和S18 时采样到S2。(c) 连击键处理 某个按键按下时,输出一次键值后,如果该按键还未释放,该键值连续有效)。(d) 功能键处理 功能键能实现2 个以上按键同时按下来扩展按键数目或实现特殊功能。如PC 机上的“Shift”、“ Ctrl”、“Alt” 键典型应用图中的S57S64 为功能键。键盘输入模块键盘输入模块-ZLG7090-ZLG7090芯片芯片2 2(2) 显示部分 在每个显示刷新周期,ZLG729
22、0按照扫描位数寄存器指定的显示位数N,把显示缓存DpRam0-DpRamN 的内容按先后循序送入LED驱动器实现动态显示,减少N值可提高每位显示扫描时间的占空比,以提高LED亮度,显示缓存中的内容不受影响。修改闪烁控制寄存器可改变闪烁频率和占空比(亮和灭的时间)。 ZLG7290 提供两种控制方式:寄存器映象控制和命令解释控制,如上述对显示部分的控制,寄存器映象控制是指直接访问底层寄存器,实现基本控制功能,这些寄存器须字节操作。 命令解释控制是指通过解释命令缓冲区中的指令,间接访问底层寄存器实现扩展控制功能,如实现寄存器的位操作;对显示缓存循环,移位;对操作数译码等操作 。键盘输入模块键盘输入
23、模块-ZLG7090-ZLG7090芯片芯片3 3(1)ZLG7290 引脚图 :(2) ZLG7290的外围连接图软件设计软件设计 设计思路设计思路 程序流程图程序流程图 系统显示调用流程图系统显示调用流程图设计思路设计思路 根据数字存储示波器的基本工作原理编写试验程序,实现触发点的捕捉、被测信号的采集和数据的存储以及信号波形的再现功能。 程序流程图程序流程图系统流程图说明:系统流程图说明: 首先,首先,“开始开始”部分部分是将程序内容进行初始化,是将程序内容进行初始化,设定需要采集数据的存储首地址。设定需要采集数据的存储首地址。 “ “采集存储采集存储”部分部分启动对输入信号的启动对输入信
24、号的A/DA/D转换、转换、执行延时程序等待转换结束、执行延时程序等待转换结束、取回转换结果并存储和存储器地址加取回转换结果并存储和存储器地址加1 1,为下次存储做准备等程序。为下次存储做准备等程序。 其次,判断是否有触发。其次,判断是否有触发。该课题设计采用单次触发方式,该课题设计采用单次触发方式,即可以按下设定的功能键,即可以按下设定的功能键,在满足触发条件后,进行一次采集存储。在满足触发条件后,进行一次采集存储。 最后,通过设定初始地址,最后,通过设定初始地址,连续输出存储的数据,显示存储的波形。连续输出存储的数据,显示存储的波形。 系统显示调用流程图系统显示调用流程图系统显示调用流程图
25、:系统显示调用流程图: 当键盘的显示键被按下时,当键盘的显示键被按下时,系统执行将已经存储的信号调用,系统执行将已经存储的信号调用,将信号原始输出。将信号原始输出。 系统的设计分成四个大块,系统的设计分成四个大块,分别是分别是A/DA/D转换、转换、D/AD/A转换、转换、存储控制以及键盘控制,存储控制以及键盘控制,因此编程就主要是这四个部分。因此编程就主要是这四个部分。主程序的流程图主程序的流程图初始化包括堆栈指针、位标志等。初始化包括堆栈指针、位标志等。接着键盘的扫描,接着键盘的扫描,判断是否有键按下,判断是否有键按下,系统就执行该按键所对应的程序,系统就执行该按键所对应的程序,循环读取数
26、据进行循环读取数据进行A/DA/D、D/AD/A转换,转换,在在D/AD/A转换完成后就自动跳回初始化之后继续循环。转换完成后就自动跳回初始化之后继续循环。调试与分析调试与分析 proteusproteus仿真调试仿真调试 结果分析结果分析 proteusproteus仿真调试仿真调试 基于单片机的简易存储示波器的仿真电路调试主要可以分为A/D和D/A两个部分。 proteusproteus仿真调试仿真调试-A/D-A/D仿真仿真1 1 A/D转换器调试部分,我把其看作电压采集电路,只要调节RV2使基准电压VREF2为最大值(VCC),或者调节RV2,观察数码管显示的结果与电压表的示值是否相同
27、,若示值与电压表的值相等或者接近,则说明A/D转换时成功的。proteusproteus仿真调试仿真调试-A/D-A/D仿真仿真2 2电路调试效果图 :proteusproteus仿真调试仿真调试-D/A-D/A仿真仿真1 1 D/A转换器部分,我将其看作信号发生器,我在调试的过程中,让其产生正弦波。具体是也可以将存储器中输入一些有规律的数据,例如多个FFH和OOH,循环执行D/A转换程序,看示波器中是否有对应的高、低电压波形出现。如果有,则说明D/A转换程序工作正常,否则说明D/A转换程序没有正常工作。 proteusproteus仿真调试仿真调试-D/A-D/A仿真仿真2 2电路调试效果图
28、 :结果分析结果分析 本次设计的简易数字存储示波器,以80C51为核心,由信号采集、数据处理、波形显示、控制面板等功能模块组成。具体分成A/D转换部分、D/A转换部分、波形存储部分、键盘控制四大部分组成。此存储示波器具有一般示波器实时采样实时显示的功能,又可以对某段波形进行存储和连续回放显示。输出波形可以在示波器输出显示。在设计整个系统的过程中,我们把设计分成信号采样、存储、信号输出等几部分。 在设计采样时,要定出采样比较准确的采样频率,之后通过查找资料总结了很多种采样的方法,然后通过理论的计算,得出一个采样频率,使输出得波形比较逼真。 在设计存储时,单单只使用单片机得内部存储器,但它的存储空
29、间只有128字节,不够使用不能满足设计的要求,所以就使用了6264片外的RAM存储,片外RAM的地址空间为64KB。在设计信号输出时,D/A转换器的转换速率不必严格等同于采样时的速率,可以选用一个固定的速率,只要不使屏幕发生闪烁就行。同时要求 D/A 转换器的位宽为 8,准确度要求尽可能的高,建立时间要求尽可能的小。 虽然设计是基本完成了,但是其中仍然存在着一些毛病,其中将A/D、D/A转换结合起来仿真,得不出效果,应该是软件编程有问题,有待进一步的改进和完善。结束语结束语 随着科技高速发展,模拟示波器的功能不能满足人们的要求,数字存储示波器以其可以存储波形,稳定的输出,方便观察波形,操作简单
30、等特点代替了模拟示波器。 按照对测量信号处理方式的不同,示波器可分为模拟式和数字式两种类型,按照示波器能够同时显示的信号的数目分为单踪(通道)和双踪(通道)两种类型。模拟和数字示波器各有不同的特点,原理相同,数字示波器采用了数字技术和计算机技术,功能强大,下面主要介绍数字示波器的基本原理和相关知识。 数字示波器和模拟示波器都是用来显示信号电压波形的仪器。模拟示波器采用传统的模拟电路技术,在阴极射线管(CRT)上显示波形。而数字示波器是利用 A/D 转换器把原来的模拟信号转换为数字形式,利用计算机技术进行相关处理或存储,然后进行显示,显示方式可以是传统的CRT,也可以是液晶,液晶有其特有的优点,
31、因此在示波器中应用得非常广泛。数字示波器的波形是以数字方式存储的。 本次设计的简易数字存储示波器,以80C51为核心,由信号采集、数据处理、波形显示、控制面板等功能模块组成。整个系统分成A/D转换部分、D/A转换部分、波形存储部分、键盘输入控制四大部分组成。本系统对数据存储、水平扫描速度输出功能进行了重点设计。此存储示波器即具有一般示波器实时采样实时显示的功能,又可以对某段波形进行即时存储和连续回放显示。输出波形可以在示波器输出显示。致谢 首先感谢我的导师张文青老师,本课题是在张老师的谆谆教导和悉心关怀下完成的。在毕业设计期间,张老师传授了许多的实际经验和方法,给予了大量的富于启发性与建设性的建议。张老师严谨的治学态度、高度的责任心、崇高的品格、渊博的知识以及丰富的实践经验都使我受益匪浅。在此,谨向张老师致以最诚挚的谢意。 同时,感谢张文清老师在学习和生活中给予极大的帮助、指导与支持。感谢张文清老师和张飞老师在设计中的指导。感谢宿舍同学在学习生活中的热心帮助,以及其他所有兄弟姐妹,是他们令我置身于一个互相友爱、互相帮助的集体中。 感谢我的父母对我的养育之恩及所有家人无私的支持与鼓励,是他们给了我强大的精神动力与物质后盾,使我能够全力以赴地完成学业。 谨以此机会向所有给予我关心、支持和帮助的人们表示衷心的感谢,并向审阅本文的老师表示诚挚的谢意。