信号完整性-26 S参数的定义

第二十六章 S参数的定义


前言

微信公众号:【鹿末讲电子】 —— 一个分享硬件技术原创文章的公众号。
bilibili:【鹿-末】本文内容已发布视频讲解,请移步B站观看。


26.1 差分及共模信号的端接

在信号完整性领域,S参数又称为行为模型,因为它可以作为描述线性、无源互连行为的一种通用手段,它的适用范围包括了除一些铁氧体以外的所有互连。

一般而言,信号作为激励作用于互连时,互连的行为会产生一个响应信号。在激励-响应波形中,隐含着的就是互连的行为模型。

每一种互连的电气行为都可以用S参数加以描述,包括:电阻器;电容器;电路板走线;电路板平面;背板;连接器;封装;插座;电缆等。

从根本上讲,一种行为模型描述的是互连如何与一个标准的入射波相互作用。在频域描述时,这个标准波形当然只能是正弦波。然而,在时域描述时,这一标准波形可以是阶跃或者冲激波形。只要标准波形具有很好的特性,它就能用于建立一个被测元器件或者互连的行为模型。

在频域中,当正弦波与被测元器件相互作用时,行为模型是用S参数加以描述的。在时域中,使用S参数的标记体系,但是对结果给出不同的解释。

提示 从根本上讲,S参数描述了从互连末端散射出的比如正弦波的精确波形。术语S参数就是散射参数的缩写。

当一个波形输入到互连时,它可以从互连散射回去,也可以散射到互连的其他连接处。

我们也经常把那些散射回源端的波称为反射波,而把那些通过元器件散射出去的波称为传输波。当在时域中测量散射波时,入射波形通常是一个阶跃波,我们把反射波称为时域反射(TDR)响应。用于测量时域反射响应的仪器称为时域反射计(TDR)。传输波就是时域传输(TDT)波

在频域中,用于测量正弦波反射响应和传输响应的仪器称为矢量网络分析仪(VNA)。矢量是指正弦波的幅度和相位都要被测量。标量网络分析仪只测量正弦波的幅度,不测量相位。

频域中的反射和传输项称为特定的S参数,如S_11S_21,或返回损耗插入损耗

这种描述标准波形如何与互连相互作用的表征格式,也可以应用于仿真器或者测量的输出。所有的电磁仿真器,无论是在时域还是在频域,都使用S参数。

无论S参数值是从哪里发展来的,它都是关于电信号如何与互连相互作用的一种描述。通过这些行为模型,可以预估任意信号和互连的作用方式,并且从中预估输出波形,比如眼图。使用行为模型预估系统响应的过程称为仿真模拟

在S参数中隐藏着大量的信息,这些信息描述了互连的一些特性,比如阻抗曲线、串扰的大小和差分信号的衰减。

使用正确的软件工具,对互连的行为进行测量,可以拟合出基于电路拓扑的互连模型,如连接器、过孔或整个背板模型。当一个准确的电路模型可以反映某些物理特性的性能时,我们就可以“进入”模型的内部,确定哪些物理特性限制了互连的性能,进而提出改进方法。这个过程通常称为互连寻踪


26.2 S参数的基本公式

S参数描述了互连对入射信号影响的情况,我们把信号进入或离开被测元器件的始末端称为端口。端口是到被测元器件信号路径和返回路径的一种连接。理解端口最简单的想法就是把它看成与被测元器件的一个同轴连接。

除非另有说明,信号所看到的被测元器件之前的内部互连阻抗都是50Ω,原则上端口阻抗可以是任意值。

提示 即使不考虑端口阻抗的任意变化,S参数已经足够麻烦。因此,在无强制性前提下,端口阻抗应保持为50Ω。

每个S参数都是从被测元器件某个特定端口散射出的正弦波与入射到被测元器件某个端口的正弦波的比值。

对于所有线性无源元件而言,散射波的频率和入射波的频率完全一样。正弦波唯一可以改变的两个属性就是散射波的幅度和相位。

为了跟踪正弦波入射和射出的端口,我们用连续的下标号来标识端口,并在每个S参数中使用这些下标号。

每个S参数都是输出正弦波和输入正弦波的比值,即S=输出正弦波/输入正弦波 。两个正弦波的比值其实是两个数。幅度是输出和输入正弦波幅度的比值,相位是输出和输入正弦波的相位差。S参数的幅值就是两个幅值的比值。

因为每个S参数的幅值都是从0到1的数,所以经常用dB加以描述。正如前面章节所述,dB往往是两个能量的比值。因为S参数是两个电压幅值的比值,而dB值应该与电压幅值所对应能量的比值有关,这就是在dB值和幅值之间相互转换时要使用系数20的原因,即S_dB=20×log(S_mag)

S参数的相位是输出正弦波与输入正弦波的相位差:相位(S)=相位(输出正弦波)-相位(输入正弦波)

在确定反射和传输S参数相位时,必须谨记在定义S参数相位时规定的波形顺序,很可能会给出一个负的超前相位。

把奇数端口指派在一条传输线的左端,在线的另一端指派更大的后续数字。按这种方式,当耦合互连数增多时,新增的下标值可以按照这种方式添加。这是一种非常方便的端口指派方法。如下图所示:

在这里插入图片描述

提示 应该总是试图对多传输线采用一种端口指派方法,以使传输线的端口1连到端口2,而端口3邻近端口1而流向端口4,这样就可以扩展到更多的n条传输线。

为了区别每个S参数所涉及的端口组合,使用两个下标值。第一个下标值对应输出端口,而第二个下标值对应输入端口。例如,从端口1进入并从端口2出去的正弦波的S参数表示为S_21,这正好和预想的相反。

使用这种格式,正弦波从端口j进入,到从端口k出去所对应的变换,可以通过不同下标值的S参数加以定义,每个S参数的定义为S_kj=输出端口k的正弦波/输入端口j的正弦波。无论被测元器件的内部结构如何,这一基本定义都可以适用。S_11代表从端口1进入并从端口1出去的信号。S_21代表从端口1进入并从端口2出去的信号。同理,S_12代表从端口2进入并从端口1出去的信号。


26.3 S参数矩阵

一个单端口的被测元器件只有一个S参数,记为S_11。在不同的频率点上,它具有许多数据取值。在任意单一频率点,S_11都是复数,因此它实际上是两个数值,可以用幅度和相位,或者实部和虚部加以描述。某一频率点上单一的S参数,可以在极坐标或笛卡儿坐标系上绘出。

再者,S_11在不同的频率点会有不同的数值。为了描述S_11的频域特性,可以在每个频率点上绘出幅度和相位值。下图给出了一个测量所得远端开路短传输线S_11的示例。

在这里插入图片描述

一个二端口元器件含有4个可能的S参数值。进入端口1的信号可能从端口1或端口2输出。进入端口2的信号也可能出现同样的情况。二端口元器件的S参数可以组合成一个简单的矩阵,即:

在这里插入图片描述

一般而言,如果互连不是物理对称的,S_11和S_22就不相等。然而,对于所有线性无源元件而言,总有S_12=S_21,在有4个元素的S参数矩阵中只有3个独立项。2×2矩阵中的3个独立元素在每个测量频率点都有对应的幅值和相位,测量频率从10MHz到2GHz,间隔为10MHz。总共有200×2×3=1200个独立的具体数据点,所有这些数据都简捷方便地纳入了S参数矩阵。

这种形式可以扩展到任意个数的元素。例如12个不同的端口,将会有12×12=144个不同的S参数矩阵元素。然而,并不是所有元素都是独立的。对于任意的互连,对角线元素是独立的,对角线下半部分的元素是独立的,所以一共有78个独立元素。

一般而言,独立S参数元素的个数可以由下式求出:N_unique=n(n+1)/2 。其中,N_unique表示独立S参数元素的个数,n表示端口数。

在这个12端口的示例中,共有78个独立元素。而且,每个元素都有两个不同的数据:幅值和相位。总共有156组图,如果每组图含有1000个频率值,总共就有156000个数据点。

S参数的信息表现在两个方面。第一也是最重要的是,S参数矩阵元素包含的解析信息。其次是从绘制在极坐标或笛卡儿坐标中S参数的各种模式中,能够读出的一些信息。一双敏锐的眼睛仅从曲线的模式上就能找到互连的重要特性。

在这里插入图片描述

这些S参数矩阵元素和每个元素所包含的数据,实际上代表了互连的确切行为。所有有关互连行为的有用信息都包含在它的S参数矩阵元素中。一个12端口元器件中的每个S参数矩阵元素都透露出一种不同的情况。它们所包含的解析信息可以通过各种仿真工具立即获取。


26.4 返回损耗与插入损耗

二端口元器件包含了3个独立的S参数:S_11,S_22和S_21,其中每个矩阵元素都是随频率而变化的复数。

S_11项又称为反射系数,S_21项又称为传输系数。

由于历史的原因,S_11幅度的绝对值(以dB为单位)称为返回损耗,S_21幅度的绝对值(以dB为单位)称为插入损耗。例如,如果S_21=-40dB,那么其返回损耗为40dB;如果S_21=-15dB,那么其插入损耗为15dB。

返回损耗与插入损耗是在矢量网络分析仪(VNA)广泛使用之前流行的测量术语。为此,事先准备一个可拆分的装置,在其中留有插入被测元器件的位置。首先,将装置短路直通,确定在两个端口之间没有插入被测元器件。接着,在端口2处测量接收到的信号。然后,再将装置拆分开并插入被测元器件。这时所测得的损耗称为以直通为参照的插入损耗,即由于插入被测元器件所造成的传送信号损耗。

大的插入损耗值意味着互连很不透明,能到达端口2的信号很少。由于插入损耗被看成“损耗”,其值越大就意味着当插入被测元器件时造成的损耗越大,导致直通过去的信号就越少。

为了测量返回损耗,事先要将装置断开以使端口1看到的是开路,我们以这种情况下测得的开路反射回的信号作为接下来测量时的参照。接着,将被测元器件置入装置内部,被测元器件将端口1和端口2相连接,再测量此时的返回信号。将它与之前开路时的测量进行对照,这时返回信号的损耗就是返回损耗。

与开路时的情况相比,被测元器件与装置匹配得越好,反射信号就越小,信号的返回损耗(绝对值)就越大。大的返回损耗意味着此时具有比开路更良好的匹配。小的返回损耗意味着有很多信号经反射再返回,看似更像开路或短路,它与50Ω的端口阻抗太不匹配了。

提示 将S_11称为反射系数,将S_21称为传输系数,这样才是明确无误的。更透明的互连将具有更小的反射系数和更大的传输系数。

当互连从一端到另一端是对称时,返回损耗S_11和S_22相等。在非对称的二端口互连中,S_11和S_22不相等。

一般而言,手工计算互连的返回损耗和插入损耗是非常复杂的。它取决于组成互连的各段传输线的阻抗曲线和时延,以及正弦波的频率。

在频域,任何正弦波的响应都是稳态的。在正弦波激励很长一段时间后,观测到的总体反射响应和传输响应,是频域和时域的重要区别。

在时域,观测到的是传输线反射和传输的瞬时电压。通过观察反射发生的时间和反射与激励边沿之间的距离,就可以将反射响应,即时域反射响应,映射为互连不同空间位置的阻抗曲线。当然,第一次反射后,只有通过对反射信号的后处理,才能给出对阻抗曲线的准确解释。但是,往往直接根据时域反射响应就能得到一个很不错的一阶估计。

当入射正弦波遇到任意阻抗突变时都会产生反射,部分正弦波会首先返回到端口,部分反射波会在不连续阻抗之间多次反射,直到它们被吸收或从某个被观察的端口出去。

例如,在端口1观察到的反射信号,是从所有可能的突变点反射的正弦波组合。对于1m长的互连而言,反射往返振荡的典型时间约为6ns。在1ms,即矢量网络分析仪进行一次频率测量的典型时间内,一个正弦波可以完成100000多次反弹,远远超出以往所说的情况。

如果在1ms的测量或仿真时间内,输入到端口的频率是固定的,那么从每个突变点反射回的所有波的频率也完全相同。然而,这些反射波到达各个端口时的幅值和相位往往是不同的。

这样,从每个端口出去的将是大量的正弦波。这些波的频率相同,但是幅值和相位是任意的。令人惊奇的是,当我们叠加任意数目的、频率相同的、幅值和相位任意的正弦波时,会得到另一个正弦波。

当对某一端口激励一个正弦波时,从某一端口出去的叠加波形也是个正弦波,而且频率相同,只是幅值和相位不同而已。这就是S参数所捕获的信息。遗憾的是,除了少数特殊情况,S参数的行为是阻抗曲线和正弦波频率的复杂函数。由测量的S参数幅值和相位反推出各个正弦波分量是不可能的。

尽管任意的互连都可以仿真,但是从S参数的一些为数不多的重要模式中可以了解互连的特性。学习辨认这些模式,可以使训练有素的观察者马上把S参数转换成关于互连的有用信息。

一种辨认的重要模式是互连透明度。返回和插入损耗的模式可以马上表明互连的“质量”,比如“好”或“坏”。本文假设“好”意味着互连对信号是透明的,而“坏”意味着互连对信号不透明。


26.5 互连的透明度

透明的互连有如下3个重要的特性:

  1. 沿线的瞬时阻抗和它所在环境的阻抗相匹配;
  2. 通过互连的损耗很小,大部分信号都可以通过;
  3. 与相邻走线的耦合可以忽略。

将端口分别接在互连相对的两端,这里分别记为端口1和端口2。上述3个特点清楚地反映在反射和传输信号上,它们分别与S_11与S_21相对应。

下图是近似透明互连的一种端口配置,图中所示为测量得到的返回损耗和插入损耗。

在这里插入图片描述

当整个互连的阻抗和端口阻抗相匹配时,反射信号非常小,反射参数S_11也很小。用dB表示时,越小的返回损耗表示一个越大的负dB值,端口2的50Ω阻抗有效地端接了互连。

当然,在实际中,不可能在很大的带宽内实现50Ω的精确匹配。通常,互连的返回损耗会在高频恶化,正如上面示例中所看到的,在更高的频率有较小的负dB值。

互连越不理想,端口阻抗越不匹配,返回损耗越接近于0dB,相当于100%反射。

插入损耗是对传过元器件的从端口2输出的信号的一种度量。阻抗越不匹配,传输信号越小。当接近完全匹配时,插入损耗非常接近于0dB,并对阻抗变化不敏感。

返回损耗和插入损耗之间有特定的联系。应始终牢记S参数是电压比,不存在电压守恒定律,但存在能量守恒定律。

如果互连损耗很低,而且与相邻走线之间没有耦合,也没有电磁辐射,那么进入互连的能量就等于反射能量与传输能量之和。

一个正弦波的能量与幅度的平方成正比。能量守恒定律为,进入的能量等于反射能量和传输能量之和,并可以用下式表示:1=S_11^2 + S_21^2

对于给定的返回损耗,插入损耗为S_21=√1−S_11^2。如果返回损耗不高于-20dB,则相应的插入损耗将会非常小,几乎等于0dB。下图阐明了在很大范围内的返回损耗的情况。

在这里插入图片描述

提示 只有当返回损耗高于-10dB时,才有明显的插入损耗。


26.6 改变端口阻抗

端口阻抗的行业标准是50Ω。然而,原则上阻抗可以为任意值。当端口阻抗改变时,返回损耗和插人损耗所表现出的行为也会发生改变。首先,使端口阻抗远离互连的特性阻抗会增加返回损耗。除了这种简单的情况,返回损耗和插入损耗的值是端口阻抗的复杂函数。

提示 描述互连的S参数时,不要求端口阻抗和元器件阻抗一定要匹配。除非有强制性原因,通常使用50Ω。

阻抗末端不匹配造成的反射,将导致返回损耗的波动。过高的返回损耗会使插入损耗出现波动。它不是一个简单的非50Ω阻抗问题,这个现象非常复杂,而且很难解释。

如果实际应用环境的阻抗也是75Ω,就可以不动互连线,而将端口阻抗改变为应用环境的75Ω。

无论端口阻抗为多少,测量的S参数响应中所包含的行为模型是完全一样的,只是在不同端口阻抗的情况下再现一遍而已。

即使当端口阻抗不是任意时,S参数已足够混淆。如果按照行业标准,即标准(touch-stone)文件格式存储S参数,在文件开头就会给出与数据对应的每个端口阻抗。根据这个标准文件,可以很容易地计算任意端口阻抗下的S参数。


—END—

持续更新中,想了解更多知识请点赞并关注我哦!
微信公众号:鹿末讲电子

点我关注微信公众号

bilibili:鹿-末

点我观看讲解视频

  • 14
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
习 题 答 案 习题一答案 一、选择题 1. 软件的主要特性是(A B C)。 A) 无形 B) 高成本 C) 包括程序和文档   D) 可独立构成计算机系统 2. 软件工程三要素是(C D)。 A) 技术、方法和工具  B) 方法、工具和过程  C) 方法、对象和类  D) 过程、模型、方法 3. 包含风险分析的软件工程模型是(A)。 A) 螺旋模型 B) 瀑布模型 C) 增量模型 D) 喷泉模型 4. 软件工程的主要目标是(C)。 A) 软件需求  B) 软件设计  C) 风险分析  D) 软件实 现 5. 下列属于面向对象开发方法的是(A B C D)。 A) Booch   B) UML   C) Coad   D) OMT 6. 软件危机的主要表现是(B D)。 A) 软件成本太高 B) 软件产品的质量低劣 C) 软件开发人员明显不足 D) 软件生产率低下 7. 软件开发方法的主要工作模型有(A B C) A) 螺旋模型 B) 循环模型 C) 瀑布模型 D) 专家模型 8. 软件工程的目标有(A B C)。 A) 易于维护 B) 低的开发成本 C) 高性能 D) 短的开发期 9. 软件工程学的目的和意义是( )。 A) 应用科学的方法和工程化的规范管理来指导软件开发 B) 克服软件危机 C) 作好软件开发的培训工作 D) 以较低的成本开发出高质量的软件 二、 判断题 1. 软件就是程序,编写软件就是编写程序。(×) 2. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。(×) 3. 结构化方法的工作模型是使用螺旋模型进行开发。(×) 4. 结构化方法和JSP方法都不适合于大型软件的开发。(√) 5. 原型化开发方法包括生成原型和实现原型两个步骤。(×) 6. 面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。( √) 7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。(×) 8. 软件工具的作用是为了延长软件产品的寿命。(×) 9. 软件工程过程应该以软件设计为中心,关键是编写程序。(×) 10. RCP法与RSP法的主要区别是前者采用循环渐进的开发方式,原型将成为最终的产品,而后者将被废弃。(√) 三、简答题 1. 软件产品的特性是什么? 答: ● 软件是一种逻辑产品,具有无形性;  ● 软件产品的生产主要是研制;  ● 软件不存在磨损和老化问题,但存在退化问题;  ● 软件产品的生产主要是脑力劳动;  ● 软件产品的成本非常昂贵,其开发方式目前尚未完全摆脱手工生产方式; ● 软件具有“复杂性”,其开发和运行常受到计算机系统的限制。 2. 软件发展有几个阶段?各有何特征? 答: ① 程序设计阶段。    硬件特征:价格贵、存储容量小、运行可靠性差。    软件特征:只有程序、程序设计概念,不重视程序设计方法。   ② 程序系统阶段。    硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长 。    软件特征:程序员数量猛增,开发人员素质低。   ③ 软件工程阶段。    硬件特征:向超高速、大容量、微型化及网络化方向发展。    软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全摆脱软件危机。 3. 什么是软件危机?其产生的原因是什么? 答:“软件危机”(Software Crisis)的出现是由于软件的规模越来越大,复杂度不断增 加,软件需求量增大。而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术 不能适应软件发展的需要。致使大量质量低劣的软件涌向市场,有的花费大量人力、财力, 而在开发过程中就夭折。软件危机主要表现在两个方面: (1) 软件产品质量低劣,甚至开发过程就夭折。 (2) 软件生产率低,不能满足需要。 4. 什么是软件生存周期模型?它有哪些主要模型? 答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。 主要模型包括:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型。 5. 有哪些主要的软件开发方法? 答:主要的软件开发方法有:结构化开发方法、Jackson(JSP、JSD)方法、原型化开发方 法、维也纳开发方法(VDM)和面向对象的开发方法。 6. 软件生命期各阶段的任务是什么? 答:软件生命期瀑布模型分为六个阶段: ● 可行性研究与计划(确定系统的目标和规模,分析项目的可行性); ● 需求分析与规格说明(明确系统的规格和要求); ● 设计(包括概要设计和详细设计,将系统分解为模块); ● 编程(用程序语言实现每个模块,简单容易); ● 测试(发现并改正错误,分为模块测试、集成测试和系统联调三级); ● 运行维护(扩充功能、纠错等)。 习题二答案 一、 选择题 1. 需求分析的主要目的是(B C)。 A) 系统开发的具体方案 B) 进一步确定用户的需求 C) 解决系统是“做什么的问题” D) 解决系统是“如何做的问题” 2. 需求分析的主要方法有(C D)。 A) 形式化分析方法 B) PAD图描述 C) 结构化分析(SA)方法 D) OOA法 3. 面向对象的分析方法主要是建立三类模型,即(D)。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 4. SA法的主要描述手段有(B)。 A) 系统流程图和模块图 B) DFD图、数据词典、加工说明 C) 软件结构图、加工说明 D) 功能结构图、加工说明 5. 画分层DFD图的基本原则有(A C D)。 A) 数据守恒原则 B) 分解的可靠性原则 C) 子、父图平衡的原则 D) 数据流封闭的原则 6. 在E-R模型中,包含以下基本成分(C)。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、联系 7. 画DFD图的主要目的是(A D)。 A) 作为需求分析阶段用户与开发者之间交流信息的工具 B) 对系统的数据结构进行描述 C) 对目标系统的层次结构进行描述 D) 作为分析和设计的工具 8. 数据字典是数据流图中所有元素的定义的集合,一般由以下四类条目组成(C)。 A) 数据说明条目、控制流条目、加工条目、数据存储条目 B) 数据流条目、数据项条目、文件条目、加工条目 C) 数据源条目、数据流条目、数据处理条目、数据文件条目 D) 数据流条目、数据文件条目、数据池条目、加工条目 9. 在需求分析阶段主要采用图形工具来描述的原因是(B C)。 A) 图形的信息量大,便于描述规模大的软件系统 B) 图形工具能够极好地概括描述一个系统的信息,比文字叙述能够更好地表达重 要的细节 C) 图形能够更加直观地描述目标系统,便于用户理解和交流,有利于开发者与用 户之间达成一致的需求 D) 图形比文字描述简单、形象 二、 判断题 1. 在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。(×) 2. SA法是面向数据流,建立在数据封闭原则上的需求分析方法。(√) 3. HIPO法既是需求分析方法,又是软件设计方法。(√) 4. 在面向对象的需求分析方法中,建立动态模型是最主要的任务。(×) 5. 加工小说明是对系统流程图中的加工进行说明。(×) 6. 判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(×) 7. 需求分析的主要方法有SD法、OOA法及HIPO法等。(×) 8. 分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。(×) 9. 信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R 图。(√)  10. 用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。(√) 三、 问答题 1. 什么是需求分析?需求分析阶段的基本任务是什么? 答: 需求分析是当前软件工程中的关键问题,需求分析阶段的任务是:在可行性分析的基础上,进一步了解、确定用户需求。准确地回答 “系统必须做什么?” 的问题。获得需求规格说 明书。还涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境。它还涉及到这些因素和系统的精确规格说明,以及系统进化之间的关系。 需求分析的基本任务包括: (1) 抽取需求 分析现行系统存在需要解决的问题。获取足够多的问题领域的知识,需求抽取的方法一般有问卷法、面谈法、数据采集法、用例法、情景实例法以及基于目标的方法等;还有知识工程方法,例如,场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等 。 (2) 模拟和分析需求 需求分析和模拟又包含三个层次的工作。首先是需求建模。需求模型的表现形式有自然语言、半形式化(如图、表、结构化英语等)和形式化表示等三种。需求概念模型的要求包括实现的独立性:不模拟数据的表示和内部组织等;需求模拟技术又分为企业模拟、功能需求模拟和非功能需求模拟等。 (3) 传递需求 传递需求的主要任务是书写软件需求规格说明。 (4) 认可需求 就是对需求规格说明达成一致,其主要任务是冲突求解,包括定义冲突和冲突求解两方面。常用的冲突求解方法有:协商、竞争、仲裁、强制、教育等,其中有些只能用人的因素去控制。 (5) 进化需求 客户的需要总是不断(连续)地增长,但是一般的软件开发又总是落后于客户需求的增长,如何管理需求的进化(变化)就成为软件进化的首要问题。对于传统的变化管理过程来说,其基本成分包括软件配置、软件基线和变化审查小组。当前的发展是软件家族法 ,即产品线方法。多视点方法也是管理需求变化的一种新方法,它可以用于管理不一致性, 并进行关于变化的推理。 2. M公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已经有近十年了,并取得了一些成功。若你作为一名管理员刚加入M公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告阐明你的理由,切记:副总裁不喜欢报告长度 超过一页(B5)。 参考答案提示: 应先简述瀑布模型的缺点,它已不适宜开发实验型的软件。根据快速原型法的特点,说明它特别适合于开发探索型、实验型的软件。 3. 如何画分层数据流图? 答: 总的原则是:至顶而下,逐层分解(画分层数据流图)。 比较复杂的系统不能画在一张纸上,逐层分解的画法可以控制每一层的复杂度。 顶层:将整个系统作为一个加工,描述系统边界(输入与输出)。 中间层:表示某个加工分解为一组子加工,其中的子加工还需进一步分解。 底层:由不再进行分解的基本加工组成。 4. 加工小说明有哪些描述方法? 答: ● 结构化语言:介于自然语言和形式语言(如谓词逻辑)之间。 ● 结构化英语:通常由外层和内层结构组成。 ● 汉语的情况:精确、简明扼要、文体可以灵活。 ● 判定表:适用于表述比较复杂的加工逻辑,如具有多项选择条件的操作。 ● 判定树:本质上与判定表相同,图形表示更易于理解。 5. 考察下图中子图、父图的平衡。 图1 图2 参考答案: 图1中子图与父图不平衡。子图是父图中加工2的分解,加工2 有输入数据流M和N,输出数据流T,而子图则只有一个输入数据N,却有两个输出数据流T与S。 图2中子图是父图中加工3的分解,虽然表面上加工3只有一个输入数据流“订货单”,而子图却有三个输入数据流,但是如果“订货单”是由“客户”、“账号”和“数量”三部分组成,即有如下数据条目,订货单=客户+账号+数量(2.2.5数据词典),则子、父图平衡。 6. 画出银行取款过程的DFD图。问题描述为:储户用存折取款,首先填写取款单,根据“ 账卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登录“储户存款 数据库”,修改相应数据,并更新“账卡”,同时发出付款通知,出纳向储户付款。 参考答案: 7. 常用的软件需求分析方法有哪些? 答: 结构化分析方法(SA)、功能分解法、信息建模法、面向对象的分析方法(OOA)。 习题三答案 一、 选择题 1. 模块的基本特征是(A C)。 A) 外部特征(输入/输出、功能) B) 内部特征(输入/输出、功能) C) 内部特征(局部数据、代码) D) 外部特征(局部数据、代码 ) 2. SD方法的设计总则是(C D)。 A) 程序简洁、操作方便 B) 结构清晰、合理 C) 模块内聚性强 D) 模块之间耦合度低 3. 软件设计的主要任务是(A B D)。 A) 将分析阶段获得的需求说明转换为计算机中可实现的系统 B) 完成系统的数据结构和程序结构设计 C) 完成模块的编码和测试 D) 对模块内部的过程进行设计 4. 设计阶段应达到的目标有(A D)。 A) 提高可靠性和可维护性 B) 提高应用范围 C) 结构清晰 D) 提高可理解性和效率 5. 从工程管理的角度来看,软件设计分两步完成(D)。 A) ①系统分析②模块设计 B) ①详细设计②总体设 计 C) ①模块设计②详细设计 D) ①总体设计②详细设 计 6. 模块独立性准则由以下定性指标来衡量(BD)。 A) 分解度    B) 耦合度    C) 屏蔽性    D) 内聚性 7. 用户界面设计的任务包括(A B C)。 A) 确定用户界面类型 B) 建立任务模型 C) 建立用户模型 D) 建立功能模型 8. 程序设计语言可以分为(B C D)。 A) 面向过程的语言    B) 机器语言 C) 高级语言    D) 汇编语言  9. 程序效率包括(A C D)几个方面的内容。 A) 代码效率     B) 运行效率    C) 存储效率     D) I/O效率 10. SP方法中的基本控制结构有(A B C)。 A) 顺序结构 B) 选择结构 C) 重复结构 D) GOTO结构 11. 内部文档可用注释语言书写,注释语言分为(A B C D)。 A) 序言性注释 B) 描述性注释 C) 功能性注释 D) 状态性注释 12. 为使程序中数据说明更易于理解和维护,必须遵循以下原则(A B C) 。 A) 数据说明的次序应当规范化 B) 一个语句说明多个变量时,各变量名按字母顺序排列 C) 对于复杂的数据结构,要加注释,说明在程序实现时的特点 D) 定义变量名应按字母顺序排列 13. 源程序的效率与(D)阶段确定的算法的效率直接有关。 A) 概要设计 B) 总体设计 C) 单元设计 D) 详细设计 14. 在详细设计翻译转换成源程序代码后,算法效率反映为对程序的哪几个方面的要求 (C D)。 A) 读写速度 B) 代码长度 C) 存储容量 D) 执行速度 15. 提高程序效率的根本途径在于(B C)。 A) 编程时对程序语句进行调整 B) 选择良好的设计方法 C) 使程序最大限度的简洁 D) 选择良好的数据结构与算法 二、判断题 1. 划分模块可以降低软件的复杂度和工作量,所以应该将模块分得越小越好。 (×) 2. 在网状结构中任何两个模块都是平等的,没有从属关系,所以在软件开发过程中常常被使用。(×) 3. 信息隐蔽原则有利于提高模块的内聚性。(√) 4. 中心变换型的DFD图可看成是对输入数据进行转换而得到输出数据的处理,因此可以使 用事务分析技术得到初始的模块结构图。(×) 5. SD法是一种面向数据结构的设计方法,强调程序结构与问题结构相对应。 (×) 6. 所谓结构冲突,是指输入数据与输出数据之间很少或没有结构上的对应关系。通常解决 的办法是:构造一个或者多个中间结构,在输入和输出结构之间进行转换。(√) 7. 当模块的控制范围是其作用范围的子集时,模块之间的耦合度较低。(×) 8. JACKSON方法是以数据流、数据封闭性准则逐层分解的。(×) 9. 程序设计语言的工程特性包括:可移植性、可重用性、可维护性、局部性和顺序性。(×) 10. 项目应用领域是选择语言的关键因素。(√) 11. FORTRAN、Pascal、C语言、PL/1和汇编语言都是科学工程计算可选用的语言。(×) 12. 要用快速原型法开发软件,应选用4GL语言。(√) 13. 提高程序效率的根本途径是选择良好的设计方法、数据结构与算法。(×) 14. 良好的程序设计风格简单说就是高的编程技巧。(√) 三、简答题 1. 模块内联系和模块间联系有哪些种类? 答:块间联系的各种类型的划分,从以下3方面考虑: ● 按块间联系的方式(可分为直接引用与过程调用); ● 按块间共用信息的作用(可分为数据型、控制型与混合型); ● 按块间共用的信息数量多少(信息多联系紧密)。 (1) 块间联系的类型,按照耦合度由大到小分为: 内容型:直接引用另一模块的内部信息; 公共型:两个模块引用共同的全程数据区; 控制型:模块间传送的信息用于控制模块的内部逻辑; 复合型:模块间传送复合的数据结构; 数据型:模块间传送单个数据项。 (2) 块内联系的类型,按照内聚性从小到大分为: 偶然型:模块内部没有必然联系; 逻辑型:逻辑上相似的功能放进一个模块; 瞬时型:将同时执行的语句放在一个模块; 通信型:模块中的各部分引用共同的数据; 顺序型:模块中一部分的输出是另一部分的收入; 功能型: 模块中刚好包含了完成一个基本任务所必需的成分。 2. 分析以下DFD图,说明属于哪种类型的DFD图,并按照相应的变换将其转换为初始的模块 结构图。 参考答案:(略) 3. 下图是修改文件记录的DFD图,请确定其主加工。 解:主加工为:账号、修改、写记录。 4. 按照“降低块间联系,提高块内联系”的设计总则对模块进行修改,具体从哪些方面进 行改进? 解: (1) 尽可能建立功能模块; (2) 消除重复功能; (3) 模块的作用范围与控制范围,即当作用范围为控制范围的子集时,才能获得较低的块间 联系; (4) 模块的大小适当; (5) 模块的扇入扇出数不宜太多。 5. 根据模块的作用范围与控制范围的原则,判定a、b两图的正确性。 解:显然,图a不满足作用范围应与控制范围的原则,模块F的作用范围不在控制范围之内。 图b的模块设计合理。 6. 图a中,模块G为判定,判断涉及到模块B、F、G,请指出设计中的错误,再根据改进模 块图的基本原则,画出1~2个改进方案(不改变模块G的判断关系),并说明是按照哪条基本 原则进行改进的。 解:图b为一个改进方案,将模块G的位置提高,使其作用范围为控制范围的子集,减少模块 之间的联系。 7. 编码阶段的主要任务是什,应交付的结果是什么? 答:编码阶段的主要任务是为每个模块编写程序。即是:将详细设计的结果转换为用某种计 算机语言写的程序——源程序代码。编码阶段应交付的结果是带有“程序内部文档”的、不 再含有语法错误的程序。 8. SP法的自顶向下,逐步求精方法的优点有哪些? 答:此法符合人们解决复杂问题的普遍规律,可提高软件开发的成功率和生产率;而且用先 全局后局部、先整体后细节、先抽象后具体的逐步求精过程,开发出来的程序具有清晰的层 次结构,因此程序容易阅读和理解。这样,程序自顶向下,逐步细化,分解成一个树型结构 。 因此,在同一层次的节点上做细化工作,相互之间没有联系,它们之间的细化工作相互独立 ;在任何一步发生错误,一般只影响它下层的节点,同一层其他节点不受影响;在以后的测试中,也可以先独立地一个节点一个节点地做,最后再集成。这样,程序清晰和模块化,使 得在修改和重新设计一个软件时,可复用的代码量最大。 9. 为了使程序具有良好的设计风格,应注意哪些方面的问题? 答:(1) 标识符应按意取名。 标识符即符号名,包括:模块名、常量名、标号名、子程序名、数据区名、缓冲区名等。 这些名字应能反映它所代表的实际东西,应有一定实际意义,使其能够见名知意,有助于对 程序功能的理解。 (2) 程序应加注释,它分为两类:序言性注释和功能性注释。 序言性注释应置于每个模块的起始部分,主要内容有:①说明每个模块的用途,功能;②说明模块的接口即调用格式、参数描述及从属模块的清单;③数据描述;④开发历史 。 功能性注释是嵌在源程序体中的,用于说明其后的程序段或语句的功能以及数据的状态;也就是解释下面要“做什么”,或是执行下面的语句会发生什么情况;而不是解释下面“怎么做”,因为怎么做常常是与程序重复的,且对读者理解程序没有什么帮助。 10. 样评价程序的执行效率?它与程序清晰性的关系是怎样的? 答:许多程序员往往片面追求效率,其实程序系统的成本不仅包括运行所需的机时,同时还应把程序员及操作员所花费的人力考虑进去。在编程时为追求效率而损害可读性或可靠性,会给以后的维护工作带来困难,所以从整体上看来是不值得的。 此外,还应该认识到,提高程序效率的根本途径在于:选择良好的设计方法、良好的数据结构与算法,而不是靠编程时对程序语句进行调整。 (1) 追求建立在不损害程序可读性或可靠性基础上,要先使程序正确、清晰,再提高程序 效率。 (2) 不能因为贪图效率上的小利,而破坏程序的清晰性。 (3) 让编译程序去作简单的优化。 (4) 提高程序效率的根本途径在于:选择良好的设计方法和良好的数据结构与算法,而不是靠编程时对程序语句做调整。 11. 假定:需要编一个求解一元二次方程根的子程序,加入到现有的子程序库中,供其他程序员使用。要求: (1) 为该子程序写一个序言性注释; (2) 用PASCAL语言或其他语言写出这个子程序(要把根的性质,如:实根、复根、降为一次方程等有区别地通知调用者),并加上描述性注释。 答案:(略) 习题四答案 一、选择题 1. 面向对象程序设计的基本机制(ABC)。 A) 继承 B) 消息 C) 方法 D) 结构 2. 下列属于面向对象的要素有(BCD)。 A) 分类性 B) 抽象 C) 共享 D) 封装 3. 下列选项中属于面向对象开发方法的有(ACD)。 A) Booch B) CAD C) Coad D) OMT 4. 下列属于Coad方法中面向对象的分析模型的层次有(AB)。 A) 主题层 B) 对象层 C) 应用层 D) 接口层 5. 一个类属性依其特征划分,其类型有(ABCD)。 A) 描述型 B) 定义型 C) 派生型 D) 参考型 6. 在进行面向对象分析时,所采用的模型有(ABD)。 A) 对象模型 B) 动态模型 C) 静态模型 D) 功能模型 7. 状态是对象属性的值的一种抽象,它的性质有(AB)。 A) 时间性 B) 持续性 C) 有序性 D) 有穷性 8. 数据流图中的处理必须用对象中的操作来实现常见的操作有(ABCD)。 A) 查询 B) 动作 C) 活动 D) 访问 9. 建立继承关系时所采用的方式有(AC)。 A) 自顶向下 B) 从内到外 C) 自底向上 D) 从复杂到简单 10. 对象是人们要研究的任何事物主要的对象类型有(ABCD)。 A) 有形实体 B) 作用 C) 事件 D) 性能说明 二、判断题 1. 面向对象的的方法是以类作为最基本的元素,它是分析问题解决问题的核心。(×) 2. 类是指具有相同或相似性质对象的抽象,对象是抽象的类,类的具体化就是对象。(√) 3. 继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系(×)。 4. 多态性增强了软件的灵活性和重用性,允许用更为明确、易懂的方式去建立通用软件, 多态性和继承性相结合使软件具有更广泛的重用性和可扩充性。(×) 5. 面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。(√) 6. 面向对象的设计的主要目标是提高生产效率,提高质量和提高可维护性。(√) 7. 对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。(√) 8. 面向对象的分析是用面向对象的方法对目标系统的问题空间进行理解、分析和反映。通过对象层次结构的组织确定解空间中应存在的对象和对象层次结构。(√) 9. 类的设计过程包括:确定类,确定关联类,确定属性,识别继承关系。(√) 10. 复用也叫重用或再用,面向对象技术中的“类”,是比较理想的可重用软构件。有三种重用方式:实例重用、继承重用、多态重用。(√) 11. 主题是一种关于模型的抽象机制,它是面向对象模型的概貌,也是关于某个模型要同时考虑和理解的内容,主题起一种控制作用。(√) 12. 面向对象的分析由对象、结构、继承性和基于消息的通信构成。(×) 13. 支持继承性是面向对象程序设计语言和传统程序设计语言在语言机制方面的根本区别。(√) 14. 面向对象的分析过程主要包括三项内容:理解、表达和验证。(√) 15. 面向对象的设计的主要目标是提高生产效率、提高质量和提高可维护性。(√) 三、 简答题 1. 与传统程序设计模式中的过程调用相比,消息传递机制有何本质区别? 答: (1) 消息传递必须给出信道的信息,通常要指出明显的接受方。 (2) 由于接受方是一通信实体,具有保持状态的能力,所以同一发送方在不同时刻向同一 接受方发送同样的信息,可因接受方的当前状态不同而得到不同的结果。 (3) 消息传递可以是异步的,发送方可以不必等待接受方返回信息就可以继续执行后面的操作,因而支持程序的并发和分布执行,而过程调用只能是同步的,本质上是串行的。 2. 阐述面向对象的特征,并做简要的解释。 答: (1) 对象惟一性。 每个对象都有自身惟一的标识,通过这种标识,可找到相应的对象。 (2) 分类性。 是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。 (3) 继承性。 是父类和子类之间共享数据结构和方法的机制,这是类之间的一种关系。 (4) 多态性。 是指相同的操作或函数,过程作用于多种类型的对象上,并获得不同的结果。 3. Coad方法主要由面向对象分析OOA和面向对象设计OOD。OOA方法分析过程和构造OOA概念模型的顺序由5个层次组成,请简述这5个层次。 答: (1) 发现类及对象。描述如何发现类及对象。从应用领域开始识别类及对象,形成整 个应用的基础,然后,据此分析系统的责任。 (2) 识别结构。该阶段分为两个步骤。第一,识别“一般-特殊”结构,该结构捕获了识别出的类的层次结构;第二,识别“整体-部分”结构,该结构用来表示一个对象如何成为另一个对象的一部分,以及多个对象如何组装成更大的对象。 (3) 定义主题。主题由一组类及对象组成,用于将类及对象模型划分为更大的单位,便于理解。 (4) 定义属性。其中包括定义类的实例(对象)之间的实例连接。 (5) 定义服务。其中包括定义对象之间的消息连接。 4. 面向对象程序设计有哪些优点? 解:开发时间短、效率高、可靠性高,所开发的程序更强壮。由于面向对象编程的可重用性 ,可以在应用程序中大量采用成熟的类库,从而缩短开发时间,这样程序更易于维护、 更新和升级。继承和封装使得应用程序的修改带来的影响更加局部 化。 5.比较面向对象方法与结构化方法的特点。 解:分析是问题抽象 (做什么),设计是问题求解 (怎么做),实现是问题的解 (结果)。任 何方法学对客观世界的抽象和求解过程都是如此。在问题抽象阶段,结构化方法面向过程, 按照数据变换的过程寻找问题的结点,对问题进行分解。因此,与面向对象方法强调的对象 模型不同,描述数据变换的功能模型是结构化方法的重点。如果问题世界的功能比数据更复 杂或者更重要,那么结构化方法仍然应是首选的方法学。如果数据结构复杂且变换不多, 那么如果以过程主导分析和设计,一旦有系统变更就会给下游开发带来极大混乱。 由于对过程的理解不同,面向过程的功能细分所分割出的功能模块有时会因人而异。而面向 对象的对象细分,从同一问题领域的对象出发,不同人得出相同结论的比率较高。 在设计上,结构化方法学产生自顶向下、结构清晰的系统结构。每个模块有可能保持较强的独立性,但它往往与数据库结构相独立,功能模块与数据库逻辑模式间没有映射关系,程序与数据结构很难封装在一起。如果数据结构复杂,则模块独立性很难保证。面向对象方法抽象的系统结构往往并不比结构化方法产生的系统结构简单,但它能映射到数据库结构中,很容易实现程序与数据结构的封装。 在软件工程基本原则中有一条“形式化原则”,即对问题世界的抽象结论应该以形式化语言 (图形语言、伪码语言等)表述出来。结构化方法可以用数据流图、系统结构图、数据辞典、状态转移图、实体关系图来进行系统逻辑模型的描述;而面向对象方法可以使用对象模型图、数据辞典、动态模型图、功能模型图。其中对象模型图近似系统结构图与实体关系图的结合,动态模型图类似状态迁移图,功能模型图类似数据流图。 6.当重要的对象被发现后,通过一组互相关联的模型详细表示类之间的关系和对象的行为,这些模型从四个不同的侧面表示了软件的体系结构、静态逻辑、动态逻辑、静态物理和动态物理。试描述一下这四种特性。 解:静态逻辑模型描述实例化(类成员关系)、关联、聚集(整体/部分)、和一般化(继承)等关系。这被称为对象模型。一般化关系表示属性和方法的继承关系。定义对象模 型的图形符号体系通常是从用于数据建模的实体关系图导出的。对设计十分重要的约束,如 基数(一对一、一对多、多对多),也在对象模型中表示。 动态逻辑模型描述对象之间的互相作用。互相作用通过一组协同的对象,对象之间消 息的有序的序列,参与对象的可见性定义,来定义系统运行时的行为。 静态物理模型通过模块描述代码的布局。动态物理模型描述软件的进程和线程体系结 构。 习题五答案 一、选择题 1. 下列不是模型元素的是(D)。 A) 关联 B) 聚合 C) 依赖 D) 笔记 2. UML具有扩展性,常见的扩展机制有(BCD)。 A) 修饰 B) 版类 C) 加标签值 D) 约束 3. UML语言支持的建模方式有(ABD)。 A) 静态建模 B) 动态建模 C) 模块化建模 D) 功能建模 4. 下列各种图可用于动态建模的有(ACD)。 A) 状态图 B) 类图 C) 序列图 D) 活动图 5. 下列属于状态的组成部分的有(AB)。 A) 名称 B) 活动 C) 条件 D) 事件 6. UML中包括的事件有(ABCD)。 A) 条件为真 B) 收到另一对象的信号 C) 收到操作调用 D) 时间表达式 7. 属性的可见性有(ABD)。 A) 公有的 B) 私有的 C) 私有保护的 D) 保护的 8. 用例之间的关系有(BCD)。 A) 友元 B) 扩展 C) 使用 D) 组合 9. 应用于通用化约束的方式有(ABCD)。 A) 完整 B) 不相交 C) 不完整 D) 覆盖 10. 消息的类型有(ABC)。 A) 同步 B) 异步 C) 简单 D) 复杂 二、 判断题 1. UML建模语言是由视图、图、模型元素和通用机制构成的层次关系来描述的。 (√) 2. UML是一种建模语言,是一种标准的表示,是一种方法。 (×) 3. 泳道是一种分组机制,它描述了状态图中对象所执行的活动。 (×) 4. 同步消息和异步消息的主要区别是:同步消息的发送对象在消息发送后,不必等待消息处理,可立即继续执行,而异步消息则发送对象必须等待接收对象完成消息处理后,才能继续执行。 (×) 5. 类图中的角色是用于描述该类在关联中所扮演的角色和职责的。 (√) 6. 类图用来表示系统中类和类与类之间的关系,它是对系统动态结构的描述。 (×) 7. 用例模型的基本组成部件是用例、角色和用例之间的联系。 (√)
第1 页共27 页 1 概述 频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测 量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,此时我们称 闸门时间为1 秒。闸门时间也可以大于或小于一秒。闸门时间越长,得到的频 率值就越准确,但闸门时间越长则没测一次频率的间隔就越长。闸门时间越 短,测的频率值刷新就越快,但测得的频率精度就受影响本文。数字频率计是 用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性 变化的信号。因此,数字频率计是一种应用很广泛的仪器 电子系统非常广泛的应用领域内,到处可见到处理离散信息的数字电路。 数字电路制造工业的进步,使得系统设计人员能在更小的空间内实现更多的功 能,从而提高系统可靠性和速度。 集成电路的类型很多,从大的方面可以分为模拟电路和数字集成电路2 大 类。数字集成电路广泛用于计算机、控制与测量系统,以及其它电子设备中。 一般说来,数字系统中运行的电信号,其大小往往并不改变,但在实践分布上 却有着严格的要求,这是数字电路的一个特点。 2 系统的总体设计: 2.1 原理设计 本频率计的设计以AT89S52 单片机为核心,利用它内部的定时/计数器完成 待测信号周期/频率的测量。单片机AT89S52 内部具有2 个16 位定时/计数器, 定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出中断要求的功 能。在构成为定时器时,每个机器周期加1 (使用12MHz 时钟时,每1us 加1),这 样以机器周期为基准可以用来测量时间间隔。在构成为计数器时,在相应的外部 引脚发生从1 到0 的跳变时计数器加1,这样在计数闸门的控制下可以用来测 量待测信号的频率。外部输入每个机器周期被采样一次,这样检测一次从1 到0 的跳变至少需要2 个机器周期(24 个振荡周期) ,所以最大计数速率为时钟频率 的1/24 (使用12MHz 时钟时,最大计数速率为500 KHz) 。定时/计数器的工作由 相应的运行控制位TR 控制,当TR 置1 ,定时/计数器开始计数;当TR 清0 ,停止计 数。设计综合考虑了频率测量精度和测量反应时间的要求。例如当要求频率测 量结果为4 位有效数字,这时如果待测信号的频率为1Hz ,则计数闸门宽度必须 大于1000s。为了兼顾频率测量精度和测量反应时间的要求,把测量工作分为两 种方法。当待测信号的频率大于等于2Hz 时,定时/ 计数器构成为计数器,以机 器周期为基准,由软件产生计数闸门,这时要满足频率测量结果为4 位有效数字, 则计数闸门宽度大于1s 即可。当待测信号的频率小于2Hz 时,定时/ 计数器构 成为定时器,由频率计的予处理电路把待测信号变成方波,方波宽度等于待测信号 的周期。用方波作计数闸门,完全满足测量精度的要求。 频率计的量程自动切换在使用计数方法实现频率测量时,这时外部的待测信 号为定时/ 计数器的计数源,利用定时器实现计数闸门。频率计的工作过程为: 首先定时/计数器T0 的计数寄存器设置一定的值,运行控制位TR0 置1,启动定 时/ 计数器0;利用定时器0 来控制1S 的定时,同时定时/计数器T1 对外部的待 第2 页共27 页 测信号进行计数,定时结束时TR1 清0 ,停止计数;最后从计数寄存器读出测量数 据,在完成数据处理后,由显示电路显示测量结果。在使用定时方法实现频率测 量时,这时外部的待测信号通过频率计的予处理电路变成宽度等于待测信号周期 的方波,该方波同样加至定时/ 计数器1 的输入脚。这时频率计的工作过程为: 首先定时/ 计数器1 的计数寄存器清0 ,然后检测到方波的第二个下降沿是否加 至定时/ 计数器的输入脚;当判定下降沿加至定时/计数器的输入脚,运行控制位 TR0 置1 ,启动定时/计数器T0 对单片机的机器周期的计数,同时检测方波的第 三个下降沿;当判定检测到第三个下降沿时TR0 清0 ,停止计数,然后从计数 寄存器T0 读出测量数据,在完成数据处理后,由显示电路显示测量结果。测量 结果的显示格式采用科学计数法,即有效数字乘以10 为底的幂。这里设计的频 率计用4 位数码管显示测量结果。 定时方法实现频率测量。定时方法测量的是待测信号的周期,这种方法只设 一种量程,测量结果通过浮点数运算模块将信号周期转换成对应的频率值,再将 结果送去显示。这样无论采用何种方式,只要完成一次测量即可,频率计自动开 始下一个测量循环,因此该频率计具有连续测量的功能,同时实现量程的自动转 换。 数字频率计的硬件框图如图2.1 所示。 由此可以看出该频率计主要由八部分组成,分别是: (1)待测信号的放大整形电路 因为数字频率计的测量范围为峰值电压在一定电压范围内的频率发生频率 发生周期性变化的信号,因待测信号的不规则,不能直接送入FPGA 芯片中处 理,所以应该首先对待测信号进行放大、降压、与整形等一系列处理。 (2)分频电路 将处理过的信号4 分频,这样可以将频率计的测量范围扩大4 倍。 (3)逻辑控制 控制是利用计数还是即时检测待测信号的频率。 (4)脉冲计数/定时 根据逻辑控制对待测信号计数或定时。将计数或定时得到的数据直接输入 数据处理部分。 第3 页共27 页 (5)数据处理 根据脉冲计数部分送过来的数据产生一个控制信号,送入脉冲定时部分, 如果用计数就可以得到比较精确的频率,就将这个频率值直接送入显示译码部 分。 (6)显示译码 将测量值转换成七段译码数据,送入显示电路。 (7)显示电路 通过4 个LED 数码管将测得的频率值显示给用户。 (8)系统软件 包括测量初始化模块、显示模块、信号频率测量模块、量程自动转换模 块、信号周期测量模块、定时器中断服务模块、浮点数格式化模块、浮点数算 术运算模块、浮点数到BCD 码转换模块。 由于数据处理、脉冲计数/定时、逻辑控制和显示译码都是在单片机里完成 的,所以我们可以把系统分为以下几个模块:数据处理电路、显示电路、待测信 号产生电路、待测信号整形放大电路,电源电路。 2.2 主要开发工具和平台 2.2.1 原理图和印刷电路板图设计开发工具:PROTEL DXP Protel DXP 是第一套完整的板卡级设计系统,真正实现在单个应用程序中的 集成。设计从一开始的目的就是为了支持整个设计过程,Protel DXP 让你可以 选择最适当的设计途径来按你想要的方式工作。Protel DXP PCB 线路图设计系 图2.1 数字频率计的硬件框图 显示译码 待测信号的放大整形电路 数据处理逻辑控制 脉冲计数/定时 显示电路 待测波输入 分频电路 第4 页共27 页 统完全利用了Windows XP 和Windows 2000 平台的优势,具有改进的稳定性、 增强的图形功能和超强的用户界面。 Protel DXP 是一个单个的应用程序,能够提供从概念到完成板卡设计项目的 所有功能要求,其集成程度在PCB 设计行业中前所未见。Protel DXP 采用一种 新的方法来进行板卡设计,使你能够享受极大的自由,从而能够使你在设计的 不同阶段随意转换,按你正常的设计流量进行工作。 Protel DXP 拥有:分级线路图设计、Spice 3f5 混合电路模拟、完全支持线路 图基础上的FPGA 设计、设计前和设计后的信号线传输效应分析、规则驱动的 板卡设计和编辑、自动布线和完整CAM 输出能力等。 在嵌入式设计部分,增强了JTAG 器件的实时显示功能,增强型基于FPGA 的逻辑分析仪,可以支持32 位或64 位的信号输入。除了现有的多种处理器内核 外,还增强了对更多的32 位微处理器的支持,可以使嵌入式软件设计在软处理 器, FPGA 内部嵌入的硬处理器, 分立处理器之间无缝的迁移。使用了 Wishbone 开放总线连接器允许在FPGA 上实现的逻辑模块可以透明的连接到各 种处理器上。引入了以FPGA 为目标的虚拟仪器,当其与LiveDesign-enabled 硬 件平台NanoBoard 结合时,用户可以快速、交互地实现和调试基于FPGA 的设 计,可以更换各种FPGA 子板,支持更多的FPGA 器件。 2.2.2 单片机程序设计开发工具:KEIL C51 keil c51 是美国Keil Software 公司出品的51 系列兼容单片机C 语言软件开发 系统,和汇编相比,C 在功能上、结构性、可读性、可维护性上有明显的优 势,因而易学易用。 Keil c51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体 会到keil c51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑, 容易理解。在开发大型软件时更能体现高级语言的优势。 Keil C51 可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人 员可用IDE 本身或其它编辑器编辑C 或汇编源文件,然后分别有C51 及A51 编 辑器编译连接生成单片机可执行的二进制文件(.HEX),然后通过单片机的烧 写软件将HEX 文件烧入单片机内。3 2.2.3 单片机仿真软件:PROTEUS Proteus 是目前最好的模拟单片机外围器件的工具。可以仿真51 系列、 AVR,PIC 等常用的MCU 及其外围电路(如LCD,RAM,ROM,键盘,马 达,LED,AD/DA,部分SPI 器件,部分IIC 器件,...) 其实proteus 与 multisim 比较类似,只不过它可以仿真MCU!唯一的缺点,软件仿真精度有 限,而且不可能所有的器件都找得到相应的仿真模型。 使用keil c51 v7.50 + proteus 6.7 可以像使用仿真器一样调试程序,可以完全 仿真单步调试,进入中断等各种调试方案。 Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU 的工 作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。 因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储 器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。 对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛 第5 页共27 页 盾和现象。 3 系统详细设计: 3.1 硬件设计 3.1.1 数据处理电路 ( 1 ) 中央处理模块的功能: 直接采集待测信号,将分两种情况计算待测信号的频率: 如果频率比较高,在一秒内对待测信号就行计数。 如果频率比较低,在待测信号的一个周期内对单片机的工作频率进行计数。 将得到的频率值通过显示译码后直接送入显示电路,显示给用户 ( 2 ) 电路需要解决的问题 单片机最小系统板电路的组建,单片机程序下载接口和外围电路的接口。 单片机最小系统板的组建: ①单片机的起振电路作用与选择: 单片机的起振电路是有晶振和两个小电容组成的。 晶振的作用:它结合单片机内部的电路,产生单片机所必须的时钟频率,单 片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越 高,那单片机的运行速度也就越快。MCS-51 一般晶振的选择范围为1~ 24MHz,但是单片机对时间的要求比较高,能够精确的定时一秒,所以也是为了 方便计算我们选择12MHz 的晶振。 晶振两边的电容:晶振的标称值在测试时有一个“负载电容”的条件,在工 作时满足这个条件,振荡频率才与标称值一致。一般来讲,有低负载电容(串 联谐振晶体),高负载电容(并联谐振晶体)之分。在电路上的特征为:晶振 串一只电容跨接在IC 两只脚上的,则为串联谐振型;一只脚接IC,一只脚接地 的,则为并联型。如确实没有原型号,需要代用的可采取串联谐振型电路上的 电容再并一个电容,并联谐振电路上串一只电容的措施。单片机晶振旁的2 个 电容是晶体的匹配电容,只有在外部所接电容为匹配电容的情况下,振荡频率 才能保证在标称频率附近的误差范围内。 最好按照所提供的数据来,如果没有,一般是30pF 左右。太小了不容易起 振。这里我们选择30pF 的瓷片电容。我们选择并联型电路如图3.1 所示。 ②单片机的复位电路: 2 1 Y1 12Mz C2 30pF C1 30pF XTAL1 XTAL2 图3.1 第6 页共27 页 影响单片机系统运行稳定性的因素可大体分为外因和内因两部分: 外因:即射频干扰,它是以空间电磁场的形式传递在机器内部的导体(引线 或零件引脚)感生出相应的干扰,可通过电磁屏蔽和合理的布线/器件布局衰减 该类干扰;电源线或电源内部产生的干扰,它是通过电源线或电源内的部件耦 合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰。 内因:振荡源的稳定性,主要由起振时间频率稳定度和占空比稳定度决定 起振时间可由电路参数整定稳定度受振荡器类型温度和电压等参数影响复位电 路的可靠性。 复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定 后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信 号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。 为了方便我们选择RC 复位电路可以实现上述基本功能如图3.2 所示。 但是该电路解决不了电源毛刺(A 点)和电源缓慢下降(电池电压不足)等 问题而且调整RC 常数改变延时会令驱动能力变差。增加Ch 可避免高频谐波 对电路的干扰。 复位电路增加了二极管,在电源电压瞬间下降时使电容迅速放电,一定宽 度的电源毛刺也可令系统可靠复位。 在选择元器件大小时,正脉冲有效宽度 2 个机器周期就可以有效的复位, 一般选择C3 为0.1uF 的独石电容,R1 为1K 的电阻,正脉冲有效宽度为: ln10*R1*C3=230>2,即可以该电路可以产生有效复位。 ( 3 ) 程序下载线接口: AT89S52 自带有isp 功能,ISP 的全名为In System Programming,即在线编 程通俗的讲就是编MCU 从系统目标系统中移出在结合系统中一系列内部的硬 件资源可实的远程编程。 ISP 功能的优点: ①在系统中编程不需要移出微控制器。 ②不需并行编程器仅需用P15,P16 和P17,这三个IO 仅仅是下载程序的时 候使用,并不影响程序的使用。 ③结合上位机软件免费就可实现PC 对其编程硬件电路连接简单如图3.3 所 示。 104 C3 1K R1 S1 VCC D1 1N4007 RESET Ch 0.1uF 图3.2 复位电路 第7 页共27 页 系统复位时,单片机检查状态字节中的内容。如果状态字为0,则转去0000H 地址开始执行程序这是用户程序的正常起始地址。如果状态字不0, 则将引导 向量的值作为程序计数器的高8 位,低8 位固定为00H,若引导向量为FCH, 则程序计数器内容为FC00H 即程序转到FC00H 地址开始执行而ISP 服务程序 就是从,FC00H 处开始的那么也就是进入了ISP 状态了,接下来就可以用PC 机 的ISP 软件对单片机进行编程了。 ( 4 ) 去耦电容 好的高频去耦电容可以去除高到1GHZ 的高频成份。陶瓷片电容或多层陶瓷 电容的高频特性较好。 设计印刷线路板时,每个集成电路的电源,地之间都要加一个去耦电容。 去耦电容有两个作用:一方面是本集成电路的蓄能电容,提供和吸收该集成电 路开门关门瞬间的充放电能;另一方面旁路掉该器件的高频噪声。数字电路中 典型的去耦电容为0.1uf 的去耦电容有5nH 分布电感,它的并行共振频率大约在 7MHz 左右,也就是说对于10MHz 以下的噪声有较好的去耦作用,对40MHz 以 上的噪声几乎不起作用。 1uf,10uf 电容,并行共振频率在20MHz 以上,去除高频率噪声的效果要好 一些。在电源进入印刷板的地方和一个1uf 或10uf 的去高频电容往往是有利 的,即使是用电池供电的系统也需要这种电容。 每10 片左右的集成电路要加一片充放电电容,或称为蓄放电容,电容大小 可选10uf。最好不用电解电容,电解电容是两层溥膜卷起来的,这种卷起来的 结构在高频时表现为电感,最好使用胆电容或聚碳酸酝电容。 去耦电容值的选取并不严格,可按C=1/f 计算;即10MHz 取0.1uf,对微控 制器构成的系统,取0.1~0.01uf 之间都可以。 从电路来说,总是存在驱动的源和被驱动的负载。如果负载电容比较大, 驱动电路要把电容充电、放电,才能完成信号的跳变,在上升沿比较陡峭的时 候,电流比较大,这样驱动的电流就会吸收很大的电源电流,由于电路中的电 感,电阻(特别是芯片管脚上的电感,会产生反弹),这种电流相对于正常情 况来说实际上就是一种噪声,会影响前级的正常工作。这就是耦合。 去藕电容就是起到一个电池的作用,满足驱动电路电流的变化,避免相互 间的耦合干扰。 旁路电容实际也是去藕合的,只是旁路电容一般是指高频旁路,也就是给 高频的开关噪声提高一条低阻抗泄防途径。高频旁路电容一般比较小,根据谐 振频率一般是0.1u,0.01u 等,而去耦合电容一般比较大,是10u 或者更大,依 据电路中分布参数,以及驱动电流的变化大小来确定。 去耦和旁路都可以看作滤波。正如ppxp 所说,去耦电容相当于电池,避免 1 2 3 4 5 6 7 8 9 10 P6 P17 P16 RESET P15 GND GND VCC 图3.3 程序下载线接口 第8 页共27 页 由于电流的突变而使电压下降,相当于滤纹波。具体容值可以根据电流的大 小、期望的纹波大小、作用时间的大小来计算。去耦电容一般都很大,对更高 频率的噪声,基本无效。旁路电容就是针对高频来的,也就是利用了电容的频 率阻抗特性。电容一般都可以看成一个RLC 串联模型。在某个频率,会发生谐 振,此时电容的阻抗就等于其ESR。如果看电容的频率阻抗曲线图,就会发现 一般都是一个V 形的曲线。具体曲线与电容的介质有关,所以选择旁路电容还 要考虑电容的介质,一个比较保险的方法就是多并几个电容。去耦电容在集成 电路电源和地之间的有两个作用:一方面是本集成电路的蓄能电容,另一方面 旁路掉该器件的高频噪声。数字电路中典型的去耦电容值是0.1μF。这个电容的 分布电感的典型值是5μH。0.1μF 的去耦电容有5μH 的分布电感,它的并行共振 频率大约在7MHz 左右,也就是说,对于10MHz 以下的噪声有较好的去耦效 果,对40MHz 以上的噪声几乎不起作用。1μF、10μF 的电容,并行共振频率在 20MHz 以上,去除高频噪声的效果要好一些。每10 片左右集成电路要加一片充 放电电容,或1 个蓄能电容,可选10μF 左右。最好不用电解电容,电解电容是 两层薄膜卷起来的,这种卷起来的结构在高频时表现为电感。要使用钽电容或 聚碳酸酯电容。去耦电容的选用并不严格,可按C=1/F,即10MHz 取0.1μF, 100MHz 取0.01μF,电路图如图3.4 所示。 ⑸单片机与外界的接口 显示电路的段选使用P0 口,P0 口是属于TTL 电路,不能靠输出控制P0 口 的高低电平,需要上拉电阻才能实现。 由于单片机不能直接驱动4 个数码管的显示,需要数码管的驱动电路,驱动 电路采用NPN 型的三极管组成,即上拉电阻又有第二个作用,驱动晶体管,晶 体管又分为PNP 和NPN 管两种情况:对于NPN,毫无疑问NPN 管是高电平有 效的,因此上拉电阻的阻值用2K——20K 之间的,具体的大小还要看晶体管的 集电极接的是什么负载,对于数码管负载,由于发管电流很小,因此上拉电阻 的阻值可以用20k 的,但是对于管子的集电极为继电器负载时,由于集电极电 流大,因此上拉电阻的阻值最好不要大于4.7K,有时候甚至用2K 的。对于PNP 管,毫无疑问PNP 管是低电平有效的,因此上拉电阻的阻值用100K 以上的就行 了,且管子的基极必须串接一个1~10K 的电阻,阻值的大小要看管子集电极的 负载是什么,对于数码管负载,由于发光电流很小,因此基极串接的电阻的阻 值可以用20k 的,但是对于管子的集电极为继电器负载时,由于集电极电流 大,因此基极电阻的阻值最好不要大于4.7K。与外界的信号交换接口,电路图 如图3.5。 104 CK11 104 CK12 104 CK13 104 CK14 VCC 图3.4 去耦电容 第9 页共27 页 数码管的段选通过P00~P07 口来控制的。 数码管的位选通过P20~P23 口来控制的。 计算待测信号的频率通过计数器1 来完成的所有待测信号解答计数器的T1 口上,即P3.5。 ⑹单片机的选型: AT89SC52 和AT89SS52 最主要的区别在于下载电压,AT89SC52 单片机下载 电压时最小为12V,而AT89S52 仅在5V 电压下就可以下载程序了,而且AT89S52 支持ISP,即在线编程。为了使用方便,在本系统中我们使用AT89S52 单片机。 ①AT89S52 主要性能 与MCS-51 单片机产品兼容。 8K 字节在系统可编程Flash 存储器。 l 1000 次擦写周期。 全静态操作:0Hz~33Hz。 VCC 1 2 YK1 30pF CK1 30pF CK2 VCC P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P15 P16 P17 123456789 PK1 P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P00 P01 P02 P03 P04 P05 P06 P07 P1.0/T2 1 P1.1/T2EX 2 P1.2/ECI 3 P1.3/CEX0 4 P1.4/CEX1 5 P1.5/CEX2 6 P1.6/CEX3 7 P1.7/CEX4 8 9 RST 10 P3.0/RxD 11 P3.1/TxD 12 P3.2/INT0 13 P3.3/INT1 14 P3.4/T0 15 P3.5/T1 16 P3.6/WR 17 P3.7/RD 18 XTAL2 19 XTAL1 20 VSS P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P2.7/A15 28 29 PSEN 30 ALE/PROG 31 EA/VPP P0.7/AD7 32 P0.6/AD6 33 P0.5/AD5 34 P0.4/AD4 35 P0.3/AD3 36 P0.2/AD2 37 P0.1/AD1 38 P0.0/AD0 39 VCC 40 UK1 AT89S52 图3.5 单片机与外界接口 第10 页共27 页 三级加密程序存储器。 32 个可编程I/O 口线。 三个16 位定时器/计数器。 八个中断源。 全双工UART 串行通道。 低功耗空闲和掉电模式。 掉电后中断可唤醒。 看门狗定时器。 双数据指针。 掉电标识符。 ②功能特性描述: AT89S52 是一种低功耗、高性能CMOS8 位微控制器,具有8K 在系统可编 程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上Flash 允许程序存储器在系统可编程,亦 适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash, 使得AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能: 8k 字节Flash,256 字节RAM, 32 位I/O 口 线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6 向量2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持2 种软件可选择节电模式。空闲模式下,CPU 停止工 作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下, RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬 件复位为止R8 位微控制器8K 字节在系统可编程Flash P0 口:P0 口是一个8 位漏极开路的双向I/O 口。作为输出口,每位能驱动8 个 TTL 逻辑电平。对P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和 数据存储器时,P0 口也被作为低8 位地址/数据复用。在这种模式下,P0 具有内 部上拉电阻。在flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出 指令字节。程序校验时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器 能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此 时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的 原因,将输出电流(IIL)。此外,P1.0 和P1.2 分别作定时器/计数器2 的外部计 数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所 示。在flash 编程和校验时,P1 口接收低8 位地址字节。引脚号第二功能P1.0 T2 (定时器/计数器T2 的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器 T2 的捕捉/ 重载触发信号和方向控制) P1.5 MOSI ( 在系统编程用) P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器 能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此 时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的 原因,将输出电流(IIL)。在访问外部程序存储器或用16 位地址读取外部数据 存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用 第11 页共27 页 中,P2 口使用很强的内部上拉发送1。在使用8 位地址(如MOVX @RI)访问 外部数据存储器时,P2 口输出P2 锁存器的内容。在flash 编程和校验时,P2 口 也接收高8 位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱 动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可 以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原 因,将输出电流(IIL)。P3 口亦作为AT89S52 特殊功能(第二功能)使用,如 下表所示。在flash 编程和校验时,P3 口也接收一些控制信号。 引脚号第二功能P3.0 RXD(串行输入)P3.1 TXD(串行输出)P3.2 INT0(外 部中断0)P3.3 INT0(外部中断0)P3.4 T0(定时器0 外部输入)P3.5 T1(定时器1 外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器写选通)。 RST: 复位输入。晶振工作时,RST 脚持续2 个机器周期高电平将使单片机复 位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器 AUXR(地址8EH)上的DISRTO 位可以使此功能无效。DISRTO 默认状态下,复 位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储 器时,锁存低8 位地址的输出脉冲。在flash 编程时,此引脚(PROG)也用作 编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可 用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储 器时,LE 脉冲将会跳过。如果需要,通过将地址为8EH的SFR 的第0 位置“1”, ALE 操作将无效。这一位置“1”,ALE 仅在执行MOVX 或MOVC 指令时有 效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH 的SFR 的 第0 位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选 通信号(PSEN)是外部程序存储器选通信号。当AT89S52 从外部程序存储器执 行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器 时,PSEN 将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从 0000H 到FFFFH 的外部程序存储器读取指令,EA 必须接GND。为了执行内部 程序指令,EA 应该接VCC。在flash 编程期间,EA 也接收12 伏VPP 电压。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相 放大器的输出端。 ③特殊功能寄存器 特殊功能寄存器(SFR)的地址空间映象如表1 所示。 并不是所有的地址都被定义了。片上没有定义的地址是不能用的。读这些 地址,一般将 得到一个随机数据;写入的数据将会无效。用户不应该给这些未定义的地 址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位 都为“0”。 定时器2 寄存器:寄存器T2CON 和T2MOD 包含定时器2 的控制位和状态位 (如表2 和表3 所示),寄存器对RCAP2H 和RCAP2L 是定时器2 的捕捉/自动 重载寄存器。 中断寄存器:各中断允许位在IE 寄存器中,六个中断源的两个优先级也可在IE 中设置。 3.1.2 显示电路 LCD 与LED 的区别。 第12 页共27 页 LED 仅仅是由8 个led 灯组成的数码显示器件,电路简单,操作容易。 LCD 是有点阵组成的显示器件,该器件电路和软件复杂,但是交互性好。 该系统展示给用于的数据为频率值,用LED 数码管显示即可。 LED 数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码 管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1 位、2 位、4 位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共 阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极 (COM)的数码管。共阳数码管在应用时应将公共极COM 接到+5V,当某一字段 发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平 时,相应字段就不亮。。共阴数码管是指将所有发光二极管的阴极接到一起形 成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM 接到地线 GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一 字段的阳极为低电平时,相应字段就不亮。 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示 出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态 式两类。 ① 静态显示驱动 静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个 单片机的I/O 端口进行驱动,或者使用如BCD 码二-十进制译码器译码进行驱 动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O 端口多,如驱动 5 个数码管静态显示则需要5×8=40 根I/O 端口来驱动,要知道一个89S51 单片 机可用的I/O 端口才32 个呢:),实际应用时必须增加译码驱动器进行驱动, 增加了硬件电路的复杂性。 ② 动态显示驱动 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态 驱动是将所有数码管的8 个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为 每个数码管的公共极COM 增加位选通控制电路,位选通由各自独立的I/O 线控 制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那 个数码管会显示出字形,取决于单片机对位选通COM 端电路的控制,所以我们 只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数 码管就不会亮。通过分时轮流控制各个数码管的的COM 端,就使各个数码管轮 流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为 1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数 码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显 示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量 的I/O 端口,而且功耗更低。由于我们使用的FPGA 芯片的型号为EPF10K10, 有足够的IO 口分别去控制数码管的段选。这里我们采用动态显示方式。 由于FPGA 的IO 口没有足够的驱动能力去驱动数码管,所以需要数码管的 驱动电路,该驱动电路我们选择由三极管组成的电路,该电路简单,软件容易 实现。其中一个数码管的驱动电路图如图3.6 所示。 数码管为共阴极,当CS1=1 时,即三极管Q9 被饱和导通,则数码管的公共 极被间接接地,数码管被选中,数据将在该管上显示,当CS=0 时,三极管Q9 被截至,则数码管的公共极被没有接地,即使CSA,CSB,CSC,CSD,CSE, 第13 页共27 页 CSF,CSG,CSDP 被送入数据也不会有显示。 CSA,CSB,CSC,CSD,CSE,CSF,CSG,CSDP 分别为数码管的位选, 哪一位为“1”,即相应的三极管饱和导通,则相应的数码管段被点亮。“0”为截 止。相应的数码管段灭,这样数码管就有数字显示出来。 我们在该系统使用了4 个数码管,使用动态显示,即通过片选,是每个数码 管都亮一段时间,不断循环扫描,由于人的眼睛有一段时间的视觉暂留,所以 给人的感觉是每个数码管同时亮的,这样4 个数码管就把4 位十进制数据就显示 出来了。 数码管驱动电路:由于单片机芯片没有足够的能力驱动4 个数码管,因此需 要增加数码管驱动电路。 驱动电路我们可以选择由三极管组成的电路,该电路简单,程序容易实现. 3.1.3 待测信号产生电路 可变基准发生器模块的功能为:主要用于仿真外界的周期性变化的信号,用 于电路的测试,对频率的精度没有要求,只要能产生周期性变化的信号即可。 该部分不为频率计的组成部分,再加上为了节省成本我们使用LM555 芯片 组建的多谐振振荡器电路电路如图3.7 所示,电容C,电阻RA 和RB 为外接元 件,其工作原理为接通电源后,5V 电源经RA 和RB 给电容C 充电,由于电容 上电压不能突变,电源刚接通时,555 内部比较器A1 输出高电平,A2 输出低电 平,即RD=1,SD=0,基于RS 触发器置“1”,输出端Q 为高电平,此时,Q=0,使 A 1 2 f 3 g 4 e5 d A 6 8 c 7 DP 9 b10 a DS1 Q1 NPN Q2 NPN Q3 NPN Q4 NPN Q5 NPN Q6 NPN Q7 NPN Q8 NPN Q9 NPN VCC VCC VCC VCC VCC VCC VCC VCC A B C C D D E EF F G G DP DP AB 100 R1 100 R2 100 R3 100 R4 100 R5 100 R6 100 R7 100 R8 100 R9 1 2 3 4 5 6 7 8 9 P1 CS1 CSA CSA CSB CSB CSC CSC CSD CSD CSE CSE CSF CSF CSG CSG CSDP CSDP 图3.6 显示电路 第14 页共27 页 内部放电管截止。 当电容两端电压Vc 上升到大于5V 的电压的三分之一时,RD=1,SD=1,基本 RS 触发器状态不变,即输出端Q 仍为高电平,当电容两端电压Vc 上升到略大 于2*5V/3 是,RN=0,SD=1,基本RS 触发器置0,输出端Q 为低电平,这时Q=1, 使内部放电管饱和导通。于是电容C 经RB 和内部的放电管放电,电容两端电压 按指数规律减小。当电容两端电压下降到略小于5V 电压的三分之一时,内部比 较器A1 输出高电平,A2 输出低电平,基本RS 触发器置1,输出高电平,这 时,Q=0,内部放电管截止,于是电容结束放电,如此循环不止,输出端就得 到了一系列矩形脉冲。如图3.8 所示。 电路参数的计算: 为了使Q 端输出频率可变,RB 用电位器来取代。 电容选择如果选择105的独石电容,即C=1uF= uF ,RA选1K的电10106 2 TRIG OUT 3 4 RST CVOL5T 6 THR 7 DISC 8 VCC GND1 U1 LM555CJ RA C VCC RB 5V VCC 图3.7 待测信号产生电路 图3.8 LM555 工作时电流变化 第15 页共27 页 阻,RB 选择5K的电位器,由公示f =1.443/RA+RBC计算可得:当RB=0 时,f=1.443KHz, 当RB=5K 时, f=240Hz, 由此可得, 该电路的输出频率范围为: 240~1443(Hz)。 元器件的简介 LM555/LM555C 系列是美国国家半导体公司的时基电路。我国和世界各大 集成电路生产商均有同类产品可供选用,是使用极为广泛的一种通用集成电 路。LM555/LM555C 系列功能强大、使用灵活、适用范围宽,可用来产生时间 延迟和多种脉冲信号,被广泛用于各种电子产品中。 555 时基电路有双极型和CMOS 型两种。LM555/LM555C 系列属于双极 型。优点是输出功率大,驱动电流达200mA。而另一种CMOS 型的优点是功 耗低、电源电压低、输入阻抗高,但输出功率要小得多,输出驱动电流只有几 毫安。 另外还有一种双时基电路LM556,14 脚封装,内部有两个相同的时基电路 单元。 特性简介: 直接替换SE555/NE555。 定时时间从微秒级到小时级。 可工作于无稳态和单稳态两种方式。 可调整占空比。 输出端可接收和提供200mA 电流。 输出电压与TTL 电平兼容。 温度稳定性好于0.005%/℃。 应用范围 精确定时。 脉冲发生 连续定时 频率变换 脉冲宽度调制 脉冲相位调制 电路特点: LM555 时基电路内部由分压器、比较器、触发器、输出管和放电管等组 成,是模拟电路和数字电路的混合体。其中6 脚为阀值端(TH),是上比较 器的输入。2 脚为触发端( TR ) , 是下比较器的输入。3 脚为输出端 (OUT),有0 和1 两种状态,它的状态由输入端所加的电平决定。7 脚为 放电端(DIS),是内部放电管的输出,它有悬空和接地两种状态,也是由输 入端的状态决定。4 脚为复位端(R),叫上低电平( 2/3VCC 是高电平 1, 1/3VCC 是高电平1,7V,由此可以看出 LM7805 将正常工作,输出电压为5V。电路如图3.10 所示。 元器件的选型与电路参数的计算: LM7805 芯片简介: 外形图及引脚排列H 7805 系列为3 端正稳压电路,TO-220 封装,能提供 多种固定的输出电压,应用范围广。内含过流、过热和过载保护电路。带散 热片时,输出电流可达1A。虽然是固定稳压电路,但使用外接元件,可获得 不同的电压和电流。 主要特点: 1 IN 3 OUT 2 GND U1 LM7805 Q1 PNP Q2 PNP Q3 NPN R1 R2 R3 0.33uF C1 0.1uF C2 D1 D2 1N4007 D3 D4 0.1uF C4 10UF C5 1 2 5V 图3.10 第20 页共27 页 输出电流可达2A。 输出电压有:5V。 过热保护。 短路保护。 输出晶体管SOA 保护。 7805 的功能框图如图3.11: 注意: 输入电压,即为纹波电压中的低值点,都必须高于所需输出电压2V 以 上。 当稳压器远离电源滤波器时,要求用C1。 CO 可改善稳定性和瞬态响应。 该模块的不足和对进一步完善提出建议: 该模块的不足: 转换的效率低:线性稳压器的效率直接与其调整管所消耗的功率有 关。调整管的功耗等于电流×(输入电压-输出电压),由此可见,有些情况下调整 管会产生较大损耗。例如,负载为1A 时,将10V 的电压降至5V 输出,线性稳 压器的功耗为5W。效率将低于50%。该电路将会很耗电。 散热问题:由上可知线性稳压器的功耗将在高于总电路的50%,例如,我 们的电路功率为10W,那么线性稳压器的功率将会高于5W,这5W 的99%将通 过热量散失到外界,如果散热管理不适当将会使整个系统在高温下工作,影响 整个系统的性能之外,也严重的影响着整个系统的寿命。 提出建议: 线性稳压器的低效率迫使寻求新的改进方案,开关电源引起人们的关注。 根据开关电源的工作原理,在不同负载和电压下,一个设计良好的开关电源的 效率可达90%甚至更高。这相比线性稳压器,效率提高了40%。通过直观的比 较,开关电源降压的优势便体现出来了,其他开关电源的拓扑结构同样具有相 近或是更高的效率。开关电源设计不仅仅具有高效率这一主要优势,由于功耗 的降低还带来许多直接的好处。例如,与低效率的竞争产品相比,开关电源的 散热片面积大大减小。降低了对热管理的要求;而且更重要的是,由于器件不 会工作在低效的高温环境中,大大提高了器件的可靠性,进而延长工作寿命。 图3.11 第21 页共27 页 3.2 软件设计 3.2.1 编程语言的选择: 汇编和C 语言 汇编语言(Assembly Language)是面向机器的程序设计语言 在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号 (Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成 了汇编语言。于是汇编语言亦称为符号语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言 翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中 语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。 汇编语言比机器语言易于读写、易于调试和修改,同时也具有机器语言执 行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇 编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植。 C 语言发展如此迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大 的功能。许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语 言编写的。用C 语言加上一些汇编语言子程序, 就更能显示C 语言的优势了, 象PC- DOS 、WORDSTAR 等就是用这种方法编写的。归纳起来C 语言具有 下列特点: ①C 是中级语言 它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可 以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工 作单元。 ② C 是结构式语言 结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必 要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维 护以及调试。C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循环、条件语句控制程序流向, 从而使程序完全结构化。 ③C 语言功能齐全 C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更 高。另外C 语言也具有强大的图形功能, 支持多种显示器和驱动器。而且计算 功能、逻辑判断功能也比较强大, 可以实现决策目的。 ④C 语言适用范围大 C 语言比汇编更容易编写和移植,虽然该程序对时间要求比较严格但是如果 我们使用定时器的话对,这样就既可以解决用延时带来的不精确的问题,也提 高了编写程序的效率。 3.2.2 程序流程图: ⑴主程序 该计数器时通过计数或定时来完成计算待测信号的频率的,所以频率的计算 都是在中断里完成的。主函数的流程图如图3.12 为: 第22 页共27 页 检测一个信号首先在1 秒钟中内对待测频率计数,通过定时器0 来定时1 秒。 通过计数器1 对待测频率计数,通过这种方法检测出待测信号的频率,如果频率 小于2 的话,通过这种方法检测出来的频率精度会很低,所以如果频率低于2Hz, 用计数器1 来检测两个下降沿,在两个下降沿内,运行定时器0,通过这种方法 计算频率比较低的信号。 两种方案的选择由变量flag 控制,对一个未知频率信号,我们先假设该频率 高于2Hz,当用第一种方法检测出来的值小于2Hz,我通过对变量的控制执行第 二种方案。 定时器/计数器0 和定时器/计数器1 的主要作用: 首先当待测信号送入到频率计时,频率计将该信号作为频率大于2Hz 出来, 定时器/计数器0 设为定时模式,定时器/计数器1 设为计数模式。定时器0 的作 用为定时1 秒,在这一秒里,计数器1 对待测信号计数。由此可以测出待测的频 图3.12 主程序流程图 第23 页共27 页 率值,当检测到的频率值小于2Hz 时,频率计自动转换到对低频信号处理模式, 定时器1 的作用将变为自动检测待测频率的下降沿,定时器0 的作用是在相邻的 两个下降沿里计时。由此可以测出频率小于2 的信号。 定时器0 的程序流程图如图3.13。计数器1 的程序流程图如图3.14 所示。 如图3.13 定时器0 中断流程序 图3.14 定时器1 中断流程图 Y N 第24 页共27 页 打开Keil C,单击“工程”菜单中的“目标Target1 属性”,跳出一个设置“目标 Target1 属性”的对话框。打开“输入”页,在产生执行文件的框里,把“E 生成HEX 文件”前的钩打上,重新编译,即工程所在的文件夹里会产生一个HEX 格式的文 件。 用keil C 即可产生的HEX 的二进制文件,既可以在PROTES 中仿真使用, 也可以下载到单片机中运行。 3.3 电路板的制作 3.3.1 元器件的封装 在设计装配方式之前,要求将系统的电路基本定型,同时还要根据整机的 体积以及机壳的尺寸来安排元器件在印刷电路板上的装配方式。 具体做这一步工作时,可以先确定好印刷电路板的尺寸,然后将元器件配 齐,根据元器件种类和体积以及技术要求将其布局在印刷电路板上的适当位 置。可以先从体积较大的器件开始,如电源变压器、磁棒、全桥、集成电路、 三极管、二极管、电容器、电阻器、各种开关、接插件、电感线圈等。待体积 较大的元器件布局好之后,小型及微型的电子元器件就可以根据间隙面积灵活 布配。二极管、电感器、阻容元件的装配方式一般有直立式、俯卧式和混合式 三种。 ①直立式。电阻、电容、二极管等都是竖直安装在印刷电路板上的。这种 方式的特点是:在一定的单位面积内可以容纳较多的电子元件,同时元件的排 列也比较紧凑。缺点是:元件的引线过长,所占高度大,且由于元件的体积尺 寸不一致,其高度不在一个平面上,欠美观,元器件引脚弯曲,且密度较大, 元器件之间容易引脚碰触,可靠性欠佳,且不太适合频率较高的电路采用。 ②俯卧式。二极管、电容、电阻等元件均是俯卧式安装在印刷电路板上 的。这样可以明显地降低元件的排列高度,可实现薄形化,同时元器件的引线 也最短,适合于较高工作频率的电路采用,也是目前采用得最广泛的一种安装 方式。 ③混合式。为了适应各种不同条件的要求或某些位置受面积所限,在一块 印刷电路板上,有的元器件采用直立式安装,也有的元器件则采用俯卧式安 装。这受到电路结构各式以及机壳内空间尺寸的制约,同时也与所用元器件本 身的尺寸和结构形式有关,可以灵活处理。 1、单片机: 单片机使用双列直插式DIP 封装,40 个引脚,每个引脚的距离为100mil。 封装模型如图3.18 所示: 图3.18 单片机PCB 模型 第25 页共27 页 2、数码管的封装: 数码管的封装采用LEDDIP-10,但是因为每个厂家生产出来的段选并不是都 是相同的,但是没必要重新设计数码管的封装,仅仅检查引脚分配即可,在本设 计使用的数码管引脚分配如图3.19 所示。 其他元器件封装: 电阻AXIAL 无极性电容RAD 电解电容RB 电位器VR 二极管DIODE 三极管、场效应管TO 电源稳压块78 系列TO-220 单排多针插座SIP 双列直插元件DIP 晶振XTAL1 3.5 软硬件结合测试 当给电板通电时,LM555 的3 号输出引脚的电压为2.5V 左右。说明输出脉 冲的占空比为50%。通过通过示波器查看波形,和理论的波形一致,通过调节 电位器可以改变输出波形的频率。 图3.19 元器件引脚映射 第26 页共27 页 数码管显示当调节电位器时,数码管的显示也是在理论范围只内的。 第27 页共27 页 致谢 在本论文结束之际,回想本科阶段的学习和生活,感慨甚多,毕业课题和 论文是在导师郑老师的指导下完成的,同时也要感谢自动化教研室的老师,感 谢他们的耐心指导。感谢所有帮助和支持过我的人。 郑老师对论文的进展付出了大量的汗水和心血,并给予了许多具体的实验 指导方案,在论文的最后成稿中提出了许多宝贵的意见,从而使论文的质量得 以提高,从郑老师身上,我学到的不仅是做学问、搞科研的态度、方法和毅 力,而且更多的是做人的准则。借此论文完成之际,向郑老师表示深深的谢 意! 最后,再一次向关心和帮助我的各位表示我衷心的感谢和深深的敬意!
SIwave中文培训手册,详细介绍了SIwave的使用入门基础,包括目录 1 现代 PCB 设计面临的挑战.....................................................................................................1 2 SI/PI 的基本概念,SI/PI 与 EMI 的关系...............................................................................1 2.1 传输线...........................................................................................................................1 2.2 特性阻抗.......................................................................................................................1 2.3 反射系数和信号反射...................................................................................................2 2.4 截止频率.......................................................................................................................3 2.5 S 参数 ...........................................................................................................................3 2.6 电源完整性的定义.......................................................................................................4 2.7 同步开关噪声...............................................................................................................5 2.8 PDS 的阻抗以及目标阻抗的定义...............................................................................5 2.9 去耦电容.......................................................................................................................6 2.10 SI/PI 与 EMI 的关系....................................................................................................7 3 PCB 前仿真——熟悉软件界面和基本操作 ..........................................................................8 3.1 PCB 数据的导入和检查 ..............................................................................................8 3.2 预布局阶段的设计与仿真.........................................................................................13 3.2.1 层叠设计.........................................................................................................13 3.2.2 平面分割.........................................................................................................14 3.2.3 添加去耦电容.................................................................................................14 3.2.4 仿真之前的参数设置.....................................................................................15 3.2.5 谐振分析.........................................................................................................16 4 布线后仿真.............................................................................................................................18 4.1 PI 仿真:....................................................................................................................18 4.1.1 谐振模式分析,退耦电容的作用.................................................................18 4.1.2 阻抗分析,阻抗和谐振的关系.....................................................................20 4.1.3 传导干扰分析和电压噪声测量,及其与谐振的关系.................................22 4.1.4 SSN 仿真(建议初学者跳过本节).............................................................25 4.2 DC Voltage (DCIR) drop 仿真....................................................................................33 4.3 SI 仿真........................................................................................................................38 4.3.1 信号线参数抽取.............................................................................................38 4.3.2 TDR.................................................................................................................41 4.3.3 信号完整性与串扰仿真.................................................................................42 4.3.4 差分信号参数提取和眼图仿真.....................................................................49 4.4 PCB 的 EMI 设计与控制...........................................................................................52 4.4.1 PCB 远场辐射分析 ........................................................................................52 4.4.2 频变源加入(建议初学者跳过本节).

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值