基于FPGA的虚拟逻辑分析仪设计与实现
出触发有效信号,四个触发模块当中,只要其中任意一个产生了触发有效信号,经过与门都可以生成触发标志,控制数据采样存储。
(4)数据存储电路
数据采样回来之后,先经过锁存器锁存,一旦触发标志有效,就根据采样时钟的频率将锁存器数据输出到外接的SRAM。数据存储电路控制SRAM的数据写入有效,同时地址计数器的输出递增,这样可以在时钟到来时,将数据存入SRAM的地址,当下一个时钟到来的时候,就进行下一个数据的存储。计数器的值递增,达到系统所规定的存储深度之后,返回一个中断信号。PC机收到数据存满的信号之后,便可以将数据读回,再进行相应的分析、处理。
2.3 单片机及接口电路
FPGA芯片本身不带有RS-232标准串行通信接口,本设计采用了ATMEL公司的单片机AT89S52作为PC机和FPGA之间的桥梁。它接收来自PC机的命令,如果是参数初始化和数据采集命令,则将其解释给FPGA模块;如果是数据读取命令,则将SRAM中的数据读回,并根据串口协议打包之后发给PC机。单片机和FPGA之间的数据传输根据单片机和FPGA之间的自定义通信协议执行。
单片机与PC通信中,由于AT89S52的串行口输入/输出为TTL逻辑电平,而PC机内部的RS-232C串行口用+12V和-12V电平方式,本文采用Maxim公司的MAX232芯片实现RS-232电平转换。
3 上位机软件设计
虚拟逻辑分析仪的数据处理和显示功能由上位机通过虚拟仪器软件开发平台LabVIEW实现。
上位机的软件设计分为三个模块:控制模块、数据传输模块和显示模块。软件设计框图如图4所示。
控制模块主要完成对逻辑分析装置的数据采集参数进行设置。工作过程为:首先进行初始化,并打开计算机串口;然后在参数设置部分设置采样参数;参数设置完成后点击参数下载对应的按钮,程序将转入数据传输模块。
数据传输模块将设置好的参数通过串口传给硬件部分,然后再接收由硬件返回的采样数据。工作过程为:首先对串口进行设置,再根据预先规定的协议对所传输的数据进行配置,并将每个参数按照协议进行二进制编码,然后用LabVIEW控件发送命令字。下位机单片机部分接收到命令字后进行解析,并完成采样工作。上位机发出指令之后处于检测状态,当检测到串口收到数据时就开始接收返回数据,将下位机传来的数据全部接收存储在 RAM 内,然后将数据传输到显示模块。
显示模块对 PC机接收到的数据进行分析,然后将其二进制数据列表或者显示成通道波形的形式。二进制数据序列表直接将存储区的数据按顺序显示,可利用LabVIEW中的Bundle函数来实现。波形显示方式要求把每个通道的数据独立显示,因此要求在数据处理时,把每个存储单元的数据按通道逐位取出,再把同一通道的数据合并,然后进行波形显示。可利用LabVIEW中的Digital Waveform Graph 来实现。
4 性能指标及功能
在综合考虑应用需要和成本的前提下,本文设计的虚拟逻辑分析仪的主要性能指标为:有8个高速采样通道,最高可达40MHz采样率,存储深度达1 024KB,触发方式有随机触发、通道触发、延迟触发及字触发四种。其中多级字触发具备四级序列字触发和组合字触发功能。对不同的被测系统,提供相应的门限电平。RS-232串行接口配合LabVIEW开发的虚拟操作平台,可实现数据在PC机上的实时显示。
实现的主要功能包括:对所采集到的数据进行波形和二进制数据列表显示;保存用户所需要的显示图形;初始化命令,让系统复位准备;控制触发方式和触发字;控制采样速率;控制存储深度;选择采样时钟。
经测试表明,本文设计的虚拟逻辑分析仪具备了较强的逻辑分析能力,能满足信号分析的要求。由于数据存储部分中的数据锁存器、指令识别电路、采样时钟电路、触发识别电路、数据存储电路等采用可编程逻辑器件FPGA来实现,使硬件电路大为简化,提高了逻辑分析仪的可靠性,降低了成本,且功能易于扩展,具有一定的教学和科研价值。
- 孕龙逻辑分析仪在USB蓝牙接收器上的实际测量(09-24)
- 简述嵌入式逻辑分析仪在FPGA测试中的应用(05-05)
- FPGA与DSP协同处理系统设计之:FPGA+DSP协同平台的调试技巧和注意事项(06-05)
- 基于FPGA的虚拟逻辑分析仪的设计(06-05)
- FPGA系统调试问题及提高调试效率的方法(06-05)
- 利用FPGA的M4K作为移位寄存器的逻辑分析仪设计(06-05)