logo资料库

基于单片机的逻辑分析仪论文.pdf

第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
资料共19页,剩余部分请下载后查看
基于单片机的简易逻辑分析仪 目 录 第 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.3 LED 显示模块的电路设计与实现……………………………………10 2.3.4 硬件的抗干扰措施…………………………………………………12 第 3 节 系统软件设计…………………………………………………………………13 3.1 系统软件流程…………………………………………………………………13 3.2 中断服务子程序………………………………………………………………15 3.3 AT24C04 程序设计……………………………………………………………15 第 4 节 结束语…………………………………………………………………………19 参 考 文 献 … … … … … … … … … … … … … … … … … … … … … … … … … … … …20 1
基于单片机的简易逻辑分析仪 第1节 引 言 信息时代是数字化的时代,数字技术的高速发展,出现了以高性能计算机为核心 的数字通信、数字测量的数字系统。在研究这些数字系统产品的应用性能的同时也必 须研究在设计、生产和维修他们的过程中,如何验证数字电路设计的合理性、如何协 调硬件及其驱动应用软件的工作、如何测量其技术指标以及如何评价其性能。逻辑分 析仪的出现,为解决这些问题提供了可能。 随着数字系统复杂程序的增加,尤其是微处理器的高速发展,用示波器测试己显 得有些无能为力。1973 年在美国应运而生的逻辑分析仪(Logic Analyzer),能满足 数字域测试的各种要求。它属于总线分析仪一类的数据域测试仪器*主要用于查找总 线(或多线)相关故障.同时对于数据有很强的选择能力和跟踪能力,因此,逻辑分析 汉在数字系统的测试中获得了广泛的应用。 逻辑分析仪(Logic Analyzer)是以逻辑信号为分析对象的测量仪器。是一种数 据域仪器,其作用相当于时域测量中的示波器。正如在模拟电路错误分析中需要示波 器一样,在数字电路故障分析中也需要一种仪器,它适应了数字化技术的要求,是数 字、逻辑电路、仪器、设备的设计、分析及故障诊断工作中不可按少的工具。在测试 数字电路、研制和维修电子计算机、微处理器以及各种集成化数字仪表和装置中具有 广泛的用途;还是数字系统设计、侦错、软件开发和仿真的必备仪器;作为硬件设计 中必不可少的检测工具,还可将其引入实验教学中,建立直观感性的印象,提升学生 的硬件设计能力,可以全面提高教学质量; 随着科技的发展,LA 在多通道、大存储 量、高采样速率、多触发功能方面得到更快的发展,在航天、军事、通信等数字系统 领域得到越来越广泛的应用。 我们从上面可以看出逻辑分析仪在各个领域的广泛应用。那么我们在学习、应 用的同时设计并制作一个简易的逻辑分析仪就显的意义重大了,这样这个过程既可以 让我们更加深入理解其原理,又可以提高动手设计并制作整个系统电路的能力,还可 以将其作为简易仪器应用于以后的实验中。 1.1 系统概述 因在本节中,我们将对简易逻辑分析仪的应用进行分析。给出它的特点,能实现 的功能以及系统的简单操作 1.1.1 系统的特点 逻辑分析仪也称逻辑示波器,它是用来分析数字系统逻辑关系的一种仪器。逻辑 2
分析仪的主要作用有二个:一是用于观察的形式显示出数字系统的运行情况,相当于 扩展了人们的视野,起一个逻辑显示器的作用;二是对系统运行进行分析和故障诊断。 一般的逻辑分析仪是由数据获取和数据显示两大部分组成的。前者捕获并存储 所要观察分析的数据,后者用多种形式显示这些数据。在这里,关键是触发.它的作 用是在被分析的数据流中按索特定的数据字。一旦发现这个数据字,便产生触发信号 去控制和存储有效数据。因此,它决定了观察的数据窗口在数据流中的位置。 本设计具有以下特点: 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节 系统主要硬件电路设计 3
2.1 系统结构框图 图 2-1 系统结构框图 本系统采用单片机和可编程器件作为数据处理及控制核心,整个系统由一个信号 发生器和一个简易逻辑分析仪构成。将设计任务分解为数字信号发生、信号采集存储、 信号融合处理、显示、掉电保护等功能模块。图 1 即为该系统的总体框图。考虑到硬 件电路的紧凑性,故将上述模块合理分配连接成以下三个模块:数字信号发生器、最 小系统主控器、键盘/显示。由于数字信号发生器是用于测试的需要而设计的一个模 块,那么下面对各模块的设计进行逐一论证比较。 2.2 主体控制模块 系统主控模块包括最小系统和数字信号处理控制模块。该模块是硬件电路的核 心,有如下两个方案。 方案一:以 8031 单片机为核心。但 8031 无片内 ROM,需外扩 EPROM(例如 27526)作为程序存储器。这样会增加电路的复杂性。 方案二:采用 AT89C51 单片机为主控制核心的双 CPU 串行通信方式。AT89C51 芯片,其内部含有可重复编程的 FLASH ROM,,可进行 1000 次檫除操作,在设计调 试过程中可十分容易进行程序的修改,达到最佳的设计。利用存储器(EEPROM)实 现掉电存储功能。从 CPU 系统即以 89C2051 为主的显示模块的控制。数字信号处理 模块主要是 D/A 转换器件的选择,我们选用性能优良的 DAC0832 作为主控器件。该 方案的特点是硬件简单,软件实现方便,大大提高了系统的设计性能。 4
门限电压: 要实现门限电压 0.25-4V 之间 16 级可调这一问题上有两种方案。 方案一、电阻分压,利用电阻网络把电压分级作为触发门参考电压,用模拟开关 4067 在把每个通道的信号和这个参考电压用电压比较器来比较,判断输入信号高低, 输入单片机处理。 方案二、用 D/A 电阻网络进行电压等级的划分作为参考电压,在用比较器来比 较高低。与方案一比具有精确可调的优点。 方案一:本方案采用 8279 可编程接口芯片来实现系统的键盘/显示器扩展功能, 降低了电路的复杂度,提高了系统的稳定性及可靠性。8279 能自动完成键盘输入和显 示控制两种功能。键盘控制部分提供一种扫描工作方式,可与 64 个按键的矩阵键盘或 传感器连接,能对键盘进行自动扫描、自动消抖、自动识别出按下的键并给出编码,能 同时按下双键或 N 键实行保护,其接收键盘上的输入信息存入内部 FIFO 缓冲器,并可 在有键输入时向 CPU 请求中断。8279 提供了按扫描方式工作的显示接口,其内部有一 个显示缓冲器,能对 8 位或 16 位 LED 自动进行扫描,将显示缓冲器的内容在 LED 上显 示出来。 图 2-3 8279 键盘/显示模块 方案二:由单片 AT89C2051 控制 8 个共阳数码管、8 个按键构成动态显示模块。由 于具有 RS--232 接口,易于与某些基于虚拟仪表技术的仪器主板相连,使其脱机工作, 成为便携仪表,方便了使用;与专用键显接口芯片 8279 相比,价廉;采用串行方式 5
与主控单片机交换信息,硬件及工艺设计简单,抗干扰能力强;可承担键显及其他信 息处理功能,实现了键显智能化,从而使主机软件设计所考虑的因素减少,程序结构 得以简化 图 2-4 键盘/显示模块 方案三:LCD 液晶显示。例如采用 COM12864 液晶显示模块可以显示各种字符 及图形,可与 CPU 系统直接接口,具有 8 位标准数据总线、6 条控制线及电源线, 接口电路简单,控制方便。 以上三种都是比较可行的数据显示方案。尤其是方案三在显示功能的实现上优于 方案一、方案二,但是在本题中,考虑到本设计对显示功能的要求不多,用方案二就 完全可以很好的实现,所以为了降低设计成本,我们不采用 LCD 液晶显示而采用方 案二的设计。 2.3.系统硬件的总体实现 经过仔细地论证与比较,我们确定了系统的各个主要模块的最终的可行方案,系 统总体原理框图如图 2-5 所示。 图 2-5 系统总体原理框图 2.3.1 数字信号发生器模块的电路设计与实现 用 AT89C51 单片机产生可预置的二进制序列。只要在最小系统中添加一个开关 组选择高低电平,单片机通过扫描开关组连接的 P 口的状态,并通过软件来控制单片 6
机 8 个 P 口的波形输出,输入到 74LS04 的反向器输入端,通过 TTL 电平转换,输出 8 路数字信号。该电路结构简单可行,通过示波器可以看到它能够产生清晰稳定的矩 形波。该设计的优点是信号稳定性好,频率精度高,有利于用单片机对数字信号进行 智能化控制。 以 AT89C51 为核心的数字信号发生电路如图 2 所示。其工作原理是:AT89C51 单 片机输出可预置的二进制序列到 74LS04 的反向输入端,经过 TTL 电平转换,产生所 需的高稳定、高精度的数字信号。注意:在该模块中,要实现电平转换功能必须用采 用 74LS 系列的反向器,不可用 CMOS 系列的反向器(例如 CD4069),因为在引脚 的驱动能力上,74 系列相对与 CMOS 系列更强,在本设计中,也就是说能够输出更 稳定的信号。 拨 P1 口 P2 8 路数字信号 输出 码 开 关 7 4 L S 0 4 A T 8 9 C 5 1 图 2-6 8 路数字信号发生器 2.3.2 主控系统模块的电路设计与实现 GND R2 +VCC(+12V) LM324 20K R8 39K R4 20K R3 10K R6 10K 20K R5 C? 3 2 1 C7 100UF 图 2-7 最小系统模块 ELECTRO1 GND GND R12 1K D1 D2 D3 GND C8 100UF -VCC(-12V) 10K D12 R13 U4A U4B 1 2 3 4 CLOCK 4069 R14 100K 4069 GND 7 VCC R32 1K R33 1K D1 LED D2 LED 2 2 1 VCC Y1 12M 1 C1 1 2 20PF 2 2 1 1 C2 1 2 20PF GND 1 1 2 C3 1 2 10UF 2 1 S1SW-PB 2 2 J1 2 1 CON2 J5 2 1 CON2 D16 D17 D12 D13 VCC VCC 0 4 C C V U1 P10 P11 P12 P13 P14 P15 P16 P17 D1 1 2 D2 D3 3 D4 4 D5 5 D6 6 D7 7 D8 8 D13 13 D12 12 15 14 31 19 18 9 INT1 INT0 T1 T0 EA/VP X1 X2 RESET D17 17 D16 16 D N G RD WR 89C51 0 2 GND 2 R1 8.2K 1 1 GND VCC(+5V) C6 100UF J5 2 1 VCC 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 J3 P0 J4 P1 J2 1 2 CON2 U2B LM324 U2A 1 GND 2 18 19 VCC 8 9 GND 12 11 WR1 WR2 ILE Vref Rfb Iout2 Iout1 GND 17 1 S7 SW-PB Xfer CS D1 13 D2 14 D3 15 D4 16 D5 4 5 D6 6 D7 7 D8 msbDI7 DI6 DI5 DI4 DI3 DI2 DI1 lsbDI0 c c V 0 2 VCC 7 R10 10K 3 2 +VCC(+12v) 4 U3A + 1 - 1 1 LM324 -VCC(-12v) 10K R10 7 GND 5 6 U3B + - LM324 RW2 20K 10 9 U3C + - OUTPUT 8 GND LM324 U2C GND 10 9 8 LM324 R9 10K U2D 12 13 LM324 14 OUTPUT--Y 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 RXD TXD ALE/P PSEN 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 30 29 D9 5 6 R7 10K VCC 4 3 2 1 1
J2 CON 1 2 3 4 5 6 7 8 B1 B2 B3 B4 B5 B6 B7 B8 B1 B2 3 2 5 6 B3 10 9 B4 12 13 B5 B6 3 2 5 6 B7 10 9 B8 12 13 1 U1A 1 LM324 7 8 14 U2A 1 LM324 7 8 14 +12 4 1 1 -12 U1B LM324 U1C LM324 U1D LM324 +12 4 1 1 -12 U2B LM324 U2C LM324 U2D LM324 R15 22k -12 1 1 4 +12 U3A 2 3 LM324 D1 DIODE D2 DIODE D3 DIODE D4 DIODE D5 DIODE D6 DIODE D7 DIODE D8 DIODE R9 10k R1 4.7k A1 R17 4.7k J1 CON 1 2 3 4 5 6 7 8 A1 A2 A3 A4 A5 A6 A7 A8 R2 R R3 R R4 R R5 R R6 R R7 R R8 R R16 22k U3B 7 LM324 A2 A3 A4 R18 R R19 R R20 R A5 R21 R A6 A7 A8 R22 R R23 R R24 R 6 5 R10 20k R11 10k R12 20k R13 10k 图 2-8 信号采集处理模块 1234 该模块主要由最小系统和信号采集处理电路组成。最小系统由一片 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 组成的低 8
分享到:
收藏