《电子技术应用》
您所在的位置:首页 > 测试测量 > 业界动态 > 一种基于FPGA技术的虚拟逻辑分析仪的研究与实现

一种基于FPGA技术的虚拟逻辑分析仪的研究与实现

2009-03-06
作者:王春花1 黄厚宽1 马 聪2

  摘 要: 逻辑分析仪的现状、发展趋势及研制虚拟逻辑分析仪的必要性,论述了基于FPGA技术的虚拟逻辑分析仪的设计方案及具体实现方法,介绍了其中控制器的设计原理。将先进的FPGA技术引入硬制版的设计中,为研制PC虚拟仪器提出了一种新思路;充分利用硬件软化的思想,将仪器的诸多功能集成在软件中实现,利用面向对象、窗口等技术,实现了灵活、通用的虚拟仪器面板功能。
  关键词: 虚拟仪器 虚拟逻辑分析仪(FVLA) 现场可编程门阵列(FPGA) 面向对象技术 控制器
  电子技术的迅速发展从客观上要求测试仪器向自动化及柔性化方向发展,基于微计算机的虚拟测试仪器的出现和广泛使用,将对测试仪器产生极为深刻的影响[1]。虚拟仪器是指具有虚拟仪器面板的个人计算机仪器。操作人员通过友好的图形界面及图形化编程语言控制仪器的运行,完成对被测试量的采集、分析、判断、显示、存储及数据生成。虚拟仪器的发展依赖计算机技术,可以肯定:随着微计算机的发展,虚拟仪器将会逐步取代传统的测试仪器而成为测试仪器的主流。软件技术、I/O总线的发展及标准化进程、DSP、可编程逻辑器件技术的发展都使这一趋势成为可能。
  逻辑分析仪(Logic Analyzer简称LA)也称逻辑示波器,主要用于分析数字系统的逻辑关系,有效地解决越来越复杂的数字系统的检测和故障诊断问题,是数据域测试仪器中最有用、最有代表性的一种仪器[2]。逻辑分析仪与个人计算机相结合(即虚拟逻辑分析仪)是近年来的一个新的发展方向,两者的结合扩展了逻辑分析仪的分析和计算能力,降低了成本,而且使仪器的通用性增强,在这种情况下,逻辑分析仪作为微计算机的外设,不再是独立的完整仪器了,在逻辑分析仪中占有很大比重的控制电路、显示电路、指示电路等功能全部由微计算机完成。虚拟逻辑分析仪(LA与PC相结合)具有许多优势:性能提高、成本降低、使用简便和功能易于扩展等[2],特别是高性能价格比,决定了LA与微机相结合的技术方案有着广阔的前景。
  国际上虚拟仪器发展十分迅速,而国内基本处于起步阶段。就目前来说,我国的许多科研单位、大学、生产部门依旧是传统的测试仪器占据主导地位,微计算机与测试仪器基本上还处于互不相关的状态,这大大地影响了我国电子行业的发展。研究PC虚拟仪器是我们的当务之急,尤其是在数据域测试中占核心地位的逻辑分析仪。实践证明,PC虚拟仪器在技术上是可行的,也是十分适合中国国情的,具有极其光明的前途。
  因此我们开展了虚拟仪器方面的研究工作,进行了虚拟仪器及其相关技术的研究,并研制开发了新一代虚拟仪器——一种基于FPGA技术的虚拟逻辑分析仪(Visual Logic Analyzer,简称FVLA)。它是微机系统及数字电路设计、侦错、软件开发和仿真的理想仪器。
1 虚拟逻辑分析仪(FVLA)的总体设计方案
  我们主要针对国内需求,着重从性能价格比和实用的角度出发,利用微机现有的软、硬资源,与微机相结合开发研制虚拟逻辑分析仪(FVLA)。它是新型的数据域分析仪器,除具有传统逻辑分析仪的一般功能外,还具有激励信号发生功能、智能化辅助分析功能及全中文交互式的图形用户界面等性能。利用硬件软化的思想,将FVLA的采样部分即具有数据获取能力的部分做成微机扩展插卡,其它诸部分:控制、显示等利用微机的软件技术实现。
  从实用性、研制周期、性能价格比等角度考虑,FVLA的研制分两个版本,第一版完成基本逻辑分析仪功能及第二版带激励的逻辑分析仪功能。FVLA中占很大比重的控制电路、显示电路、指示电路等功能全部由微计算机完成,其中显示电路由监视器代替,而控制电路等由软件实现。利用面向对象技术及Windows消息机制结合Visual C++ MFC 4.21类库完成FVLA控制软件的设计及实现,将复杂、繁琐的虚拟逻辑分析仪控制面板诸多功能,集成在FVLA主控GUI中实现,并提供智能化的辅助分析和特征分析功能。
  FPGA是现场可编程门阵列(Field Programmable Gate Array,简称FPGA)。FPGA器件及其开发系统是开发大规模数字集成电路的新技术,它将现代VLSI逻辑集成的优点和可编程器件设计灵活,制作及上市快速的长处相结合,使设计者在FPGA开发系统软件的支持下,现场直接根据系统要求定义和修改其逻辑功能,使一个包含数千个逻辑门的数字系统设计实现,采用FPGA技术,即可几天内完成,所以,无论从产品上市速度,还是以设计制作成本而言,在较大的应用范围内FPGA均优于掩膜设计制作的ASIC。因此我们将FVLA中关键的较复杂的采样控制电路:触发选择、分频选择、存储器控制逻辑等采用FPGA技术实现。
  系统总体框图如图1。


  FVLA硬件扩展插卡
  寄生在微机上,作为微机的功能扩展卡,主要负责高速数据采集,存储及高速地发出激励的作用。
  底层软件
  主要功能是对硬件初始化(对硬件中的FPGA进行设置),对硬件控制、管理及为上层软件提供一个简洁的界面及数据传输。
  FVLA控制软件
  提供功能完善的图形用户界面,代替传统逻辑分析仪繁锁、复杂的控制面板功能,完成用户对FVLA的工作参数的设定及对采样的数据处理;提供定时图、状态表等多种显示分析功能;产生激励信号,驱动被测数字系统被动工作等。
2 硬件插卡的设计思想
  FVLA硬件结构如图2所示。


  · I/O接口:接收微机送来的控制字或激励数据,将状态字和采样数据发送给微机;
  控制器:控制采样频率,控制触发方式及触发通道,为高速存储器提供地址及读写时序等,控制系统实现不同的工作模式,这部分是FVLA比较复杂和关键的电路部分;
  · 高速存储器:保存采样数据和激励数据;
  · 激励部分:处理激励数据,激励被测系统按指定方式工作;
  · 采样部分:捕获数据,通过探头或电缆将被测系统的模拟量转换为高低电平二进制数据;
  · ASIC测试平台:是FVLA同高级综合系统的接口,其上加载被测试ASIC,通过扁平电缆与FVLA相连,构成完整的ASIC测试系统。
  由于FPGA(现场可编程门阵列)可实现无限次地反复编程,快速方便实用,具有可现场模拟调试验证等特点,所以本系统中比较复杂的控制器部分,采样部分、激励部分、I/O接口部分都采用FPGA实现;其它的由外围芯片组成。外围芯片上主要有RAM及数据缓冲、锁存等数据通道部分。
3 控制软件的功能设计
  控制软件主要包含以下八个功能模块:
  · FVLA工作参数设定模块:主要完成FVLA采样时钟的设定,触发方式选择,触发通道的设定,采样通道数,工作模式的选择,硬件主时钟,硬端口地址的设定等。
  · 信号、硬通道映射模块:对物理通道重新分组、命名形成定时图等各显示模块中待观察的信号,与被测系统中的各信号保持一致,便于理解分析。信号流览模块在FVLA工作的任何时刻都可激活,以利于用户了解高层信号所对应的物理通道信息。
  · 定时图显示模块:这是FVLA最基本的显示方式,它把每一采样通道所采集的信息在屏幕上显示成一行伪方波,横向表示时间,纵向表示若干信号的离散值,信号可任意分组,支持拖放,即任一波形可随时改变显示位置,提供二个活动杆,实现相对、绝对时间分析,用户拖动活动杆时,可显示此活动杆处的各信号的值,信号名、时间等,此外波形可任意缩小、放大,即可显示全局,又可显示局部,还可提供辅助分析能力,智能比较,快速查询等。
  · 状态表显示模块:状态表是用字符组成不同形式的表格显示数字系统的逻辑状态或逻辑程序,不同信号可选用不同码字显示,如地址信号可选用十六进制,而控制信号则选用二进制方式显示。
  · 状态图显示:状态图显示某一信号(组)的不同值出现的次数,可跟踪和刷新显示,“基准线”移动时在状态条上显示信号的值及出现频度。
  · 状态直方图显示模块:状态直方图是对某一信号(向量)的进一步分析,可将该信号的取值定义若干小范围,横向表示范围,纵向表示每一范围出现的频度。
  · 时间间隔图:统计和显示事件间隔,分若干时间间隔段,用直方图表示。
  · 激励信号生成模块:主要用于生成激励信号,提供激励文件编辑功能,拥有常见编辑器的基本功能,提供一个公用接口,接收其它编辑器生成的激励格式文本文件,例如Xilinx公司 的XNF格式文件,将其转换为定时图能显示的格式文件。
4 FVLA控制器的(FPGA)的设计原理
  FVLA控制器的电路框图如图3所示。


4.1 FVLA控制器(FPGA)的外部特性
  FVLA控制器版本1(普通逻辑分析仪)和版本2(带激励的)具有相同的外部特性,地址空间分配兼容,送控制字的顺序和方法等均相同。控制器的引脚可分为三类:与微机(PC机)接口有关的信号、 与高速存储器有关的信号、其它信号:诸如系统内部时钟信号,外部时钟,时钟输出,启动采样信号,采样数据锁存信号,激励数据锁存信号等。
  地址空间是灵活的,可以通过测试仪插件板上的DIP开关设定。
   主要包括三个控制字:控制字1包含分频控制、触发控制、工作模式控制;控制字2包含分频控制、触发通道选择;控制字3包含采样和激励地址设定。
  工作模式共有8种:键控采样、读采样数据、单纯采样、单纯采样毛刺检测、单纯激励、激励采样、激励采样毛刺检测、键控激励采样。由第一控制字的末3位指定。
4.2 FVLA控制器(FPGA)的内部原理
  FVLA控制器第一版本与第二版本(带激励)的逻辑分析仪的电路的总体结构相同,仅是接口电路和高速存储器控制部分不同。
  基本分为五个部分:接口电路、时钟电路、触发选择、启停控制、存储器控制。接口电路从微机总线接收控制字,并将它们锁存,然后再送给其它4个部分,时钟电路对测试仪插件板本身的时钟CLK或外部时钟EXCLK进行分频处理,以获得各种采样时钟,然后送到启停电路,触发电路从32个(或用户设定)通道中识别触发信号,将结果送给启停电路;启停控制部分根据触发状态,时钟内部的计数值来控制存储器的启与停,存储器控制部分则根据各种工作模式的不同要求,形成高速存储器的控制信号及FPGA外部电路所需的各种控制信号。
4.3 FVLA存储器的控制原理
  这部分用来产生存储器以及FPGA外部电路所需的控制信号。不同的工作模式所需的控制信号不同,二个版本此部分的实现差别比较大。
4.3.1 版本1的存储器控制
  图4为存储器控制原理图。地址计数器用来形成存储器所需的地址信号。在采样模式,由测试仪插件板上的时钟CLK作为计数器的时钟,并按一定的时序要求产生各种控制信号;在读模式,由ADDRCLK作为计数器时钟,并产生控制信号,ADDRCLK是由读XX2产生的。


4.3.2 版本2的存储器控制
  版本2的电路共有8种工作模式,与版本1相比较,主要增加了以下功能:
  ·实现激励数据与采样数据共用一个高速存储器;
  ·实现灵活设定激励数据与采样数据在高速存储器占用空间的比值;
  ·实现每次激励所对应的采样次数的设定与变化;
  ·实现单纯激励时所需的时序信号;
  ·实现激励采样时所需的控制信号。
  具体内部电路图如下:
  IC1,IC2为两个地址计数器,分别为激励地址计数器和采样地址计数器,IC3为二选一多路器,据不同控制信号,将IC1,IC2选出输出到地址总线,实现在一个存储器中共存激励数据和采样数据。初始化后,这二个地址计数器均取控制字3中的设定值(边界地址),采样计数器为UP计数,计数满后再装入边界地址,如此重复地采样,存储数据,使采样数据局限于边界地址和FFH之间。激励地址计数器为DOWN计数,计数到0后再将边界地址装入使激励数据局限于0到边界地址之间。
  IC4为采样与激励切换控制器,通常处于采样状态,采样地址计数器与地址总线接通,并产生共享存储器的控制信号,当采样满N次时,切换到激励状态,使激励地址计数器与地址总线接通,并产生读存的控制信号。采样个数由控制字3的高4位设定。
  CONTRL为一组合逻辑网络,据M2~M0采样的不同的工作模式,采样激励切换控制器的输出TC以及时钟CLK,产生存贮器所需的各种控制信号,其逻辑表达式如下:
  STMCLK=STM(M5+M4)+CLK·M4+ADDRCLK·M7
  CMPCLK=ADDRCLK(M0+M1)+CLK(M2+M3+M5+M6)+STM(M5+M6)
  STMENA=M5+M6
  STMMVL=STM(M5+M6)+M4+M7
  EO=M0+M2+M3+SONTENA(M5+M6)+M7
  CS=ADDRCLK(M0+M1+M7)+CLK(M2+M3+M5+M6+M4)
  MRW=CS(M0+M2+M3+M5+M6+M7)+STM(M5+M6)+M1+M4
  DATAEN=CS(M0+M2+M3)+SMPCLK(M5+M6)+M1+M4+M7
  ONTENA=M0+M1+M2+M3+STM(M5+M6)+CSM4
  OE=M0+M1+M2+M5+M6+M4+CS·M7
5 与同类产品的分析比较
  目前市场上已有几种微机用逻辑分析仪卡及配套软件。但有的速度较慢,有的仍使用DOS平台。尚未见到带有激励信号发生器的产品。本项产品与这些产品相比具有以下特点:
  · 虚拟仪器扩展卡采用FPGA技术实现,使印制版大为缩小,并且可在不重新设计印制板的情况下进行硬件的改进;
  · 具有激励信号发生器的功能,能够实时向被测系统发出激励信号;
  · 用同一块印制板,通过对FPGA不同的编程来实现逻辑分析仪和激励信号发生器两种仪器;
  · 提供DOS和Windows 两种平台,硬件要求低;
  · 可以将预先测得的正常波形存储,作为标准;测试的波形可以与之叠印显示,人工比较,也可以自动地与之比较,比较的模糊程度可由用户自行设定。
  · 总线信号可以用十六进制“捆绑”显示, 也可以展开成单信号线显示;
  · 与高级综合系统相联结,可接收VHDL模拟器的激励向量,用该向量生成被测系统所需的激励信号。
  总之,PC总线虚拟仪器是一个新兴而又前途光明的研究方向,研究PC虚拟仪器是我们的当务之急。本文主要针对国内实际情况及数据域测试要求,研究并探讨了一个实际的PC虚拟仪器——一种基于FPGA技术的虚拟逻辑分析仪的设计思想及实现。充分利用微机的软、硬资源,着重从性能价格比,实用角度出发设计、研制虚拟仪器。充分利用“软件即仪器”思想,将逻辑分析仪除采样部分外的其它功能设备均用软件实现。利用FPGA技术,将FVLA卡上的关键控制电路做入FPGA来实现硬制卡。利用面向对象技术及Windows图形用户界面技术设计并实现了FVLA的控制软件,将复杂繁锁的传统逻辑分析仪面板上诸多功能集成在FVLA主控GUI中实现,提供了全中文、多种显示、操作方便、灵活、直观等其它同类产品不可比拟的软件性能;并具有激励信号发生功能。此仪器目前已进入试用阶段,在研制末敏弹时,用其测试末敏弹ASIC的输入、内部状态(为了检测内部状态,将一些内部信号接到输出管脚)和输出之间的逻辑关系,可直观地观察多路信号,简化和缩短了研制周期。实践证明虚拟仪器技术是可行的,且具有诸多优点,尤适合中国现状。将FPGA技术引入硬制卡的研制中,为研制PC虚拟逻辑分析仪提供了一种新思路。
参考文献
1 刘 阳.虚拟仪器的现状及发展趋势.电子技术应用,1996;(21)4
2 Logic analyxer.EDN.1986;(29)3
3 朱明程.FPGA技术的最新发展.电子技术应用,1997;(22)2
4 朱明程.FPGA原理及应用设计.北京:电子工业出版社,1994
5 Logic analysis by telephone-let your teriniml do the walking EDN.March,1989;(20)
6 林 君,程德福著.微型计算机卡式仪器原理、设计与应用.北京:国防工业出版社,1990;(11)
7 高德远,马婉良译著.Xilinx现场可编程门阵列及其应用.西安:西北工业大学出版社,1996;(10)

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。