基于单片机的简易逻辑分析仪毕业设计论文.docx
- 文档编号:17221428
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:31
- 大小:139.63KB
基于单片机的简易逻辑分析仪毕业设计论文.docx
《基于单片机的简易逻辑分析仪毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的简易逻辑分析仪毕业设计论文.docx(31页珍藏版)》请在冰豆网上搜索。
基于单片机的简易逻辑分析仪毕业设计论文
基于单片机的简易逻辑分析仪
第1节引言……………………………………………………………………………3
1.1系统概述………………………………………………………………………3
1.1.1系统的特点………………………………………………………………4
1.1.2系统的功能………………………………………………………………4
第2节系统主要硬件电路设计…………………………………………………………5
2.1系统结构框图…………………………………………………………………5
2.2主体控制模块…………………………………………………………………5
2.3系统硬件的主体实现…………………………………………………………7
2.3.1数字信号发生器模块的电路设计与实现……………………………7
2.3.2主控系统模块的电路设计与实现……………………………………8
2.3.3LED显示模块的电路设计与实现……………………………………10
2.3.4硬件的抗干扰措施…………………………………………………12
第3节系统软件设计…………………………………………………………………13
3.1系统软件流程…………………………………………………………………13
3.2中断服务子程序………………………………………………………………15
3.3AT24C04程序设计……………………………………………………………15
第4节结束语…………………………………………………………………………19
参考文献…………………………………………………………………………20
基于单片机的简易逻辑分析仪
第1节引言
信息时代是数字化的时代,数字技术的高速发展,出现了以高性能计算机为核心的数字通信、数字测量的数字系统。
在研究这些数字系统产品的应用性能的同时也必须研究在设计、生产和维修他们的过程中,如何验证数字电路设计的合理性、如何协调硬件及其驱动应用软件的工作、如何测量其技术指标以及如何评价其性能。
逻辑分析仪的出现,为解决这些问题提供了可能。
随着数字系统复杂程序的增加,尤其是微处理器的高速发展,用示波器测试己显得有些无能为力。
1973年在美国应运而生的逻辑分析仪(LogicAnalyzer),能满足数字域测试的各种要求。
它属于总线分析仪一类的数据域测试仪器*主要用于查找总线(或多线)相关故障.同时对于数据有很强的选择能力和跟踪能力,因此,逻辑分析汉在数字系统的测试中获得了广泛的应用。
逻辑分析仪(LogicAnalyzer)是以逻辑信号为分析对象的测量仪器。
是一种数据域仪器,其作用相当于时域测量中的示波器。
正如在模拟电路错误分析中需要示波器一样,在数字电路故障分析中也需要一种仪器,它适应了数字化技术的要求,是数字、逻辑电路、仪器、设备的设计、分析及故障诊断工作中不可按少的工具。
在测试数字电路、研制和维修电子计算机、微处理器以及各种集成化数字仪表和装置中具有广泛的用途;还是数字系统设计、侦错、软件开发和仿真的必备仪器;作为硬件设计中必不可少的检测工具,还可将其引入实验教学中,建立直观感性的印象,提升学生的硬件设计能力,可以全面提高教学质量;随着科技的发展,LA在多通道、大存储量、高采样速率、多触发功能方面得到更快的发展,在航天、军事、通信等数字系统领域得到越来越广泛的应用。
我们从上面可以看出逻辑分析仪在各个领域的广泛应用。
那么我们在学习、应用的同时设计并制作一个简易的逻辑分析仪就显的意义重大了,这样这个过程既可以让我们更加深入理解其原理,又可以提高动手设计并制作整个系统电路的能力,还可以将其作为简易仪器应用于以后的实验中。
1.1系统概述
因在本节中,我们将对简易逻辑分析仪的应用进行分析。
给出它的特点,能实现的功能以及系统的简单操作
1.1.1系统的特点
逻辑分析仪也称逻辑示波器,它是用来分析数字系统逻辑关系的一种仪器。
逻辑分析仪的主要作用有二个:
一是用于观察的形式显示出数字系统的运行情况,相当于扩展了人们的视野,起一个逻辑显示器的作用;二是对系统运行进行分析和故障诊断。
一般的逻辑分析仪是由数据获取和数据显示两大部分组成的。
前者捕获并存储所要观察分析的数据,后者用多种形式显示这些数据。
在这里,关键是触发.它的作用是在被分析的数据流中按索特定的数据字。
一旦发现这个数据字,便产生触发信号去控制和存储有效数据。
因此,它决定了观察的数据窗口在数据流中的位置。
本设计具有以下特点:
1、具有足够多的输入通道,一般的示波器只有2路通道,本设计了8路输入通道。
2、多种触发方式:
设置了单字触发和三级触发两种触发模式
3、具有记忆能力:
采用EEPROM实现数据的掉电存储
本设计的主要特色:
★数字信号发生器使用AT89C2051单片机来控制,达到了高精度的信号输出。
★数字信号的逻辑状态显示也用AT89C2051单片机辅助主CPU系统实现。
★使用D/A电阻网络,结合单片机对信号幅度进行灵活地控制。
★采用发光二极管来指示电路测试点,一目了然,便于调试。
★在系统的软硬件设计中均加入了运行良好的抗干扰措施。
★强大的软件设计功能,大大简化了硬件电路。
1.1.2系统的功能
逻辑分析仪的逻辑分析仪(简称LA)是新型的数据域分析仪器,它有许多
独特的功能。
把这些功能分成取数、触发、存储、显示等几个方面,
本系统实现的功能是:
(1)能产生8路可预置的循环移位逻辑信号序列,输出信号为TTL电平,序列时钟频率为100Hz,并能够重复输出。
(2)单次触发采集存储显示,单次触发方式是指在满足触发条件后,能对被测信号进行一次采集、存储。
之后输出通过DAC转化为模拟电压后输出,在示波器上显示出8路信号,并能显示触发位置。
(3)任意两通道三级触发存储显示,由键盘输入8路中任意2通道的通道号及3级触发字,当指定通道的触发字连续依次满足时,能对被测信号进行一次采集,存储,送DAC后输出显示。
同时在屏幕上标记出3级触发字的位置。
(4)显示触发字的位置,可以在模拟示波器显示屏上对触发字进行标记。
(5)显示可以移动的光标,可以通过键盘的加、减控制光标在水平方向的坐标。
(6)翻页显示,可以用键盘控制翻页显示,每隔32bit为一页的内容,扩展了存储深度。
第2节系统主要硬件电路设计
2.1系统结构框图
图2-1系统结构框图
本系统采用单片机和可编程器件作为数据处理及控制核心,整个系统由一个信号发生器和一个简易逻辑分析仪构成。
将设计任务分解为数字信号发生、信号采集存储、信号融合处理、显示、掉电保护等功能模块。
图1即为该系统的总体框图。
考虑到硬件电路的紧凑性,故将上述模块合理分配连接成以下三个模块:
数字信号发生器、最小系统主控器、键盘/显示。
由于数字信号发生器是用于测试的需要而设计的一个模块,那么下面对各模块的设计进行逐一论证比较。
2.2主体控制模块
系统主控模块包括最小系统和数字信号处理控制模块。
该模块是硬件电路的核心,有如下两个方案。
方案一:
以8031单片机为核心。
但8031无片内ROM,需外扩EPROM(例如27526)作为程序存储器。
这样会增加电路的复杂性。
方案二:
采用AT89C51单片机为主控制核心的双CPU串行通信方式。
AT89C51芯片,其内部含有可重复编程的FLASHROM,,可进行1000次檫除操作,在设计调试过程中可十分容易进行程序的修改,达到最佳的设计。
利用存储器(EEPROM)实现掉电存储功能。
从CPU系统即以89C2051为主的显示模块的控制。
数字信号处理模块主要是D/A转换器件的选择,我们选用性能优良的DAC0832作为主控器件。
该方案的特点是硬件简单,软件实现方便,大大提高了系统的设计性能。
门限电压:
要实现门限电压0.25-4V之间16级可调这一问题上有两种方案。
方案一、电阻分压,利用电阻网络把电压分级作为触发门参考电压,用模拟开关4067在把每个通道的信号和这个参考电压用电压比较器来比较,判断输入信号高低,输入单片机处理。
方案二、用D/A电阻网络进行电压等级的划分作为参考电压,在用比较器来比较高低。
与方案一比具有精确可调的优点。
方案一:
本方案采用8279可编程接口芯片来实现系统的键盘/显示器扩展功能,降低了电路的复杂度,提高了系统的稳定性及可靠性。
8279能自动完成键盘输入和显示控制两种功能。
键盘控制部分提供一种扫描工作方式,可与64个按键的矩阵键盘或传感器连接,能对键盘进行自动扫描、自动消抖、自动识别出按下的键并给出编码,能同时按下双键或N键实行保护,其接收键盘上的输入信息存入内部FIFO缓冲器,并可在有键输入时向CPU请求中断。
8279提供了按扫描方式工作的显示接口,其内部有一个显示缓冲器,能对8位或16位LED自动进行扫描,将显示缓冲器的内容在LED上显示出来。
图2-38279键盘/显示模块
方案二:
由单片AT89C2051控制8个共阳数码管、8个按键构成动态显示模块。
由于具有RS--232接口,易于与某些基于虚拟仪表技术的仪器主板相连,使其脱机工作,成为便携仪表,方便了使用;与专用键显接口芯片8279相比,价廉;采用串行方式与主控单片机交换信息,硬件及工艺设计简单,抗干扰能力强;可承担键显及其他信息处理功能,实现了键显智能化,从而使主机软件设计所考虑的因素减少,程序结构得以简化
图2-4键盘/显示模块
方案三:
LCD液晶显示。
例如采用COM12864液晶显示模块可以显示各种字符及图形,可与CPU系统直接接口,具有8位标准数据总线、6条控制线及电源线,接口电路简单,控制方便。
以上三种都是比较可行的数据显示方案。
尤其是方案三在显示功能的实现上优于方案一、方案二,但是在本题中,考虑到本设计对显示功能的要求不多,用方案二就完全可以很好的实现,所以为了降低设计成本,我们不采用LCD液晶显示而采用方案二的设计。
2.3.系统硬件的总体实现
经过仔细地论证与比较,我们确定了系统的各个主要模块的最终的可行方案,系统总体原理框图如图2-5所示。
图2-5系统总体原理框图
2.3.1数字信号发生器模块的电路设计与实现
用AT89C51单片机产生可预置的二进制序列。
只要在最小系统中添加一个开关组选择高低电平,单片机通过扫描开关组连接的P口的状态,并通过软件来控制单片机8个P口的波形输出,输入到74LS04的反向器输入端,通过TTL电平转换,输出8路数字信号。
该电路结构简单可行,通过示波器可以看到它能够产生清晰稳定的矩形波。
该设计的优点是信号稳定性好,频率精度高,有利于用单片机对数字信号进行智能化控制。
以AT89C51为核心的数字信号发生电路如图2所示。
其工作原理是:
AT89C51单片机输出可预置的二进制序列到74LS04的反向输入端,经过TTL电平转换,产生所需的高稳定、高精度的数字信号。
注意:
在该模块中,要实现电平转换功能必须用采用74LS系列的反向器,不可用CMOS系列的反向器(例如CD4069),因为在引脚的驱动能力上,74系列相对与CMOS系列更强,在本设计中,也就是说能够输出更稳定的信号。
P1口P28路数字信号输出
图2-68路数字信号发生器
2.3.2主控系统模块的电路设计与实现
图2-7最小系统模块
图2-8信号采集处理模块
该模块主要由最小系统和信号采集处理电路组成。
最小系统由一片AT89C51、一片AT89C2051及一片EEPROM(AT24C04)构成。
信号采集处理电路由运放LM324组成的D/A电阻网络组成。
该模块的设计思路是:
由双CPU系统控制对数字信号发生器输出的数字信号进行采样存储,再经过一系列的信号处理,在模拟示波器上复现出来。
从模拟示波器波形显示原理可知,只要在Y轴(纵轴)输入一个电压信号,同时在X轴(横轴)加上一个同频的锯齿波扫描电压,便可在示波器上复现电压信号的波形。
为此必须设计相应的X、Y的输出电压信号。
本设计在单片机的控制下,经数模转换电路D/A分别向示波器的X,Y轴输出锯齿波同步信号、被采样波形信号,以复现被采样存储的波形。
在这,根据题目要求(8路信号通道,包括8位X通道和8位Y通道,)我们采用有8位输出通道、两级锁存控制功能、能够实现多通道D/A的同步转换输出的DAC0832芯片。
由此可知该模块的工作原理如下:
单片机控制程序先向Y轴输入被采样存储在RAM中的波形数据,经DAC0832内部的D/A电阻网络生成阶梯波,选通Y轴DAC0832中的第1锁存器并被锁存;向X轴送入对应的锯齿波数据(该数据是由D/A生成的阶梯波经一个LM324组成的低通滤波器滤波后,再送入LM324构成的电压跟随器而转换出锯齿波。
但是实践证明,通过这种方式生成的波形并不理想。
为了得到理想的锯齿波,我们一改常规思维,着手从软件的角度考虑,我们要将阶梯波转换成锯齿波,可以增加阶梯数,减小阶梯幅度,当离散的数字量增加到一定量时可以近似看成模拟量,如图2-9所示。
),这个写信号选通X轴DAC0832中的第1锁存器;然后通过向外部存储器写数据指令产生的译码信号DAC——X+Y,将在X,Y轴第1锁存器锁存的数据与100HZ的时钟信号同步送出并进行D/A转换,再将转换结果送到示波器,从而达到在示波器上显示波形的目的。
图2-9波形转换
2.3.3LED显示模块的电路设计与实现
键盘/显示装置主要由89C2051单片机、译码驱动器、键盘、LED显示器组成,其电路原理图如图3-6所示,键盘功能如图2-10所示。
图2-10键盘功能
各按键功能说明如下:
SET—X:
设置系统参数;
SET—1:
设置存储地址;
SET—2:
设置单级触发字。
通过按
键即可改变设定字;
SET—3:
设置3级逻辑状态触发字及触发模式选择;
SET—4:
设置门限电压(16级可调);
RUN:
系统开始运行;
STOP:
系统复位停止运行;
DISPLAY:
示波器显示波形;
:
时间标志线左移;
:
时间标志线右移;
:
分页显示切换。
通电开机,LED显示“READY”。
按下“SET”键设置系统参数,按SET-1键可以设置存储地址,将设置的数据送到指定地址进行存储,实现数据的掉电保护。
按SET-2键就可设置单级触发字,当系统检测到的数据与设定的触发字相同时,就进行数据的触发,并在LED上显示“SUCCESS”,然后按“DISPLAY”键即可在示波器上显示8路波形,并显示触发点和时间标志线。
按左移键、右移键可改变时间标志线的位置,并在LED上显示出时间标志线所对应时刻的逻辑状态。
按SET-3键就可以选择触发模式和设置3级逻辑状态触发字。
触发模式有单级触发字和3级逻辑状态触发字,我们用两位LED进行设置,当两位LED设置成00H时,则为单级触发。
其余则为3级逻辑状态触发,触发信号可以指定,当第一位为1,2,3变化时,在第二位中根据具体波形参数设置数据,当系统连续捕捉到设定的3个触发字时,开始对被测信号进行采集、存储与显示等操作。
触发成功后,在LED上显示“SUCCESS”字样,并在示波器上显示波形、触发点和时间标志线。
按SET-4键时可以对门限电压进行设置,使门限电压在0.25V到4V的范围内进行16级变化。
在信号触发后,还可以对信号的分页显示进行操作。
另外,每个信号通道的存储深度由20BIT扩展到32BIT,因而需进行分页显示,在信号触发后,还可以对信号的分页显示进行操作这时,我们可以按
键进行页面切换。
图2-11键盘/显示模块
2.3.4硬件的抗干扰措施
①配置去耦电容。
电源输入端跨接220UF的电解电容。
在关键元件中串入0.1UF的无感瓷片电容或者云母电容。
电容引线尽量短,减少高频带来的影响。
②其次,尽量加粗地线。
第3节软件设计
软件是本系统的灵魂,在设计软件时,我们从系统实用、可靠及方便使用几方面予以考虑,特别加入了开机自检功能。
系统软件主要由四大功能模块组成:
①数据通讯及处理模块;②键盘/显示模块;③波形发生模块;④中断服务模块。
软件设计的其他特色:
在软件设计中加入了软件抗干扰措施(采用软件陷阱技术)。
●在程序区的断层(即不使用的区域),以NOP指令填空,以保证因干扰而造成弹飞的程序尽快步入正常运行轨道。
●设置软件陷阱。
用一条引导指令强行将捕获的程序引向一个指定的地址。
为增强捕获效果,在它前面加入2条NOP指令,如下
NOP
NOP
LJMP?
?
?
H
3.1系统软件流程
(a)、软件主CPU程序流程图如图3-1示。
主CPU通过跟从CPU及AT24C04的串行通信从而来完成数据的传输和通信。
主要完成数据的采集,存储,显示,系统变量的设置等功能。
系统初始化是对系统所用到的变量、定时器、中断方式等进行设置。
然后判断是否进行联机测试,是的话,系统开始串行通信,进行数据的传输。
并进行系统参数设置即:
设置门限电压,设置触发方式,设置时间轴位置。
设置门限电压:
电压从(0.25V—4V)16级变化,可以通过软件设定某个门限电压,就是将某个电压值设为标准,超过这个电压视为高电平,反之则为低电平。
设置两种不同的触发方式即:
单级触发还是三级触发,先选择是何种触发方式,若是单级触发,设置单级触发字,若符合要求,则触发在LED上显示SUCESS,并送示波器显示8路触发的波形。
若是三级触发。
即当连续依次捕捉到设定的3个触发字时,开始对被测信号进行一次采集、存储与显示,并显示触发点位置。
3级触发字可任意设定(例如:
在8路信号中指定连续依次捕捉到两路信号11、01、00作为三级触发状态字)。
若符合要求,则触发在LED上显示SUCESS,并送示波器显示8路触发的波形。
设置时间轴位置:
就是在八路波形的某个垂直位置设置一条时间轴,可以将触发的波形存储在AT24C04中,实现了波形的存储。
图3-1主CPU(AT89C51)程序流程
(b)软件从CPU程序流程图如图3-2所示。
此CPU程序主要完成了键盘、显示功能。
与主CPU进行串行通信,通过键盘可以设置各种参数,如可以设置触发字,当满足触发条件时进行触发并显示
图3-2从CPU(AT89C51)程序流程
3.2中断服务子程序
图3-2中断服务子程序
3.3AT24C04程序设计
我们利用AT24C04对数据进行存储和掉电保护。
与AT89C51相连时,P3.5用作SDA线,P3.4用作SCL线。
AT24C04的程序流程:
图3-3AT24C04流程
总线协议:
•总线空闲:
SCL和SDA都保持高电平。
•开始信号:
SCL保持高电平的状态下,SDA出现下降沿。
出现开始信号以后,总线被认为"忙"。
•停止信号:
SCL保持高电平的状态下,SDA出现上升沿。
停止信号过后,总线被认为"空闲"。
•总线忙:
在数据传送开始以后,SCL为高电平的时候,SDA的数据必须保持稳定,只有当SCL为低电平的时候才允许SDA上的数据改变。
开始信号:
START_BIT:
SETBSDA;SDA为高电平
NOP
SETBSCL;SCL为高电平
NOP
CLRSDA;SDA为低电平
NOP
CLRSCL;SCL为低电平
RET
;---------------------------------------------------------------------------
停止信号:
STOP_BIT:
CLRSDA;SDA为低电平
NOP
SETBSCL;SCL为高电平
NOP
SETBSDA;SDA为高电平
NOP
CLRSCL;SCL为低电平
RET
;-------------------------------------------------------------------------------------------
发送一个字节:
SEND:
MOVR0,#08H;R0为8H
SEND0:
RLCA;A左移
MOVSDA,C;数据传输
ETBSCL;SCL为高电平
ACALLDEALY;延时
CLRSCL;SCL为低电平
DJNZR0,SEND0;R0=0时转SEND0
SETBSDA;SDA为高电平
RET
接收一个字节:
REV:
MOVR0,#08H;R0为8H
MOVC,SDA;数据接受
RLCA;A左移
CLRSCL;SCL为低电平
DJNZR0,REV0;R0=0时转SEND0
RET
;-----------------------------------------------------------------------
接收一个应答位:
ACKI:
SETBSCL;SCL为高电平
ACALLDELAY;延时
MOVC,SDA;接受
CLRSCL;SCL为低电平
RET;返回
发送一个应答位:
ACKO:
SETBSCL;SCL为高电平
ACALLDELAY;延时
MOVSDA,C;发送
CLRSCL;SCL为低电平
RET
结束语
系统采用双CPU控制方式,以AT89C51单片机为核心,用AT89C2051辅助控制显示及键盘,由数字信号发生器、系统主控制器、键盘/显示三大模块组成,实现8路可预置的循环移位逻辑信号序列的产生、采集、存储及在模拟示波器上清晰稳定地显示等功能。
采用EEPROM实现数据的掉电存储,掉电后仍可保存所采样的信息。
本设计的软件、硬件都采用模块化的设计方法,提高了设计效率。
本设计以多功能、低功耗、操作方便、结构合理、易于调试为主要设计原则。
在系统设计过程中,我们力求硬线路简单,充分发挥软件编程方便灵活的特点,并最大限度挖掘单片机片内资源,来满足系统设计要求。
本设计的关键部分是在软件方面,题目的发挥部分完全是通过强大的软件控制来实现的。
我们充分利用了89C51的强大功能,除了发挥部分中的触发位置可调这一要求尚未很好的实现之外,全部较好地实现了题目基本部分和发挥部分的要求。
在电路设计中采用模块设计法,对各电路模块进行单独设计和测试,最后将各模块组合后进行整体测试。
单片机软件可先在最小系统板上调试,再与硬件系统联调。
在本设计中,每个模块的智能化功能均通过软硬件的最佳融合来实现。
但是因为元器件本身参数存在误差、测量仪器误差、读数误差等,就要求我们尽量用科学的方法测试,以减小误差。
本设计在软件仿真时运行良好。
但是感觉稳定性还是不够,因而应该在稳定性方面有所改进
参考文献
[1]:
简易逻辑分析仪设计报告,文章来源:
广东工业大学五山校区信息工程学院,作者:
郑士源、陈真华、林庆华
[2]:
逻辑分析仪原理与应用,出版社:
人民邮电出版社,作者:
顾乃绂孙续
[3]:
大学生电子设计竞赛组委会、第五届全国电子设计竞赛获奖作品选编北京:
北京理工大学出版社2003
[4]:
逻辑分析仪,测控技术199503
[5]:
大连理工大学2C串行总线原理及其在单片机接口中的实现
作者:
唐鹏程邹久朋
[6]:
电子测量电气测量技术和仪器
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 简易 逻辑 分析 毕业设计 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)