简易逻辑分析仪研发设计与制作_第1页
简易逻辑分析仪研发设计与制作_第2页
简易逻辑分析仪研发设计与制作_第3页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1矚慫润厲钐瘗睞枥庑赖。 2聞創沟燴鐺險爱氇谴净。 2残骛楼諍锩瀨濟溆塹籟。 4酽锕极額閉镇桧猪訣锥。 5彈贸摄尔霁毙攬砖卤庑。 5謀荞抟箧飆鐸怼类蒋薔。 6厦礴恳蹒骈時盡继價骚。 8茕桢广鳓鯡选块网羈泪。 10鹅娅尽損鹌惨歷茏鴛賴。 10籟丛妈羥为贍债蛏练淨。 14預頌圣鉉儐歲龈讶骅籴。 15渗釤呛俨匀谔鱉调硯錦。 17铙誅卧泻噦圣骋贶頂廡。 18擁締凤袜备訊顎轮烂蔷。 18贓熱俣阃歲匱阊邺镓騷。 19坛搏乡囂忏蒌鍥铃氈淚。 19蜡變黲癟報伥铉锚鈰赘。 20買鯛鴯譖昙膚遙闫撷凄。 21綾镝鯛駕櫬鹕踪韦辚糴。 22驅踬髏彦浃绥譎饴憂锦。 24猫虿驢绘燈鮒诛髅貺庑。 24锹籁饗迳琐筆襖鸥娅薔。

2、24構氽頑黉碩饨荠龈话骛。 24輒峄陽檉簖疖網儂號泶。 26尧侧閆繭絳闕绚勵蜆贅。 26识饒鎂錕缢灩筧嚌俨淒。 27凍鈹鋨劳臘错痫婦胫籴。 28恥諤銪灭萦欢煬鞏鹜錦。简易逻辑分析仪的设计与制作刖言第1章绪论第1.1节 逻辑分析仪在数字科技中的地位 第1.2节 逻辑分析仪的发展状况 第2章系统分析第2.1节 逻辑分析仪的组成及工作原理 第2.2节 系统方案的选择与论证 第2.3节 系统总体方案框图 第3章系统硬件设计第3.1节CPU的选择与应用第3.2节 数字信号发生器模块的实现 第3.3节 主控系统模块的电路设计与实现 第3.4节功能实现模块第3.5节D/A转换电路第3.6节 硬件的抗干扰措施

3、 第4章系统软件设计第4.1节软件主CPU流程图第4.2节软件从CPU程序流程图 第4.3节 中断服务子程序流程图 第4.4节掉电保护流程图第5章系统测试第5.1节测试仪器第5.2节测试方法第5.3节误差分析结论参考文献致谢附录:部分源程序简易逻辑分析仪的设计与制作【摘要】:逻辑分析仪是一种新型的数字测试仪器。它应用于微机等数字系统的软件、 硬件调试,故障检查,性能分析等过程中。鯊腎鑰诎漣鉀沩懼統庫。本设计采用AT89C51单片机控制8路逻辑信号电平采集的简易逻辑分析仪设计。采 用AT89C2051控制系统实现一个数字信号发生器可预置8路信号工作,采集电路以5Kbit每秒的速率同时对8路逻辑信

4、号进行采样。逻辑信号门限电压通过键盘任意设定,信号采 集的触发等级、触发条件、触发位置由键盘设定。硕癘鄴颃诌攆檸攜驤蔹。【关键词】:逻辑分析仪;AT89C51 AT89C2051数字信号发生器Abstract: Logic analyzer is a new-style digital testing instrument. It is used in the test of software and hardware of digital system, such as micro-computer, fault-checked, an alyzi ng-performa nee阌擻輳嬪諫迁

5、择植秘騖。This paper introduces the design of the simple logic analyzer which acquisiti on of 8 routes sig nal level is con trolled through AT89C51 si ngle chip. The control system through AT89C2051 to realize a digital waveform generator scheduled 8 routes signal.5Kbit/s real-time sample rate of the acq

6、uisition circuit is faced to the 8 routes logic sig nal in the mean time. Threshold voltage of logic sig nal is set arbitrarily by keyboard, trigger rank, trigger condition and trigger location are set by keyboards嚕躑竄贸恳彈濾颔澩。Key words: logic analyzer; AT89C51; AT89C2051; digital waveform gen erators釷

7、鹆資贏車贖孙滅獅赘。刖言信息时代是数字化的时代,数字技术的高速发展,出现了以高性能计算机为核心的数 字通信、数字测量的数字系统。怂阐譜鯪迳導嘯畫長凉。在我们通信技术中开始是对模拟信号进行变换和传输,以后随着半导体器件的出现,使数字电路能大量地生产和应用,这样数字技术在通信中得到广泛应用和发展。人们将语 音和图象信号用数字技术变换成数字信号后,再在线路上进行传输。但是在近十年中由于 大规模集成电路技术的发展,生产了大容量的半导体存贮器、移位寄存器,以及广泛应用的微处理器芯片和许多支持芯片。在这些器件以及应用这些器件的电路和系统中采用数据 表示信息。谚辞調担鈧谄动禪泻類。这个数据可以是存贮器的地址

8、或该地址单元中所存放的内容,而这个内容可以是程序 中某条指令或要操作的数据。这些数据及其控制信号的其中一个特点就是它们都是逻辑信 号,可以表示为高电平或低电平,或表示为逻辑“1 ”或逻辑“0 ”,只有这两种状态。 所以我们在分析和检查这些逻辑信号时只关心它们的状态及其组合,而往往不必顾及其具体信号的大小和形状。数据信号的另一个特点就是它是由几个比特(bit )的逻辑状态来组成一个具体的数据字(word)。在数字通信中它们以串行方式进行传输,如以五位或七位代 码表示一个量值或控制信号。而在微处理器及计算机中则以8位、16位、32位并行通路上逻辑状态的组合代表一个数据字、一条指令等。数据信号的第三

9、个特点是逻辑信号往往 是随机的,非周期性信号,甚至是间歇出现的信号。嘰觐詿缧铴嗫偽純铪锩。传统的示波器往往比较适合观察周期性的重复出现的模拟信号或脉冲信号。但是对随 机的非周期信号是很难稳定同步的。而且在现有示波器中一般只有双踪交替扫描显示,所以它们不能观察显示多通道的并行逻辑状态。并且示波器是由被测信号的波形电平去触发 产生扫描来显示被测信号,它不能捕捉特定的数据字,不能由特定的地址或指令来进行触 发,以便观察显示相应的数据序列。一般示波器的第三个主要缺点是没有数据存贮能力,所以就不能捕捉和保存瞬刻即逝的信号。本文第一章主要是绪论,第二章讲系统的分析, 主要是方案的选择与论证,第三章是系统硬

10、件设计,第四章是系统软件设计,第五章主要 讲系统测试。 熒绐譏钲鏌觶鷹緇機库。第1章绪论第1.1节 逻辑分析仪在数字科技中的地位1.1.1. 数字科技对检测仪器的需求20世纪70年代以来,大规模集成电路、可编程逻辑器件、高速数据信号处理器和计 算机技术等高新技术得到迅猛发展,为解决数字设备、计算机及VLSI等电路在研制、生产、检修和维护中的测试问题,出现了一类新的测试设备。因为其被测系统的信息载体主 要是二进制数据流,为区别于频域或时域的测量,把这一类测试统称为数据域(DataDomai n)测试,即有关数字系统的测试称为数据域测试。以离散时间或事件出现的次序为 自变量,状态值为因变量的函数关

11、系属数据域范畴。因此数据信息是由状态空间概念、数 据格式和数据源构成的。它与频域或时域的信息不一样,具有以下一些特征:鶼渍螻偉阅劍鲰 腎邏蘞。(1) 数字信息几乎都是多位传输的。(2) 数字信息是按时序传递的。(3) 许多信号仅发生一次。有些信号虽然可以重复发生,但是它们是非周期性的。(4) 造成系统出错的误码常混在一串正确的数据流中,实际上只有错误已经发生以后 才能辨认出来。(5) 信号的速度变换范围很大(如高速运行的主机和低速的外围设备)。显然,对数字系统的检测不可能象对模拟系统那样。用示波器及一般的电子测量仪器是难以观察和测量 数字信息的。以上特点决定了对数字系统基本的检测要求:纣忧蔣氳

12、頑莶驅藥悯骛。a、 跟踪与分析状态数据流。这是对数字系统进行功能分析所必须的基本测量。跟踪状 态流需要利用地址总线,最好同时也能观察数据总线,以便分析总线的全面工作情况。由 于有的总线是复用的,因此要求测量时有选择数据的能力。颖刍莖峽饽亿顿裊赔泷。b、为了监视数据线上的数据流,需要设置一个观察参考点,由它来决定需要捕获的 对分析有意义的那部分数据。c、 分析异步总线时,需要了解各信号状态序列和每个信号在给定状态的持续时间, 以 便判定系统是否按正确的时序运行。这要求能分析信号状态之间的时间关系。濫驂膽閉驟羥闈 詔寢賻。d、来自系统内部或外界的干扰及毛刺常引起硬件出错,这样就需要捕捉干扰或毛刺,

13、 并把它们显示出来。1.1.2. 逻辑分析仪介绍逻辑分析仪是用来分析数字系统逻辑关系的一种仪器。它属于总线分析仪一类的数据域测试仪器,它主要用于查找总线(或多线)相关性故障。銚銻縵哜鳗鸿锓謎諏涼。对于数据域的测试,逻辑分析仪是最典型的测试仪器。它一方面是分析数字系统和计 算机软、硬件最有力的工具,另一方面它本身又与微计算机紧密结合起来,产生了多种智 能逻辑分析仪和个人仪器型的逻辑分析仪插件。有些逻辑分析仪还与计算机开发系统、仿 真器、数字电压表和示波器等结合起来,构成完善的仪器系统。有些先进的逻辑分析仪可 以同时检测几百路的信号,还拥有灵活多样的触发方式,可以方便的在数据流中选择感兴 趣的观测

14、窗口。逻辑分析仪还能观测触发前和触发后的数据流,具有多种便于分析的显示 方式。目前逻辑分析仪已成为设计,调试和检测维修复杂数字系统,计算机和微机化产品 的最有力工具。挤貼綬电麥结鈺贖哓类。逻辑分析仪按其工作特点,可分为两大类:逻辑状态分析仪(Logic State Analyzer,简 称LSA)和逻辑定时分析仪(Logic Timing Analyzer,简称LTA)。两类分析仪的基本结构 是相似的,主要区别在于显示方式和定时方式上。赔荊紳谘侖驟辽輩袜錈。逻辑状态分析仪主要用来监测数字系统的工作程序,并用“0”或“ 1”来显示被测系统的逻辑状态,以便对系统进行状态分析。其状态数据的采集是在被

15、测系统的时钟下实现 的,即逻辑状态分析仪与系统是同步工作的。这能有效地解决程序的动态调试问题,因此,逻辑状态分析仪主要用于系统的软件测试。塤礙籟馐决穩賽釙冊庫。逻辑定时分析仪主要用来显示各通道的逻辑波形,特别是各通道之间波形的时序关 系。为了能显示出这种时序关系,在逻辑定时分析仪中应提供采样时钟,即所谓内部时钟,来控制数据的采集。一般采集数据的内部时钟频率应该是被测系统时钟频率的510倍。因此,从上面的描述可以看出,逻辑定时分析仪与被测系统是异步工作的,主要用于系统 的硬件测试,它能检测出系统的工作时序及各种不正常的毛刺脉冲。裊樣祕廬廂颤谚鍘芈蔺。1.1.3. 逻辑分析仪在数据域测试中的应用逻

16、辑分析仪是一种主要的通用数据域测试仪器。逻辑分析仪在计算机、自动测试系统、 IC设计、智能仪器、数据通讯以及自动控制等数字系统中,用于硬件逻辑、时序和软件 运行情况的研究、分析、测试和故障诊断,是新产品开发和系统维护必不可少的工具。仓嫗盤紲嘱珑詁鍬齊驚。在软件方面,特别是象冲突、存储器泄漏和栈溢出等这些实时软件问题是很难诊断的, 因为它们只有系统在某一速度运行时才出现。逻辑分析仪具有很大存储深度的特性,可以 用长时间间隔“实时跟踪”方法来找到问题根源。因而,逻辑分析仪具有实时跟踪记录程 序的能力而无须停止运行。 绽萬璉轆娛閬蛏鬮绾瀧。在硬件方面,嵌入式硬件设计者在系统开发中试图找出不明显的实时

17、硬件问题是很难 的,这些问题包括:逻辑错、逻辑电平违例、噪声超限、串扰、总线竞争、匹配电阻错、 时钟漂移、时序超差或违例、建立保持时间违例和毛刺。逻辑分析仪为实时监视、捕捉和分析硬件操作提供了一种解决方法。现在,逻辑分析仪已经成为国际上最通用的电子测量 仪器之一。骁顾燁鶚巯瀆蕪領鲡赙。第1.2节 逻辑分析仪的发展状况逻辑分析仪是一种常见的电子测量仪器,是数字域分析仪器的典型代表,它的主要功 能是测量数字电路中的逻辑波形及逻辑关系。目前,它在数字域内解决问题的能力已使它 的应用处于与示波器并列的位置。前者用于解决数字域检测问题,后者则用于解决模拟信 号的检测问题。逻辑分析技术的发展可以由逻辑分析

18、仪的发展来展示。瑣钋濺暧惲锟缟馭篩凉。逻辑分析仪最早被构思为“数字示波器”,由多线示波器的设计思路发展而成。自1973年美国HP公司和Biomation公司几乎同时研制出了第一代逻辑分析仪, 迄今为止已 经经历了四代。第一代产品速度低、功能简单,具有基本触发功能和简单显示方式;第二 代产品在触发功能和显示方式上作出了较大改进,以便适应微机软、硬件分析的需要;第 三代产品实现微机化,将定时分析和状态分析结合在一起,便于软、硬件交互分析,功能 日臻完善;第四代产品构成功能完善的仪器系统,不仅包含了早期的逻辑分析仪功能,还 扩充了特征分析仪和嵌入式开发系统等功能。目前逻辑分析仪的市场主要由外国产品占

19、主 导地位,核心技术掌握在如美国的 Agile nt、Tektro nix等大公司手中。例如Tektro nix公司 的TLA7Q4产品,具有136通道,2GHz定时速率,100MHz状态速率,64M内存深度。 其功能齐全,结构复杂,技术要求高,但价格也相当昂贵。我国在80年代初,也开始了逻辑分析仪方面的研制、生产。鎦诗涇艳损楼紲鯗餳類。20世纪80年代后期,逻辑分析仪变得更加复杂,当然使用起来也就更加困难。例如, 引入多电平树形触发,以应付条件语句如IF、THEN、ELSE等复杂事件。这类组合触发必 然更加灵活,同时对大多数用户来说就不是那样容易掌握了。今天的逻辑分析仪提供几百 个工作在20

20、0MHz频率上的通道信号连接就是个现实问题。适配器、夹子和辅助爪钩等多 种多样,但是最好的办法的是设计一种廉价的测试夹具,逻辑分析仪直接连接到夹具上, 形成可靠和紧凑的接触。栉缏歐锄棗鈕种鵑瑶锬。第2章系统分析第2.1节 逻辑分析仪的组成及工作原理逻辑分析仪主要由探头和主机部分构成。主机部分又由输入比较器、存储器、时钟电 路、触发电路、控制部分以及键盘、鼠标、显示器等部分组成。根据需要同时测试的信号 数量可以选择不同通道数的主机和探头,根据需要测试信号的快慢可以选择不同采样速率 的主机和不同带宽的探头。逻辑分析仪的主要结构如图 2-1 :辔烨棟剛殓攬瑤丽阄应。图2-1逻辑分析仪的结构(1) 、

21、探头用于连接被测信号和逻辑分析仪主机,根据具体应用可以配备不同的探头连接器形式。典型的探头有Mictor探头、飞线探头、Soft touch等。有单端探头也有差分探头。探 头是通过电缆连接到逻辑分析仪主机的。峴扬爛滾澗辐滠兴渙藺。(2) 、输入比较器用于和输入信号比较,产生数字0、1的比较结果。输入比较器的比较阈值可调,因此可以适应不同电平标准的电路。詩叁撻訥烬忧毀厉鋨骜。(3) 、存储器用于存储比较器的比较结果,并送给控制部分做数据处理和显示。存储器越深,一次记录的波形时间越长。存储器的深度通常用点数来表示,一般指每通道的存储点数,也有 些厂家指所有通道总共的存储点数。则鯤愜韋瘓賈晖园栋泷。

22、、时钟电路根据需要选择外部时钟或者内部时钟对输入信号进行采集和存储。根据采样时钟的来 源不同,逻辑分析仪可以有两种工作模式。当使用内时钟时叫Timing模式,也叫异步分析,通常用于电路的时序关系分析,Timing模式通常要求采样时钟是被测信号速率的 5 10倍才能有比较好的显示效果;当使用外时钟时叫State模式,也叫同步采样,采样时钟一般来源于被测电路的工作时钟,通常用于电路的功能性分析,State模式下采样时钟一般和被测信号的数据速率一样(也可以双边沿采样)。胀鏝彈奥秘孫戶孪钇賻。(5)、触发电路、控制部分、键盘/鼠标、显示器触发电路跟据输入数据的特定信息进行触发,控制数据采集、处理、显示

23、过程的开始 和结束。逻辑分析仪的触发可以设置得非常复杂,可以分为很多步,每步可以有分支,步 与步之间还可以相互跳转,因此可以做非常复杂的数字电路的调试。鳃躋峽祷紉诵帮废掃減。控制这部分主要由CPU系统构成,用于对采集到的数据进行分析、处理和显示。键盘用于操作和控制逻辑分析仪。显示器用于显示采集到的原始数据和分析结果。第2.2节系统方案的选择与论证2.2.1. 数字信号发生器模块方案一:采用555定时器和可预置移位寄存器。用 74LS194A接成8位可预置循环移 位寄存器,方波发生器提供一时钟信号给移位寄存器,预置数用 8个波段开关接入(即循 环序列)。此方案简单可靠,但信号频率不易更改,硬件复

24、杂,不易扩展。 稟虛嬪赈维哜妝扩踴粜。方案二:用PC通过软件编程可以从并行口输出信号波形,不需要硬件电路,且设计 灵活,但是不适合电子设计竞赛,并且 PC体积大,携带不方便。 陽簍埡鮭罷規呜旧岿錟。方案三:采用中规模FPGA,使用VHDL语言设计移位寄存器。此方案可以实现精确 定时产生信号,且信号频率可调,体积小,但其显示电路占用资源多,这样设计出来的电 路系统将大且复杂。沩氣嘮戇苌鑿鑿槠谔應。方案四:采用一片AT89C2051单片产生波形序列。用单片机产生数字信号,设计简单, 设置灵活,频率调节方便,并且易扩展其他功能,有它独到之处!钡嵐縣緱虜荣产涛團蔺。综合分析上述各方案,比较其优缺点,包

25、括灵活性、可靠性、可扩展性和易操作性, 所以选用方案四。2.2.2. 主体控制模块系统主体控制模块包括最小系统和数字信号处理控制模块。该模块是硬件电路的核心,有如下两个方案。方案一:以8031单片机为核心。但8031无片内ROM,需外扩EPROM (例如27526) 作为程序存储器。这样会增加电路的复杂性。懨俠劑鈍触乐鹇烬觶騮。方案二:采用AT89C51单片机为主控制核心的双 CPU串行通信方式。AT89C51芯片, 其内部含有可重复编程的FLASH ROM,,可进行1000次檫除操作,在设计调试过程中可 十分容易进行程序的修改,达到最佳的设计。利用存储器(EEPROM)实现掉电存储功能。 从

26、CPU系统即以89C2051为主的显示模块的控制。数字信号处理模块主要是D/A转换器件的选择,我们选用性能优良的 DAC0832作为主控器件。 謾饱兗争詣繚鮐癞别濾。系统主体控制模块如图2-2所示:E E P R O M图2-2系统主控模块方案二硬件简单,软件实现方便,大大提高了系统的设计性能。故采用方案二。2.2.3. 信号检测模块信号检测模块主要用来提高输入阻抗,并设置逻辑电平的门限电压。方案一:电阻分压,利用电阻网络把电压分级作为触发门参考电压,用模拟开关4067在把每个通道的信号和这个参考电压用电压比较器来比较,判断输入信号高低,输入单片 机处理。呙铉們欤谦鸪饺竞荡赚。方案二:采用D/

27、A和比较器实现。单片机控制 D/A的输出,作为比较器的参考电压, 即可改变门限电压。与方案一比具有精确可调的优点。故选方案二。莹谐龌蕲賞组靄绉嚴减。2.2.4. 用户接口模块用户接口模块包括显示,键盘等几个部分。方案一:本方案采用8279可编程接口芯片来实现系统的键盘/显示器扩展功能,降低了 电路的复杂度,提高了系统的稳定性及可靠性。8279能自动完成键盘输入和显示控制两种 功能。键盘控制部分提供一种扫描工作方式,可与64个按键的矩阵键盘或传感器连接,能对 键盘进行自动扫描、自动消抖、自动识别出按下的键并给出编码,能同时按下双键或N键实行保护,其接收键盘上的输入信息存入内部 FIFO缓冲器,并

28、可在有键输入时向CPU请求 中断。8279提供了按扫描方式工作的显示接口 ,其内部有一个显示缓冲器,能对8位或16位LED自动进行扫描,将显示缓冲器的内容在LED上显示出来。如图2-3所示: 麸肃鹏镟轿騍镣缚 縟糶。銣腻鰲锬。图2-3用户接口模块方案二:由单片AT89C2051控制8个共阳数码管、8个按键构成动态显示模块。由于 具有RS-232接口,易于与某些基于虚拟仪表技术的仪器主板相连,使其脱机工作,成为 便携仪表,方便了使用;与专用键显接口芯片8279相比,价廉;采用串行方式与主控单片机交换信息,硬件及工艺设计简单,抗干扰能力强;可承担键显及其他信息处理功能, 实现了键显智能化,从而使主

29、机软件设计所考虑的因素减少,程序结构得以简化。方案如 图2-4所示:風撵鲔貓铁频钙蓟纠庙。图2-4动态显示模块方案三:LCD液晶显示。例如采用 COM12864液晶显示模块可以显示各种字符及图 形,可与CPU系统直接接口,具有8位标准数据总线、6条控制线及电源线,接口电路简 单,控制方便。方案三在显示功能的实现上优于方案一、方案二,故采用方案三。灭暧骇諗鋅猎輛觏馊藹。第2.3节系统总体方案框图经过仔细地论证与比较,我们确定了系统的各个主要模块的最终的可行方案,系统总体原理框图如图2-5所示:图2-5系统总体原理框图第3章系统硬件设计本文的信号发生器的硬件结构主要是由以下几个部分组成的:系统主控

30、模块AT89C51、数字信号发生模块、D/A转换模块、键盘输入模块、LCD显示模块。 攙閿频嵘陣澇諗谴隴泸。第3.1节CPU的选择与应用3.1.1. 单片机概述所谓单片机,即把组成微型计算机的各个功能部件,如中央处理器CPU、随机存储器RAM、只读存储器ROM、输入/输出接口电路、定时器/计数器以及串行通信接口等集成在 一块芯片中,构成一个完整的微型计算机。因此单片机早期的含义为单片微型计算机(single chip microcomputer),直接译为单片机,并一直沿用至今。趕輾雏纨颗锊讨跃满賺。由于单片机面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是 应控制领域应用的要

31、求而诞生的。随着单片机技术的发展,它在芯片内集成了许多面对测 控对象的接口电路,如 ADC、DAC、高速I/O 口、PWM、WDT等。这些对外电路及外设 接口已经突破了微型计算机(microcomputer)传统的体系结构,所以更为确切反映单片机 本质的名称应是微控制器。夹覡闾辁駁档驀迁锬減。单片机是单芯片形态作为嵌入式应用的计算机,它有惟一的、专门为嵌入式应用而设 计的体系结构和指令系统,加上它的芯片级体积的优点和在现场环境下可高速可靠地运行 的特点,因此单片机又称之为嵌入式微控制器(embedded micro controlle)。但是,在国内 单片机的叫法仍然有着普遍的意义。我们已经把

32、单片机理解为一个单芯片形态的微控制 器,它是一个典型的嵌入式应用计算机系统。目前按单片机内部数据通道的宽度,把它们 分为4位、8位、16位及32位单片机。 视絀镘鸸鲚鐘脑钧欖栃。单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数 据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、 全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自 动控制领域的机器人、智能仪表、

33、医疗器械了。单片机广泛应用于仪器仪表、家用电器、 医用设备、航空航天、专用设备的智能化管理及过程控制等领域。偽澀锟攢鴛擋緬铹鈞錠。3.1.2. 设计采用芯片及其引脚介绍根据第二章的方案论证与选择, 本设计主要采用芯片 AT89C51,AT89C2051QAC8032 等设计构成简易逻辑分析仪。其芯片图及引脚介绍如下所示。緦徑铫膾龋轿级镗挢廟。(1) 、芯片AT89C51及其引脚AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM Flash第10页Programmable and Erasable Read Only Memory 的低电压,高性能 CMOS8 位微处理器。其

34、 内部含有128字节的RAM、32个可编程I/O 口线、两个16为定时/计数器、一个五向量两 级中断结构、一个全双工串行通信口、片内振荡器及时钟电路,同时,AT89C51可降至0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。如图 3-1所示。騅憑钶銘侥张礫阵轸蔼。图 3-1 AT89C51PIPL巩PIPL巩PIPLP0 口: P0 口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL门电流。当P1 口的 管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义 为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时, P0

35、输出原码,此时P0外部必须被拉高。 疠骐錾农剎貯狱颢幗騮。P1 口: P1 口是一个内部提供上拉电阻的8位双向I/O 口, P1 口缓冲器能接收输出4TTL 门电流。P1 口管脚写入1后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平 时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1 口作为第八位地址接收。 镞锊过润启婭澗骆讕濾。P2 口: P2 口为一个内部上拉电阻的8位双向I/O 口,P2 口缓冲器可接收,输出4个 TTL门电流,当P2 口被写“ 1”时,其管脚将会被内部上拉电阻拉高,且作为输入。并因 此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由

36、于内部上拉的缘故。P2 口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2 口输出地址的高八位。 在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。P2 口在FLASH编程和校验时接收高八位地址信号和 控制信号。榿贰轲誊壟该槛鲻垲赛。P3 口: P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TTL门电流。 当P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉 为低电平,P3 口将输出电流(ILL )这是由于上拉的缘故。邁茑赚陉宾呗擷鹪讼凑。RST:复位输入。当振荡器复

37、位器件时,要保持 RST脚两个机器周期的高电平时间。ALE/PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。/PSEN:外部程序存储器的选通信号。/EA/VPP :当/EA保持低电平时,贝U在此期间外 部程序存储器(OOOOH-FFFFH),不管是否有内部程序存储器。 XTAL1 :反向振荡放大器 的输入及内部时钟工作电路的输入。 XTAL2 :来自反向振荡器的输出。嵝硖贪塒廩袞悯倉華糲。(2) 、芯片AT89C2051引脚介绍AT89C2051是一带有2K字节闪速可编程可擦除只读存储器(EEPROM)的低电压, 高性能8位CMOS微处理器。它采用 ATMEL的高

38、密非易失存储技术制造并和工业标准 MCS-51指令集和引脚结构兼容。通过在单块芯片上组合通用的CPLI和闪速存储器,ATMEL的AT89C2051是一强劲的微型处理器,它对许多嵌入式控制应用提供一定高度灵 活和成本低的解决办法。其芯片图如图 3-2所示。该栎谖碼戆沖巋鳧薩锭。1502愴3ia4175ifia帖714e139131011PDIP/SOICRST/VPP C 田mi pact: (TW1 P3 1 EXTAL1 C(iHTlJ P3.3Cnoo円卫c (T和帕yGND C vcc Pl 7 Pl 61 Pl 6 FM3 Pl 3 P15J Pl.l"10 (AlMQ) r

39、a?AT&9C2051图 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用作输入并被外部拉低时,它们将因内部 的写入“1”时,其可用作输入端。当引脚 P1.2P1.7用作输入并被外部拉低时,它们将因 内部的上拉电阻而

40、流出电流。劇妆诨貰攖苹埘呂仑庙。P3 口: P3 口的P3.0P3.5 P3.7是带有内部上拉电阻 的七个双向I/O 口引脚。P3.6 用于固定输入片内比较器的输出信号并且它作为一通用I/O引脚而不可访问。P3品缓冲器可吸收20mA电流。当P3 口写入“ 1”时,它们被内部上拉电阻拉高并可用作输入端。用 作输入时,被外部时拉低的P3 口脚将用上拉电阻而流出电流。下表3-1是P3 口引脚作用。臠龍讹驄桠业變墊罗蘄。引脚口功能P3.0RXD串行输入端口P3.1TXD串行输入端口P3.2INT0外中断0P3.3INT1外中断1P3.4T0定时器0外部输入P3.5T1定时器1外部输入表3-1 P3 口

41、引脚作用P3 口还接收一些用于闪速存储器编程和程序校验的控制信号。RST:复位输入。RST 旦变成高电平所有的I/O引脚就复位到“ T。当振荡器正在 运行时,持续给出RST引脚两个机器周期的高电平便可完成复位。每一个机器周期需12个振荡器或时钟周期。鰻順褛悦漚縫輾屜鸭骞。XTAL1 :作为振荡器反相器的输入和内部时钟发生器的输入。XTAL2 :作为振荡器反相放大器的输出。性能指标和MCS-51产品兼容;2KB可重编程FLASH存储器(10000次);2.7-6V电压范围; 全静态工作:0Hz-24MHz ; 2级程序存储器保密锁定;128*8位内部RAM ; 15条可编程I/O 线;两个16位

42、定时器/计数器;6个中断源;可编程串行通道;高精度电压比较器(P1.0, P1.1, P3.6);直接驱动LED的输出端口。 穡釓虚绺滟鳗絲懷紆泺。(3)、芯片DAC083勿脚介绍DAC0832的芯片如图3-3所示。3IEAGND亍杞D3XFERD2D4D1DiD0D6VKEFD7RTBIOUTDGNDIOUT2:rTT1411图 3-3 DAC0832DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个 DA芯片以 其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A 转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构

43、成。隶 誆荧鉴獫纲鴣攣駘賽。DAC0832的主要特性参数如下:分辨率为8位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量 程下调整其线性度;单一电源供电(+5V+15V);低功耗,200mW。浹繢腻叢着駕骠構砀湊。DAC0832 结构:D0D7 :数字信号输入端。ILE :输入寄存器允许,高电平有效。CS:片选信号,低电平有效。WR1:写信号1,低电平有效。XFER :传送控制信号,低电平有效。WR2:写信号2,低电平有效。I0UT1、IOUT2 : DAC 电流输出端。Rfb :是集成在片内的外接运放的反馈电阻。Vref :基准电压(-1010V)。Vcc :是源电压(+5

44、+15V )。AGND :模拟地 NGND :数字地,可与 AGND接在一起使用。DAC0832的工作方式:根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种 工作方式:直通方式、单缓冲方式和双缓冲方式。鈀燭罚櫝箋礱颼畢韫粝。第3.2节 数字信号发生器模块的实现数字信号发生器由8路信号产生电路、循环移位寄存器、100Hz时钟产生电路和逻辑 信号输出部分构成。在这里使用一片小单片机 AT89C2051作为信号发生器,通过8路开关 设置循环移位元逻辑信号序列,输入 AT89C2051的P1 口,由2051内部定时在P3.7产生 100Hz的时钟信号,在P3.2输出

45、预置波形,通过移位寄存器 74HC164产生8路循环移位 元信号。如图3-4所示。 惬執缉蘿绅颀阳灣愴鍵。100Hz时钟图3-4数字信号发生模块其硬件电路连接图如下图3-5所示。图3-5数字信号发生硬件电路图第3.3节主控系统模块的电路设计与实现该模块主要由最小系统和信号采集处理电路组成。最小系统由一片AT89C51、一片AT89C2051及一片EEPROM(AT24C04)构成,其部分硬件连接图,如图 3-6所示。嚌鳍级厨胀鑲铟礦毁蕲。图3-6取小系统逻辑分析仪的信号采集是在时钟作用下按节拍进行的,时钟信号采用外部输入。本设计 信号采集处理电路由运放 LM324组成的D/A电阻网络组成,八路

46、输入信号通过电压比较 器LM324和D/A转换器DAC0832提供的基准电压作比较后,作为存储单片的输入,8路信号接入LM324同相输入端,可以获得较大阻抗。如图 3-7所示。薊镔竖牍熒浹醬籬铃騫。li II4L图3-7信号采集处理电路该模块的设计思路是:由双CPU系统控制对数字信号发生器输出的数字信号进行采样 存储,再经过一系列的信号处理,在模拟示波器上复现出来。从模拟示波器波形显示原理 可知,只要在丫轴(纵轴)输入一个电压信号,同时在 X轴(横轴)加上一个同频的锯齿 波扫描电压,便可在示波器上复现电压信号的波形。为此必须设计相应的X、丫的输出电压信号。本设计在单片机的控制下,经数模转换电路

47、D/A分别向示波器的X,丫轴输出锯齿波同步信号、被采样波形信号,以复现被采样存储的波形。在这,根据设计要求(8路信号通道,包括8位X通道和8位丫通道,)我们采用有8位输出通道、两级锁存控制功 能、能够实现多通道D/A的同步转换输出的DAC0832芯片。由此可知该模块的工作原理 如下:齡践砚语蜗铸转絹攤濼。单片机控制程序先向丫轴输入被采样存储在RAM中的波形数据,经DAC0832内部 的D/A电阻网络生成阶梯波,选通丫轴DAC0832中的第1锁存器并被锁存;向X轴送入 对应的锯齿波数据(该数据是由 D/A生成的阶梯波经一个LM324组成的低通滤波器滤波 后,再送入LM324构成的电压跟随器而转换

48、出锯齿波。但是实践证明,通过这种方式生 成的波形并不理想。为了得到理想的锯齿波,我们一改常规思维,着手从软件的角度考虑, 我们要将阶梯波转换成锯齿波,可以增加阶梯数,减小阶梯幅度,当离散的数字量增加到 一定量时可以近似看成模拟量,如图3-8所示。),这个写信号选通X轴DAC0832中的第1 锁存器;然后通过向外部存储器写数据指令产生的译码信号DAC X+Y,将在X,丫轴第1锁存器锁存的数据与100HZ的时钟信号同步送出并进行 D/A转换,再将转换结果送 到示波器,从而达到在示波器上显示波形的目的。绅薮疮颧訝标販繯轅赛。第3.4节功能实现模块341.按键实现电路本设计采用4X 4标准的行列键盘,

49、通过8个I/O 口控制16个键,采用线反转法行列 键盘扫描。在单片机系统中为了扩大同一个I/O 口的键盘个数,则采用了行列式键盘接法, 就是交叉相接。如图3-9所示: 饪箩狞屬诺釙诬苧径凛。S1g gS2_S3S4m_12-日01H*: 门135-7_1-rer?-A13|1415列4列3列2列11819T2/P1.0T2/EX/P1.1P1.2P1.3P1.4P1.5P1.6P1.7RESETP3.0(RXD)P3.1(TXD)P3.2(INT0)P3.3(INT1)P3.4(T0)P3.5(T1)P3.6(WR)P3.7(RD)P0.0(AD0)P0.1(AD1)P0.2(AD2)P0.3

50、(AD3)P0.4(AD4)P0.5(AD5)P0.6(AD6)P0.7(AD7)EA/VPPALE/PROGPSENP2.7(A15)P2.6(A14)P2.5(A13)P2.4(A12)P2.3(A11)3938XTAL2XTAL1P2.2(A10)P2.1(A9)P2.0(A8)23AT89S52图3-9按键电路键盘接的前4个I/O 口为行接线,后4个为列接线。这样的接法就构成了一个坐标,每个键都对应这一个行的位置和一个列的位置。例如我们说左上角的那个所对应第1行和第4列,即单片机P1.0和P1.7两个I/O 口。键盘的组成是用的微动开关,微动开关的特性 是当有键按下时开关的两个引脚闭合

51、导通。无按键时两个引脚是断开的状态。这样我们按 下图3-4中左上角的键时P1.0和P1.7在物理上市导通了,其它的I/O 口( P1.1P1.6) 都 处于独立的状态。这里我们用的方法是将4个行线的I/O 口置为“ 0”(低电平)将列线的I/O 口置为“1”(高电平)。这样当有键按下某一行的I/O 口就和某一列中的I/O 口导通了, 因为行线的口都是“ 0”(低电平)所以和行线导通的列线也将会变成“ 0”,而其余的列线 因为开始时是“1”又没和其他的行线导通,所以依然是“ 1”。这样我们就可以找出了按 键所在的列了。反过来确定行的位置也是一样的。烴毙潜籬賢擔視蠶贲粵。3.4.2. LCD显示电

52、路LCD单片机接受键盘的中断申请,不同的按键执行不同的功能,并将执行的结果在上显示出来。在显示的时候,由于 LCD只接受相应字符的字形码,所以对于固定不变的 提示信息和标题,LCD会将字型码存储在单片机ROM的字库内。对于变化的数值的字型 码,LCD则在显示以前通过查字库,将字库内存储的数字的字型码复制到自己的存储单元, 然后将自己的存储单元的字型码送入 LCD显示缓存中显示。D7D0S数据的输入输出由 单片机P2.0P2.7 口控制,RS为数据选择信号由P3.0控制,E为读写使能端,高电平有 效,下降沿锁定数据由P3.2控制,R/W为读写选择端,高电平:读数据,低电平:写数据, 由单片机P3

53、.1 口控制。具体如图3-10所示。 鋝岂涛軌跃轮莳講嫗键。1LTWLDP13Pltf Pl? TtEEJTpi jcrapiP3-3IHTL)Pi-MUI P3-6CWBLJPD.ICXDl Pg呦iPQjKXT叩HfjALJj Fad|AL4 Pl WLI陌4YTAL3FJJ|AL1LT1M图3-10 LCD显示电路第3.5节D/A转换电路将8路数字信号分别输入如图3-11所示的D/A转换电路,转换成模拟信号后通过转 换电路输出反向稳定电压,提供模拟示波器的X,Y轴显示所需信- 号。 撷伪氢鱧轍幕聹諛詼庞。第3.6节 硬件的抗干扰措施、配置去耦电容。电源输入端跨接 220UF的电解电容。在

54、关键元件中串入 0.1UF的 无感瓷片电容或者云母电容。电容引线尽量短,减少高频带来的影响。踪飯梦掺钓貞绫賁发蘄。(2)、其次,尽量加粗地线第4章系统软件设计第4.1节软件主CPU流程图主CPU通过跟从CPU及AT24C04的串行通信从而来完成数据的传输和通信。 主要完 成数据的米集,存储,显示,系统变量的设置等功能。婭鑠机职錮夾簣軒蚀骞。系统初始化是对系统所用到的变量、定时器、中断方式等进行设置。然后判断是否进 行联机测试,是的话,系统开始串行通信,进行数据的传输。并进行系统参数设置即:设 置门限电压,设置触发方式,设置时间轴位置。设置门限电压:电压从(0.25V 4V) 16级变化,可以通

55、过软件设定某个门限电压,就是将某个电压值设为标准,超过这个电压视 为高电平,反之则为低电平。设置两种不同的触发方式即:单级触发还是三级触发,先选 择是何种触发方式,若是单级触发,设置单级触发字,若符合要求,则送示波器显示8路触发的波形。若是三级触发。即当连续依次捕捉到设定的3个触发字时,开始对被测信号进行一次采集、存储与显示,并显示触发点位置。3级触发字可任意设定(例如:在 8路信号中指定连续依次捕捉到两路信号 11、01、00作为三级触发状态字)。若符合要求,则 立刻送示波器显示8路触发的波形。设置时间轴位置:就是在八路波形的某个垂直位置设 置一条时间轴,可以将触发的波形存储在AT24C04

56、中,实现了波形的存储。其流程图如图 4-1所示。 譽諶掺铒锭试监鄺儕泻。第4.2节 软件从CPU程序流程图此CPU程序主要完成了键盘、显示功能。与主 CPU进行串行通信,通过键盘可以设置各种参数,如可以设置触发字,当满足触发条件时进行触发并显示。如图4-2所示。缜電怅淺靓蠐浅錒鵬凜。图4-2从CPU流程图第4.3节 中断服务子程序流程图中断服务子程序流程图如图4-3所示。图4-3中断流程图第4.4节掉电保护流程图我们利用AT24C04对数据进行存储和掉电保护。与 AT89C51相连时,P3.5用作SDA 线,P3.4用作SCL线。流程图如图4-4所示。骥擯帜褸饜兗椏長绛粤。图4-4掉电保护流程图总线协议:总线空闲:SCL和SDA都保持高电平。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论