基于stm32的数字示波器设计方案

随着集成电路的发展和数字信号处理技术的采用,数字示波器已成为集显示、测量、运算、分析、记录等各种功能于一体的智能化测量仪器。数字示波器在性能上也逐渐超越模拟示波器,并有取而代之的趋势。与模拟示波器相比,数字示波器不仅具有可存储波形、体积小、功耗低,使用方便等优点,而且还具有强大的信号实时处理分析功能。因此,数字示波器的使用越来越广泛。目前我国国内自主研发的高性能数字示波器还是比较少,广泛使用的仍是国外产品。因此,有必要对高性能数字示波器进行广泛和深入研究。

  本文通过采用高速高性能器件,设计了一实时采样率为60 msa/s的宽带数字示波器。

  1 数字示波器的性能参数设计

  数字存储示波器的指标很多,包括采样率、带宽、灵敏度、通道数、存储容量、扫描时间和最大输入电压等。其中关键的技术指标主要有采样率、垂直灵敏度(分辨率)、水平扫描速度(分辨率)。这几项指标直接与所选a/d、fifo和高速运放器件的性能,以及电路设计有关。下面根据所选器件的性能参数,合理地分析和确定示波器的采样率和分辨率。

  1.1 采样率与水平扫描分辨率

  采样率主要取决于a/d转换器的转换速率,常用每秒取样点数sa/s(sample/second)来表示。本系统设计最高实时采样率为60msa/ s,若进一步提高采样率可采用文献提出的等效采样技术,不过等效采样技术的软硬件和价格成本很高。为了使示波器具有较高的信号波形分析细节,采用数字内插技术来恢复和重建信号波形。文献中详细论述了线性内插和正弦内插算法在示波器设计中的应用问题。因此,对这两种内插算法不再详细论述,在本文设计中直接引用文献中的研究成果。根据文献研究结果,取信号每周期采样点数为20,插值倍数为4。水平显示像素点数为400个,共10格。水平扫速与采样时钟频率的关系表如下。

    

  1.2 垂直灵敏度

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

    

  2 数字示波器的硬件设计

  2.1 系统硬件总体框图

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

    

  2.2 输入阻抗匹配电路

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

    

  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增益调节真值表。

    

    

  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口。

  3 系统软件设计

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

    

  4 实验测试

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

    

    

  5 小结

  为实现一个高采样率,宽频带的便携式数字存储示波器,设计了以stm32为控制核心的数字示波器。硬件平台主要采用了ad8260数字程控增益放大器作为前端信号调理电路,ads830高速宽带模数转换器和idt7204高速缓存作为数字采集电路,以及信号波形采用了tft彩屏显示。另外,通过采用数字内插的数字信号处理算法来重建和还原信号波形,进而改善了信号波形显示细节。最后对研制样品进行了实验室测试,实验结果表明硬件设计思路与软件及算法的处理是正确的,性能参数达到设计要求,可以应用在工程实践中。

  数字示波器在信号显示,处理以及带宽等方面比传统模拟示波器更有优势,因此数字示波器是今后示波器发展的重要方向。本文采用stm32高性能arm处理器作为核心控制芯片,能够满足tft彩色波形显示,数字插值算法处理等。通过采用高速ad和fifo器件,实现了高采样率,宽频带的技术要求。

  • 17
    点赞
  • 124
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
前言: 是德科技(NYSE:KEYS)-原安捷伦电子测量事业部,是全球电子测量技术和市场的领导者,致力于推动无线通信、模块化和软件解决方案的持续创新,专注于为客户提供卓越的测量体验。是德科技提供的电子测量仪器、系统、软件及服务广泛应用于电子设备的设计、研发、制造、安装、部署和运营。 此次,是德科技为工程师分享了包括示波器、物联网、5G通信、汽车电子等热门领域的技术知识,手把手教会工程师如何通过示波器行之有效的实现相关领域的专业测试测量。 从朋友得知ST公司在搞活动,可以申请STM32F429的探索套件,作为穷学生一枚的我不免动了心。大二上学期参加完全国大学生电子设计竞赛之后闲来无事,就自己做了一个数字示波器来作为学习STM32的实战检验,前后花费了大概1个月的时间完成了初稿,之后又断断续续的完善我的示波器,并且为它编写了上位机程序和制定了通信协议。使用了前端程控模拟电路和上层电路板,uCOS-II,uCGUI,FFT,SD,上位机等等,现在因为参加老师的项目研发也就暂时闲置了下来,之前就打算在各大论坛开源,但是一直没有时间整理设计文档,恰巧现在ST公司这个活动,所以就全部开源分享给大家吧,一起学习。下一步计划重新设计模拟电路部分使用CPLD和高速AD实现更高的采样率。 硬件平台: 主控器:STM32F103ZET664K RAM 512K ROM 屏幕器:SSD1963 分辨率:480*272 16位色 触摸屏:TSC2046 模拟电路:OP-TL084 OP-U741 SW-CD4051 CMP-LM311 PWR-LM7805 -LM7905 -MC34063 -AMS1117-3.3 DRT-ULN2003 6.继电器:信号继电器 7.电源:DC +12V 注:芯片的数据手册等信息可以在集成电路查询网站搜索https://www.datasheet5.com/ 芯片询价和在线购买链接https://www.bom2buy.com/ 软件平台: 开发环境:RealView MDK-ARM uVision4.10 C编译器:ARMCC ASM编译器:ARMASM 连机器:ARMLINK 实时内核:UC/OS-II 2.9实时操作系统 GUI内核:uC/GUI 3.9图形用户接口 底层驱动:各个外设驱动程序 数字示波器功能: 波形发生器:使用STM32一路DA实现正弦,三角波,方波,白噪声输出。 任意一种波形幅值在0-3.3V任意可调、频率在一定范围任意可调、方波占空比可调。调节选项可以通过触摸屏完成设置。 SD卡存储: SD卡波形存储输出,能够对当前屏幕截屏,以JPG格式存储在SD卡上。能够存储1S内的波形数据,可以随时调用查看。 数据传输:用C#编写上位机,通过串口完成对下位机的控制。(1)实现STOP/RUN功能(2)输出波形电压、时间参数(3)控制截屏(4)控制波形发生器(5)控制完成FFT(6)波形的存储和显示 图形接口: UCGUI 水平扫速: 250 ns*、500ns、1μs、5 μs、10μs、50μs、500 μs、5ms 、50ms 垂直电压灵敏度:10mV/div, 20mV/div, 50mV/div, 0.1V/div, 0,2V/div, 0.5V/div, 1V/div,2V/div, 5V/div 被测信号的各种参数屏幕显示,包括频率、电压峰峰值等。 数字示波器性能参数: 主控: STM32F103ZET6 液晶屏: 4.3寸TFT480×272 65K彩色LCD显示屏 FSMC AD: 12位1MHz采样率 最高实时取样率: 1MSa/s 12Bits 取样缓冲器深度: 5K 垂直灵敏度: 5V,1V,500mV,200mV,100mV,50mV,20mV,10mV; 水平时基范围:2S,1S,500mS,200mS,100mS,50mS,20mS,10mS,5mS,2mS,1mS,500uS,200uS,100uS,50uS,20uS,10uS,5uS,2uS,1uS 输入阻抗: ≥1MΩ 最高输入电压: 30Vpp 耦合方式: AC/DC 触发功能: 实现自动、常规、单次触发方式 ,上升或下降边沿触发 参数计算: 频率、周期、占空比、交流峰-峰值、平均值、光标追踪显示 RUN/STOP 数字示波器实物视频演示: 实物展示: 上位机截图: 设计心得分享: 由于程序量比较大,所以在程序中我完成了大量的注释,详细的说明了具体的实现方法,其中的示波器原理和FFT原理请自己查阅相关教材。我个人认为最值得参考的就是如何制定一个效率较高的通信协议。我查阅了很多资料最后结合实际设计了一套通信协议,这套通信协议效传输速率理论最大可达16000bps,实际采用10666bps速率传输。协议的编码、解码算法的
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值