《逻辑分析仪的设计毕业论文.doc》由会员分享,可在线阅读,更多相关《逻辑分析仪的设计毕业论文.doc(53页珍藏版)》请在三一办公上搜索。
1、逻辑分析仪的设计作者姓名: 专业名称:电子信息科学与技术指导教师: 摘要逻辑分析仪用于涉及大量信号或复杂的触发器要求的数字测量,但是以往的独立式逻辑分析仪不仅结构复杂,而且价格昂贵。文章介绍了一种基于单片机的逻辑分析仪,阐述了逻辑分析仪的硬件电路设计和软件设计部分。通过本次设计实践证明该逻辑分析仪不仅结构简单、成本较低,而且具有通道数量多、捕获速度快、性能稳定等特点。本系统的设计电路由8位数字信号发生器电路、数据采集电路、功能控制系统、显示电路四部分构成。8位数字信号发生器电路:由单片机、液晶、按键等元器件组成,可以产生8路循环移位逻辑信号序列,并能设定、调节并显示预置值。数据采集电路:由单片
2、机控制,含有RAM及8位输入电路等,能够采集并存储输入的8位逻辑序列。功能控制系统:它也是由单片机控制,完成设定、显示、调整系统各功能项的任务。显示电路:主要由可编程逻辑器件CPLD和电平移位及扫描电路组成,用于将RAM中的8路逻辑序列取出,将其高速送入示波器稳定显示。关键词:逻辑分析仪 AT89C51 数字信号发生器 示波器AbstractLogic Analyzer used to involve a lot of signal digital measurement requirements or complex triggers, but independent Logic Analy
3、zer in the past not only complicated and expensive. This article describes a kind of logic analysis instrument based on single-chip, in this paper, the logical analyzer design of hardware circuit and the software design part. Through this design practice proves that the logical analyzer is not only
4、simple structure, low cost, and has the number of channels, capture speed, stable performance, and so on. The system design of circuit consists of 8-bit data acquisition circuit for digital signal generator circuit, four part, features, display control system circuit. 8-bit digital signal generator
5、circuit: it is made of single-chip, LCD, press the key components, and so on, can produce 8 cyclic shift logic signal sequences, and can establish, regulate and displays the preset value. Data acquisition circuit: single-chip control, with RAM and 8-bit input circuit, to collect and enter a sequence
6、 of 8-bit logical storage. Function control system: it is also controlled by the single-chip, complete set, displays tasks, adjust all functions of the system. Display circuits: mainly of programmable logic device CPLD and level shifting and scan circuit, used for remove RAM 8 channels in logical se
7、quence, the stability of high-speed into the oscilloscope display.Keywords: logic analyzer, AT89C51, digital waveform generators, oscilloscope目录摘要IAbstractII目录III前言11 概述21.1 逻辑分析仪的作用及地位21.1.1 逻辑分析仪的需求21.1.2 逻辑分析仪介绍31.1.3 逻辑分析仪的应用41.2 逻辑分析仪的发展状况41.3 设计的提出52 系统工作原理62.1 系统组织结构62.2 系统原理框图73 系统硬件设计83.1 硬
8、件器材的选择与应用83.1.1 单片机概述83.1.2 设计采用芯片及其引脚介绍93.2 数字信号发生器模块的实现143.3 信号采集处理电路设计与实现153.4 功能实现模块173.4.1 按键实现电路173.4.2 CPLD显示电路183.4.3 D/A转换电路193.4.4 硬件的抗干扰措施204 系统软件设计214.1 软件主要功能控制214.2 数据采集及显示流程图234.3 中断程序流程图234.4 电路保护流程图245 系统测试275.1 测试仪器275.2 测试方法275.2.1 数字信号发生器的测试275.2.2 系统的测试285.3 误差分析30结论31参考文献33致谢34
9、附录:35前言随着通信技术的的越加技术纯熟,通信技术在半导体器件出现后开始从以前的只对模拟信号进行变换和传输发展为现在的可以将语音和图像信号用数字技术变换成数字信号后,再在线路上进行传输。但是在近十年中由于大规模集成电路技术的发展,生产了大容量的半导体存贮器、移位寄存器,以及广泛应用的微处理器芯片和许多支持芯片。在这些器件以及应用这些器件的电路和系统中采用数据表示信息。这个数据可以是存贮器的地址或该地址单元中所存放的内容,而这个内容可以是程序中某条指令或要操作的数据。这些数据及其控制信号的其中一个特点就是它们都是逻辑信号,可以表示为高电平或低电平,或表示为逻辑“ 1 ” 或逻辑“ 0 ”, 只
10、有这两种状态。数据信号的另一个特点就是它是由几个比特(bit)的逻辑状态来组成一个具体的数据字(word)。在数字通信中它们以串行方式进行传输, 如以五位或七位代码表示一个量值或控制信号。数据信号的第三个特点是逻辑信号往往是随机的,非周期性信号, 甚至是间歇出现的信号。传统的示波器往往比较适合观察周期性的重复出现的模拟信号或脉冲信号。但是对随机的非周期信号是很难稳定同步的。而且在现有示波器中一般只有双踪交替扫描显示, 所以它们不能观察显示多通道的并行逻辑状态。并且示波器是由被测信号的波形电平去触发产生扫描来显示被测信号,它不能捕捉特定的数据字,不能由特定的地址或指令来进行触发, 以便观察显示相
11、应的数据序列。一般示波器的第三个主要缺点是没有数据存贮能力,所以就不能捕捉和保存瞬刻即逝的信号。1 概述1.1 逻辑分析仪的作用及地位1.1.1 逻辑分析仪的需求随着科学技术的发展,不仅网络技术得到了发展,大规模集成电路、可编程逻辑器件、高速数据信号处理器和计算机技术等高新技术也得到迅猛发展。现在为解决数字设备、计算机及VLSI 等电路在研制、生产、检修和维护中的测试问题,出现了一类新的测试设备。在电子器械中主要运用的信息载体主要是二进制数据流,现在除了有频域或时域的测量外,又有新的一类测量把这一类测试统称为数据域(Data Domain)测试,即有关数字系统的测试称为数据域测试。以离散时间或
12、事件出现的次序为自变量,状态值为因变量的函数关系属数据域范畴。具有以下一些特征: (1) 数字信息几乎都是多位传输的。 (2) 数字信息是按时序传递的。 (3) 许多信号仅发生一次。有些信号虽然可以重复发生,但是它们是非周期性的。 (4) 造成系统出错的误码常混在一串正确的数据流中,实际上只有错误已经发生以后才能辨认出来。 (5) 信号的速度变换范围很大(如高速运行的主机和低速的外围设备)。显然,对数字系统的检测不可能象对模拟系统那样。用示波器及一般的电子测量仪器是难以观察和测量数字信息的。以上特点决定了对数字系统基本的检测要求:a、跟踪与分析状态数据流。这是对数字系统进行功能分析所必须的基本
13、测量。跟踪状态流需要利用地址总线,最好同时也能观察数据总线,以便分析总线的全面工作情况。由于有的总线是复用的,因此要求测量时有选择数据的能力。b、为了监视数据线上的数据流,需要设置一个观察参考点,由它来决定需要捕获的对分析有意义的那部分数据。c、分析异步总线时,需要了解各信号状态序列和每个信号在给定状态的持续时间,以便判定系统是否按正确的时序运行。这要求能分析信号状态之间的时间关系。d、来自系统内部或外界的干扰及毛刺常引起硬件出错,这样就需要捕捉干扰或毛刺,并把它们显示出来。1.1.2 逻辑分析仪介绍逻辑分析仪是用来分析数字系统逻辑关系的一种仪器。它属于总线分析仪一类的数据域测试仪器,它主要用
14、于查找总线(或多线)相关性故障。对于数据域的测试,逻辑分析仪是最典型的测试仪器。它一方面是分析数字系统和计算机软、硬件最有力的工具,另一方面它本身又与微计算机紧密结合起来,产生了多种智能逻辑分析仪和个人仪器型的逻辑分析仪插件。有些逻辑分析仪还与计算机开发系统、仿真器、数字电压表和示波器等结合起来,构成完善的仪器系统。有些先进的逻辑分析仪可以同时检测几百路的信号,还拥有灵活多样的触发方式,可以方便的在数据流中选择感兴趣的观测窗口。逻辑分析仪还能观测触发前和触发后的数据流,具有多种便于分析的显示方式。目前逻辑分析仪已成为设计,调试和检测维修复杂数字系统,计算机和微机化产品的最有力工具。逻辑分析仪按
15、其工作特点,可分为两大类:逻辑状态分析仪(Logic State Analyzer,简称LSA)和逻辑定时分析仪(Logic Timing Analyzer,简称LTA)。两类分析仪的基本结构是相似的,主要区别在于显示方式和定时方式上。逻辑状态分析仪主要用来监测数字系统的工作程序,并用“0”或“1”来显示被测系统的逻辑状态,以便对系统进行状态分析。其状态数据的采集是在被测系统的时钟下实现的,即逻辑状态分析仪与系统是同步工作的。这能有效地解决程序的动态调试问题,因此,逻辑状态分析仪主要用于系统的软件测试。逻辑定时分析仪主要用来显示各通道的逻辑波形,特别是各通道之间波形的时序关系。为了能显示出这种
16、时序关系,在逻辑定时分析仪中应提供采样时钟,即所谓内部时钟,来控制数据的采集。一般采集数据的内部时钟频率应该是被测系统时钟频率的510 倍。因此,从上面的描述可以看出,逻辑定时分析仪与被测系统是异步工作的,主要用于系统的硬件测试,它能检测出系统的工作时序及各种不正常的毛刺脉冲。1.1.3 逻辑分析仪的应用逻辑分析仪是一种数据域测试仪器。逻辑分析仪在计算机、自动测试系统、IC 设计、智能仪器、数据通讯以及自动控制等数字系统中是新产品开发和系统维护必不可少的工具。在软件方面,逻辑分析仪具有很大存储深度的特性,可以用长时间间隔“实时跟踪”方法来找到问题根源,再加上逻辑分析仪具有实时跟踪记录程序的能力
17、而无须停止运行的特性。在软件方面,特别是象冲突、存储器泄漏和栈溢出等这些实时软件问题是很难诊断的,因为它们只有系统在某一速度运行时才出现。逻辑分析仪具有很大存储深度的特性,可以用长时间间隔“实时跟踪”方法来找到问题根源。因而,逻辑分析仪具有实时跟踪记录程序的能力而无须停止运行。在硬件方面,嵌入式硬件设计者在系统开发中试图找出不明显的实时硬件问题是很难的,这些问题包括:逻辑错、逻辑电平违例、噪声超限、串扰、总线竞争、匹配电阻错、时钟漂移、时序超差或违例、建立保持时间违例和毛刺。逻辑分析仪为实时监视、捕捉和分析硬件操作提供了一种解决方法。现在,逻辑分析仪已经成为国际上最通用的电子测量仪器之一。1.
18、2 逻辑分析仪的发展状况逻辑分析仪是一种常见的电子测量仪器,是数字域分析仪器的典型代表,它的主要功能是测量数字电路中的逻辑波形及逻辑关系。目前,它在数字域内解决问题的能力已使它的应用处于与示波器并列的位置。前者用于解决数字域检测问题,后者则用于解决模拟信号的检测问题。逻辑分析技术的发展可以由逻辑分析仪的发展来展示。逻辑分析仪最早被构思为“数字示波器”,由多线示波器的设计思路发展而成。自1973 年美国HP 公司和Biomation 公司几乎同时研制出了第一代逻辑分析仪,迄今为止已经经历了四代。第一代产品速度低、功能简单,具有基本触发功能和简单显示方式;第二代产品在触发功能和显示方式上作出了较大
19、改进,以便适应微机软、硬件分析的需要;第三代产品实现微机化,将定时分析和状态分析结合在一起,便于软、硬件交互分析,功能日臻完善;第四代产品构成功能完善的仪器系统,不仅包含了早期的逻辑分析仪功能,还扩充了特征分析仪和嵌入式开发系统等功能。20世纪80 年代后期,逻辑分析仪变得更加复杂,当然使用起来也就更加困难。今天的逻辑分析仪提供几百个工作在200MHz频率上的通道信号连接就是个现实问题。适配器、夹子和辅助爪钩等多种多样,但是最好的办法的是设计一种廉价的测试夹具,逻辑分析仪直接连接到夹具上,形成可靠和紧凑的接触。1.3 设计的提出随着科学技术的发展,不仅网络技术得到了发展,大规模集成电路、可编程
20、逻辑器件、高速数据信号处理器和计算机技术等高新技术也得到迅猛发展。现在为解决数字设备、计算机及VLSI 等电路在研制、生产、检修和维护中的测试问题,出现了一类新的测试设备。在电子器械中主要运用的信息载体主要是二进制数据流,现在除了有频域或时域的测量外,又有新的一类测量把这一类测试统称为数据域(Data Domain)测试,即有关数字系统的测试称为数据域测试。以离散时间或事件出现的次序为自变量,状态值为因变量的函数关系属数据域范畴。具有以下一些特征: (1) 数字信息几乎都是多位传输的。 (2) 数字信息是按时序传递的。 (3) 许多信号仅发生一次。有些信号虽然可以重复发生,但是它们是非周期性的
21、。 (4) 造成系统出错的误码常混在一串正确的数据流中,实际上只有错误已经发生以后才能辨认出来。 (5) 信号的速度变换范围很大(如高速运行的主机和低速的外围设备)。显然,对数字系统的检测不可能象对模拟系统那样。用示波器及一般的电子测量仪器是难以观察和测量数字信息的。本设计提出是为了解决仪器的测量问题,本实验主要是以单片机为核心。本设计采用AT89C51单片机控制8路逻辑信号电平采集的简易逻辑分析仪设计。逻辑信号门限电压通过键盘任意设定,信号采集的触发等级、触发条件、触发位置由键盘设定。2 系统工作原理2.1 系统组织结构简易逻辑分析仪系统包括四个部分:(1)8位数字信号发生器(2)数据采集电
22、路(3)功能控制电路(4)显示电路。如图2.1所示。同步信号号数据采集系统功能控制系统信号源同步信号简易逻辑分析仪8位序列8位序列同步信号触发字8位序列显示电路示波 器 8 位数字信号发 生 图2.1系统组织结构图第一部分是8位数字信号发生器。本题要求能产生8路可预置的循环移位逻辑信号序列,输出信号为TTL电平,序列时钟频率为100Hz,并能够重复输出。用单片机AT89C52来完成。第二部分为功能控制系统。此系统实现控制简易逻辑分析仪的某些特殊功能。用单片机AT89C52完成。第三部分数据采集电路的实现也用单片机AT89C52完成数据采集及存储。用单片机来完成8位数字发生器、功能控制系统以及数
23、据采集电路。第四部分显示电路,主要使用示波器显示出结果波形。2.2 系统原理框图根据已确立的各部分电路,选择好主控器件我们根据题目的基本要求和发挥部分的需要,进一步完善各部分电路的具体实现,作出了此分析仪的系统原理框图,如图2.2所示: 图2.2 系统原理方框图 3 系统硬件设计本文的硬件结构主要是由以下几个部分组成的:系统主控模块AT89C51、数字信号发生模块、D/A转换模块、键盘输入模块、CPLD显示模块。3.1 硬件器材的选择与应用3.1.1 单片机概述单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/
24、O口和中断系统、定时器/计时器等功能,可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路,集成到一块硅片上构成的一个小而完善的计算机系统。因此单片机早期的含义为单片微型计算机(single chip microcomputer),直接译为单片机,并一直沿用至今。由于单片机面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应控制领域应用的要求而诞生的。随着单片机技术的发展,它在芯片内集成了许多面对测控对象的接口电路,如ADC、DAC、高速I/O口、PWM、WDT等。这些对外电路及外设接口已经突破了微型计算机(microcomputer)传统的体系结构,所以更为
25、确切反映单片机本质的名称应是微控制器。单片机是单芯片形态作为嵌入式应用的计算机,它有惟一的、专门为嵌入式应用而设计的体系结构和指令系统,加上它的芯片级体积的优点和在现场环境下可高速可靠地运行的特点,因此单片机又称之为嵌入式微控制器(embedded micro controller)。但是,在国内单片机的叫法仍然有着普遍的意义。我们已经把单片机理解为一个单芯片形态的微控制器,它是一个典型的嵌入式应用计算机系统。目前按单片机内部数据通道的宽度,把它们分为4位、8位、16位及32位单片机。单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!目前单片机渗透到我们生活的各个领域,几乎很难找到
26、哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。3.1.2 设计采用芯片及其引脚介绍本设计主要采用芯片AT89C51,AT89C2051,CPLD等设计构成简易逻辑分析仪。其芯片图及引脚介绍如下所示。(1)芯片AT89C51a.芯片AT
27、89C51及其引脚AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器。其内部含有128字节的RAM、32个可编程I/O口线、两个16为定时/计数器、一个五向量两级中断结构、一个全双工串行通信口、片内振荡器及时钟电路,同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。如图3.1所示。图3.1 AT89C51芯片图P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被
28、定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚将会被内部上拉电阻拉高,且作为
29、输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,
30、要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。/PSEN:外部程序存储器的选通信号。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。(2) 芯片AT89C2051引脚介绍AT89C2051是一带有2K字节闪速可编程可擦除只读存储器(EEPROM)的低电压,高性能8位CMOS微处理器。它采用ATMEL的高密非易失存储技术制造并和工业标准MCS-51指令集和引脚结
31、构兼容。通过在单块芯片上组合通用的CPLI和闪速存储器,ATMEL的AT89C2051是一强劲的微型处理器,它对许多嵌入式控制应用提供一定高度灵活和成本低的解决办法。其芯片图如图3.2所示。图3.2 AT89C2051引脚图引脚说明VCC:电源电压。GND:地。P1口:P1口是一个8位双向I/O口。口引脚P1.2P1.7提供内部上拉电阻,P1.0和P1.1要求外部上拉电阻。P1.0和P1.1还分别作为片内精密模拟比较器的同相输入(ANI0)和反相输入(AIN1)。P1口输出缓冲器可吸收20mA电流并能直接驱动LED显示。当P!口引脚写入“1”时,其可用作输入端,当引脚P1.2P1.7用作输入并
32、被外部拉低时,它们将因内部的写入“1”时,其可用作输入端。当引脚P1.2P1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而流出电流。 P3口:P3口的P3.0P3.5、P3.7是带有内部上拉电阻 的七个双向I/O口引脚。P3.6用于固定输入片内比较器的输出信号并且它作为一通用I/O引脚而不可访问。P3品缓冲器可吸收20mA电流。当P3口写入“1”时,它们被内部上拉电阻拉高并可用作输入端。用作输入时,被外部时拉低的P3口脚将用上拉电阻而流出电流。下表3.1是P3口引脚作用。表3.1 P3口引脚作用引脚口功能P3.0RXD串行输入端口P3.1TXD串行输入端口P3.2INT0 外中断0P3.
33、3INT1 外中断1P3.4T0定时器0外部输入P3.5T1定时器1外部输入P3口还接收一些用于闪速存储器编程和程序校验的控制信号。 RST:复位输入。RST一旦变成高电平所有的I/O引脚就复位到“1”。当振荡器正在运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。每一个机器周期需12个振荡器或时钟周期。 XTAL1:作为振荡器反相器的输入和内部时钟发生器的输入。 XTAL2:作为振荡器反相放大器的输出。性能指标和MCS-51产品兼容;2KB可重编程FLASH存储器(10000次);2.7-6V电压范围;全静态工作:0Hz-24MHz;2级程序存储器保密锁定;128*8位内部RAM;
34、15条可编程I/O线;两个16位定时器/计数器;6个中断源;可编程串行通道;高精度电压比较器(P1.0,P1.1,P3.6);直接驱动LED的输出端口。(3)芯片DAC0832引脚介绍DAC0832的芯片如图3.3所示。图3-3 DAC0832DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。DAC0832的主要特性参数如下:分辨率为8位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下
35、调整其线性度;单一电源供电(+5V+15V);低功耗,200mW。DAC0832结构:D0D7:数字信号输入端。ILE:输入寄存器允许,高电平有效。CS:片选信号,低电平有效。WR1:写信号1,低电平有效。XFER:传送控制信号,低电平有效。WR2:写信号2,低电平有效。IOUT1、IOUT2:DAC电流输出端。Rfb:是集成在片内的外接运放的反馈电阻。Vref:基准电压(-1010V)。Vcc:是源电压(+5+15V)。AGND:模拟地 NGND:数字地,可与AGND接在一起使用。DAC0832的工作方式:根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工
36、作方式:直通方式、单缓冲方式和双缓冲方式。3.2 数字信号发生器模块的实现数字信号发生器由8路信号产生电路、循环移位寄存器、100Hz时钟产生电路和逻辑信号输出部分构成。在这里使用一片小单片机AT89C2051作为信号发生器,通过8路开关设置循环移位元逻辑信号序列,输入AT89C2051的P1口,由2051内部定时在P3.7产生100Hz的时钟信号,在P3.2输出预置波形,通过移位寄存器74HC164产生8路循环移位元信号。如图3.4所示。AT89C2051874HC164P3.2P3.7DS1Q0Q7DS28路循环移位序列输出100Hz时钟信号输出CLK开关置入0,1序列图3.4数字信号发生
37、模块其硬件电路连接图如下图3.5所示。图3-5数字信号发生硬件电路图3.3 信号采集处理电路设计与实现逻辑分析仪的信号采集是在时钟作用下按节拍进行的,时钟信号采用外部输入。本文主要运用数据采集系统,通过传感器对设备的电压或者电流信号进行采样、保持,并送入A/D转换器变成数字信号,然后将该信号通过功能控制系统进行转换传输存放储存在RAM中。然后通过多通道进行传输经过模拟开关后再进入A/D转换器。CPLD是整个系统的控制核心,他控制采集通道的切换、A/D转换器的启/停、转换后的数据在RAM中的存放地址发生器、产生中断请求然后再通过RAM将数据传出。本设计信号采集处理电路由运放LM324组成的D/A
38、电阻网络组成,八路输入信号通过电压比较器LM324和D/A转换器DAC0832提供的基准电压作比较后,作为存储单片的输入,8路信号接入LM324同相输入端,可以获得较大阻抗。如图3.7所示。图3.7信号采集处理电路该模块的设计思路是:由双CPU系统控制对数字信号发生器输出的数字信号进行采样存储,再经过一系列的信号处理,在模拟示波器上复现出来。从模拟示波器波形显示原理可知,只要在Y轴(纵轴)输入一个电压信号,同时在X轴(横轴)加上一个同频的锯齿波扫描电压,便可在示波器上复现电压信号的波形。为此必须设计相应的X、Y的输出电压信号。本设计在单片机的控制下,经数模转换电路D/A分别向示波器的X,Y轴输
39、出锯齿波同步信号、被采样波形信号,以复现被采样存储的波形。在这,根据设计要求(8路信号通道,包括8位X通道和8位Y通道,)我们采用有8位输出通道、两级锁存控制功能、能够实现多通道D/A的同步转换输出的DAC0832芯片。由此可知该模块的工作原理如下:单片机控制程序先向Y轴输入被采样存储在RAM中的波形数据,经DAC0832内部的D/A电阻网络生成阶梯波,选通Y轴DAC0832中的第1锁存器并被锁存;向X轴送入对应的锯齿波数据(该数据是由D/A生成的阶梯波经一个LM324组成的低通滤波器滤波后,再送入LM324构成的电压跟随器而转换出锯齿波。但是实践证明,通过这种方式生成的波形并不理想。为了得到
40、理想的锯齿波,我们一改常规思维,着手从软件的角度考虑,我们要将阶梯波转换成锯齿波,可以增加阶梯数,减小阶梯幅度,当离散的数字量增加到一定量时可以近似看成模拟量,如图3.8所示。),这个写信号选通X轴DAC0832中的第1锁存器;然后通过向外部存储器写数据指令产生的译码信号DACX+Y,将在X,Y轴第1锁存器锁存的数据与100HZ的时钟信号同步送出并进行D/A转换,再将转换结果送到示波器,从而达到在示波器上显示波形的目的。图3.8模拟波形3.4 功能实现模块3.4.1 按键实现电路本设计采用44标准的行列键盘,通过8个I/O口控制16个键,采用线反转法行列键盘扫描。在单片机系统中为了扩大同一个I
41、/O口的键盘个数,则采用了行列式键盘接法,就是交叉相接。如图3.9所示:图3.9按键电路键盘接的前4个I/O口为行接线,后4个为列接线。这样的接法就构成了一个坐标,每个键都对应这一个行的位置和一个列的位置。例如我们说左上角的那个所对应第1行和第4列,即单片机P1.0和P1.7两个I/O口。键盘的组成是用的微动开关,微动开关的特性是当有键按下时开关的两个引脚闭合导通。无按键时两个引脚是断开的状态。这样我们按下图3-4中左上角的键时P1.0和P1.7在物理上市导通了,其它的I/O口(P1.1P1.6)都处于独立的状态。这里我们用的方法是将4个行线的I/O口置为“0”(低电平)将列线的I/O口置为“
42、1”(高电平)。这样当有键按下某一行的I/O口就和某一列中的I/O口导通了,因为行线的口都是“0”(低电平)所以和行线导通的列线也将会变成“0”,而其余的列线因为开始时是“1”又没和其他的行线导通,所以依然是“1”。这样我们就可以找出了按键所在的列了。反过来确定行的位置也是一样的。3.4.2 CPLD显示电路单片机接受键盘的中断申请,不同的按键执行不同的功能,并将执行的结果在LCD上显示出来。在显示的时候,由于LCD 只接受相应字符的字形码,所以对于固定不变的提示信息和标题,LCD会将字型码存储在单片机ROM 的字库内。对于变化的数值的字型码,LCD则在显示以前通过查字库,将字库内存储的数字的
43、字型码复制到自己的存储单元,然后将自己的存储单元的字型码送入LCD显示缓存中显示。D7D0S数据的输入输出由单片机P2.0P2.7口控制,RS为数据选择信号由P3.0控制,E为读写使能端,高电平有效,下降沿锁定数据由P3.2控制,R/W为读写选择端,高电平:读数据,低电平:写数据,由单片机P3.1口控制。具体如图3.10所示。图3.10 LCD显示电路3.4.3 D/A转换电路将8路数字信号分别输入如图3.11所示的D/A转换电路,转换成模拟信号后通过转换电路输出反向稳定电压,提供模拟示波器的X,Y轴显示所需信号。图3.11 D/A转换电路3.4.4 硬件的抗干扰措施电源输入端跨接220UF的
44、电解电容。在关键元件中串入0.1UF的无感瓷片电容或者云母电容。布线时避免90度折线,减少高频噪声发射。尽可能把干扰源与敏感元件(如单片机)远离。布线时尽量减少回路环的面积,以降低感应噪声其次,布线时,电源线和地线要尽量粗。4 系统软件设计4.1 软件主要功能控制主CPU通过跟从CPU及AT24C04的串行通信从而来完成数据的传输和通信。主要完成数据的采集,存储,显示,系统变量的设置等功能。系统初始化是对系统所用到的变量、定时器、中断方式等进行设置。然后判断是否进行联机测试,是的话,系统开始串行通信,进行数据的传输。并进行系统参数设置即:设置门限电压,设置触发方式,设置时间轴位置。设置门限电压
45、:电压从(0.25V4V)16级变化,可以通过软件设定某个门限电压,就是将某个电压值设为标准,超过这个电压视为高电平,反之则为低电平。当连续依次捕捉到设定的3个触发字时,开始对被测信号进行一次采集、存储与显示,并显示触发点位置。3级触发字可任意设定(例如:在8路信号中指定连续依次捕捉到两路信号11、01、00作为三级触发状态字)。若符合要求,则立刻送示波器显示8路触发的波形。设置时间轴位置:就是在八路波形的某个垂直位置设置一条时间轴,可以将触发的波形存储在AT24C04中,实现了波形的存储。其流程图如图4.1所示。输出控制数据读取及处理Y输出初始化联机测试串行通信系统变量设置数据存储输入控制门
46、限电压选择X输出YN开始返回图4.1主要功能控制简图4.2 数据采集及显示流程图此CPU程序主要完成了键盘、显示功能。与主CPU进行串行通信,通过键盘可以设置各种参数,如可以设置触发字,当满足触发条件时进行触发并显示。如图4.2所示。N初始化联机调试键盘扫描显示扫描串行通讯 Y开始结束图4.2软件数据采集及显示流程图4.3 中断程序流程图中断服务子程序流程图如图4.3所示。判决满足触发条件送示波器显示采集恢复现场保护现场存储YN结束开始图4.3中断流程图4.4 电路保护流程图我们利用AT24C04对数据进行存储和掉电保护。与AT89C51连时,P3.5用作SDA线,P3.4用作SCL线。流程图
47、如图4.4所示相。开始信号检测总线忙否写操作初始化读操作应答信号YN停止信号开始返回图4.4掉电保护流程图总线协议:总线空闲:SCL和SDA都保持高电平。开始信号:SCL保持高电平的状态下,SDA出现下降沿。出现开始信号以后,总线被认为忙。停止信号:SCL保持高电平的状态下,SDA出现上升沿。停止信号过后,总线被认为空闲。总线忙:在数据传送开始以后,SCL为高电平的时候,SDA的数据必须保持稳定,只有当SCL为低电平的时候才允许SDA上的数据改变。5 系统测试5.1 测试仪器数字万用表,模拟示波器,直流稳压源5.2 测试方法5.2.1 数字信号发生器的测试(1)观察上电起始显示情况。用插线连接好电源,接好地,把CLK输出和P3.2各口的用插线接到示波器上,液晶屏幕上将显示欢迎信息和当前P3.2口循环输