摘 要:随着数字系统和计算技术的发展,逻辑分析仪在高速硬件逻辑测试和软件状态分析中显得尤其重要。由于目前台式逻辑分析仪的价格比较昂贵,使得它不能普遍应用于教学和科研实践中。本文介绍一种基于PC机增强型并行口的个人逻辑分析仪设计技术。该技术充分利用PC机的丰富资源,通过增强型并行口,采用现场可编程门阵列的在系统可重构技术和面向对象的软件设计方法,实现数字域的逻辑分析功能,其特点灵活、便携。此仪器可广泛应用于电子对抗、雷达、通信以及教学实验等数据域的测试与分析。 关键词:增强型并行接口;数据域;触发方式;现场可编程门阵列
逻辑分析仪是随着数字技术和计算技术的发展而产生的一种适用于硬件分析和软件分析的崭新的测量仪器[1]。用来实现对某种感兴趣的触发事件实时地获取逻辑信号,并以时序、状态以及ASCII码等多种方法显示这些信号,其主要特点是通过适当的触发方式设置,显示触发事件到来之前或之后捕获的信号。 尽管逻辑分析仪能够给现代电路系统设计和测试带来极大的方便,但由于国外公司生产的台式仪器价格比较昂贵[1],使得逻辑分析仪还不能如示波器那样普遍应用于教学和科研实践中。而本文所研制的基于PC机的个人逻辑分析仪充分利用计算机的存储、显示以及接口资源,具有台式逻辑分析仪的功能,且灵活、便携。 1 工作原理 图1为本文设计的基于PC的个人逻辑分析仪简化原理图,它主要包括计算机接口、触发识别、数据采集、数据存储和数据显示等五大部分。数据显示部分由PC机的显示系统完成,其他部分由系统硬件实现。数字域[2]的逻辑分析不单纯是数据采集与显示的过程,它还应能根据测试者的要求,实时地跟踪、识别感兴趣的触发事件,并以各种方式显示事件到来前后被测系统的状态,可方便地解决测试系统中存在的逻辑状态问题。 增强型并口(Enhanced parallel port,EPP)接口模式是PC机并行接口模式的一种,从第三代计算机开始被广泛应用于各种计算机外部设备,只需一根25针的并口连接电缆即可实现外设与计算机的连接,操作简便。

触发识别模块是完成逻辑分析测试功能的关键部分,它不但包括普通测试中的内、外触发,正、负边沿触发功能,还应具有状态触发、毛刺触发以及各种事件的组合触发功能。 对于数字域系统测试,本文所关心的重点并不是信号在连续时间上的电压值,而是在采样时钟作用下各路信号的逻辑电平值。本系统的输入包括96个逻辑通道,每个通道的信号在所选择采集时钟的作用下,分别与用户预先设置好的阈值(门限)电平进行比较,形成逻辑电平后存入数据存储区。可设置的阈值电平有TTL、ECL以及用户自定义电平(范围为-6~+10 V),可根据输入信号的具体情况选择设置,测试数据的电压范围为-25~+25V。 系统设计的另一个关键技术在于数据存储速度与数据采集时钟频率的匹配。为了降低系统设计成本,本文选择的静态存储器(SRAM)读写速度不高,同时为了保证更高的采集频率,在设计中必须采用降速存储技术。
2 基于PCEPP的逻辑分析仪设计 由IntelXicor和Zenith公司发起制定的增强型并行口(Enhanced parallelport,EPP)协议以及之后的IEEE1284标准极大地改善了PC机并行接口的数据传输能力,使在EPP模式下的数据传输速率达到了接近标准PC内部ISA总线的能力[2]。它充分利用标准并行口(Standard parallel port,SPP)保留的寄存器端口,通过PC机与外设的握手方式,实现双方数据通讯的速度匹配,方便地实现PC机并行口的双向数据传输,所以EPP给开发者提供了更强大的功能和更灵活的设计手段。有关EPP协议接口信号定义及其读写时序可参阅文[2]或其他相关文献。 图2所示为本文逻辑分析仪设计总体框图,图中ISP器件采用的是ALTERA公司的ACEX1K系列FPGA器件,主要完成接口协议、存储器地址、触发识别功能、降速存储以及系统所需的各种控制信号的产生。
图2中的/WR为外部数据静态存储器(SRAM)的读写信号,/CE为SRAM的选通信号,它们之间的时序关系与普通SRAM时序相同;SEL为数据总线多路选择器地址信号,均由FPGA产生。 2.1 接口模块设计 接口模块是控制信号及数据传输的通道,主要完成EPP协议的时序译码。而EPP接口协议中的关键信号是外设与PC机的握手信号(/WAIT:计算机并口的Pin11),地址/数据的读写时需要/WAIT=1。/WAIT的功能类似于ISA总线I/O操作中的I/OCHRDY,外设可以利用该信号控制自身所需的建立时间,从而使PC机的读写速度与外设匹配。 图3为一个周期的EPP地址写和数据读时序图,它由下面的程序执行后产生: -outportb(0x37b,addr);//写地址
data=-inporb(0x37c);//读数据 其中/WAIT为握手信号,由数据口控制信号(DATASTB)和地址口控制信号(ADDSTB)“与非”后延迟产生。NA是译码产生的地址写信号,IOW、IOR分别是数据写和数据读信号。 2.2 触发识别及正负延迟模块设计 是否具有识别多种触发功能是有效进行逻辑测试的一个衡量标准[3]。正负延迟功能是观测触发信号到来之前或之后某一段数据的有效手段。 普通的触发识别功能包括内/外时钟触发、正/负边沿触发以及某一通道触发。而对于本系统及大部分逻辑分析仪来说,触发功能还包括通道状态触发、毛刺(Glitch)触发以及组合事件触发等。 通道状态触发需要设置各个通道的触发状态字(触发字)和屏蔽字(屏蔽某个通道不进行触发)。在设计中,状态触发是触发字与采集数据比较,各通道与触发字按位“同或”运算实现;屏蔽是屏蔽字与各通道触发字比较输出相“或”实现,达到屏蔽某通道的目的。设选择的8个数据通道CH为通道7~0,触发字设定为TRIW=78H=[01111000]2,屏蔽字设定为MSKW=81H=[10000001]2,即屏蔽通道7和通道0,则当通道7~0的逻辑采样数据为[×111100×]2时(‘×’代表无关项),触发有效输出VALID=1。它们之间的关系由表1确定。
毛刺触发[4]需要确定能引起触发操作的毛刺宽度,也就是确定什么样的信号称之为毛刺。在本文所设计的系统中,规定毛刺的最大宽度为采样时钟的1/3,通过对采样时钟的倍频,可以通过移位的方式进行毛刺触发检测,图4(a)为FPGA实现方法,图4(b)为仿真波形。

图4中CLK为采样时钟的倍频信号;TRI-D[2..0]为毛刺触发输入,010B为正向毛刺,101B为负向毛刺;W-TRI为毛刺触发启动信号;IN-D为串行数据输入;TRI-OUT为毛刺触发有效输出。 正负延迟触发即是对触发时间[5]的控制,可分为“同步触发”、“正延迟触发”和“负延迟触发”。图5为实现触发时间控制的基本原理及在FPGA内部实现的原理框图。 图5(a)中t0,t1,t2表示控制计数器的三种预置数位置。设控制计数器的预置数为Ld,地址计数器的最大计数模值为M(存储器深度),控制计数器的最大计数模值为2M,当Ld<M时,触发状态为正延迟触发,即可以观察从触发信号到来之后某一段时间开始的被测系统状态;当Ld>M,触发状态时为负延迟触发,即可以观察从触发信号到来之前某一段时间开始的被测系统状态;当Ld=M时,触发状态为同步触发,即观测数据点正好从触发信号到来时开始。Ld通过图5(b)中预置数1给控制计数器预置,地址计数器根据预置数2在存储深度内循环计数产生SRAM地址,并在控制计数器控制下使SRAM从写状态转为读状态。
本文采用的实现触发时间控制设计方法简单,并可实现测试系统的正负延迟触发,长度可用户设置,数据的存储深度可任意设置,与前面的触发方式结合,可有效地识别触发信号位置,快速地发现被测信号存在的逻辑问题。 2.3 软件设计 对基于PC的测试系统来说,虚拟面板是用户控制仪器、观察测试数据并进行数据处理的主要窗口,友好的人机交互界面直接关系到自动测试系统的可操作性。直观、完善的人机界面可以方便操作人员的使用,有利于虚拟测试系统的产品化和系列化,对其推广和应用都具有较大的影响。 采用美国NI公司的LabWindows/CVI虚拟仪器开发平台,可以很容易地设计出友好的、交互性非常强的人机界面,利用该平台提供的各种仪器控件以及相应的消息代码,只需要拖动鼠标即可完成虚拟仪器界面的设计。利用LabWindows/CVI为控件提供的回调函数,可以在设计界面的同时,为每个控件指定必要的回调函数,设计各种较复杂的控制系统。
3 结束语 充分利用个人计算机的丰富资源,采用大规模可编程逻辑器件的硬件设计和面向对象的软件设计方法,开发的具有台式逻辑分析仪功能的虚拟逻辑测试系统,可以满足一般教学和科研的要求,其性能价格比较高。与便携式计算机结合,体积小,重量轻,可以方便地完成野外系统的数据采集。
[1]孙 续.逻辑分析仪——数据域测试的典型仪器[J].现代科学仪器,1995,4(2):3~8. [2]伍丁红.增强并行口EPP协议及高速并行口A/D转换器的设计[J].电子技术应用,1998,24(2):47~50. [3]Zubillaga Elorza F,Allen C R,Leggett IC.A Designautomation toolkit for virtual instrumentation[A].IEEE Instrumentation and Measurement TechnologyConference[C].St Paul,Minnesota,1998,5:338~341. [4]Moure M J,Valdes M D,Mandado E.Educationalapplications ofreconfigurable hardware based virtualinstruments[A].29th ASEE/IEEE Frontiers inEducation Conference[C].San Juan,Puerto Rico,1999,11:12c6~17. [5]孙万蓉,孙肖子,秦 刚.数据采集系统中触发采集控制电路的设计[J].电子技术应用,1997,23(9):35~36. |