采用FPGA芯片和处理器实现数字示波器的设计_第1页
采用FPGA芯片和处理器实现数字示波器的设计_第2页
采用FPGA芯片和处理器实现数字示波器的设计_第3页
采用FPGA芯片和处理器实现数字示波器的设计_第4页
采用FPGA芯片和处理器实现数字示波器的设计_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

采用FPGA芯片和处理器实现数字小波器的设计

引言

在曳上技术领域中,量皮蛰的应用非常广泛,使用它可以方便直观地观察

到信号的全貌,并测量信号的幅度、频率、周期等基本参数。传统的模拟示波

器显示时采用荧光物质的余辉时间都是一定的,导致其难以观测到周期较长的

信号。另外,模拟示波器还无法对信号进行一些特殊的数学处理(如FFT)。

而数字示波器正好可以克服模拟示波器的不足,它采用各种先进的测量技术来

满足各种应用。如基于采样原理,采用高速A/D转换器实现高速数据采集,将

模拟信号数字化,然后借助处理器强大的数据处理能力实现各种数字信号处理

算法,将波形以图形的方式直观地显示出来,并能够得到被测信号各种丰富的

参数。

1系统总体方案

本设计的系统框图如图1所示,得益于皿的灵活性,系统的大部分功能

都在FPGA内部完成,使得整体结构非常简洁。外围电路主要包括A/D转换模

块、LCD显示器、辿卡、FLASH和按键。

A/D转换模块的功能是实现模拟信号到数字信号的转换;FLASH模块的功能

是存储SoPC(System-on-a-Programmab1e-Chip)片上系统的固件程序;SD卡模

块的功能是实现测量信息的长期、大量存储,提供与PC机的接口,便于后期在

计算机上进行分析;LCD模块的功能是对测量信号波形和相关参数的实时显示;

按键模块的功能是提供整机的调节和控制接口。

2FPGA逻辑功能模块设计

FPGA内部系统框图如图2所示。它主要由采样率控制番、触发控制单元、

FIFO控制器、频率测量单元、按键控制单元和LCD驱动盎构成。

ADC谕入

3SoPC设计

本设计中使用的是N迦H/f处理器,使用硬件乘除法器,工作于50MHz。

使用FPGA内嵌的RAM块作为系统的运行内存。采用FLASH作为片外存储器,保

存用户程序,其通过Avalon总线三态桥与NiosH处理器相连。

3.1SoPC软件设计

系统开机调用相关函数初始化LCD,SD卡和FAT文件系统之后,首先绘制

图形界面,输出固定信息,接着读取波形参数,将其显示在LCD上,然后等待

FIFO写满。若FIFO写满则将FIFO数据读入缓冲区中,同时在屏幕上绘制波

形,获得波形的最大和最小值。最后如果有用户按键输入则处理按键事件,否

则检测波形参数是否变化,若有变化则更新显示,否见等待FIFO写满,进行下

一次显示。流程如图3所示。

3.1.1SoPC底层软件设计

底层软件为各设备的驱动程序,主要有:

(1)LCD驱动。根据显示内容的需求,LCD驱动程序设计了以下函数:

①发送数据/命令:将数据/命令通过驱动器发送到LCD;

②LCD初始化:完成LCD的上电复位和初始化;

③LCD清屏:清空显示;

④输出一个像素:在指定位置输出一个指定颜色的像素点;

⑤画直线:画从(xO,yO)到(xl,yl)的指定颜色的直线;

⑥画矩形:画从(xO,yO)到(xl,yl)的指定颜色的矩形,可选择是否

填充;

⑦输出一个字符:在指定位置输出一个指定颜色的字符;

⑧输出一个字符串:在指定位置输出一个指定颜色的字符串。

(2)SD卡驱动。SD卡通信采用SPI模式,SD卡驱动的函数及功能为:

①发送数据/命令:将数据/命令发送到SD卡;

②读取数据:从SDk读取一个字节;

③SD卡复位:SD卡上电后复位并使其进入SPI模式;

④SD卡初始化:初始化SD卡使其作好数据读写准备;

⑤读一个扇区:从指定的扇区地址读取一个扇区的数据到缓冲区;

⑥写一个扇区:将缓冲区数据写入指定的扇区地址处。

(3)FAT16文件系统。FAT16文件系统的主要函数及功能为:

①FAT初始化:获取每簇的扇区数、FAT表地址、根目录地址和FAT表占用

的扇区数等FAT信息;

②确定文件名称:查找已存在的波形文件以确定要保存的文件的名称;

③添加根目录项:将保存的文件的名称、大小、位置等添加到根目录;

④添加FAT表项:查找FAT表的空簇,将新文件的簇号写入FAT表。

3.1.2SoPC顶层软件设计

SoPC的顶层软件主要完成波形及参数的、显示、运行/停止控制、光标测量、

波形窗口移动、保存数据到SD卡等功能。

(1)波形参数显示。绘制完图形界面后首先输出波形信息的固定部分,如

Vpp:???mV,其中“???”将在读取相关参数后更新。然后读取相关参数

并判断是否变化,若有变化则更新相关显示,在波形输出结束后将峰峰值更新

到屏幕上。

(2)波形显示。波形参数显示完成之后,CPU进入等待状态,若FIFO写满

信号为1,则开始读FIFO数据并显示波形。流程如图4所示。

(3)运行/停止控制。波形显示完后,若读到stop为1,则等到FIFO写满

后进入停止状态。在停止状态FIFO中的数据保持不变,在停止状态若检测到用

户输入,则执行相应函数。若检测到slop为0,则清屏,重绘图形界面,输出

运仃图标,返回到显小波形状态。

(4)光标测量。在停止状态若检测到光标测量为1,则进入光标测量状

态。首先将2个光标的y轴坐标转换为实际电压值输出到LCD,然后计算2个

光标电压的差值输出到LCD上的相应位置处。再根据分频系数将2个光标的x

轴差值转换为实际的时间,输出到LCD。最后绘制2个十字光标,每个光标由

一横一纵2条直线构成,其交点位于波形上。

光标绘制完成后检测用户按键,如果有左右移动或光标切换按键操作,则

对相应光标的x坐标做加减运算,然后从缓冲区重新读取波形输出到LCD,将

之前的信息覆盖,接着再次调用光标绘制函数绘制新的光标位置和光标的信

息。流程如图5所示。

图5光林测量工任波期保存犹也

(5)将波形保存到SD卡。在停止状态若检测到保存按健输入,则将数据

保存到SD卡。首先在FAT表中查找空簇,返回簇号,并在FAT表中标记该簇已

被占用,同时更新FAT表.然后在根目录中查找已存在的DAT文件,若有DAT

文件则返回最大的文件名,否则返回0。然后将缓冲区的数据写入SD卡的对应

扇区,扇区地址=根目录地址+根目录大小+(簇号-2)X每簇的扇区数。接着在

根目录中找到一个空闲项,将文件名称、大小、所在簇写入该项,即完成文件

的保存。最后在LCD上输出相应的提示信息。流程如图6所示。

(6)波形显示窗口的移动。在停止状态若检测到左右移动输入,则进行波

形显示窗口的移动。当左/右键按下时,若窗口没超过FIFO边界,则将窗口的

首地址左/右移2个像素,然后更新显示的窗口,同时按比例更新窗口指示器的

位置。

(7)波形文件格式。用于保存波形的文件使用8.3格式命名,名称为

OSCxxxx.DAT,其中xxxx为文件的编号。由于每次采集的波形数据量大小相

同,因此文件的大小也为固定值。FIFO深度为256B,添加触发电平、触发

沿、时间刻度等信息后,文件的体积为260由于磁盘的底层读写操作是按

照扇区进行的,一个扇区512B,所以将文件的大小定义为512Bo前256B为

波形数据,第257B为触发沿信息,第258B为触发电平信,第259B,260B

为分频系数,通过软件转换后可得时间刻度的大小。

4PC机软件设计

PC端软件使用C语言设计。图形部分使用SDL库。PC机软件用于打开示波

器保存的波形文件,还原波形信息,并可以进行光标测量。程序首先初始化

SDL视频,然后打开文件读取260个字节,关闭文件。载入背景图案,初始化

TIL字体。将波形绘制到背景图案上并计算相关参数输出到相应位置,绘制两

个光标,等待用户移动光标。光标移动后重新载入背景和波形并更新相关信

息。软件流程如图7所示,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论