当前位置:首页 > 工业控制 > 电子设计自动化

0 引言

在电子技术领域中,示波器的应用非常广泛,使用它可以方便直观地观察到信号的全貌,并测量信号的幅度、频率、周期等基本参数。传统的模拟示波器显示时采用荧光物质的余辉时间都是一定的,导致其难以观测到周期较长的信号。另外,模拟示波器还无法对信号进行一些特殊的数学处理(如FFT)。而数字示波器正好可以克服模拟示波器的不足,它采用各种先进的测量技术来满足各种应用。如基于采样原理,采用高速A/D转换器实现高速数据采集,将模拟信号数字化,然后借助处理器强大的数据处理能力实现各种数字信号处理算法,将波形以图形的方式直观地显示出来,并能够得到被测信号各种丰富的参数。

1 系统总体方案

本设计的系统框图如图1所示,得益于FPGA的灵活性,系统的大部分功能都在FPGA内部完成,使得整体结构非常简洁。外围电路主要包括A/D转换模块、LCD显示器、SD卡、FLASH和按键。

A/D转换模块的功能是实现模拟信号到数字信号的转换;FLASH模块的功能是存储SoPC(System-on-a-Programmable-Chip)片上系统的固件程序;SD卡模块的功能是实现测量信息的长期、大量存储,提供与PC机的接口,便于后期在计算机上进行分析;LCD模块的功能是对测量信号波形和相关参数的实时显示;按键模块的功能是提供整机的调节和控制接口。

2 FPGA逻辑功能模块设计

FPGA内部系统框图如图2所示。它主要由采样率控制器、触发控制单元、FIFO控制器、频率测量单元、按键控制单元和LCD驱动器构成。



3 SoPC设计

本设计中使用的是NiosⅡ/f处理器,使用硬件乘除法器,工作于50 MHz。使用FPGA内嵌的RAM块作为系统的运行内存。采用FLASH作为片外存储器,保存用户程序,其通过Avalon总线三态桥与NiosⅡ处理器相连。

3.1 SoPC软件设计

系统开机调用相关函数初始化LCD,SD卡和FAT文件系统之后,首先绘制图形界面,输出固定信息,接着读取波形参数,将其显示在LCD上,然后等待FIFO写满。若FIFO写满则将FIFO数据读入缓冲区中,同时在屏幕上绘制波形,获得波形的最大和最小值。最后如果有用户按键输入则处理按键事件,否则检测波形参数是否变化,若有变化则更新显示,否则等待FIFO写满,进行下一次显示。流程如图3所示。


3.1.1 SoPC底层软件设计

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

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

①发送数据/命令:将数据/命令通过驱动器发送到LCD;
②LCD初始化:完成LCD的上电复位和初始化;
③LCD清屏:清空显示;
④输出一个像素:在指定位置输出一个指定颜色的像素点;
⑤画直线:画从(x0,y0)到(x1,y1)的指定颜色的直线;
⑥画矩形:画从(x0,y0)到(x1,y1)的指定颜色的矩形,可选择是否填充;
⑦输出一个字符:在指定位置输出一个指定颜色的字符;
⑧输出一个字符串:在指定位置输出一个指定颜色的字符串。

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

①发送数据/命令:将数据/命令发送到SD卡;
②读取数据:从SD卡读取一个字节;
③SD卡复位:SD卡上电后复位并使其进入SPI模式;
④SD卡初始化:初始化SD卡使其作好数据读写准备;
⑤读一个扇区:从指定的扇区地址读取一个扇区的数据到缓冲区;
⑥写一个扇区:将缓冲区数据写入指定的扇区地址处。
(3)FAT16文件系统。FAT16文件系统的主要函数及功能为:
①FAT初始化:获取每簇的扇区数、FAT表地址、根目录地址和FAT表占用的扇区数等FAT信息;
②确定文件名称:查找已存在的波形文件以确定要保存的文件的名称;
③添加根目录项:将保存的文件的名称、大小、位置等添加到根目录;
④添加FAT表项:查找FAT表的空簇,将新文件的簇号写入FAT表。

3.1.2 SoPC顶层软件设计

SoPC的顶层软件主要完成波形及参数的显示、运行/停止控制、光标测量、波形窗口移动、保存数据到SD卡等功能。

(1)波形参数显示。绘制完图形界面后首先输出波形信息的固定部分,如Vpp:???mV,其中“???”将在读取相关参数后更新。然后读取相关参数并判断是否变化,若有变化则更新相关显示,在波形输出结束后将峰峰值更新到屏幕上。

(2)波形显示。波形参数显示完成之后,CPU进入等待状态,若FIFO写满信号为1,则开始读FIFO数据并显示波形。流程如图4所示。

(3)运行/停止控制。波形显示完后,若读到stop为1,则等到FIFO写满后进入停止状态。在停止状态FIFO中的数据保持不变。在停止状态若检测到用户输入,则执行相应函数。若检测到stop为0,则清屏,重绘图形界面,输出运行图标,返回到显示波形状态。

(4)光标测量。在停止状态若检测到光标测量为1,则进入光标测量状态。首先将2个光标的y轴坐标转换为实际电压值输出到LCD,然后计算2个光标电压的差值输出到LCD上的相应位置处。再根据分频系数将2个光标的x轴差值转换为实际的时间,输出到LCD。最后绘制2个十字光标,每个光标由一横一纵2条直线构成,其交点位于波形上。

光标绘制完成后检测用户按键,如果有左右移动或光标切换按键操作,则对相应光标的x坐标做加减运算,然后从缓冲区重新读取波形输出到LCD,将之前的信息覆盖,接着再次调用光标绘制函数绘制新的光标位置和光标的信息。流程如图5所示。

(5)将波形保存到SD卡。在停止状态若检测到保存按键输入,则将数据保存到SD卡。首先在FAT表中查找空簇,返回簇号,并在FAT表中标记该簇已被占用,同时更新FAT表。然后在根目录中查找已存在的DAT文件,若有DAT文件则返回最大的文件名,否则返回0。然后将缓冲区的数据写入SD卡的对应扇区,扇区地址=根目录地址+根目录大小+(簇号-2)×每簇的扇区数。接着在根目录中找到一个空闲项,将文件名称、大小、所在簇写入该项,即完成文件的保存。最后在LCD上输出相应的提示信息。流程如图6所示。

(6)波形显示窗口的移动。在停止状态若检测到左右移动输入,则进行波形显示窗口的移动。当左/右键按下时,若窗口没超过FIFO边界,则将窗口的首地址左/右移2个像素,然后更新显示的窗口,同时按比例更新窗口指示器的位置。

(7)波形文件格式。用于保存波形的文件使用8.3格式命名,名称为OSC_xxxx.DAT,其中xxxx为文件的编号。由于每次采集的波形数据量大小相同,因此文件的大小也为固定值。FIFO深度为256 B,添加触发电平、触发沿、时间刻度等信息后,文件的体积为260 B。由于磁盘的底层读写操作是按照扇区进行的,一个扇区512 B,所以将文件的大小定义为512 B。前256 B为波形数据,第257 B为触发沿信息,第258 B为触发电平信,第259 B,260 B为分频系数,通过软件转换后可得时间刻度的大小。

4 PC机软件设计

PC端软件使用C语言设计。图形部分使用SDL库。PC机软件用于打开示波器保存的波形文件,还原波形信息,并可以进行光标测量。程序首先初始化SDL视频,然后打开文件读取260个字节,关闭文件。载入背景图案,初始化TTF字体。将波形绘制到背景图案上并计算相关参数输出到相应位置,绘制两个光标,等待用户移动光标。光标移动后重新载入背景和波形并更新相关信息。软件流程如图7所示。


5 结语

本文介绍了一种基于SoPC的数字示波器设计,实际测试结果表明,系统完成了数字示波器的基本功能,各部分工作正常,各项指标达到设计要求。在设计过程中采用了FPGA芯片、嵌入式NiosⅡ处理器以及Verilog HDL语言,简化了电路的设计,提高了灵活性,缩短了设计周期。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭