首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于STM32和μC/OS-II的嵌入式数字示波器设计(1)

基于STM32和μC/OS-II的嵌入式数字示波器设计(1)

摘要:提出了一种基于嵌入式技术的嵌入式数字示波器设计方法,硬件设计以STM32为主控核心,采用高性能低噪声的AD8066电压反馈性放大器、压控增益放大器AD603和双路D/A转换器TLV5618A组成程控放大电路,并采用高速带宽A/D转换器和IDT7204高速缓存器组成数字采集电路,以TFT彩屏输出信号波形。软件设计移植开源的实时操作系统μC/OS-II系统,确保了系统的实时性和稳定性。实验结果表明设计思路正确,性能参数达到设计要求。
0 引言
嵌入式数字示波器是近年来发展起来的一种集显示、测量、运算、分析、记录等多种功能于一体的智能化测量终端设备。凭借其强大的性能优势,己逐步取代传统模拟示波器。当前国内通用的数字示波器多数采用51单片机、FPGA、DSP等结构。但是51单片机处理能力有限,无法实现数字示波器的基本指标,FPGA虽然能深入开发数字示波器,然而,其成本偏高,即使加入SOPC软核,其软件压力也很大。
本设计选用ARM处理器中基于Cortex-M3内核的32位STM32F103VCT6作为主控芯片。该芯片内部集成了16通道的12位高精度A/D转换器,转换时间仅为1μs,而且STM32芯片具省电模式,功耗低,与传统MCU相比,其在性能和处理能力上都比较符合本设计要求。
1 系统设计方案
1.1 系统工作原理
数字示波器的工作原理可以用图1来描述,当输入被测信号从无源探头进入到数字示波器,首先通过的是示波器的信号调理模块,由于后续的A/D转换器对其测量电压有一个规定的量程范围,所以,示波器的信号调理模块就是负责对输入信号的预先处理,通过放大器放大或者通过衰减网络衰减到一定合适的幅度,然后才进入A/D转换器。在这一阶段,微控制器可设置放大和衰减的倍数来让用户选择调整信号的幅度和位置范围。
在A/D采样模块阶段,信号实时在离散点采样,采样位置的信号电压转换为数字值,而这些数字值成为采样点。该处理过程称为信号数字化。A/D采为采样速率,表示为样值每秒(S/s)。A/D转换器最终将输入信号转换为二进制数据,传送给捕获存储区。被测的模拟信号在显示之前要通过微处理器的处理,微处理器处理信号,包括获取信号的电压峰峰值、有效值、周期、频率、上升时间、相位、延迟、占空比、均方值等信息,然后调整显示运行。最后,信号通过显示器的显存显示在屏幕上。
1.2 系统设计框图
微处理器采用意法半导体的32位处理器STM32F103VET6,其内部是ARM公司的Conex—M3内核,工作主频最高可达72MHz,再在其上面移植开源的实时操作系统C/OS—II,确保系统的实时性和稳定性。由于高速A/D转换器的速度太快,STM32处理数据的速度跟不上,所以在中间加入FIFO高速缓存器。利用STM32内部自带的FSMC(灵活的静态存储器控制器)来控制TFT液晶屏刷新波形,可实现更高频率的信号的波形刷新和显示。此为,利用STM32的高级定时器可输出高达12MHz的时钟,可以作为高速A/D转换器的采样时钟和FIFO存储器的控制时钟,从而避免了一大堆由有源晶振和数字芯片组成的时钟电路,系统框图如图2所示。
1.3 程控放大电路设计
本设计的程控放大电路如图3所示,衰减后的信号先经过的是由高性能、低噪声的电压反馈型放大器AD8066组成的电压跟随器,然后经过限流电阻R进入到压控增益放大器AD603。AD603是ADI公司生产的低噪声、90MHz带宽的可变增益放大器,增益以dB为线性,经过精密校准,而且不随温度和电源电压而变化。增益由高阻抗(50M Ω)、低偏置(200nA)差分输入控制;比例因子为25mV/dB,因此仅需要1V的增益控制电压就能覆盖增益范围的中间40 dB。所以改变AD603的控制电压即可改变该器件的放大倍数。1号引脚恒定输入1.25V电压,2号引脚的电压由一片D/A转换器TLV5618A来输出。
由于后级A/D转换器ADS830的输入模拟电压范围是1.5~3.5V,基线输入电压是2.5V,为了尽量利用A/D转换器的量程,所以需要给前端输入的模拟信号加上2.5V的偏置电压。双路D/A转换器TLN5618A的另外一路输出OUTB就是为了给输入信号加入2.5V的偏置电压而设计的。同样的,为了保证这2.5V电压的稳定,中间加入反相电压跟随器。
1.4 数字采集电路设计
本设计的数字采集电路如图4所示,从程控放大电路输出的信号在进入A/D前先进入的是截止频率为66MHz的低通滤波器,因为所用A/D转换器ADS830的最大采样频率是60MHz,所以它理论上能采集到的最大信号就是60MHz,为了避免更高频率的噪声影响A/D转换器工作,所以要设计这样一个低通滤波器。A/D转换器ADS830是德州仪器公司的一个8位分辨率高速A/D转换器,其采样频率范围是10kSa/s~60MSa/s。它的参考电压源可选择为内部参考和外部参考,这里为了简化设计,选用它的内部参考电压源。
虽然STM32主频最高高达72MHz,但是在程序里对A/D转换器采集回来的数据的处理速度实际上是比不上ADS830的60MHz采样频率的,所以为了缓冲高速数据,中间加入高速缓存器IDT7204。IDT7204是双口的SRAM,FIFO存储器,工作方式是不依靠地址线,随着写入或读取信号来对数据指针进行递加或递减,来实现对数据的寻址。IDT7204的存储深度是4K字节,有三个存储标志,这里用到了它的“数据满标志FF”,当微处理器STM32读取FF标志,如果为低电平,证明FIFO存储器已经读取了4096个ADS830的数据,然后暂停对A/D转换器数据的读取。微处理器STM32处理当前存储区的数据;等待出来完毕,再次让IDT7204读取ADS830的数据,如此循环即可得到当前示波器输入信号的完整波形数据。
返回列表