你好,欢迎来到经管之家 [登录] [注册]

设为首页 | 经管之家首页 | 收藏本站

基于单片机和EDA技术的逻辑分析仪设计_电子信息工程毕业论文

发布时间:2015-03-16 来源:人大经济论坛
基于单片机和EDA技术的逻辑分析仪设计_电子信息工程毕业论文 摘要:本设计采用单片机控制8路逻辑信号电平采集;采用EDA技术设计的CPLD芯片处理逻辑信号,控制点阵扫描和分析结果在示波器上显示;单片机和CPLD间采用中断方式交换数据。该设计具有1、3级触发方式,触发字位置和浮动时标线显示等功能,以及友好操作界面和波形稳定显示等特点,并拓宽示波器使用功能。 关键字:点阵扫描控制;逻辑分析;CPLD;VHDL编程 Thedesignofthelogicalanalysisapparatusofone-chipmicrocomputerandtheEDA'stechnologybasedingon 【Abstract】Thisdesignusestheone-chipmicrocomputertobecontrolledgatheringoflogicalsignallevelsof8tunnels,UseCPLD'schipofEDA'stechnicaldesigntothelogicsignalprocessingandControlscanningtothelatticesignalandTheresultofdisplayanalysisontheoscillograph,Usetheinterruptmodeexchangedatabetweenone-chipmicrocomputerandCPLD.thisdesignhas1and3gradeofmethodofactivation,triggerwordseatdisplayandtimetobemarkedthreaddisplayetc.meritability,Aswellasfriendlyoperationinterfaceandwaveformstabilizationwhatshowsetc.characteristic,Andwidentheoscillographusemeritability. 【Keywords】Thelatticescanningcontrol;Thelogicalanalysis;CPLD;VHDL'sprogramming 1引言 逻辑分析仪是数字电路调试和信号分析中不可缺少的工具。本设计参照“2003年全国大学生电子设计竞赛”的题目,用双踪信号示波器作为逻辑分析结果显示设备;用单片机控制逻辑信号采集和逻辑分析仪的各项功能操作;用EDA(电子设计自动化)技术设计的CPLD(复杂可编程逻辑器件)芯片处理逻辑信号,控制逻辑分析结果波形的点阵扫描;达到一般逻辑分析仪应有的功能和指标[1]。本设计的逻辑分析仪特点是性能稳定、成本低,并拓宽了示波器使用功能。 2总体结构及各硬件设计 逻辑信号分析的总体结构如图1所示;其中逻辑分析仪由8路逻辑信号检测电路、单片机系统和CPLD点阵扫描控制电路构成。逻辑分析仪能接受8路逻辑信号(D7~D0)和位传送时钟信号(B-CLK);其接受的逻辑信号形式如图2所示。 600)makesmallpic(this,600,1800);' src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-7831.png" width="554" height="202" /> 逻辑分析仪各部分解释如下: 2.1逻辑信号检测 8路逻辑信号检测部分由8选1采样模拟开关(CD4051)和模数转换器ADC(MAX7820)组成,如图3所示。为了适应较宽范围(0.25~4V)逻辑信号门限电压(逻辑1的电压)的输入,对逻辑信号电平采用模拟信号采样,当AD转换获得逻辑信号电平的数字量(A/D-DATA)大于门限电压对应的数字量时,确定为逻辑1。由于分时检测8路逻辑信号(D7~D0),要求采样开关速度和AD转换速度要远远大于逻辑信号位传送速度;当位传送时钟信号到来时,才能保证8路逻辑信号每1路采样点在靠近位的中间位置,从而得到可靠的电平数字量。 本设计的CD4051从地址选通(CH-SELECT)到数据输出时间约500ns,MAX7820转换一路信号所需的时间约3ns,采集处理8路逻辑信号各位(1个字节)所需时间约5us。若8路逻辑信号每位采样点在位中间的三分之一区,则逻辑信号的位宽约为15us,因此本设计的逻辑分析仪可对66kHz以下波特率的8路信号进行逻辑分析。 600)makesmallpic(this,600,1800);' src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-16949.png" width="519" height="222" /> 2.3单片机系统 单片机系统[2]由单片机(AT89C51)、点阵液晶显示模块和4×4键盘三部分组成,其示意图见图1的“单片机系统”部分。单片机的P0口在不同的时间段分别用于显示数据输出,逻辑信号采样数据输入,采样字节输出的数据传送;P1、P3口用于逻辑信号检测(见图3引脚标注)、CPLD点阵扫描控制(见图4引脚标注)和液晶显示模块的操作控制;P2口用于4×4键盘扫描及按键信息接受。单片机系统的键盘和显示部分用于完成1、3级触发方式,1级、3级触发字,16级门限电压选择,数据采集区的前、中、后显示页面(16字节)选择,时间线位置等参数的设定和显示,以及相关功能操作。 2.4CPLD点阵扫描控制 CPLD点阵扫描控制部分由可编程逻辑阵列(CPLD)、数模转换器(DAC)和X、Y、Z轴扫描信号放大电路组成,并在CPLD控制下工作;其电路如图4所示。 600)makesmallpic(this,600,1800);' src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-5417.png" width="549" height="280" /> CPLD向通过输出中断CPLD-INT请求(单片机的INT0)从单片机系统获得采样字节;对每个采样字节按顺序进行8路逻辑信号位波形(或时标线)的点阵扫描的信息处理,并控制数模转换(DAC)、信号放大、信号扫描显示和回扫信号消隐处理。在处理一个页面(1/3数据区)16个采样字节后,重复处理过程。 CPLD内部由计数器链(2分频器,点、位、字节计数器)、数据接收器、X轴位边界定位器、加法器、Y轴定位输出器、2选1多路器、消隐控制器等部分组成,如图5所示。CPLD外部引脚CLK(CPLD-CLK)、EN(使能)、TR(信息类型控制)、DI[7~0](CPLD-DATA)、CP(锁存)、-INT(CPLD-INT)分别连逻辑分析仪单片机的ALE、P1.7、P3.1、P0[0~7]、P3.0、P3.2引脚(见图4的引脚标注);-WR、A0(通道选择)、DO[7~0]分别连DAC的-WR、A0、D[7~0]引脚;Zout连信号放大器的Z轴输入端。CPLD工作原理说明如下: 600)makesmallpic(this,600,1800);' src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-12884.png" width="438" height="246" /> 开机后,CPLD内部复位,EN=0,CPLD处于保持状态。 1.数据传送——首先设置EN=0,CPLD处于保持;然后,CP的上升沿,将外部数据送入数据接收器;设置TR=0,传送8路信号采样字节;TR=1,传送触发字或时标线位置的4位编码(给出16个位置信息)。传送数据后,设置EN=1,CPLD工作。 2.逻辑信号扫描——在EN=1,TR=0前提下,外部时钟CLK的上升沿驱动计数器链工作。字节计数器(采样字节计数)值ByteC经过X轴位边界定位器处理后的值X1(X1=ByteC*10H)与点计数器(位内点计数)值Xc再经过加法器处理,产生当前扫描点X轴数字量X=X1+Xc=ByteC*10H+Xc。位计数器(采样字节各位计数)值BitC和数据接收器(存放采样字节)值DI[7~0]经过Y轴定位输出器处理,产生当前扫描点Y轴数字量的Y有两种:①当DI[BitC]=0,Y=0E0H-(BitC*20H)+05H;②当DI[BitC]=1,Y=0E0H-(BitC*20H)+15H。在A0正(A0=1)、负(A0=0)状态对2选1多路器的驱动下,分时将Y、X送到DO[7~0]总线上;以此同时,在两个-WR(-CLK)的上升沿(A0正、负半个周期的中间)驱动下,将送到DO[7~0]总线上的Y和X分别写入数模转换器DAC的两个通道。位计数器值BitC=7时,表示一个采样字节处理完,CPLD发出传送下一个字节的中断请求-INT。逻辑分析仪单片机收到中断请求后,进行一次数据传送处理。 3.触发字和时间线位置扫描——在EN=1前提下,TR=1将数据接收器DI[3~0](位置信息)送入字节计数器,并控制点计数器值Xc=0,经过X轴位边界定位器和加法器处理后,产生扫描点X轴数字量X=X1+Xc=DI[3~0]*10H+0;同时TR=1控制Y轴定位输出器的值Y按计数方式工作,在CLK1驱动下,输出Y=00~0FFH的计数值,在示波器屏上显示竖线,表示触发字或时间线位置。当Y=0FFH时,表示位置信息扫描完毕,发出传送下一个字节的中断请求信号。 4.消隐处理——在Xc=0FH,即开始下1路时钟位各点扫描时,点计数器输出Z1=1;在BitC=7,即开始8路信号下一组各时钟位(下一个采样字节)扫描时,Y轴定位输出器输出Z2=1;在Y=OFFH,即触发字和时间线位置扫描结束时,Y轴定位输出器输出Z2=1;在A0=1时,为了消除当前传送的Y轴数字量与前一次X轴数字量产生的干扰扫描点,2分频器输出的A0使Z3=1;Z1、Z2、Z3信号经过消隐控制器(或非门电路)处理,使Zout为低电平,经反相放大器处理后,向示波器Z轴输出+12V电压,以消除回扫线和干扰点。 双踪信号示波器调整到X-Y工作方式,探头Y1为X轴输入,探头Y2为Y轴输入,显像管电子枪控制端为Z轴输入。CPLD输出的X、Y轴数字量X、Y经过数模转换和放大处理后,产生示波器X、Y轴扫描的模拟信号,在示波器屏上显示8路逻辑信号。CPLD输出的Zout信号经放大后,控制示波器的Z轴,以消隐回扫线和干扰点,使8路逻辑信号更清晰的显示。 3软件设计 软件设计部分有逻辑信号检测及数据采集处理、键盘显示扫描处理、采样字节输出处理和CPLD内部结构设计VHDL(硬件描述语言)编程四部分。本文主要介绍逻辑信号检测及数据采集处理和CPLD结构设计VHDL编程部分。 3.1逻辑信号检测及数据采集处理 逻辑信号检测及数据采集处理是通过单片机的INT1中断服务程序来完成。其中1级触发字逻辑信号检测中断服务程序和数据采集处理子程序流程如图6、图7所示。 当各项参数设定后,按“确认键”保存参数,并打开逻辑信号检测中断(INT1),关闭采样字节输出中断(INT0)。每次逻辑信号发生器的位传送时钟(B-CLK)触发一次逻辑信号检测中断服务程序的执行,每次服务程序执行要进行8次路选和8次AD转换启动,并分别检测转换结束状态和读取转换结果。每次逻辑信号检测中断服务,要调用8路逻辑信号数据采集处理子程序,将8路信号状态转换成1个采样字节,并存入采样数据区。当数据区存满后,关闭逻辑信号检测中断,打开采样字节输出中断,等待CPLD输出中断请求(CLPD-INT)。 600)makesmallpic(this,600,1800);' src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-27242.png" width="514" height="421" /> CPLD点阵扫描控制电路在每次输出8路1位信号波形后,向单片机系统发出采样字节输出中断;对每次采样字节输出中断的服务,单片机要对CPLD进行一次采样字节输出及写操作控制。输出的采样字节有波形数据、触发字和时标线位置三种数据类型。 3.2CPLD结构设计的VHDL编程 CPLD内部结构各部分设计采用硬件描述语言VHDL编程来实现[3]。由于篇幅所限,仅给出部分设计的编程及解释说明。 1.点计数器设计的编程 ifTR='0'then--TR=0时,逻辑信号时钟位的扫描点计数。 iff='0'then--f为回扫时钟插入标志位,f=0时,正常的点计数扫描。 Xc=Xc+1;--点计数增1。 else Xc=Xc;--f=1时,Xc保持1个时钟时间。 endif; ifXc="1111"then f='1';--计完1个时钟位16个点后,f置1控制插入一个回扫时钟 BitC=BitC+1;--采样字节的位计数增1 Z1='1';--控制下一时钟周期不显示 else f='0';--控制正常计数 Z1='0';--控制正常显示
经管之家“学道会”小程序
  • 扫码加入“考研学习笔记群”
推荐阅读
经济学相关文章
标签云
经管之家精彩文章推荐