逻辑分析仪是数字设计验证与调试过程中应用广泛的工具,其能够检验数字电路是否正常工作,并帮助用户查找并排除故障。每次可捕获并显示多个信号,分析这些信号的时间关系和逻辑关系。根据硬件设备设计上的差异,目前逻辑分析仪大致可分为独立式和需结合电脑的卡式虚拟逻辑分析仪。独立式逻辑分析仪性能优异,但价格昂贵,一般用户较少使用。而本项目所实现的便携式逻辑分析仪,以较低的成本提供了相应的性能,虽然性能有所下降,但完全可以满足一般的逻辑信号分析,并且使成本大幅度下降,仪器体积较小,便于携带,适合普通用户的使用。
1 系统总体设计方案
本逻辑分析仪可实现16通道逻辑分析,输入信号可以是模拟信号或数字信号;可测量宽范围输入电平,支持1.8~5 V电平采样;采用芯片CY7C68013A作为主控芯片,通过USB 2.0将其与电脑连接传输数据信息,使用FPGA实现高采样速率,每通道都支持12 Mbit·s-1高速采样;被采样的信号按顺序存储在存储器中。采样信息以“先进先出”的原则组织在存储器中,得到显示命令后,按照先后顺序逐一读出信息,按设定的显示方式进行被测量的显示。这样就可以在软件界面观测到所需要的数字波形,并可设置触发方式,显示所需要的波形。
本项目采用CY7C68013A作为USB采集主控芯片,利用XC6SLX9作为数据通道的选择器件,选择输入到CY7C68013A的数据是来源于数字信号还是模拟信号经ADC模块之后的数字信号。由于该逻辑分析仪为USB连接,故此在USB连接端口上加入ESD芯片。并在板上增加16 kB的EEPR0M来作为CY7C68013A的程序存储器。图1为逻辑分析仪的基本组成框图。
项目所采用的CY7C68013A芯片为低功耗芯片,该芯片内核为增强型51核,内部有16 kB程序数据区,该芯片的主频为48 MHz,并且满足480 Mbit·s-1高速传输协议标准,符合USB2.0规范,并向下兼容USB1.1规范,基本能满足该项目的数据要求。
XC6SLX9为Xilinx公司生产的Spartan6系列的FPGA,具有9 152个逻辑单元。Spartan6系列产品基于公认的低功耗45 nm、9-金属铜层、双栅极氧化层工艺技术,提供了高级功耗管理技术、150 000个逻辑单元、集成式PCI Express模块、高级存储器支持、250 MHz DSP Slice和3.125Gbit·s-1低功耗收发器。该项目所选用的芯片为144脚封装的芯片,所拥有的IO能够满足数据高速通讯的要求。
在USB连接端加入ESD芯片能够更好的防止静电干扰,使得该逻辑分析仪使用起来更加安全可靠。
2 硬件电路设计
系统硬件设计主要包括与计算机接口部分和数据采集部分。通过FPGA完成触发设置,高速捕获数据和缓存的控制,使用CY7C68013A作为USB主控芯片完成与上位机的通信,将数据发送到计算机上位机上,并且接收上位机发送回的触发控制字及其他控制信息,与FPGA协同工作。电路分为USB主控模块,FPGA从控模块,数据采集模块,数据缓存模块,电源供电模块这5大模块。
2.1 USB主控模块
USB主控芯片选择的型号是CY7C68013A-56PVXC,该芯片集成USB 2.0收发器、增强型8051微处理器,适用性、外观和功能均与FX2兼容。具有16 kB片上代码/数据RAM,4个可编程的BULK/INTERRUPT/ISOCHRONOUS端点,8位或16位外部数据接口,且它的可编程接口可与大多数并行接口直接连接、由可编程波形描述符和配置寄存器定义波形、支持多个RDY和CTL输出,该芯片的工作电压为3.3 V,容限电压为5 V,集成I2C控制器。
USB主控芯片接24 MHz晶振,PB口接收来自于FPGA的FIFO数据,15脚和16脚接USB_B型接口的D+和D-,用于向上位机发送数据,同时接收上位机控制信息。I2C总线上接一AT24C64(EEPROM)用做USB程序存储器。其余的引脚用于读取FPGA的当前状态和发送触发等信息给FPGA,以确定何时进行读取数据。
2.2 FPGA从控模块
FPGA选用Xilinx Spartan-6系列的XC6SLX9-4TQ144C,接100 MHz的晶振。芯片中设定的16个IO引脚接收来自于74ALVC164245的16位三态总线收发器的数据,FPGA.VS[2:0]三引脚全部拉高,配置为快速读写模式,可以提高采样速率。Spartan-6系列FPGA中,配置模式引脚为M[1:0],不像Spartan-3系列有3个配置引脚M[2:0],这里配置为“10”,即主串模式。此时INIT_B引脚需要拉高,防止芯片配置完成后又进入芯片初始化,DONE引脚也要拉高。配置JTAG接口用于下载程序。其余引脚用于连接两片4 MB的RAM,用于将采集到的数据先缓存进RAM中。
2.3 数据采集模块
数据采集芯片采用SN74LVC16245ADGGR,是一个16位三态总线收发器。当OE引脚接高电平时,输出为高阻态。当OE为低时,如果DIR引脚为低电平,则数据从B口传向A口,DIR为高电平时,数据从A口传向B口。图中用B口采集外部数据,并且外接1MΩ电阻以提高输入阻抗。因此DIR和OE引脚接上拉电阻,默认上电从A到B输出无效。
2.4 数据缓存模块
扩展RAM芯片采用的是256×16 kbit高速异步CMOS静态RAM芯片IS61LV25616。直接将nCE,nLB,nUB这3个引脚接CND,可以方便读写数据。读写控制信号nOE和nWE与FPGA相连,用于控制将外部采集数据读入RAM缓存或将数据读出通过USB控制芯片传送到上位机中。其控制逻辑为:nWE为高,nOE为低时,从RAM中读出数据;nWE为低时,写入数据到RAM中。
2.5 电源供电模块
供电芯片选择的是LM1117系列稳压芯片,有3.3 V和1.2 V。电源输入采用的是耳机式插孔电源,输入为5 V,1 A。如果用USB供电,由于USB最大输出电流为500 mA,因此在高速采样时可能电流不够,因此选用外接电源。
3 逻辑分析仪的设计验证
逻辑分析仪的上位机软件采用Saleae Logic1.1.16。装上软件和驱动之后,还要给USB主控芯片CY7C68013A烧写固件程序,Saleae提供了一个iic文件,用于和Saleae Logic上位机软件进行通信。FPGA的逻辑代码包括USB协同控制部分,SRAM缓存部分,触发设置选择部分,FIFO数据采集部分,综合编译后生成bit文件,用Xilinx Impact软件烧写进FPGA的Flash中,FPGA就可以自动完成上电配置过程,无需再下载。图2为测试截图。可以看出,软件左上端可以选择采样速率和深度,左端可以进行触发设置,设置好后,点击Start后就可以采集数据,右端可以显示详细的测量信息。
4 结束语
设计的便携式逻辑分析仪成本低廉,可以实现16通道的数据采样,触发设置。可以实现3通道90 MHz最高采样率,6通道50 MHz最高采样率,9通道30MHz最高采样率以及16通道12 MHz最高采样率。软件操作界面简单易懂,容易上手使用,可以满足一般的科研和教学的要求。