一款嵌入式数字存储示波器设计方案
扫描二维码
随时随地手机看文章
1.前言
数字存储示波器有别于一般的模拟示波器,它是将采集到的模拟电压信号转换为数字信号,由内部的微处理器进行分析、处理、存储、显示或打印等操作。这类示波器通常具有程控和遥控能力,通过GPIO接口还可将数据传输到计算机等外部设备进行分析处理。随着大规模集成电路的不断发展,功能强大的DSP数字信号处理器的实时性越来越强。DSP凭借其强大的数字信号处理能力,为数字示波器的数据采集系统的实现提供了一个可靠而又实用的平台,并且提高了数字存储示波器的采样速率、存储深度、波形捕获能力等指标。
2.总体设计
数字示波器主要由前端稳压处理电路、AD转换电路、集成于FPGA芯片的NIOS系统及各种控制电路和SDRAM、各种键盘和LCD接口等组成。其中DSP芯片作为后端处理的核心使用的是TI公司的TMS320F2812.它是32位定点DSP芯片,内含128K*64位的片内Flash存储器18K*16位的数据/程序存储器以及4K*16位的Boot Rom,FPGA芯片作为前端采集控制处理器,使用的是ALTEra公司的EP2C5Q208,它是Cyclone系列的一款低成本FPGA芯片拥有多达119808bit的内部RAM,4608个逻辑单元,支持Altera公司的NIOSII及SOPC,可满足设计要求。
如图1所示,被测信号首先从通道1或通道2,由于两个通道接收到的模拟信号的幅值处于不稳定状态,必须经过调理电路处理成A/D转换电路可以接收的电压范围,否则会引起非常严重的后果。A/D转换电路可以把调理后的模拟信号经过采样、保持、量化、编码等过程后转换成数字信号,在S D R A M控制器的作用下送入F P G A芯片。在FPGA内置的NIOS的总体控制下,利用内部的FIFO进行缓冲和相应的数据处理。
在本设计中,DSP是整个示波卡数据处理和显示的核心,进行主要的数据处理,并且输出处理结果和相应的控制信号。FPGA在DSP发出的控制信号的作用下进行工作。DSP是一种高速的数字信号处理器,经过FPGA处理并保存于缓冲存储器中的数据,在DSP控制信号作用下,将数据送入SDRAM中的原始缓冲区中。再经过DSP各种差值和滤波等算法的处理后,送入示波卡的显示缓冲区,用于在LCD屏上的波形显示。
2.1 前端调理电路和A/D采样的设计
一般A / D芯片允许输入的电压幅度都是固定的(-0.5v~+0.5v),由各种信号的衰减和放大以及电压偏置网络组成的预处理电路,负责把前端接收到的不稳定的模拟信号经过方法和衰减之后,稳定在允许输入的电压范围内。总体来说,前端预处理电路由两部分组成,一是由继电器和RC共同组成的衰减网络,既可以避免信号的失真又可以方便数字存储示波卡的基准调节;二是由两片运放AD8008组成的阻容匹配网络和驱动放大电路。AD8008是具有双通道、高性能、电流反馈型放大器,其具有超低失真和噪声特性,带宽为650MHz,并且具有宽电源电压范围(5V~12V)。
数据采集的核心是A/D转换功能。虽然DSP芯片本身具有A/D转换的功能,但是为了提高其工作速度,本设计采用两片AD9288完成模数转换的工作。在采样时钟的控制下,构成180度相位差,满足200MS/s采样速率。
AD9288是一款双核8位单芯片采样模数转换器,内置片内采样保持电路,具有低成本、低功耗、小尺寸和易于使用等特性。AD9288采用100MSPS转换速率工作,在整个工作范围内都具有出色的动态性能。AD9288的输出为二进制码,送入FPGA存储模块后,可直接存储。每个通道均可以独立工作,最高可达475MHz模拟带宽,可以使双通道并行工作。
2.2 触发电路
触发电路是信号采集系统的重要功能电路,其基本功能是提供一个稳定的触发相位点,用作水平扫描时基的时间参考零点,使波形在显示屏上稳定显示。本采集电路设计实现了一个周期和被测信号相关的触发脉冲信号,控制ADC数据采集。
触发电路的核心部件是高速电平比较器,本采集电路中选用的是AD96685芯片和LT1713芯片。触发电路如图3所示。TrigLevel信号是迭加了源信号低频分量的比较电平,Ref是参考电位,Trig Source信号是被触发的源信号。通过改变Trig Level信号的电平值,实现触发电平的调节。通过LT1713比较整形后输出一对ECL差分时钟TrigP和TrigNP,再经过电平转换后送入FPGA内触发器。
2.3 供电电路的设计
数字存储示波卡的电源主要分三部分,一部分给高速A/D转换器供电,第二部分给FPGA供电,第三部分是给DSP芯片供电。考虑到成本和实用性等因素,使用比较常见的可调电源LM1117为A/D转换器和FPGA供电。
A/D转换器需要的额定供电电压是+3.3V,单片A/D转换器在正常工作的情况下的功率是689mV,故耗费的电流在210mA左右,LM1117的额定供电电流800mA,使用两片可较好满足要求。FPGA供电分为内核供电和IO端口供电。内核供电电压为1.2V,由LM1117供电;IO端口可以进行包括1.5V、1.8V、2.5V、3.0V和3.3V等多种配置,其电源也同样由LM1117来提供。示波卡的运算放大器和场效应管等器件所需的负电压则由LM2991来提供。LM2991是输出可调低压差稳压器,输出电压调节范围为-2V至-25V(输出电流为1A)。
DSP需要工作在更稳定的电压下,在示波卡的设计中用到了由TI公司生产的双电压输出芯片TPS70151.该芯片可以同时提供两路不同的电压,并且可以通过人为控制去改变上电顺序。如图4所示,两路输入VIN1和VIN2都被接到VDD5,VOUT1和VOUT2输出3.3V和1.8V.SEQ可以用来控制上电顺序,接地说明被置为低电平,那么VOUT1先输出3.3V,直到VOUT1输出电压达到2.7V左右时,VOUT2才开始有输出电压。MR1和MR2被用来人为的设置输入电压1和输入电压2,可用于控制RESET的输出电平,当两个引脚的任何一个输入电平为低时,那么RESET输出低电平。其他的控制端与DSP芯片连接,那么我们可以通过在DSP中编写C语言程序的方式达到对电源电压的控制。[!--empirenews.page--]
2.4LCD显示的设计
在本设计中,采用的LCD是FY43-4827-65K,具有480*272的高分辨率的彩色TFT显示屏。采用16位标准8080总线接口方式、色彩支持65536色使图像。超高的24MHz无等待总线读写速度,单点读写周期高达42ns,无需任何等待,可以和任何高速系统接口。独有显存更新窗口设定功能,用户可任意指定读写区域。
对缓冲区的较高要求,示波卡需要对系统内存进行扩展,所以加入SDRAM作为显示缓冲区,用于存储临时数据、中间结果。
LCD以ILI9320为控制器,ILI9230具有统一的时序逻辑(如图5所示)和非常丰富的指令编码,支持MSP430、51、DSP、FPGA等系列CPU.根据LCD控制器中不同的指令编码和DSP中的数据端口定义,还可以自行设计对LCD的控制指令和编程方式,实现对LCD屏上显示位置、显示内容以及色彩的组合控制。
如图6所示,DSP通过数据总线与SDRAM的数据交换,把处理后的数据送入显示缓冲区中。同时DSP也可以通过控制总线向ILI9230发送指令,使其从SDRAM中读取数据,并送入LCD显示,这样就完成了一个显示的过程。
3.结束语
在本方案中,FPGA作为前端的电路逻辑控制的核心,并做前期的一些数据处理;而DSP做作为本设计中整个系统的核心,示波器的滤波、差值过程以及显示和控制功能均在DSP芯片上完成,数字存储示波器的实时反映速度得到提高。通过实际的测试和使用,该示波器已基本达到了初期的设计要求,各项性能也达到了预定指标。采用了DSP与FPGA相互配合的方案,设计出一种嵌入式数字存储示波器。在无操作系统的情况下,实现波形处理和显示以及键盘控制,提高了CPU的运行效率。