基于STM32的数字示波器设计与实现

发布者:lcn18560863680最新更新时间:2011-05-26 关键字:数字示波器  STM32  数字内插 手机看文章 扫描二维码
随时随地手机看文章
0 引言
    随着集成电路的发展和数字信号处理技术的采用,数字示波器已成为集显示、测量、运算、分析、记录等各种功能于一体的智能化测量仪器。数字示波器在性能上也逐渐超越模拟示波器,并有取而代之的趋势。与模拟示波器相比,数字示波器不仅具有可存储波形、体积小、功耗低,使用方便等优点,而且还具有强大的信号实时处理分析功能。因此,数字示波器的使用越来越广泛。目前我国国内自主研发的高性能数字示波器还是比较少,广泛使用的仍是国外产品。因此,有必要对高性能数字示波器进行广泛和深入研究。本文通过采用高速高性能器件,设计了一实时采样率为60 Msa/s的宽带数字示波器。

1 数字示波器的性能参数设计
    数字存储示波器的指标很多,包括采样率、带宽、灵敏度、通道数、存储容量、扫描时间和最大输入电压等。其中关键的技术指标主要有采样率、垂直灵敏度(分辨率)、水平扫描速度(分辨率)。这几项指标直接与所选A/D、FIFO和高速运放器件的性能,以及电路设计有关。下面根据所选器件的性能参数,合理地分析和确定示波器的采样率和分辨率。
1.1 采样率与水平扫描分辨率
    采样率主要取决于A/D转换器的转换速率,常用每秒取样点数Sa/s(sample/second)来表示。本系统设计最高实时采样率为60MSa/  s,若进一步提高采样率可采用文献提出的等效采样技术,不过等效采样技术的软硬件和价格成本很高。为了使示波器具有较高的信号波形分析细节,采用数字内插技术来恢复和重建信号波形。文献中详细论述了线性内插和正弦内插算法在示波器设计中的应用问题。因此,对这两种内插算法不再详细论述,在本文设计中直接引用文献中的研究成果。根据文献研究结果,取信号每周期采样点数为20,插值倍数为4。水平显示像素点数为400个,共10格。水平扫速与采样时钟频率的关系表如下。

a.jpg


1.2 垂直灵敏度
    垂直分辨率的高低直接影响数字示波器对波形细节的显示,垂直分辨率越高,则示波器上的信号波形细节越小,它取决于A/D转换精度和TFT的显示分辨率。本文设计中取最大采样输入电压为2 Vpp,垂直刻度为8格,共256个像素点,因此垂直精度为0.25 V/格。共设计9个灵敏度档位,每档灵敏度与程控放大倍数的关系如表2所示。

b.jpg[page]

2 数字示波器的硬件设计
2.1 系统硬件总体框图
    系统硬件总体框图如图1所示,主要由STM32控制单元,信号输入阻抗匹配单元,信号调理单元,A/D采样与FIFO存储单元,时钟单元,TFT显示单元等组成。输入信号经阻抗匹配后,送入信号调理单元,将信号的幅度放大或衰减到适合A/D采样的范围内,A/D采样单元对幅度为2VPP的信号进行A/D采样,并将采样结果存入FIFO单元中。CPU从FIFO中读存数据并进行内插运算,然后根据用户通过键盘输入的指令将信号波形显示在TFT液晶屏上。另外,CPU还可以将数据通过RS232接口上传给上位机,或进行打印等处理。

c.jpg


2.2 输入阻抗匹配电路
    对于低速数据采集,由于信号反射对信号的传输过程影响微乎其微,所以低速数据采集系统良好的高阻抗性能,对提高系统的测量精确度有很大的意义。本设计中采用电压跟随器实现阻抗变换,数据采集阻抗变换电路的设计方案如图2所示,其输入阻抗为10MΩ。

d.jpg


2.3 信号调理电路
    信号调理电路主要采用具有可变增益的数字程控放大器AD8260。AD8260是AD公司生产的一款大电流驱动器及低噪声数字可编程可变增益放大器。该器件增益调节范围为-6 dB~+24 dB,可调增益的-3 dB带宽为230MHz,可采取单电源或双电源供电。主要用于数字控制自动增益
系统、收发信号处理等领域。本设计主要使用其数字控制自动增益功能。AD8260内部的数字程控增益功能框图如图3所示。经阻抗匹配后的信号可直接输入AD8260的17、18脚,经AD8260内部前端放大器6 dB的固定增益放大,-30 dB程控衰减以及末级放大器18 dB固定增益放大后,由7和8脚输出。第11、12、13、14脚为四位数字控制信号(D0、D1、D2、D3),与STM32的I/O口直接连接,实现增益控制。表3给出了AD8260增益调节真值表。

e.jpg


2.4 A/D和FIFO电路
    在数据采集电路设计中,选用BB公司的8位高速AD转换器ADS830E,最高采样频率为60 MSa/s,最低采样频率为10 kSa/s。8位转换精度的显示分辨率为256格,能够满足所选用分辨率为640*480的TFT显示模块。FIFO存储器采用IDT7204高速缓存,其缓存深度达1 024 K。FIFO存储器是一种双口的SRAM,没有地址线,随着写入或读取信号对数据地址指针进行递加或递减,来实现寻址。
2.5 时钟电路
    时钟产生电路为AD转换器提供一系列的采样时钟信号,共有8种频率,分别对应着不同的水平扫速。时钟产生电路主要由高稳定度的温补晶振,分频器74LS390,多路选择器74F151以及分频器74F74触发器构成。基准时钟信号由一块60 MHz的温度补偿型有源晶体模块提供,输出的60 MHz信号经过分频器的多次分频得到8种不同的频率,然后送入多路选择器74F151。STM32通过对74F151的三根选通信号线进行控制来选择所需的采样频率。另外,中央控制器采用STM32处理器,主频设为80 MHz。显示器采用分辨率为640*480的TFT显示模块,与STM32之间采用SPI接口。与其它上位机通信采用RS232口。[page]

3 系统软件设计
    系统软件设计采用模块化设计方法,整个程序主要由初始化程序、人机交互菜单程序、键盘扫描程序、触发程序、显示程序和数据采集及频率控制程序组成。系统软件的流程图如图4所示。

e.jpg



4 实验测试
    在实验室对研制的样品机进行了测试实验,图5和图6分别显示了频率为16.2 kHz和1 kHz的方波信号。由测试数据分析可得:垂直灵敏度满足要求,电压测量误差≤5%,输入端输入阻抗大于2 MΩ,实验结果达到了设计要求。

g.jpg

h.jpg



5 结束语
    近年来,随着国内电子信息产业和电子技术的不断发展,催生了庞大的数字示波器市场需求。数字示波器在信号显示,处理以及带宽等方面比传统模拟示波器更有优势,因此数字示波器是今后示波器发展的重要方向。本文采用STM32高性能ARM处理器作为核心控制芯片,能够满足TFT彩色波形显示,数字插值算法处理等。通过采用高速AD和FIFO器件,实现了高采样率,宽频带的技术要求。实验室测试结果表明本文的设计是正确的,各项指标均达到设计要求。

 

关键字:数字示波器  STM32  数字内插 引用地址:基于STM32的数字示波器设计与实现

上一篇:详细介绍吉时利产品新成员2651A
下一篇:艾克赛利在业内率先支持吉时利4225模块测试

推荐阅读最新更新时间:2024-03-30 22:14

STM32-ucosii中的串口中断
C/OS中,中断服务子程序要用汇编语言来写。然而,如果用户使用的C语言编译器支持在线汇编语言的话,用户可以直接将中断服务子程序代码放在C语言的程序文件中。 再看《M3权威指南》2.11.2节与9.11节中讲到Cortex-M3在进入异常时自动压栈。。。。返回时自动出栈,再也不需要汇编语言编写了。也就是说我们可以使用C语言来编写中断服务程序。并且省去了上面程序清单的(1)(5)(6). 其实ucos中的终端和裸奔的中断写法基本一致,只是加了几条语句,如下为串口中断的写法: void USART1_IRQHandler(void) { uint8_t RxData; OS_CPU_SR cpu_sr;
[单片机]
STM32 USB HID设置(STM32CubeMX)
STM32F070F6P USB HID设置 1、打开STM32CubeMX软件,选择“NEW”新建一个工程 2、选择芯片型号STM32F070F6P 3、在Swap PA9/10- PA11/12前打勾 4、在“USB”下的“Device(FS)”前打勾 5、设置晶振,在“RCC”下的“High Speed Clock(HSE)”下选择第三项(此芯片需外接晶振) 6、在MiddleWares下的USB_DEVICE选择“Custon Human Interface Device Class(HID)”选项 7、点击Clock Configuration 标签,在弹出的对话框点YES.自动配置时
[单片机]
<font color='red'>STM32</font> USB HID设置(STM32CubeMX)
STM32怎么创建工程:最简单、方便的创建工程方法
一、 首先在电脑的某个目录下创建一个空文件夹用来存放工程文件。 二、打开keil软件,点击 Keil 的菜单: Project – New Uvision Project,保存时将目录定位到自己创建的文件下: 三、接下来会出现一个选择 Device 的界面,就是选择我们的芯片型号,我们选择STM232F407ZE(如果使用的是其他系列的芯片,选择相应的型号就可以了)特别注意: 一定要安装对应的器件支持包才会显示这些内容)。 接着勾选一些必须的文件和自己所需要的文件 注意:用到什么就点绿色这个,在里面勾上什么 四、打开创建的工程文件test,会看到如下文件: 创建USER子文件夹,用来存放所有的源码
[单片机]
<font color='red'>STM32</font>怎么创建工程:最简单、方便的创建工程方法
STM32开发环境(MDK)搭建及第一个项目工程
一、开发环境搭建 1.1 下载IDE 目前STM32开发常用的IDE有IAR、MDK等,这里我挑选MDK。如果你是IAR的爱好者,那么这篇文章可能不适合你。 MDK官方下载地址,目前最新版本是5.26。 官网下载页面入口: 下载需要填写个人信息: 点击下载即可: 从官网下载会比较慢,为了方便大家下载,有需要的同学可以到我的网盘上获取。 1.2 IDE安装 可以配置安装路径。默认安装在C盘根目录下。 填写用户信息。随便写,不影响使用。 一路Next,最后点击Finish。 弹出一个包安装的界面。如果你要开发的芯片MDK不支持,需要通过这个Pack Installer去安装相应的包,这里先关闭忽略掉。
[单片机]
<font color='red'>STM32</font>开发环境(MDK)搭建及第一个项目工程
关于STM32堆栈方面知识点
最近弄json,发现经常的堆溢出,然后找问题。因为对STM32堆栈问题没有深刻认识,就花时间好好研究下了堆栈并且做了验证 1.栈地址区间确定 首先找到启动文件,我的启动文件在startup_stm32f40xx.s,一般的启动文件也都在startup_stm32fxxxx.s文件里 __initial_sp 这个参数是栈顶地址,因为栈的增长是向下增长,所以这个参数我们可以理解为栈的起始地址,我设置的栈尺寸是0x400,所以栈的地址范围是 __initial_sp ~ (__initial_sp - 0x400),__initial_sp 这个参数是keil编译代码之后计算出来的,有多种方法确定。 2.确定__i
[单片机]
关于<font color='red'>STM32</font>堆栈方面知识点
STM32系列第27篇--红外遥控
红外编码分类: 红外遥控器采用单总线通信方式,红外常用的编码: NEC Protocol 的PWM(脉冲宽度调制) Philips RC-5 Protocol 的PPM(脉冲位置调制)。 NEC协议特征: 8位地址和8位指令长度 地址和命令2次传输(确保可靠性) PWM脉冲宽度调制,以发射红外载波的占空比代表“0”和“1” 载波频率为38Khz 位时间为1.125ms或2.25ms NEC码位定义 : 遥控器发送: 逻辑1:2.25ms(560us脉冲+1680us低电平) 逻辑0:1.125ms(560us脉冲+560us低电平) 接收头接收: 遥控接收头在收到脉冲的时候为低电平 逻辑1:560us低+16
[单片机]
STM32串口如何代码实现更稳定的接收消息
在 《STM32串口向世界问好》介绍过如何发送消息,那么又如何接收消息呢? 也很简单,只需要配置好串口接收,配置好中断,并在串口中断函数里面进行数据接收就可以了。通用配置代码如下: /** * @brief 初始化IO 串口1 * @param bound:波特率 * @retval None */void USART1_Debug_Init(u32 bound){ //GPIO端口设置 GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure;
[单片机]
<font color='red'>STM32</font>串口如何代码实现更稳定的接收消息
第八章 外部中断
第一节原理解读 打算写一下中断,又忍不住想说一下中断的概念,去书上翻一翻,或者自己在搜索引擎上搜一下,都可以找到一大堆,包括本文写的这个外部中断也不例外。如果要写光是中断就可以单独写一篇了,所以本文直入主题,对于STM32的外部中断进行详细的剖析。下图来自《STM32参考手册》,从整个架构图可以知道,外部中断的功能可以配置六个寄存器。 GPIO的映射关系图如下所示: 第二节配置环境1,打开STM32CubeMX并选择芯片,下载器配置如下图。 2,选择按键的引脚,配置成外部中断。如下图: 3,配置PC15引脚(也就是开发板上LD5的引脚)为输出模式。 4,选中GPIO,选择PC14,并且将GPIO的模式配置为外部中断下
[单片机]
第八章 外部中断
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved