温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
SOPC
便携式
数字
存储
示波器
设计
陈雯婷
wwwele169com|37信息工程0 引言示波器是一种用途十分广泛的电子测量仪器,多用于观察信号的波形,用户通过波形计算出信号的参数,因此常被用作硬件输出参数的检测以及电路的调试。传统数字示波器具有体积大、成本高等缺点,不适用于户外现场测试,而便携式数字存储示波器具有体积小、成本低、操作简易等优点,解决了传统示波器户外测试不便的问题1-2。本文设计了一款基于SOPC的便携式数字存储示波器,将 FPGA 的逻辑设计、算法设计和嵌入式设计结合在一起,使用 Qsys 系统集成工具搭建了一个基于 Nios II 的嵌入式系统,Nios II 具有较强的性能及可定制特性3-4。SOPC 集成了 FPGA 和嵌入式系统的优势,并兼具硬件编程和软件编程5,使整个系统操作更加灵活。另外 C GUI 系统的实时性及操作灵活性,极大地提高了系统在复杂工作环境下进行信号检测的效率6。1 总体方案设计便携式数字存储示波器的设计架构图如图 1 所示,示波器功能包括信号的采集、测量、存储以及显示。其工作流程大致为:(1)被测信号经前端调理电路处理后通过高速 AD9226转化为数字信号后被传输至系统中。(2)数字信号一路通过测量模块计算出信号的频率和峰峰值,同时将定时器定时更新的频率和峰峰值通过接口模块传递给 Nios II。另一路将信号抽样后的数据写入双口 RAM中进行存储操作。(3)采用 C GUI 绘制人机交互界面,并将像素数据写入 DDR2 中,使用具有突发读写能力的 Avalon-MM Pipeline Bridge IP 核与 DDR2 控制器进行通信,显示控制模块将读取的数据传输至 TFT 显示屏显示。相比于传统的数字存储示波器,系统采用软硬件协同 合 作,通 过 在 FPGA 中 内 嵌 Nios II CPU,代 替 传 统FPGA+MCU 的模式,将数字电路以及系统控制部分集成在FPGA 内部,在降低设计成本的同时减少了 FPGA 外部的硬件设计流程以及 PCB 设计面积7-9。USBBLASTERAVALON总线定时器Nios IIJTAGUART数据处理模块DDR2控制器TFT控制器 AD9226DDR2SDRAMTFT显示模块 SOPC系统 图 1 设计架构图2 系统硬件设计 示波器系统设计分为逻辑硬件设计和 Nios II 软件设计两部分,逻辑硬件部分实现提供外围接口的控制功能、包括信号时钟模块、信号采集模块、数据存取控制模块、数据测量模块以及人机交互模块,整个系统的控制电路都集成在 FPGA 芯片中,其内部电路部分采用数字电路实现,在FPGA 中采用 Verilog HDL 硬件描述语言实现各个硬件模块的逻辑电路。Nios II 软件设计实现通过程序控制逻辑硬件的功能,根据触摸屏的按键操作实现示波器的信号采集、数据存取以及测量功能。本系统采用模块化设计思想对各个模块进行设计,在系统的工程顶层连接各个功能模块。2.1 时钟模块在系统中,由外部 50MHz 晶振时钟提供 FPGA 逻辑控基于 SOPC 的便携式数字存储示波器设计陈雯婷,曾庆立,芮天喆,赫忠天(吉首大学 信息科学与工程学院,湖南吉首,416000)基金项目:吉首大学校级课题资助项目(Jdy21076)。摘要:为解决传统示波器体积较大、携带不便以及成本高等问题,提出了一种基于SOPC的便携式数字存储示波器设计方案。通过在FPGA上嵌入Nios II软核CPU作为系统波形及参数的显示控制,利用信号调理电路和高速ADC实现信号采集并通过Avalon-MM接口传递相应的控制参数至各个功能模块实现数据测量及存储,使用Nios II移植嵌入式图像用户界面C GUI绘制精美的人机交互显示界面。经测试,系统可较好的实现信号采集、测量、存储和显示功能,且体积小、成本低、操作便捷,具有一定的实用价值。关键词:SOPC;FPGA;数字存储示波器;C GUIDOI:10.16589/11-3571/tn.2023.01.02838|电子制作 2023 年 1 月信息工程制芯片所需的时钟信号,采用 FPGA 芯片内部集成的锁相环PLL进行时钟倍频或分频,提供系统所需要的工作时钟信号,保证各个模块正常且稳定的工作。根据模块的需求配置相应的参数,PLL 输出 sys_clk、ad_clk、lcd_clk 三个工作时钟。其中 sys_clk 提供 Nios II 系统的工作时钟,ad_clk 提供高速A/D的采样时钟以及其他逻辑控制模块的工作时钟,lcd_clk 提供人机交互模块的工作时钟。2.2 信号采集模块信号采集模块包括前端信号调理电路以及高速 ADC 器件。信号调理电路作用是使经过调理后的信号符合 A/D 转换的要求。调理后的模拟信号经过高速 A/D 转换为数字信号,信号采集模块根据设定的采样率,对待测信号经高速A/D转换的数字信号进行间隔采样,输出采样后的有效信号。本系统采用 ADI 公司精度为 12 bit 的 AD9226 模数转换器实现,其采样率高达 65Msps,且具有功耗低、价格低和性能高等优点。信号采集电路如图 2 所示,信号采集电路默认输入电压范围为-5V+5V,而 AD9226 电压输入范围为1V3V,信号经过信号调理电路后便将输入信号从-5V+5V衰减至 1V3V。衰减电路的转换公式为:Vout=(1/5)Vin+2当 Vin=-5V 时,Vout=1V;当 Vin=5V 时,Vout=3V。信号调理电路AD92262V基准电压1V 3V-5V +5VVinVout图 2 信号采集电路图 3 是采集数据时逻辑分析仪(SignalTap II)抓取的时序,SignalTap II 在 Nios II 系统调试的过程中可以捕捉并显示实时信号10,加快了系统开发流程,提高了 SOPC 系统的操作灵活性。2.3 数据测量模块数据测量模块实现对信号电压值以及频率值进行测量的功能,数据测量模块由三个子模块组成:脉冲生成模块、峰峰值测量模块和频率计模块。(1)脉冲生成模块实现 AD 数据转换为脉冲的功能,通过比较输入信号与触发电平的大小,即当输入信号大于触发电平值时,模块输出脉冲为高,反之为低。(2)频率计模块采用等精度测量法对信号进行测量,等精度测量法原理图4所示,在门控时间内对频率进行测量,门控时间的值是可变的,门控的时间则是待测信号周期的整数倍。门控时间内,被测信号计数值与频率的比值等于基准时钟计数值与频率的比值,比值就是门控时间,即:_fcntn cntgate timefclkn clk=(1)由式(1)可推出:_n clkfclkfcntn cnt=(2)式(2)中,f_clk 表示被测信号频率值,f_cnt 表示被测信号计数值,n_clk 表示时钟信号频率,n_cnt 表示时钟信号个数。门控时间门控信号待测信号时钟信号图 4 等精度测量原理图(3)峰峰值测量模块通过不断比较待测信号周期内输入的采样值大小,计算出周期内最大值和最小值,从而计算出信号的峰峰值。2.4 波形触发及存储控制模块数字存储示波器的优点是可以观察到触发条件前后的信号波形,在设计中通过按下停止键可实现波形重现显示的功能,使用 Verilog HDL 硬件描述语言实现对采集数据的触发以及存储功能。波形触发控制模块的作用是产生精确的采样起始位置,使得示波器显示出不重叠的清晰信号波形。波形触发控制模块通过判断经高速 AD 处理后的信号是否满足电平触发条件以及边沿触发条件,当信号满足触发条件时便将输出满足条件的波形实现触发控制功能。波形存储控制模块设计中通过例化一个双口 RAM 存储器并设置固定的存储深度用于存储波形数据,存储深度设置为屏幕显示区域的水平方向分辨率,将处理后的波形数据写入 RAM 存储器中,写入的地址由 0 到存储深度,当按下示波器屏幕的停止键时,将RAM 中存储的波形数据依次读出即可。在系统中直接调用“RAM:2-PORT”对其参数进图 3 数据采集测试时序图wwwele169com|39信息工程行设置,其设置图如图 5 所示。图 5 双口 RAM 参数设置图 2.5 人机交互模块数字存储示波器最基本功能就是将采集的波形进行显示,人机交互模块负责驱动屏幕将波形存储模块中的波形数据进行显示,通过读取 RAM 中数据,并将读出的波形数据与屏幕显示区域的像素点进行对比实现波形的绘制。过程中根据用户的按键操作对波形进行水平以及垂直方向的移动及缩放,波形的缩放和移动与 RAM 地址相关,根据缩放比例将 RAM 中读出的数据进行乘除运算实现波形的缩放,通过加减运算实现波形的移动。本系统显示采用 TFT 触摸液晶屏实现,TFT 触摸液晶屏具有体积小、分辨率高、色彩丰富等特点。本设计选取的是正点原子 ATK-4342 RGB LCD 电容触摸屏,分辨率为480272,不带集成显存,因此设计中使用 DDR2 SDRAM作为屏幕的显存,通过 FIFO 将 DDR2 SDRAM 存储的界面显示数据读出并传输至屏幕进行显示。3 系统软件设计 3.1 软件开发环境本系统通过使用 Verilog 硬件描述语言编写相应功能的IP 核,移植 Nios II 软核处理器构建片上可编程系统,系统通过 Avalon 总线将定制的 IP 核与 Nios II 相连接。Nios II集成开发环境(IDE)是 Nios II 处理器的软件开发工具,为Nios II 系统提供了软件开发平台,使用过程中通过此平台完成 SOPC 系统的软件开发任务,包括各项复杂的控制及运算。Nios II 处理器可根据用户实际需求配置所需的外设及存储器接口,增加了系统的功能同时简化了电路。3.2 软件设计概述在 系 统 中,通 过 调 用 Nios II、JTAG_UART、EPCS_FLASH、TIMER、Avalon-MM Pipeline Bridge 以及DDR2 等 IP 核完成 Qsys系统的搭建。在 Qsys 搭建的嵌入式系统中,Nios II 处理器是系统控制的核心。本系统软件设计主要为TFT触摸屏显示程序,其运行在 Nios II 软核处理器上,采用自顶向下的编程逻辑进行设计,设计过程中充分利用查询和判断功能,提高程序的可读性。其程序流程图如图 6所示。系统工作流程如下:开 机 后,FPGA 芯 片 从EPCS 中的系统中加载数据,并开始执行命令。首先进行系统初始化和显示界面初始化操作,然后系统进入主循环状态检测屏幕的触摸中断信号,通过按键状态并根据屏幕像素点的坐标判断用户操作进入相应的功能函数,最后系统按照指定的功能调用函数实现相应的操作,根据系统设定的功能进行工作,并将各项参数传送至TFT 触摸屏进行显示。系统初始化主要包括触摸中断初始化和定时器中断初始化,触摸屏中断作为开始获取触摸点坐标的标志,定时器中断作为定时获取波形频率以及峰峰值的信号。显示界面初始化用以实现设定触摸屏的显示区域以及按键菜单选项的功能,Nios II 处理器根据 TFT 驱动初始化程序完成对电容触摸屏的显示初始化配置。系统检测到触摸中断信号为高电平后开始对触摸点坐标进行处理,根据输入的触摸点坐标判断用户的按键操作,系统进行相应的功能操作,如果触摸点坐标超过屏幕的有效触摸区域,则将此次操作视为无效操作并不做任何功能处理。3.3 操作界面显示软件设计 本系统软件设计主要为 TFT 触摸屏显示程序,根据示波器功能需求,设计出示波器的功能显示页面如图 7 所示。示波器的操作显示界面较为复杂,其中包括示波器的波形、频率、峰峰值以及功能键的显示,为提高示波器显示界面的开发效率,使用 Nios II 移植 C GUI 对示波器的显示开始系统初始化显示主页面屏幕有触摸键按下功能键选择与参数设置按指定功能调用函数函数处理显示“实时波形”界面结束YN图 6 程序流程图40|电子制作 2023 年 1 月信息工程界面进行绘制。图 7 示波器功能显示界面图根据示波器显示总体需求,其显示界面中包括触摸功能按键的绘制以及数据的显示。示波器触摸功能包括:波形触发控制、波形