




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机和EDA技术的逻辑分析仪设计 摘要:本设计采用单片机控制8路逻辑信号电平采集;采用EDA技术设计的CPLD芯片处理逻辑信号,控制点阵扫描和分析结果在示波器上显示;单片机和CPLD间采用中断方式交换数据。该设计具有1、3级触发方式,触发字位置和浮动时标线显示等功能,以及友好操作界面和波形稳定显示等特点,并拓宽示波器使用功能。 关键字:点阵扫描控制;逻辑分析;CPLD;VHDL编程 The design of the logical analysis
2、apparatus of one-chip microcomputer and the EDA's technology baseding on 【Abstract】This design uses the one-chip microcomputer to be controlled gathering of logical signal lev
3、els of 8 tunnels, Use CPLD's chip of EDA's technical design to the logic signal processing and Control scanning to the lattice signal and The result of
4、;display analysis on the oscillograph , Use the interrupt mode exchange data between one-chip microcomputer and CPLD. this design has 1 and 3 grade of method of acti
5、vation , trigger word seat display and time to be marked thread display etc. merit ability,As well as friendly operation interface and waveform stabilization what shows&
6、#160; etc. characteristic , And widen the oscillograph use merit ability . 【Key words】The lattice scanning control; The logical analysis; CPLD; VHDL's programming 1 引言
7、60; 逻辑分析仪是数字电路调试和信号分析中不可缺少的工具。本设计参照“2003年全国大学生电子设计竞赛”的题目,用双踪信号示波器作为逻辑分析结果显示设备;用单片机控制逻辑信号采集和逻辑分析仪的各项功能操作;用EDA(电子设计自动化)技术设计的CPLD(复杂可编程逻辑器件)芯片处理逻辑信号,控制逻辑分析结果波形的点阵扫描;达到一般逻辑分析仪应有的功能和指标1。本设计的逻辑分析仪特点是性能稳定、成本低,并拓宽了示波器使用功能。 2 总体结构及各硬件设计 逻辑信号分析的总体结构如图1所示;其中逻辑分析仪由8路逻辑信号检测电路、单片机系统和CPLD
8、点阵扫描控制电路构成。逻辑分析仪能接受8路逻辑信号(D7D0)和位传送时钟信号(B-CLK);其接受的逻辑信号形式如图2所示。 600)makesmallpic(this,600,1800);' src="file:/C:/DOCUME1/ADMINI1/LOCALS1/Temp/ksohtml/wps_clip_image-7831.png" width="554" height="202" /> 逻辑分析仪各部分解释如下: 2.1 逻辑信号检测 8路逻辑信
9、号检测部分由8选1采样模拟开关(CD4051)和模数转换器ADC(MAX7820)组成,如图3所示。为了适应较宽范围(0.254V)逻辑信号门限电压(逻辑1的电压)的输入,对逻辑信号电平采用模拟信号采样,当AD转换获得逻辑信号电平的数字量(A/D-DATA)大于门限电压对应的数字量时,确定为逻辑1。由于分时检测8路逻辑信号(D7D0),要求采样开关速度和AD转换速度要远远大于逻辑信号位传送速度;当位传送时钟信号到来时,才能保证8路逻辑信号每1路采样点在靠近位的中间位置,从而得到可靠的电平数字量。 本设计的CD4051从地址选通(CH-SELECT)到数据输出时间约500ns,MAX7
10、820转换一路信号所需的时间约3ns,采集处理8路逻辑信号各位(1个字节)所需时间约5us。若8路逻辑信号每位采样点在位中间的三分之一区,则逻辑信号的位宽约为15us,因此本设计的逻辑分析仪可对66kHz以下波特率的8路信号进行逻辑分析。 600)makesmallpic(this,600,1800);' src="file:/C:/DOCUME1/ADMINI1/LOCALS1/Temp/ksohtml/wps_clip_image-16949.png" width="519" height="222" />
11、 2.3 单片机系统 单片机系统2由单片机(AT89C51)、点阵液晶显示模块和4×4键盘三部分组成,其示意图见图1的“单片机系统”部分。单片机的P0口在不同的时间段分别用于显示数据输出,逻辑信号采样数据输入,采样字节输出的数据传送;P1、P3口用于逻辑信号检测(见图3引脚标注)、CPLD点阵扫描控制(见图4引脚标注)和液晶显示模块的操作控制;P2口用于4×4键盘扫描及按键信息接受。单片机系统的键盘和显示部分用于完成1、3级触发方式,1级、3级触发字,16级门限电压选择,数据采集区的前、中、后显示页面(16字节)选择,时间线位置等参
12、数的设定和显示,以及相关功能操作。 2.4 CPLD点阵扫描控制 CPLD点阵扫描控制部分由可编程逻辑阵列(CPLD)、数模转换器(DAC)和X、Y、Z轴扫描信号放大电路组成,并在CPLD控制下工作;其电路如图4所示。 600)makesmallpic(this,600,1800);' src="file:/C:/DOCUME1/ADMINI1/LOCALS1/Temp/ksohtml/wps_clip_image-5417.png" width="549" height="280&q
13、uot; /> CPLD向通过输出中断CPLD-INT请求(单片机的INT0)从单片机系统获得采样字节;对每个采样字节按顺序进行8路逻辑信号位波形(或时标线)的点阵扫描的信息处理,并控制数模转换(DAC)、信号放大、信号扫描显示和回扫信号消隐处理。在处理一个页面(1/3数据区)16个采样字节后,重复处理过程。 CPLD内部由计数器链(2分频器,点、位、字节计数器)、数据接收器、X轴位边界定位器、加法器、Y轴定位输出器、2选1多路器、消隐控制器等部分组成,如图5所示。CPLD外部引脚CLK(CPLD-CLK)、EN(使能)、TR(信息类型控制)、DI70 (C
14、PLD-DATA)、CP(锁存)、-INT(CPLD-INT)分别连逻辑分析仪单片机的ALE、P1.7、P3.1、P007、P3.0、P3.2引脚(见图4的引脚标注);-WR、A0(通道选择)、DO70分别连DAC的-WR、A0、D70引脚;Zout连信号放大器的Z轴输入端。CPLD工作原理说明如下: 600)makesmallpic(this,600,1800);' src="file:/C:/DOCUME1/ADMINI1/LOCALS1/Temp/ksohtml/wps_clip_image-12884.png" width="438&qu
15、ot; 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)与点计数器(位内点计数)值
16、Xc再经过加法器处理,产生当前扫描点X轴数字量X=X1+Xc=ByteC*10H+Xc。位计数器(采样字节各位计数)值BitC和数据接收器(存放采样字节)值DI70经过轴定位输出器处理,产生当前扫描点轴数字量的Y有两种:当DIBitC=0,Y=0E0H-(BitC*20H)+05H;当DIBitC=1,Y=0E0H-(BitC*20H)+15H。在A0正(A0=1)、负(A0=0)状态对2选1多路器的驱动下,分时将Y、X送到DO70总线上;以此同时,在两个-WR(-CLK)的上升沿(A0正、负半个周期的中间)驱动下,将送到DO70总线上的Y和X分别写入数模转换器DAC的两个通道。位计数器值Bi
17、tC=7时,表示一个采样字节处理完,CPLD发出传送下一个字节的中断请求-INT。逻辑分析仪单片机收到中断请求后,进行一次数据传送处理。 3触发字和时间线位置扫描在EN=1前提下,TR=1将数据接收器DI3(位置信息)送入字节计数器,并控制点计数器值Xc=0,经过X轴位边界定位器和加法器处理后,产生扫描点X轴数字量X=X1+Xc=DI3*10H+0;同时TR=1控制Y轴定位输出器的值Y按计数方式工作,在CLK1驱动下,输出Y=000FFH的计数值,在示波器屏上显示竖线,表示触发字或时间线位置。当Y=0FFH时,表示位置信息扫描完毕,发出传送下一个字节的中断请求信号。 4消隐
18、处理在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轴输入,显像管电子枪
19、控制端为Z轴输入。CPLD输出的X、Y轴数字量X、Y经过数模转换和放大处理后,产生示波器X、Y轴扫描的模拟信号,在示波器屏上显示8路逻辑信号。CPLD输出的Zout信号经放大后,控制示波器的Z轴,以消隐回扫线和干扰点,使8路逻辑信号更清晰的显示。 3 软件设计 软件设计部分有逻辑信号检测及数据采集处理、键盘显示扫描处理、采样字节输出处理和CPLD内部结构设计VHDL(硬件描述语言)编程四部分。本文主要介绍逻辑信号检测及数据采集处理和CPLD结构设计VHDL编程部分。 3.1 逻辑信号检测及数据采集处理 逻辑信号
20、检测及数据采集处理是通过单片机的INT1中断服务程序来完成。其中1级触发字逻辑信号检测中断服务程序和数据采集处理子程序流程如图6、图7所示。 当各项参数设定后,按“确认键”保存参数,并打开逻辑信号检测中断(INT1),关闭采样字节输出中断(INT0)。每次逻辑信号发生器的位传送时钟(B-CLK)触发一次逻辑信号检测中断服务程序的执行,每次服务程序执行要进行8次路选和8次AD转换启动,并分别检测转换结束状态和读取转换结果。每次逻辑信号检测中断服务,要调用8路逻辑信号数据采集处理子程序,将8路信号状态转换成1个采样字节,并存入采样数据区。当数据区存满后,关闭逻辑信号检测中断,打开采样字节
21、输出中断,等待CPLD输出中断请求(CLPD-INT)。 600)makesmallpic(this,600,1800);' src="file:/C:/DOCUME1/ADMINI1/LOCALS1/Temp/ksohtml/wps_clip_image-27242.png" width="514" height="421" /> CPLD点阵扫描控制电路在每次输出8路1位信号波形后,向单片机系统发出采样字节输出中断;对每次采样字节输出中断的服务,单片机要对CPLD进行一次采样字节输出及写操作控制。
22、输出的采样字节有波形数据、触发字和时标线位置三种数据类型。 3.2 CPLD结构设计的VHDL编程 CPLD内部结构各部分设计采用硬件描述语言VHDL编程来实现3。由于篇幅所限,仅给出部分设计的编程及解释说明。 1点计数器设计的编程 if TR='0' then - TR=0时,逻辑信号时钟位的扫描点计数。 if f='0' then
23、160; - f为回扫时钟插入标志位,f=0时,正常的点计数扫描。 Xc<=Xc+1; - 点计数增1。 else Xc<=Xc; - f=1时,Xc保持1个时钟时间。 end if;
24、60; if Xc="1111" then f<='1' - 计完1个时钟位16个点后,f置1控制插入一个回扫时钟 BitC<=BitC+1; - 采样字节的位计数增1 Z1<='1
25、39; - 控制下一时钟周期不显示 else f<='0' - 控制正常计数 Z1<='0' - 控制正常
26、显示 end if; else - TR=1时,触发字和时标线位置扫描 Xc<="0000" - 点计数器值Xc 置0 end if; 程序中的“Xc&l
27、t;=Xc+1”语句仅为点计数器增1作准备,只有下一个时钟到来后,才计数增1变化;因此,对后边的“if Xc="1111" then”语句,判断到Xc="1111"时,已经为点计数器Xc变成0做好了准备。程序中的“-”为注释标志。 2Y轴定位输出器设计的编程 if TR='0' then - TR='0'逻辑信号扫描,由位计数器值和数据接收器值确定Y值
28、;if BitC="000" then 第1路逻辑信号,对应字节内的最高位,示波器上端 if DI(7)='0' then Y<="11100101" - DI(7)=0,Y=E5H else Y<="11110101" &
29、#160; - DI(7)=1,Y=F5H end if; elsif BitC="001" then - 第二路 if DI(6)='0' then Y<="11000101" - DI(6)=0,Y=C5H
30、;else Y<="11010101" - DI(6)=1,Y=D5H end if; elsif BitC="010" then - 第三路
31、 if DI(5)<='0'then Y<="10100101" - DI(5)=0,Y=A5H else Y<="10110101" - DI(5)=1,Y=B5H end if; elsif BitC="011"
32、160;then - 第四路 if DI(4)<='0'then Y<="10000101" - DI(4)=0,Y=85H else Y<="10010101"
33、; - DI(4)=1,Y=95H end if; elsif BitC="100" then - 第五路 if DI(3)='0' then Y<="01100101" - DI(3)=0,Y=
34、65H else Y<="01110101" - DI(3)=1,Y=75H end if; elsif BitC="101" then -&
35、#160;第六路 if DI(2)='0' then Y<="01000101" - DI(2)=0,Y=45H else Y<="01010101" - DI(2)=1,Y=55H end if; elsif BitC="1
36、10" then - 第七路 if DI(1)='0' then Y<="00100101" - DI(1)=0,Y=25H else Y<="00110101"
37、; - DI(1)=1,Y=35H end if; elsif BitC="111" then - 第八路 if DI(0)='0' then Y<="00000101" - DI(0)=0,Y=05H else Y<="00010101"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025内蒙古土地资源收储投资(集团)有限公司常态化招聘50名急需紧缺专业人员(第十二批)笔试参考题库附带答案详解
- 文化创意产品代理销售合同(2篇)
- 2025项目部治理人员安全培训考试试题【达标题】
- 2025广告宣传活动合同模板
- 2025年监理工程师考试《合同管理》核心考点剖析
- 2025智能安防系统建设项目合同
- 2025质量管理体系认证合同范本
- 2025饮品类采购合同范本
- 2025年羟丙纤维素合作协议书
- 2025标准土地租赁协议合同
- 2025年高考历史总复习高中历史必修二八大专题知识复习提纲
- 2025事业单位考试题库及答案200题
- 临床执业医师考试健康教育技能试题及答案
- 机车车辆试题及答案
- 地理澳大利亚课件-2024-2025学年人教版(2024)初中地理七年级下册
- 常用施工规定和技术要求1
- 旅游景区娱乐服务设计
- 亚马逊店铺转让合同标准文本
- T-CQAP 4002-2024 医疗安全(不良)事件根本原因分析法活动指南
- 利用科学史进行高中生物学主线式情境教学的实践研究
- 2025年高考作文备考:十大热点人物事迹+高分素材
评论
0/150
提交评论