基于单片机的简易逻辑分析仪资料Word下载.docx

上传人:b****5 文档编号:16644389 上传时间:2022-11-25 格式:DOCX 页数:20 大小:206.99KB
下载 相关 举报
基于单片机的简易逻辑分析仪资料Word下载.docx_第1页
第1页 / 共20页
基于单片机的简易逻辑分析仪资料Word下载.docx_第2页
第2页 / 共20页
基于单片机的简易逻辑分析仪资料Word下载.docx_第3页
第3页 / 共20页
基于单片机的简易逻辑分析仪资料Word下载.docx_第4页
第4页 / 共20页
基于单片机的简易逻辑分析仪资料Word下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

基于单片机的简易逻辑分析仪资料Word下载.docx

《基于单片机的简易逻辑分析仪资料Word下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的简易逻辑分析仪资料Word下载.docx(20页珍藏版)》请在冰豆网上搜索。

基于单片机的简易逻辑分析仪资料Word下载.docx

随着科技的发展,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

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为高电平

CLRSDA;

SDA为低电平

CLRSCL;

SCL为低电平

RET

---------------------------------------------------------------------------

停止信号:

STOP_BIT:

CLRSDA;

SDA为低电平

SETBSCL;

-------------------------------------------------------------------------------------------

发送一个字节:

SEND:

MOVR0,#08H;

R0为8H

SEND0:

RLCA;

A左移

MOVSDA,C;

数据传输

ETBSCL;

ACALLDEALY;

延时

CLRSCL;

DJNZR0,SEND0;

R0=0时转SEND0

接收一个字节:

REV:

MOVC,SDA;

数据接受

DJNZR0,REV0;

RET

-----------------------------------------------------------------------

接收一个应答位:

ACKI:

SETBSCL;

ACALLDELAY;

MOVC,SDA;

接受

CLRSCL;

RET;

返回

发送一个应答位:

ACKO:

发送

结束语

系统采用双CPU控制方式,以AT89C51单片机为核心,用AT89C2051辅助控制显示及键盘,由数字信号发生器、系统主控制器、键盘/显示三大模块组成,实现8路可预置的循环移位逻辑信号序列的产生、采集、存储及在模拟示波器上清晰稳定地显示等功能。

采用EEPROM实现数据的掉电存储,掉电后仍可保存所采样的信息。

本设计的软件、硬件都采用模块化的设计方法,提高了设计效率。

本设计以多功能、低功耗、操作方便、结构合理、易于调试为主要设计原则。

在系统设计过程中,我们力求硬线路简单,充分发挥软件编程方便灵活的特点,并最大限度挖掘单片机片内资源,来满足系统设计要求。

本设计的关键部分是在软件方面,题目的发挥部分完全是通过强大的软件控制来实现的。

我们充分利用了89C51的强大功能,除了发挥部分中的触发位置可调这一要求尚未很好的实现之外,全部较好地实现了题目基本部分和发挥部分的要求。

在电路设计中采用模块设计法,对各电路模块进行单独设计和测试,最后将各模块组合后进行整体测试。

单片机软件可先在最小系统板上调试,再与硬件系统联调。

在本设计中,每个模块的智能化功能均通过软硬件的最佳融合来实现。

但是因为元器件本身参数存在误差、测量仪器误差、读数误差等,就要求我们尽量用科学的方法测试,以减小误差。

本设计在软件仿真时运行良好。

但是感觉稳定性还是不够,因而应该在稳定性方面有所改进

参考文献

[1]:

简易逻辑分析仪设计报告,文章来源:

广东工业大学五山校区信息工程学院,作者:

郑士源、陈真华、林庆华

[2]:

逻辑分析仪原理与应用,出版社:

人民邮电出版社,作者:

顾乃绂孙续

[3]:

大学生电子设计竞赛组委会、第五届全国电子设计竞赛获奖作品选编北京:

北京理工大学出版社2003

[4]:

逻辑分析仪,测控技术199503

[5]:

大连理工大学2C串行总线原理及其在单片机接口中的实现

作者:

唐鹏程邹久朋

[6]:

电子测量电气测量技术和仪器

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1