摘要:提出了利用PIC单片机作为控制核心的简易数字示波器的设计方案。介绍了系统总体设计的体系结构,以及硬件和软件的具体实现。输入信号经过预处理租AD转换后,传输到单片机,利用键盘做功能设置,在LCD上把波形显示出来,实现信号的实时采样、数据处理以及显示控制等简易数字示波器功能。此系统方案规模小、性能稳定、实现方便、价格低廉,具有一定的实用价值。
关键词:PIC;单片机;数字示波器;AD转换;采样
0 引言
数字示波器是工业控制、电子测量、信号处理及仪器仪表等行业最常用的测量仪器之一。它将捕捉到的模拟信号通过AD转换后,存储到示波器中,对信号作一步的处理,可以获得被测信号的多种信号参数,如频率、幅值、前后沿时间、平均值等,有利于对产品作进一步的分析设计。
1 总体设计
表征示波器的一些关键技术指标有:采样率、存储容量、触发类型、带宽、分辨率等。采样率定义了每秒从连续信号中提取并组成离散信号的采样个数,采样率的倒数是采样周期,它表示采样之间的时间间隔。采样率可分为实时采样率和等效采样率,实时采样率指单次采样所能达到的最大采样率,等效采样率指用多次采样得到的信号共同完成信号的重建。
存储容量指获取波形的取样点的数目,用直接存放AD转换后数据的获取存储器的存储单元数来表示记录时间、取样速率以及存储深度三者之间的关系。示波器的存储容量越大,采样数据的能力越强,更善于捕获像毛刺这类通常偶尔发生的信号。
触发常见的类型有上升沿触发和下降沿触发,即通过指定的极性和电压电平识别波形的触发,设定一个适当的触发电平以后,触发电路开始捕捉触发脉冲,完成数据采集。显示出来的波形是以信号的某个上升沿或某个下降沿为触发参考点的。作用是保证每次采集的数据,都是从输入信号上的一个精确确定的点作为参考点来显示,有利于显示波形重复且稳定,如果没有触发电路,在屏幕上看到的将是杂乱无章的波形。
分辨率分为垂直(电压)分辨率和水平(时间)分辨率,反映了信号波形的细节特性。AD转换器通过把采样电压和参考电压进行比较来确定采样电压的幅度。构成AD转换器所用的比较器越多,AD转换器可以识别的电压层次也越多,这个特性称为垂直分辨率,垂直分辨率越高,则示波器上的波形中可以看到的信号细节越小。
本系统将采集到的模拟信号经过AD转换后变成数字量,利用单片机进行数据的处理储存,转换成LCD相应的X、Y坐标值和显示数值。可以采用单片机和FPGA/CPLD的方式实现,由FPGA/CPLD完成采集、存储、显示及AD/DA等功能,即由FPGA/CPLD实现人机交互及信号测量分析等功能。由于 硬件的限制,系统的实现由PIC单片机、AD转换器、LCD模块等组成,由单片机完成基本处理分析,包括信号的采集、存储、显示等控制与变换工作。此方式的优点在于系统规模比较小,可以灵活实现,却不适宜于观察高速信号或复杂信号。体系结构图如图1所示。
2 硬件设计
硬件电路由七部分组成:输入程控放大电路、采样电路(高速AD转换电路)、FIFO存储电路、触发电路、显示控制电路、时钟产生电路和测频与控制电路。其中程控放大电路、采样电路和显示控制电路是主要的三部分。程控电路是将波形幅值通过比例缩放显示在屏幕上,之后在周边加上标尺注明,将波形调整到合适的采集范围。采样电路负责采集,它的核心为AD转换器,采样信号经过AD转换器,传输到单片机,由单片机处理以及显示控制电路。显示控制电路负责按照要求的形式显示被测信号的波形。
2.1 程控电路设计
程控电路的作用是对输入信号进行衰减或放大调整,使输出信号电压在AD转换器输入电压要求范围内,达到最好的测量与观察效果,这就要求运算放大器在规定带宽内的增益一定要平坦,选用NSC公司生产的LM6172运算放大器,带宽为100MHz,转换速率3000v/μs。图2是程控电路原理图的一部分。
2.2 采样电路设计
AD转换电路将被测信号采样并转换成数字信号存入存储器,它直接决定着数字示波器所能测量的最高频率,在本电路中选用的8位高速AD转换器ADS830E,采样频率为10kSa/s~60MSa/s。
ADS830E的每个时钟周期进行一次DA转换,采样率就是时钟频率,可以方便地通过控制采样时钟来控制采样率,而且ADS830E的输入电压幅度是可以编程控制的,RSEL引脚为控制引脚,当置高电平时,ADS830E的输入电压范围是1.5~3.5V,即2Vpp;当置低电平时,输入电压范围是2~3V,即1Vpp。
由程控放大电路调整后的信号分成两路,一路进入AD转换电路进行采样,采样所得的数据由74LVC574锁存缓冲后送入FIFO存储器。在AD转换器与PIC单片机之间加入FIFO的作用是起到高速数据缓冲的作用,因为AD转换器的最高工作频率为60MHz,远高于单片机的工作频率,所以让FIFO与AD转换器同步工作存储AD转换器的转换输出数据,当FIFO存储器存满后引脚被拉高,通知单片机进行数据读取,这时单片机禁止AD转换器与FIFO存储器的时钟使能信号,FIFO的控制权交给单片机。
2.3 显示控制电路设计
显示的核心是LCD在不同的坐标位置上打点,众多的点联系在一起就成了图形。前面叙述了由于PIC单片机读取数据的速度跟不上高速的采样速率造成了在接收中要有个缓存的部分,此处采用了FIFO存储器。FIFO的特点是速度快、双端口、输入和输出分开,而且拥有空满标志。它可以从一端读入数据,不会使得AD转换器和PIC共用一个I/O口,在处理数据上很方便。
PIC单片机对采集到的数据显示的过程是先对FIFO做是否满判断,确认采集到足够的数据来显示,然后清除屏幕上已有的图像,之后判断数据是否在屏幕显示的范围内,若超出范围,将两组数据合理组合得到在屏幕上显示的数据,通过调用显示函数显示出来。后面的数据只需读出一组,通过和之前的数据运算和处理显示出来,这样就可绘制出连续的波形了。
对显示的控制采用键盘按键,键盘电路采用6个信号接口控制24个键,大大节省了单片机控制所使用的I/O口。键盘的24个键被分为3组,每一组对应于一个741s148,它是一个3/8译码器,当有一个键被按下,则其中一个被置低电平,741s148有三个口D0、D1、D2,这三个口可指出其中哪个键被按下,如Y1检测电平拉低,则D0、D1、D2对应是101。图3是键盘控制电路图。
3 软件设计
软件部分要由AD转换子程序、显示子程序、读写子程序、按键处理子程序组成。图4是一次完整采样处理的流程图。
主程序在上电初始化后,等待信号采集,查询AD转换是否完成,AD转换完成后,数据写入FIFO存储器,当FIFO存储器写满后,FIFO写满标志位触发单片机的数据读取程序,把采样数据读取到单片机内,根据先前的按键状态所设置的功能寄存器内容,处理数据,并在LCD上显示需要的波形。
AD转换程序在一定的采样时间内,对输入的模拟信号进行数据采样,由定时器定时产生中断,在采样中断到来时开启AD转换,AD转换结束后数据存储到指定的区域。通过控制定时器定时的时间即可控制不同的采样率,从而实现对不同频率段数据的采集。由于AD转换时间的限制,不能采集频率高韵信号波形,对此采用等效采样模式,等效采样是指多个信号周期连续采样来复现一个信号波形,采样系统能以扩展的方式复现频率大大超过奈奎斯特极限频率的信号波形。
显示子程序将转换得到的数字信号量显示在LCD相应的点上。横轴用于显示耐间,纵轴显示电压大小的值,先计算出某一个待显示数字量在横轴上的位置,再根据数字量的大小计算出在纵轴上的位置,这样就能在显示器上显示出该数字量所对应的点。将所采集的点依次显示后在屏幕上看到的即为信号的波形。
读写子程序的功能是将想要存储的信号波形存储起来,以便以后观看波形细节。按键处理子程序的功能主要是根据不同的输入,选择不同的功能。采用行列扫描的方式对按键进行扫描,当扫描的某一按键按下时,执行相应的功能。
4 结束语
本系统设计简单、清晰,充分利用单片机内部资源,实现了普通示波器的基础功能如信号测量、频率测量、触发电平可调,垂直与扫描档可变等,同时又扩展了按键波形存储,单次触发等功能,可应用于仪表实时显示动态波形,具有良好的使用前荣。如果选用性能更好的模拟开关和运算放大器,更合理的电阻,可提高信号调理电路的放大准确度,增大测量幅度范围。