简易逻辑分析仪的设计与制作.docx
《简易逻辑分析仪的设计与制作.docx》由会员分享,可在线阅读,更多相关《简易逻辑分析仪的设计与制作.docx(46页珍藏版)》请在冰豆网上搜索。
![简易逻辑分析仪的设计与制作.docx](https://file1.bdocx.com/fileroot1/2023-2/23/b2b70bfa-611c-44c6-a484-3a644e8ca162/b2b70bfa-611c-44c6-a484-3a644e8ca1621.gif)
简易逻辑分析仪的设计与制作
简易逻辑分析仪的设计与制作
简易逻辑分析仪的设计与制作
【摘要】:
逻辑分析仪是一种新型的数字测试仪器。
它应用于微机等数字系统的软件、硬件调试,故障检查,性能分析等过程中。
本设计采用AT89C51单片机控制8路逻辑信号电平采集的简易逻辑分析仪设计。
采用AT89C2051控制系统实现一个数字信号发生器可预置8路信号工作,采集电路以5Kbit每秒的速率同时对8路逻辑信号进行采样。
逻辑信号门限电压通过键盘任意设定,信号采集的触发等级、触发条件、触发位置由键盘设定。
【关键词】:
逻辑分析仪;AT89C51;AT89C2051;数字信号发生器
[Abstract]:
Logicanalyzerisanew-styledigitaltestinginstrument.Itisusedinthetestofsoftwareandhardwareofdigitalsystem,suchasmicro-computer,fault-checked,analyzing-performance.
Thispaperintroducesthedesignofthesimplelogicanalyzerwhichacquisitionof8routessignalleveliscontrolledthroughAT89C51singlechip.ThecontrolsystemthroughAT89C2051torealizeadigitalwaveformgeneratorscheduled8routessignal.5Kbit/sreal-timesamplerateoftheacquisitioncircuitisfacedtothe8routeslogicsignalinthemeantime.Thresholdvoltageoflogicsignalissetarbitrarilybykeyboard,triggerrank,triggerconditionandtriggerlocationaresetbykeyboard.
[Keywords]:
logicanalyzer;AT89C51;AT89C2051;digitalwaveformgenerators
前言
信息时代是数字化的时代,数字技术的高速发展,出现了以高性能计算机为核心的数字通信、数字测量的数字系统。
在我们通信技术中开始是对模拟信号进行变换和传输,以后随着半导体器件的出现,使数字电路能大量地生产和应用,这样数字技术在通信中得到广泛应用和发展。
人们将语音和图象信号用数字技术变换成数字信号后,再在线路上进行传输。
但是在近十年中由于大规模集成电路技术的发展,生产了大容量的半导体存贮器、移位寄存器,以及广泛应用的微处理器芯片和许多支持芯片。
在这些器件以及应用这些器件的电路和系统中采用数据表示信息。
这个数据可以是存贮器的地址或该地址单元中所存放的内容,而这个内容可以是程序中某条指令或要操作的数据。
这些数据及其控制信号的其中一个特点就是它们都是逻辑信号,可以表示为高电平或低电平,或表示为逻辑“1”或逻辑“0”,只有这两种状态。
所以我们在分析和检查这些逻辑信号时只关心它们的状态及其组合,而往往不必顾及其具体信号的大小和形状。
数据信号的另一个特点就是它是由几个比特(bit)的逻辑状态来组成一个具体的数据字(word)。
在数字通信中它们以串行方式进行传输,如以五位或七位代码表示一个量值或控制信号。
而在微处理器及计算机中则以8位、16位、32位并行通路上逻辑状态的组合代表一个数据字、一条指令等。
数据信号的第三个特点是逻辑信号往往是随机的,非周期性信号,甚至是间歇出现的信号。
传统的示波器往往比较适合观察周期性的重复出现的模拟信号或脉冲信号。
但是对随机的非周期信号是很难稳定同步的。
而且在现有示波器中一般只有双踪交替扫描显示,所以它们不能观察显示多通道的并行逻辑状态。
并且示波器是由被测信号的波形电平去触发产生扫描来显示被测信号,它不能捕捉特定的数据字,不能由特定的地址或指令来进行触发,以便观察显示相应的数据序列。
一般示波器的第三个主要缺点是没有数据存贮能力,所以就不能捕捉和保存瞬刻即逝的信号。
本文第一章主要是绪论,第二章讲系统的分析,主要是方案的选择与论证,第三章是系统硬件设计,第四章是系统软件设计,第五章主要讲系统测试。
第1章绪论
第1.1节逻辑分析仪在数字科技中的地位
1.1.1.数字科技对检测仪器的需求
20世纪70年代以来,大规模集成电路、可编程逻辑器件、高速数据信号处理器和计算机技术等高新技术得到迅猛发展,为解决数字设备、计算机及VLSI等电路在研制、生产、检修和维护中的测试问题,出现了一类新的测试设备。
因为其被测系统的信息载体主要是二进制数据流,为区别于频域或时域的测量,把这一类测试统称为数据域(DataDomain)测试,即有关数字系统的测试称为数据域测试。
以离散时间或事件出现的次序为自变量,状态值为因变量的函数关系属数据域范畴。
因此数据信息是由状态空间概念、数据格式和数据源构成的。
它与频域或时域的信息不一样,具有以下一些特征:
(1)数字信息几乎都是多位传输的。
(2)数字信息是按时序传递的。
(3)许多信号仅发生一次。
有些信号虽然可以重复发生,但是它们是非周期性的。
(4)造成系统出错的误码常混在一串正确的数据流中,实际上只有错误已经发生以后才能辨认出来。
(5)信号的速度变换范围很大(如高速运行的主机和低速的外围设备)。
显然,对数字系统的检测不可能象对模拟系统那样。
用示波器及一般的电子测量仪器是难以观察和测量数字信息的。
以上特点决定了对数字系统基本的检测要求:
a、跟踪与分析状态数据流。
这是对数字系统进行功能分析所必须的基本测量。
跟踪状态流需要利用地址总线,最好同时也能观察数据总线,以便分析总线的全面工作情况。
由于有的总线是复用的,因此要求测量时有选择数据的能力。
b、为了监视数据线上的数据流,需要设置一个观察参考点,由它来决定需要捕获的对分析有意义的那部分数据。
c、分析异步总线时,需要了解各信号状态序列和每个信号在给定状态的持续时间,以便判定系统是否按正确的时序运行。
这要求能分析信号状态之间的时间关系。
d、来自系统内部或外界的干扰及毛刺常引起硬件出错,这样就需要捕捉干扰或毛刺,并把它们显示出来。
1.1.2.逻辑分析仪介绍
逻辑分析仪是用来分析数字系统逻辑关系的一种仪器。
它属于总线分析仪一类的数据域测试仪器,它主要用于查找总线(或多线)相关性故障。
对于数据域的测试,逻辑分析仪是最典型的测试仪器。
它一方面是分析数字系统和计算机软、硬件最有力的工具,另一方面它本身又与微计算机紧密结合起来,产生了多种智能逻辑分析仪和个人仪器型的逻辑分析仪插件。
有些逻辑分析仪还与计算机开发系统、仿真器、数字电压表和示波器等结合起来,构成完善的仪器系统。
有些先进的逻辑分析仪可以同时检测几百路的信号,还拥有灵活多样的触发方式,可以方便的在数据流中选择感兴趣的观测窗口。
逻辑分析仪还能观测触发前和触发后的数据流,具有多种便于分析的显示方式。
目前逻辑分析仪已成为设计,调试和检测维修复杂数字系统,计算机和微机化产品的最有力工具。
逻辑分析仪按其工作特点,可分为两大类:
逻辑状态分析仪(LogicStateAnalyzer,简称LSA)和逻辑定时分析仪(LogicTimingAnalyzer,简称LTA)。
两类分析仪的基本结构是相似的,主要区别在于显示方式和定时方式上。
逻辑状态分析仪主要用来监测数字系统的工作程序,并用“0”或“1”来显示被测系统的逻辑状态,以便对系统进行状态分析。
其状态数据的采集是在被测系统的时钟下实现的,即逻辑状态分析仪与系统是同步工作的。
这能有效地解决程序的动态调试问题,因此,逻辑状态分析仪主要用于系统的软件测试。
逻辑定时分析仪主要用来显示各通道的逻辑波形,特别是各通道之间波形的时序关系。
为了能显示出这种时序关系,在逻辑定时分析仪中应提供采样时钟,即所谓内部时钟,来控制数据的采集。
一般采集数据的内部时钟频率应该是被测系统时钟频率的5~10倍。
因此,从上面的描述可以看出,逻辑定时分析仪与被测系统是异步工作的,主要用于系统的硬件测试,它能检测出系统的工作时序及各种不正常的毛刺脉冲。
1.1.3.逻辑分析仪在数据域测试中的应用
逻辑分析仪是一种主要的通用数据域测试仪器。
逻辑分析仪在计算机、自动测试系统、IC设计、智能仪器、数据通讯以及自动控制等数字系统中,用于硬件逻辑、时序和软件运行情况的研究、分析、测试和故障诊断,是新产品开发和系统维护必不可少的工具。
在软件方面,特别是象冲突、存储器泄漏和栈溢出等这些实时软件问题是很难诊断的,因为它们只有系统在某一速度运行时才出现。
逻辑分析仪具有很大存储深度的特性,可以用长时间间隔“实时跟踪”方法来找到问题根源。
因而,逻辑分析仪具有实时跟踪记录程序的能力而无须停止运行。
在硬件方面,嵌入式硬件设计者在系统开发中试图找出不明显的实时硬件问题是很难的,这些问题包括:
逻辑错、逻辑电平违例、噪声超限、串扰、总线竞争、匹配电阻错、时钟漂移、时序超差或违例、建立保持时间违例和毛刺。
逻辑分析仪为实时监视、捕捉和分析硬件操作提供了一种解决方法。
现在,逻辑分析仪已经成为国际上最通用的电子测量仪器之一。
第1.2节逻辑分析仪的发展状况
逻辑分析仪是一种常见的电子测量仪器,是数字域分析仪器的典型代表,它的主要功能是测量数字电路中的逻辑波形及逻辑关系。
目前,它在数字域内解决问题的能力已使它的应用处于与示波器并列的位置。
前者用于解决数字域检测问题,后者则用于解决模拟信号的检测问题。
逻辑分析技术的发展可以由逻辑分析仪的发展来展示。
逻辑分析仪最早被构思为“数字示波器”,由多线示波器的设计思路发展而成。
自1973年美国HP公司和Biomation公司几乎同时研制出了第一代逻辑分析仪,迄今为止已经经历了四代。
第一代产品速度低、功能简单,具有基本触发功能和简单显示方式;第二代产品在触发功能和显示方式上作出了较大改进,以便适应微机软、硬件分析的需要;第三代产品实现微机化,将定时分析和状态分析结合在一起,便于软、硬件交互分析,功能日臻完善;第四代产品构成功能完善的仪器系统,不仅包含了早期的逻辑分析仪功能,还扩充了特征分析仪和嵌入式开发系统等功能。
目前逻辑分析仪的市场主要由外国产品占主导地位,核心技术掌握在如美国的Agilent、Tektronix等大公司手中。
例如Tektronix公司的TLA7Q4产品,具有136通道,2GHz定时速率,100MHz状态速率,64M内存深度。
其功能齐全,结构复杂,技术要求高,但价格也相当昂贵。
我国在80年代初,也开始了逻辑分析仪方面的研制、生产。
20世纪80年代后期,逻辑分析仪变得更加复杂,当然使用起来也就更加困难。
例如,引入多电平树形触发,以应付条件语句如IF、THEN、ELSE等复杂事件。
这类组合触发必然更加灵活,同时对大多数用户来说就不是那样容易掌握了。
今天的逻辑分析仪提供几百个工作在200MHz频率上的通道信号连接就是个现实问题。
适配器、夹子和辅助爪钩等多种多样,但是最好的办法的是设计一种廉价的测试夹具,逻辑分析仪直接连接到夹具上,形成可靠和紧凑的接触。
第2章系统分析
第2.1节逻辑分析仪的组成及工作原理
逻辑分析仪主要由探头和主机部分构成。
主机部分又由输入比较器、存储器、时钟电路、触发电路、控制部分以及键盘、鼠标、显示器等部分组成。
根据需要同时测试的信号数量可以选择不同通道数的主机和探头,根据需要测试信号的快慢可以选择不同采样速率的主机和不同带宽的探头。
逻辑分析仪的主要结构如图2-1:
图2-1逻辑分析仪的结构
(1)、探头
用于连接被测信号和逻辑分析仪主机,根据具体应用可以配备不同的探头连接器形式。
典型的探头有Mictor探头、飞线探头、Softtouch等。
有单端探头也有差分探头。
探头是通过电缆连接到逻辑分析仪主机的。
(2)、输入比较器
用于和输入信号比较,产生数字0、1的比较结果。
输入比较器的比较阈值可调,因此可以适应不同电平标准的电路。
(3)、存储器
用于存储比较器的比较结果,并送给控制部分做数据处理和显示。
存储器越深,一次记录的波形时间越长。
存储器的深度通常用点数来表示,一般指每通道的存储点数,也有些厂家指所有通道总共的存储点数。
(4)、时钟电路
根据需要选择外部时钟或者内部时钟对输入信号进行采集和存储。
根据采样时钟的来源不同,逻辑分析仪可以有两种工作模式。
当使用内时钟时叫Timing模式,也叫异步分析,通常用于电路的时序关系分析,Timing模式通常要求采样时钟是被测信号速率的5~10倍才能有比较好的显示效果;当使用外时钟时叫State模式,也叫同步采样,采样时钟一般来源于被测电路的工作时钟,通常用于电路的功能性分析,State模式下采样时钟一般和被测信号的数据速率一样(也可以双边沿采样)。
(5)、触发电路、控制部分、键盘/鼠标、显示器
触发电路跟据输入数据的特定信息进行触发,控制数据采集、处理、显示过程的开始和结束。
逻辑分析仪的触发可以设置得非常复杂,可以分为很多步,每步可以有分支,步与步之间还可以相互跳转,因此可以做非常复杂的数字电路的调试。
控制这部分主要由CPU系统构成,用于对采集到的数据进行分析、处理和显示。
键盘用于操作和控制逻辑分析仪。
显示器用于显示采集到的原始数据和分析结果。
第2.2节系统方案的选择与论证
2.2.1.数字信号发生器模块
方案一:
采用555定时器和可预置移位寄存器。
用74LS194A接成8位可预置循环移位寄存器,方波发生器提供一时钟信号给移位寄存器,预置数用8个波段开关接入(即循环序列)。
此方案简单可靠,但信号频率不易更改,硬件复杂,不易扩展。
方案二:
用PC通过软件编程可以从并行口输出信号波形,不需要硬件电路,且设计灵活,但是不适合电子设计竞赛,并且PC体积大,携带不方便。
方案三:
采用中规模FPGA,使用VHDL语言设计移位寄存器。
此方案可以实现精确定时产生信号,且信号频率可调,体积小,但其显示电路占用资源多,这样设计出来的电路系统将大且复杂。
方案四:
采用一片AT89C2051单片产生波形序列。
用单片机产生数字信号,设计简单,设置灵活,频率调节方便,并且易扩展其他功能,有它独到之处!
综合分析上述各方案,比较其优缺点,包括灵活性、可靠性、可扩展性和易操作性,所以选用方案四。
2.2.2.主体控制模块
系统主体控制模块包括最小系统和数字信号处理控制模块。
该模块是硬件电路的核心,有如下两个方案。
方案一:
以8031单片机为核心。
但8031无片内ROM,需外扩EPROM(例如27526)作为程序存储器。
这样会增加电路的复杂性。
方案二:
采用AT89C51单片机为主控制核心的双CPU串行通信方式。
AT89C51芯片,其内部含有可重复编程的FLASHROM,,可进行1000次檫除操作,在设计调试过程中可十分容易进行程序的修改,达到最佳的设计。
利用存储器(EEPROM)实现掉电存储功能。
从CPU系统即以89C2051为主的显示模块的控制。
数字信号处理模块主要是D/A转换器件的选择,我们选用性能优良的DAC0832作为主控器件。
系统主体控制模块如图2-2所示:
图2-2系统主控模块
方案二硬件简单,软件实现方便,大大提高了系统的设计性能。
故采用方案二。
2.2.3.信号检测模块
信号检测模块主要用来提高输入阻抗,并设置逻辑电平的门限电压。
方案一:
电阻分压,利用电阻网络把电压分级作为触发门参考电压,用模拟开关4067在把每个通道的信号和这个参考电压用电压比较器来比较,判断输入信号高低,输入单片机处理。
方案二:
采用D/A和比较器实现。
单片机控制D/A的输出,作为比较器的参考电压,即可改变门限电压。
与方案一比具有精确可调的优点。
故选方案二。
2.2.4.用户接口模块
用户接口模块包括显示,键盘等几个部分。
方案一:
本方案采用8279可编程接口芯片来实现系统的键盘/显示器扩展功能,降低了电路的复杂度,提高了系统的稳定性及可靠性。
8279能自动完成键盘输入和显示控制两种功能。
键盘控制部分提供一种扫描工作方式,可与64个按键的矩阵键盘或传感器连接,能对键盘进行自动扫描、自动消抖、自动识别出按下的键并给出编码,能同时按下双键或N键实行保护,其接收键盘上的输入信息存入内部FIFO缓冲器,并可在有键输入时向CPU请求中断。
8279提供了按扫描方式工作的显示接口,其内部有一个显示缓冲器,能对8位或16位LED自动进行扫描,将显示缓冲器的内容在LED上显示出来。
如图2-3所示:
图2-3用户接口模块
方案二:
由单片AT89C2051控制8个共阳数码管、8个按键构成动态显示模块。
由于具有RS--232接口,易于与某些基于虚拟仪表技术的仪器主板相连,使其脱机工作,成为便携仪表,方便了使用;与专用键显接口芯片8279相比,价廉;采用串行方式与主控单片机交换信息,硬件及工艺设计简单,抗干扰能力强;可承担键显及其他信息处理功能,实现了键显智能化,从而使主机软件设计所考虑的因素减少,程序结构得以简化。
方案如图2-4所示:
图2-4动态显示模块
方案三:
LCD液晶显示。
例如采用COM12864液晶显示模块可以显示各种字符及图形,可与CPU系统直接接口,具有8位标准数据总线、6条控制线及电源线,接口电路简单,控制方便。
方案三在显示功能的实现上优于方案一、方案二,故采用方案三。
第2.3节系统总体方案框图
经过仔细地论证与比较,我们确定了系统的各个主要模块的最终的可行方案,系统总体原理框图如图2-5所示:
图2-5系统总体原理框图
第3章系统硬件设计
本文的信号发生器的硬件结构主要是由以下几个部分组成的:
系统主控模块AT89C51、数字信号发生模块、D/A转换模块、键盘输入模块、LCD显示模块。
第3.1节CPU的选择与应用
3.1.1.单片机概述
所谓单片机,即把组成微型计算机的各个功能部件,如中央处理器CPU、随机存储器RAM、只读存储器ROM、输入/输出接口电路、定时器/计数器以及串行通信接口等集成在一块芯片中,构成一个完整的微型计算机。
因此单片机早期的含义为单片微型计算机(singlechipmicrocomputer),直接译为单片机,并一直沿用至今。
由于单片机面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应控制领域应用的要求而诞生的。
随着单片机技术的发展,它在芯片内集成了许多面对测控对象的接口电路,如ADC、DAC、高速I/O口、PWM、WDT等。
这些对外电路及外设接口已经突破了微型计算机(microcomputer)传统的体系结构,所以更为确切反映单片机本质的名称应是微控制器。
单片机是单芯片形态作为嵌入式应用的计算机,它有惟一的、专门为嵌入式应用而设计的体系结构和指令系统,加上它的芯片级体积的优点和在现场环境下可高速可靠地运行的特点,因此单片机又称之为嵌入式微控制器(embeddedmicrocontroller)。
但是,在国内单片机的叫法仍然有着普遍的意义。
我们已经把单片机理解为一个单芯片形态的微控制器,它是一个典型的嵌入式应用计算机系统。
目前按单片机内部数据通道的宽度,把它们分为4位、8位、16位及32位单片机。
单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。
3.1.2.设计采用芯片及其引脚介绍
根据第二章的方案论证与选择,本设计主要采用芯片AT89C51,AT89C2051,DAC8032等设计构成简易逻辑分析仪。
其芯片图及引脚介绍如下所示。
(1)、芯片AT89C51及其引脚
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器。
其内部含有128字节的RAM、32个可编程I/O口线、两个16为定时/计数器、一个五向量两级中断结构、一个全双工串行通信口、片内振荡器及时钟电路,同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
如图3-1所示。
图3-1AT89C51
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚将会被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
/PSEN:
外部程序存储器的选通信号。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
(2)、芯片AT89C2051引脚介绍
AT89C2051是一带有2K字节闪速可编程可擦除只读存储器(EEPROM)的低电压,高性能8位CMOS微处理器。
它采用ATMEL的高密非易失存储技术制造并和工业标准MCS-51指令集和引脚结构兼容。
通过在单块芯片上组合通用的CPLI和闪速存储器,ATMEL的AT89C2051是一强劲的微型处理器,它对许多嵌入式控制应用提供一定高度灵活和成本低的解决办法。
其芯片图如图3-2所示。
图3-2