1第一章数字技术概论引言数字技术是数字电子技术发展为基础与计算机技术相伴相生的科学技术,包括硬件技术和软件技术。数字电子技术中的硬件技术主要研究用于数字处理的电子器件及其应用电路。而软件技术用于处理数字电路的逻辑关系,其基础是数字逻辑以及编码和译码。采用数字技术的计算机技术被广泛地应用于广播、电视、通信、医学、测量和控制等方面。由于数字技术表征的信息采用对立的二进制逻辑状态,所以采用数字技术传递、加工和处理二值信息不易受外界干扰,而抗干扰能力强。基于数字电子技术的数字信号具有便于存储、保密性好,通用性强等特点,使得许多传统使用模拟技术的领域转而运用数字技术,如数字高清电视和数码相机等。数字技术的发展可以概括两个方向,一个是硬件集成技术,另一个是软件设计技术。而且,硬件集成技术与软件设计技术的界限越来越模糊,硬件设计软件化的趋势越来越明显。因此从技术角度讲,不仅要掌握数字技术的基本概念、基本电路、基本逻辑运算,掌握设计硬件的常用设计软件以及硬件描述语言是必要的。1.1数字逻辑基础1.1.1数字信号与数字电路1.数字技术定义随着计算机的出现和普及,社会进入了一个信息时代。信息时代是以信息量,信息传播的速度,信息处理的速度以及应用信息的程度为标志的一个时代,信息对整个社会的影响逐步提高到一种绝对重要的地位,而将信息确立为社会主导地位的主要载体就是计算机。计算机的影响已遍及人类生活的各个领域,掀起了一场“数字革命”。计算机及其相关技术是数字技术的典型应用。数字技术(DigitalTechnology)是一项与电子计算机相伴相生的科学技术,它是指借助一定的设备将各种信息,包括、图、文、声、像等,转化为电子计算机能识别的二进制数字“0”和“1”后进行运算、加工、存储、传送、传播、还原的技术。由于在运算、存储等环节中要借助计算机对信息进行编码、压缩、解码,因此也称为数码技术。那么,从技术的角度看,数字技术是如何实现的呢?它能识别的二进制数字“0”和“1”是怎样的信号呢?用什么样的电路来实现呢?本书将要逐步解答这些问题。在自然界中,有一类物理量是连续变化的,如温度、压力、流量等,能连续变化的2物理量叫模拟量。还有一类物理量是不连续变化的,如按整点时间纪录温度值而得到的数据就是不连续的,或者说在时间上和数量上都是离散的,我们把这类物理量叫数字量。表示数字量的电信号叫数字信号,并把处理数字信号的电路叫数字电路。一般来说,数字电路是由逻辑门电路构成的,逻辑门电路是数字电路的基本单元。逻辑门电路是由二极管、三极管构成的,而且二极管、三极管(BJT、FET)处于开关状态,时而导通,时而截止,构成电子开关,于是,数字电路又叫开关电路。如果将这些门电路集成在一片半导体芯片上就构成数字集成电路,数字电路的发展历史与模拟电路一样,都是经历了由电子管、半导体分立器件到集成电路的过程。由于集成电路的发展非常迅速,很快占有主导地位,因此,数字电路主流形式是数字集成电路。现在使用的数字电路都是集成电路。数字信号目前常取二值信息,它用两个有一定数值范围的高低电平来表示,也可以用两个不同状态的逻辑符号如“0”和“1”来表示,典型的数字信号的波形是具有一定幅值的矩形波,当它作用于数字电路时,其半导体器件就会在截止与导通(或饱和)状态下工作,这和模拟信号作用于电路时器件工作在线性放大状态有个根本的不同。现在广泛使用的数字量是“0”和“1”称为二值数字量。二值数字量可以对应二进制数,这样做的原因是可以用基本单元电路的输出状态来表示一位二进制数,即电路导通时表示数字量1为高电平;电路截止时表示数字量0为低电平,这些表示数字电压的高、低电平通常称为逻辑电平。从这里可以看出,高低电平不再是一个具体电压值,而是基本单元电路输出的一定范围的电压值。对于一类由CMOS器件构成的逻辑门电路来说,当信号电压在3.5~5V范围内,都表示高电平;在0~1.5V范围内,都表示低电平。一个单元电路可以表示一位二进制数,多个单元电路的组合可以表示多位二进制数。在数字电路中,可以用0和1组成二进制数表示数量的大小,也可以用0和1表示两种不同的逻辑状态。用两个二进制数表示数量大小而进行的数值运算,常称为算术运算。用两个二进制数表示不同的逻辑状态,按照某种因果关系进行的推理运算,则称为逻辑运算。逻辑运算的理论基础是逻辑代数。2.数字电路的分类根据电路的结构特点及其对输入信号响应规则的不同,数字电路可分为组合逻辑电路和时序逻辑电路。组合逻辑电路的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来状态无关;时序逻辑电路特点是电路中含有存储单元或延时电路,因而输出状态不仅与同一时刻的输入有关,而且还取决于原来的状态。根据电路的功能特点,数字电路可分为标准逻辑电路、专用逻辑电路、微处理器和可编程逻辑器件。标准逻辑电路是从20世纪60年代开始,以双极型工艺制成的中、小规模逻辑器件,3它们经常地、大量地出现在各种数字电路中,主要是加法器、减法器、编码器、译码器、数据选择器、数据分配器、数值比较器、函数发生器、奇偶效验器、触发器、寄存器和计数器等。微处理器70年代末出现的,使数字集成电路的性能发生了质的飞跃,微处理器是指具有中央处理器功能的大规模集成电路器件,中央处理器是指计算机内部对数据进行处理并对处理过程进行控制的部件。根据微处理器的应用领域,微处理器大致可以分为3类:通用高性能微处理器、嵌入式微处理器和微控制器。一般而言,通用处理器追求总体高性能,运行通用软件,配备复杂完备的操作系统;嵌入式微处理器追求定向高性能,运行面向特定领域的专用程序,配备轻量级操作系统,主要用于蜂窝电话、CD播放机等消费类家电;微控制器价位相对较低,在微处理器市场上需求量最大,主要用于汽车、空调、自动机械等领域的自控设备。专用逻辑电路(ASIC)是从80年代中期开始,是为客户设计的一种执行专用功能的集成电路。ASIC是将一个复杂的数字系统制作在一块半导体芯片上,构成体积小、重量轻、功耗低、速度高、成本低且具有保密性的系统级芯片。ASIC芯片的制作可以采用全定制或半定制的方法。全定制适用于生产批量的成熟产品,由半导体生产厂家制造。可编程逻辑器件(ProgrammablelogicDevice,简称PLD)是从80年代中后期开始发展起来的新兴器件,是由用户通过编程来定义其逻辑功能的一种半导体器件。对于生产批量小或研究试制阶段的产品,可以采用半定制方法。它是用户通过软件编程,将自己设计的数字系统制作在厂家生产的可编程逻辑器件(PLD)半成品芯片上,便得到所需的系统级芯片。从集成度来说,数字集成电路可分为小规模(SSI)、中规模(MSI)、大规模(LSI)、超大规模(VLSI)和甚大规模(LILSI)五类。所谓集成度,是指每一芯片所包含的门的个数。3.数字电路的特点与模拟电路相比,数字电路主要有下列优点:1)稳定性高,结果的再现性好数字电路的工作可靠,稳定性好。一般而言,对于一个给定的输入信号,数字电路的输出总是相同的。而模拟电路的输出则随着外界温度和电源电压的变化,以及器件的老化等因素而发生变化。2)易于设计数字电路又称为数字逻辑电路,它主要是对用0和1表示的数字信号进行逻辑运算和处理,不需要复杂的数学知识,广泛使用的数学工具是逻辑代数。数字电路能够可靠地区分0和1两种状态就可以正常工作,电路的精度要求不高。因此,数字电路的分析4与设计相对较容易。3)大批量生产,成本低廉数字电路结构简单,体积小,通用性强,容易制造,便于集成化生产,因而成本低廉。4)可编程性现代数字系统的设计,大多采用可编程逻辑器件,即厂家生产的一种半成品芯片。用户根据需要利用硬件描述语言(HardwareDescriptionLanguage,简称HDL)在计算机上完成电路设计和仿真,并写入芯片,这给用户研制开发产品带来了极大的方便和灵活性。5)高速度,低功耗随着集成电路工艺的发展,数字器件的工作速度越来越高,而功耗越来越低。集成电路中单管的开关速度可以做到小于1110s。整体器件中,信号从输入到输出的传输时问小于s1029。百万门以上超大规模集成芯片的功耗,可以低达毫瓦级。由于具有这些优点,数字电路在众多领域取代模拟电路。可以肯定,这一趋势将会继续发展下去。4.数字电路的设计方法数字系统的设计方法可分为两大类,即自下而上的设计方法和自上而下的设计方法。自下而上的设计方法是一种经验法。设计者根据自己的经验将规模大、功能复杂的数字系统按逻辑功能划分成若干模块,再划分成若干子模块,如此分割下去,一直分到这些子模块可以用经典的方法和标准的逻辑功能部件进行设计,最后将整个系统进行安装、调试,达到设计要求。现在大量生产和广泛使用的逻辑功能部件很多,如数据选择器、译码器、计数器、寄存器等,因此对于一些规模不大、功能不太复杂的数字系统,可以直接选用中、大规模集成器件,采用经验法进行设计。这种方法具有设计过程简单、电路调试方便等优点,目前仍被设计者使用。经验法不是盲目的,通常按下列具体步骤进行。1)分析系统设计要求,确定系统总体方案设计题目通常是比较简单的文字叙述,没有细节说明,设计者必须对题目消化、理解,逐步明确并抽象出系统要完成的逻辑功能。2)划分逻辑单元,确定初始结构,建立总体逻辑图逻辑单元的划分可以采用由粗到细的方法,先将系统分为处理单元和控制单元,再按处理任务或控制功能逐一划分。3)选择逻辑功能部件,构成电路将划分的逻辑单元进一步分解成若干相对独立的模块,以便直接选用标准SSI、MSI、LSI器件实现。54)将各功能部件组成数字系统连接各个模块,绘制总体电路图。此时要考虑各模块之问的配合问题,例如时序的协调、负载的匹配、电路的启动等。5)制作PCB,进行物理实现物理实现是指用实际的器件实现数字系统,并实际测试设计的电路是否符合要求。显然,自下而上设计方法没有明显的规律可循,主要依靠设计者的实践经验和熟练的设计技巧,用逐步试探的方法最后设计出一个完整的数字系统。系统的各项性能指标只有在系统构成后才能分析测试。如果系统设计存在比较大的问题,也有可能要重新设计,使得设计周期加长、资源浪费也较大。尽管自下而上的硬件设计方法,在实际运用的某一范围内解决了不少问题,但随着计算机技术及电子技术的发展,特别是可编程逻辑器件的出现和相应集成开发环境的完善以及硬件描述语言的成熟,这种设计方法日益显得陈旧,取而代之的是自上而下的设计方法。自上而下的设计方法是现代数字系统设计的主流方法。其前提是你有丰富的资源可使用,换一句话说,可编程逻辑器件可实现任何模块所需的逻辑功能。而采用自下而上的设计方法时,你必须先有你要用的标准逻辑电路并且熟悉它们的功能,才能进行设计。自上而下的设计方法是针对数字系统层次化结构的特点,将系统的设计分层次、分模块进行的。若划分后的子模块规模仍较大,则将子模块再进行划分,就这样层层分解,直到整个系统中各模块的逻辑关系合理、便于逻辑电路设计和实现为止。当电路设计完成后,必须验证设计是否正确。以前只能搭接硬件电路才能得到测试结果。现在通过EDA软件就可以在计算机上进行模拟验证,当模拟验证正确后,再进行实际电路的安装与测试。自上而下的设计过程并不是一个单向过程,而是一个反复修改和完善的过程。在下一级定义和描述中往往会发现上一级定义和描述中的缺陷或错漏,因此必须对上一级的定义和描述加以修正,使其更真实地反映系统的要求和客观的可能性。基于EDA软件的设计方式是借助于计算机来快速准确地完成电路的设计。设计者提出方案后,利用计算机进行逻辑分析、性能分析、时序测试,如果发现错误或方案不理想,可以重复上述过程直至得到满意的电路,然后进行硬件电路的实现。这种方法提高了设计质量,缩短了设计周期,节省了设计费用,提高了产品的竞争力。因此EDA软件已成为设计人员不可缺少的有力工具。EDA软件的种类较多,大多数软件包含以下主要工具,原理图输入法,设计者可以如同在纸上画电路一样,将逻辑电路图输入到计算机,软件自动检查电路的接线、电源及地线的连接、信号的连接等。HDL文本输入法,硬件描述语言