【毕业学位论文】(Word原稿)数字示波器GPIB解释程序设计-电气信息工程_第1页
【毕业学位论文】(Word原稿)数字示波器GPIB解释程序设计-电气信息工程_第2页
【毕业学位论文】(Word原稿)数字示波器GPIB解释程序设计-电气信息工程_第3页
【毕业学位论文】(Word原稿)数字示波器GPIB解释程序设计-电气信息工程_第4页
【毕业学位论文】(Word原稿)数字示波器GPIB解释程序设计-电气信息工程_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 1 数字示波器 文摘 本课题来源于 科研项目 “带宽 100采样率 100数字存储示波器 ” 的研制,本人的任务是解释编译程序的设计。该解释程序是使用单片机 C 语言编程设计的,它依据的标准是美国电气及电子工程师协会公布的 准。根据 制面板 设计了控命令树,根据 准定义了程控命令的格式,并以 件数据标准推荐的消息交换控制协议为准则,设计出程控命令解释程序流程图 ,最终实现了程控命令解释程序的设计。 关键词 程控; 令树;解释程序 目前推动整个示波器技术发展的市场动力主要来自于计算、通信以及消费电子产业。随着设备传输速率的飞速提高以及某些新数据标准的不断涌现 (例如基于第二代串行数据标准的产品设计,其中包括第二代 ),人们开始要求产品具有最优性能,从而满足产品应用开发工作中最为苛刻的要求。 新型数字荧光示波器在一种强大的采集技术中,同时融合了模拟示波器和数字示波器的优势。这一测量工具要优于模拟示波器 和数字示波器,因为它可以以前所未有的方式考察信号操作。任何现有的示波器结构 (不管是模拟示波器还是数字示波器 )都不能实现数字荧光示波器的功能。 解释程序是数字示波器中非常重要的一部分。有一个好的解释程序,可以大大提高示波器的运行速度。 1 绪论 示波器是一种图形显示设备,它描绘电信号的波形曲线。这一简单的波形能够说明信号的许多特性:信号的时间和电压值、振荡信号的频率、信号所代表电路中 “ 变化部分 ” 信号的特定部分相对于其它部分的发生频率、是否存在故障部件使信号产生失真、信号的直流成份 ( 交流成份( 信号的噪声值和噪声随时间变化的情况、比较多个波形信号等。 ( 1)初期主要为模拟示波器 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 2 廿世纪四十年代是电子示波器兴起的时代,雷达和电视的开发需要性能良好的波形观察工具,泰克成功开发带宽 10是近代示波器的基础。五十年代半导体和电子计算机的问世,促进电子示波器的带宽达到 100十年代美国、日本、英国、法国在电子示波器开发方面各有不同的贡献,出现带宽 6宽 41存储示波管;便携式、 插件式示波器成为系列产品。七十年代模拟式电子示波器达到高峰,行谱系列非常完整,带宽 1多功能插件式示波器标志着当时科学技术的高水平,为测试数字电路又增添逻辑示波器和数字波形记录器。模拟示波器从此没有更大的进展,开始让位于数字示波器,英国和法国甚至退出示波器市场,技术以美国领先,中低档产品由日本生产。 模拟示波器要提高带宽,需要示波管、垂直放大和水平扫描全面推进。数字示波器要改善带宽只需要提高前端的 A/示波管和扫描电路没有特殊要求。加上数字示波管能充分利用记忆、存储和处理,以及多种触发 和预前触发能力。廿世纪八十年代数字示波器异军突起,成果累累,大有全面取代模拟示波器之势,模拟示波器逐渐从前台退到后台。但是在发展初期模拟示波器的某些特点,却是数字示波器所不具备的: 操作简单:全部操作都在面板上可以找到,波形反应及时,数字示波器往往要较长处理时间。 垂直分辨率高:连续而且无限级,数字示波器分辨率一般只有 8位至 10位。 实时带宽和实时显示:连续波形与单次波形的带宽相同,数字示波器的带宽与取样率密切相关,取样率不高时需借助内插计算,容易出现混淆波形。 简而言之,模拟示波器为工程技术人员提供眼见为 实的波形,在规定的带宽内可非常放心进行测试。人类五官中眼睛视觉神经十分灵敏,屏幕波形瞬间反映至大脑做出判断,细微变化都可感知。因此,刚开始模拟示波器深受使用者的欢迎。 ( 2) 中期数字示波器独领风骚 八十年代的数字示波器处在转型阶段,还有不少地方要改进,美国的 们后来停产模拟示波器,并且只生产性能好的数字示波器。进入九十年代,数字示波器除了提高带宽到 1重要的是它的全面性能超越模拟示波器。出现所谓数字示波器模拟化的现象,换句话说,尽量吸收模拟示 波器的优点,使数字示波器更好用。 数字示波器首先在取样率上提高,从最初取样率等于两倍带宽,提高至五倍甚至十倍,相应对正弦波取样引入的失真也从 100%降低至 3%甚至 1%。带宽 1s,甚至 10s。 其次,提高数字示波器的更新率,达到模拟示波器相同水平,最高可达每秒 40万个波形,使观察偶发信号和捕捉毛刺脉冲的能力大为增强。 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 3 再次,采用多处理器加快信号处理能力,从多重菜单的烦琐测量参数调节,改进为简单的旋钮调节,甚至完全自动测量,使用上与模拟示波器同样方便。 最后, 数字示波器与模拟示波器一样具有屏幕的余辉方式显示,赋于波形的三维状态,即显示出信号的幅值、时间以及幅值在时间上的分布。具有这种功能的数字示波器称为数字荧光示波器或数字余辉示波器即数模兼合。 自从示波器问世以来,它一直是最重要、最常用的电子测试工具之一 ;由于电子技术的发展,示波器的能力也在不断提升,其性能与价格也五花八门,市场参差不齐。 参见前面的示波器发展。总之,传统的观点认为模拟示波器具有熟悉的面板控制,价格低廉,因而总觉得模拟示波器 “ 使用方便 ” 。示波器的特征主要有: ( 1)宽带 带宽一般定义为正弦输入信号幅度衰减到 带宽决定示波器对信号的基本测量能力。 随着信号频率的增加,示波器对信号的准确显示能力将下降,如果没有足够的带宽,示波器将无法分辨高频变化。幅度将出现失真,边缘将会消失,细节数据将被丢失。如果没有足够的带宽,得到的关于信号的所有特性,响铃和振鸣等都毫无意义。 带宽有两种类型:重复(或等效时间)带宽和实时(或单次)带宽。重复带宽只适用于重复的信号,显示来自于多次信号采集期间的采样。实时带宽是示波器的单次采样中所能捕捉的最高频率,且 当捕捉的事件不是经常出现时要求相当苛刻。实时带宽与采样速率联系在一起。 ( 2) 采样速率 定义为每秒采样次数( S/s),指数字示波器对信号采样的频率。示波器的采样速率越快,所显示的波形的分辨率和清晰度就高,重要信息和事件丢失的概率就越小。 实际上,信号的准确再现取决于其采样速率和信号采样点间隙所采用的插值法。一些示波器会为操作者提供以下选择:测量正弦信号的正弦插值法,以及测量矩形波、脉冲和其他信号类型的线性插值法。 ( 3)屏幕刷新率 所有的示波器都会闪烁。也就是说,示波器每秒钟以特定的次数捕获信号 ,在这些测量点之间将不再进行测量。这就是波形捕获速率,也称屏幕刷新率,表示为波形数每秒( s)。采样速率表示的是示波器在一个波形或周期内,采样输入信号的频率 ; 波形捕获速率则是指示波器采集波形的速度。 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 4 ( 4)存储深度 存储深度是示波器所能存储的采样点多少的量度。存储深度与取样速度密切相关。所需要的存储深度取决于要测量的总时间跨度和所要求的时间分辨率。 ( 5)指标精度 示波器的指标有很多:如垂直灵敏度、扫描速度、增益精度、时间基准、垂直分辨率、保修期等。一般只要这些指标能够达到一定的标准,相互 协调就可以了。 ( 6)分析功能 数字示波器的最大优点是它们能得到的数据进行测量,且按一下按钮即可实现各种分析功能。虽然可利用的功能因厂家和型号而异,但它们一般包括诸如频率、上升时间、脉冲宽度等等的测量。某些数字示波器还提供快速傅里叶变换( 能。 ( 7)可扩展性 示波器应该能够不断地适应需求的变化。一些示波器可以随机扩展: 增加通道的内存以分析更长的记录长度 增加面对具体应用的测量功能 有一整套兼容的探头和模块,加强示波器的能力 同通用第三方的 增加附件,如 电池组和机架固定件等。 统就是,利用 口母线系统把若干可程控器件连接起来而组建成的系统。在这种系统中,除了极少数简单的无控者系统之外,都需要用一个主控机来根据测量程序去控制整个系统的工作。 准通用接口母线系统,是用一种外部手段来把各种器件连接成的一个系统。一般设计出来的 如下的基本特性: ( 1) 采用母线连接方式 母线上对多可以挂 15 个器件。一般, 15 个器件可组成个机架,已能组成相当规模的系统。母线中共包含 16 条信号线。 传输方式为比特并行、拜特串行的异步双向传递,并采用三线挂钩技术来多线消息。 此外,数传速率还受到电路电容的影响,受到传输线上因为反射和振铃现象而需要的瞬变过程稳定时间的限制,也受到挂钩信号往返的电缆延时的影响。 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 5 ( 2)一般可用器件后背板上的波动开关自由设置地址容量。 ( 3)在同一时刻,母线上只容许有一个讲者,听者数目不限 ( 4)具有控者转移能力 ( 5)母线上采用与 容的正极性、负真逻辑 接口没有标准化以前,一般仪器的设计是把一切必要的数据线、控制线和状态线都拉出来。这样 的接口引线大多多余 50条。 ( 1)数据母线 数据母线由 条数据线组成,并行传送八位比特数据。 在所有 传递接口消息,也传递器件消息,这个是由当时的 标志。 ( 2)管理母线 共有五条管理母线,分别是 3)总线接口消息 件的接口功能和器件功能的状态变迁是由器件之间传递的消息引起的。为了保证运行和操作上的相容,任一种互联设备接口系统都对总线上传递的消息做出某种规定,统也是 这样。 ( 4) 息分类和传递途径 息分类和传递途径主要是这样: 器件与外界交换的数字信息,经过适当的编码,由接口发送器输出至母线。 外界的数字信息通过母线传送到器件接口,由接口接收器接收近来,经过适当译码后分送各有关部分。 外来接口消息经译码后送到有关的接口功能,引起相应接口功能状态变迁;反之,各接口功能输出的接口消息经译成标准编码后由通道 1送到母线上去。 器件消息经由 E 接口功能传出或传入;器件消息不会引起接口功能的状态变迁。 二个或多个接口功能之间的逻辑上的互联关系,称为 状态交链,并由 当存在状态交链时,一个借口功能状态的变迁将取决于另一个或多个接口功能的某状态当时是否在起作用。 本地消息仅在器件功能与接口功能之间交换,不传到母线上去。 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 6 负责控者内部器件功能发出的远地接口消息,经由控者功能,通过适当编码传到母线上去。 ( 5)接口消息编码 在 ,一切远地消息都用三个大写英文字母做代名,所用的远地消息编码依照线消息经诸 挂钩控制。 多线接口又分三类: 通令 这是控者广播周知的命令,母线上具有相应接口能力 的一切器件都必须一直监测并执行之。 专令 这是控者发给指定器件的命令。控者在发出专令之前,应先发出某一个或多个器件的听地址,一切受命听者均听取随该地址之后发出的专令,并执行它。 地址 又分为听地址和讲地址;在采用二比特地址的扩大听者和扩大讲者中,还有副地址(第二比特)。 口标准中还规定了若干本地消息,它们却是单线消息,并用三个小写字母来代名。标准中只规定了由器件功能发给本器件的接口功能的本地消息。对于由接口功能发给本器件的器件功能去的本地消息则不予规定。 至于器件消息, 由 定。 主控机本身也是挂在 过它是一种特殊的器件,通常由一台能够满足特殊要求的电子计算机的硬件和软件构成,因而也称为仪用计算机。主控机必须满足以下要求: ( 1)它必须配备符合有 这个接口至少应具有十种标准接口功能中的五种:控者功能、讲者功能、听者功能、源方挂钩功能和受力挂钩功能。为了便于也能在多控者系统中工作为非作用控者,也常配备有其他几种标准接口功能。部分接口 功能也可以软件实现。自从有了供 口功能主要由硬件来实现。 ( 2) 口的一系列驱动子程序,它们是计算机软件与 。 它们根据计算机应用程序的解释来驱动 线的 16条信号线或置 0或置 1, 口工作于命令状态或工作于数据状态。 释程序调用。 ( 3)使用于编制测试用程序用的高级编程语言系统。 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 7 一般采用扩充了的 类语言易学易懂; 计算机对应用程序逐句解释,逐句执行,每解释一句就执行一句,这样毫微 便于人机对话,便于视测量的具体情况来临时修改程序。 一般的最小的 作用的语句,使用困难,能力有限。最好是采用供自动测试系统用的扩充 们在普通扩充 当然为了提高运行速度和效率,目前有不少主控机也采用了其他语言,如 语言。采用 C 语言的较多,因为 编程人员减少了大量的工作量 。本篇的解释程序就是利用 总而言之,供自动化测试系统作为主控机用的计算机,必须配有 及为该型计算机和该型 括解释程序及相应的驱动程序)。 视所用测试编程语言扩充的程度(能力的强弱)而异,作为主控机用的计算机可分为三大类型: ( 1)直接驱动型; ( 2)语句扩充型; ( 3)子程序调用型。 件数据传递 在一段应用程序之下,为通过执行一定功能操作来自动完成给定目的而组建的,利用口总线互相连 接起来的测试装置称为 动测试系统。从系统连接、组建角度出发,每个设备的地位是相同的,但是它们在完成给定目的和执行操作的地位上是不同的。 备在 连接进入 动测试系统的测试设备可能有四种: 信号发生器类仪器:标准信号发生器、频率综合器、扫频源、直流源等。 信息检测类仪器:电子记数器、多用表、 数仪、数字式示波器、逻辑分析仪、信号分析仪、频谱分析仪、网络分析仪、数字式记录仪等。 终端显示与记录类设备: 示器、磁盘机、打印机等。 数据处理与控制类设备:程 序发生器、卡片读出机、微型计算机、小型计算机等。 为了在机械上、电气上、功能上相容联接,它们都设有接口功能区以隐去设备本体功能的千差万别。因此,从 口总线联接角度出发,称它们为“ 件”。但从接口功电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 8 能管理上看, 件能力是有差异的。 在 试系统中,某设备能够传送“程控消息( 到系统中的另一些设备和从另一些设备接收“响应消息 (,该设备称之为“系统控制器(,简称为“控制器 ( ;相应地,另一些设备称为“器件( ,器件不能作为“系统控制器”。根据 口标准规定,只要“控制器”和“器件”设有 C 接口功能,它们都有机会接收控制成为“负责控者”或传出控制成为“空闲控者”。 试系统的 口总线“负责控者”,仅含有这样器件的系统是一个最优化 常的消息传送要么是“控制器到器件( 的,要么就是“器件到控 制器( 的。一般说来,控制器到器件的消息是程控设备的“程控消息( ”或“程控数据 (;而器件到控制器的消息就是“响应消息( ,也含“状态数据( 。这些都是 际上, 式、交换控制协议。 在 存在“器件到器件( 消息传 送的情况。两个器件间的消息传送应遵循“响应消息”句法规则。 件的操作控制方式有两种:一种是当其连入 ,通过该器件的 口接受来自系统控制器的程控消息,通常称为远地控制;一种是接受来自器件自己面板(或背板)上产生的程控消息, 就是所谓的本地控制。标准指出, 驱使 件的器件功能的电路状态变迁,通常称之为器件功能“操作( 。通过 自控制器的“程控消息”引起的 为 地操作( ;除了 地操作 (。另外需要说明的是,通过连接到器件的其他总线或者是接口,来自系统内另一个操作点的器件功能操作也定义成 地操作。 引起 件操作的实际“动作”称为 本地控制”,简称“本控”,影响 括用于器件控制的器件所有的输入方式。通常为: 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 9 ( 1) 从器件非 部控制信号( ,它可以引起本地操作。 ( 2) 硬本地控制。器件上的某些机械的或位置的指示器就是“硬本地控制( 。它们往往不能由 ( 3) 软本地控制。硬本地控制以外的其他本地控制都称为“软本地控制( 。 仪器的本地控制手段较多,本控中某些控制能力不能由 类本地控制超出了 能认为它们是 件功能的本地控制能够受到 地操作影响,也能够受到 类本地控制称为“可程控本地控制( 。 常也具有本地操作能力。数字示波器 应消息和状态数据。下节主要介绍与解释程序密切相关的程控消息的相关内容。 字示波器 义 对 控命令进行解析 之 前,要对 准定义的程控消息的组成格式及各功能元素的定义做一 个 了解。 程控消息是 “ 控制器到器 件 ” 的消息,它是由一系列的程控消息单元组成 。这些消息单元可以是 ,代表一个 ,程控题头分界符 程控数据分界符 程控题头 程控数据 图 1 程控消息或单元功能元素句法图 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 10 也可以是一个 ,代表一个 。在命令题头后面紧跟一个“?”就表示一个询问命令。程控消息必须用程控消息结束符来表示消息功能元素序列的结束。解释程序接到完整的消息题头时,开始分析、执行消息内的命令,而结束符使语法分析程序回到 控命令树的根 部。 程控消息的合法功能元素 由 , , 及 组成。 程控题头可以是 ,也可以是 。 如图 1 所示。 功能元素由 、 、 组成。如图 2 所示。图 2 功能元素由 和 组成。如图 3 所示。图 3 功能元素 根据 程控题头的组成不同,可分为简单程控题头、复合程控题头及公用程控题头。 ( 1)简单程控消息题头,就是只包含一个助记符,其相应的程控消息格式为: (当无程控数据时) :程控助记符结束符 (当具有程控数据时) :程控助记符程控数据分界符程控数据结束符 ( 2)公用程控题头 ,它是表示 *结束符 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 11 ( 3)复合程控题头,就是在题头中包含了两个或两个以上的助记符。 它是题头的内部结构。这种结构常用于功能复杂的仪器,以限制单一题头的数量和按功能逻辑块组成仪器命令集。复合题头特别适合于定义是一种分层关系命令结构的命令树。 当在根级命令中还有子命令时,则依嵌套关系分别写出子命令助记符,最后列出功能元素助记符。 图 1个子系统命令对应 11个功能逻辑块,所包含的命令就需要由复合命令题头来引导。 相应的程控消息和格式为: : 根级命令助记符:子命令助记符程控数据分 界符程控数据结束符 另外,当同一子系统中执行多个功能时,可以使用分号将功能助记符分开,格式为: :根级命令助记符:子命令助记符程控数据分界符程控数据程控数据分界符程控数据; 程控数据结束符 以上是程控消息和格式的说明。 需 要进一步说明的是: ( 1) 程控消息结束符主要是用来终止一个或多个程控消息以及单元元素序列 。 表示 听 ” 或 “ 讲 ” 的结束 ,系统程序可以执行后续的程序指令操作 。 其构成如图 4所示。图 4 的设计 ( 2) 程控消息或单元分界符 放在消息单元间,将 序列分 隔 为 一个个 消息单元。它由零个或若干个空格字符与 “ ; ” 组成。空格字符为 0) 9)和 11) 32) 中的任意单个拜特组成。 ( 3) 程控题头分界符 后面有可能跟随与题头功能相应的 ,为了便于语法分析,标准规定用 串把它们分开。这个 串就是 。语法分析时,把串的第一个字符就作为分解符处理,后续字符每月实际意义。 ( 4) 用于分隔多个程控数据,规定使用 “ , ” 分开。 ( 5) 就是 数字字符串,用于描述器件的远控操作动作。定 : 助记符最长 20个字符 ,名字能够直观、快捷的反映题头助记符同相应L 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 12 器件操作功能的关系, 长格式为助记符英文全码,短格式为前 4个字符,如果第四个字符为元音则取前三个字符,如果助记符仅有 4 个字符 , 则 短 格式就是它本身。 还须说明的是在程控单元中各 程控命令助记符以 “” 引导,公用命令助记符以 “*” 引导,询问命令题头以 “ ? ” 结束。 2 程控命令解释编译程序 解释 编译 程序是转换器监控系统软件的一个重要组成部分。它 的主要任务是 分离出程控消息的各个 功能 句法元素,把合法的 功能 句法元素转换成执行控制框 中 的 可识别的“内部表示码 (,即内码。 本 章 主要 讲述 控命令树的结构 及 设计,程控消息的 组成格式, 及 控命令的格式。 可程控的 是通过主控机的编程对 出一系列控制指令,实现对 远程 控制 ,使其完成程序操作员指定的测量工作。 否完成它的程控功能需要 控转换器和接口管理程序, 而最 需要 的是 一系列程控命令。 由此 可见, 程控命令设计是非常重要的。 要完成 控命令的设计就离不开与之相关的标准, 上一章就已经有所介绍,准便是程控命令设计时必须遵循的。 准建立在 准之上定义了一组通用数据编码和格式,总线信息交换协议和一组仪器必要的公用程控命令。 由于这一标准的主要内容是数据结构方面的相容问题, 没有给出 器件数据语义的 定义,所以还需要仪器设计者针对具体的仪器和具体的测试功能来定义程控命令等器件数据。 因此在 可程控性的实现上, 控命令树的设计 是相当重要的。 控命令树又是如何产生的呢? 在 动测试系统中,程序操作员要使 够完成各种测试功能,就需要用 “远控方式 ”代替 板上的 “本地键盘 ”操作 。 图 5 所示为一个 控制面板。 程序操作员使用的 种 “程控命令 ”应与 “键盘命令 ”相 对应。 通过对图 5 中的 部分 盘命令 ”的分析:如 “运行( ”、 “单次( ”等按键 能直接完成相应的测试功能操作,这些键命令所对应的程控命令为单级命令。而有些键命令 则 需要顺序组合 , 才能完成规定的测试功能。如 “扫描( ”和 “扫描选择( ”、 “扫描参考( ”等之间的键命令属于关联 键 命令。它们所对应的程控命令控制着 一组功能操作 。 子系统命令, 详见 图 6 的扫描菜单。 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 13 可 以用 “树图 ”的方式来描述各 个 程控命令之间的相互关系。根据 本对公用命令的 规定 ,以及如图 5 所示的 键盘命令 ,规划出主 菜单和子系统命令菜单, 据此 设计 出控命 令树如图 7 所示。这个树图 描述 了 全部程控命令以及它们之间的相互关系 。 控命令树中的程控命令可分为三类 : ( 1) 公用命令 (公用命令能够作为单独的程控消息,也可以放在其它程控消息内。它是由 少应该执行的 公共操作 。如果仪器在接收到公用命令时已经选择了某种功能子系统,仪器将保持在已选择的子系统内。 ( 2) 根级命令 (它控制 许多基本操作,以 “: ”号为引导,列在命令树的根部。 如果它们位于程控消息起 始、或用“:”作为前导符,不管语法分析程序处于命令树的什么位置,根级命令始终是优先被解释执行。 它又分为单级命令和多级命令。 (3) 子系统命令 (在命令树公共结点下 面 的一组命令就是 一个子系统 命令 。每个 子系统命令 中含有多个子 命令。 一个子系统命令控制一组功能操作。 按照 控命令树规定的程控命令,结合操作菜单,依着前述的 设计出每一 个 子系统命令的语法格式及语法流程图。 (1) 统所有的子命令的语法格式及语法流程图如图 8所示。现就程控命令具体的语法格式及含义作如下举例说明。假设程控命令是 “ : y ; 。 程控消息元素序列中的 “ 格式符号 ” “ :” 第一个冒号是根级命令 引导符,第二个冒号是根级命令 子命令分隔符 ; “ ? ” 是询问命令题头结束符 ; “ ; ” 是程控消息单元分隔符 ; “第一个空格字符是程控命令题头 “:和 “a” 的分隔符,第二个和第三个空格字符 “ 也是分隔符,用于 “ ; ” 的前后。 “ 是程控消息元素序列的结束符,它的含义是 符 。 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 14 扫描 扫描选择 扫 描参考 释抑 描 扫描方式 A、 B 扫 A 扫 左 中 右 自动 触发 关闭 调节值(用公用调节钮) 图 6 扫描子菜单 采样 存储器 自动 单次 测量 电平 显示 应用 运行 触发 光标 (停止) 主菜单 公用 位移 位移 算 扫描 V 2V 20s 2入( X) 入( Y) 外触发输入 通道 100字存储示波器 垂直 水平 电源 5 双通道 100字存储示波器面板示意图 扫描选择 A 扫描参考 中 A 扫描方式 自动 A 描 关 A 释抑 关 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 15 程控命令 公用命令 根级命令 单级命令 多级命令 7 控命令树 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 16 程控消息元素序列中的程控命令 根级命令 ; 子命令 ; y 字符型程控数据 ; 同一根级 命令; 一条 子命令 (2) 这两个根级子系统都含有 8条 子命令 。它们的语法格式一样,命令 “和“v” 的语法格式及语法流程图如图 9所 示。; a b 图 8 级子系统命令的语法格式及语法流程图 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 17 (3) 其它根级子命令 条 子命令 。 条 子命令 。7条 子命令 。 另外还有 个根级 子系统命令,它们的语法格式及语法流程和 环境。然而,控制器与器件利用这些硬件环境进行通信,交换器件消息时,控制器发送程控消息和读取响应消息 的条件是什么? 器件 如何 收听程控消息?通信过程中,出现了异常情况 该 怎样处理? 准推荐的消息控制协议解决了这一系列技术难题。 协议使用 “ 消息交换控制功能概念模型 ” 描述 了 消息交换控制构成机制 。 逻辑模型给出了 器件处理程控的严格行为准则。这 个 行为准则能协调控制器与器件间的通信行为,也适用于约束器件到器件的消息通信, 被 称为 “ 消息交换软接口 ” 。 : 图 9 级子系统部分子命令的语法格式及语法流程图 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 18 控 消息交换控制协议 消息交换控制接口处理来自或传送到器件的全部 它是 功能框图如图 10所示。 (1) 输入缓冲器 控 制 远地消息 消息 交换 控制 输入缓冲器 语法分析程序 执行控制 输出序列 格式化程序 器件功能 询问 错误 响应数据 响应消息元素 p - 可执行的 消息单元 已分析 消息 图 10 消息交换控制接口功能框图 气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 19 接收程控消息的输入缓冲器( 程序中定名 控转换器中的外部数据存储器空间的一部分。设置 其 长度为 2采用 “ 先进先出 ( 数据结构方式。如果 字节数超过 它的 长度,就置状态拜特寄存器 ,不再接收多余的 次在 程 序接收数据之前清空 输入缓冲器 ,以保证解释程序从 输入缓冲器 中取得的程控消息无误。 ( 2) 语法分析程序( 语法分析程序(即解释程序)是转换器监控系统软件的一个重要组成部分。它能分离出程控消息的各个句法元素,把合法的句法元素转换成执行控制框 中 的 可识别的“内部表示码( ” 。 若在语法分析过程中发现了错误, 解释程序将 立即 放弃当前的程控消息单元,并置转换器中的状态拜特寄存器 1(真),然后继续分析后续的程控消息。 ( 3) 消息交换控制( 消息交换控制表示了各功能框间挂钩控制消息的 相互 连接。它处理挂钩控制消息,以使器件消息交换有序执行。消息交换是由主控机启动,主控机从转换器读取响应消息以前结束完整的程控消息元素传送。为了 使 消息交换过程回归正常操作流程,在程序设计时 就应预先规划好出错处理措施 , 当监控系统软件运行时就能根据出错的情况,由程序指令设置比特值,在串行查询时就可把出错的情况通过 记录报告给主控机。 3 人们通常把从高级语言写源程序到机器语 言表示的目标程序的转换程序叫做编译程序。“ 编译程序是将一种语言写的源程序转换成等价的可执行目标程序,其目标代码的格式以及目标机的样式非常多,但是便宜程序的使命却始终是一种翻译工作。 ” 编译程序的内部结构及组织方式虽然样式繁多,但是万变不离其宗。它的主要工作有两大部分:一是分析,二是综合。分析是对被编译的源程序进行分析;综合是在分析完全正确之后,综合出可以执行的机器语言程序,执行的结果应该准确无误,同源程序应达到的目的完全一致。 现代编译程序都是语法制导的,即编译的过程由源程 序的语法结构控制,而语法结构通常由语法分析器来识别。语法分析器逐一读入源程序的字符,分析字符流的词法结构,组成一个个的单词,例如数字、标识符、运算符等。语法结构的识别是分析部分的主要内容。根电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 20 据程序的语法结构,语义分析器分析程序的语义。 语义分析包含多个语义子程序,在识别一种语法结构时,就调用与此相关的语义子程序,对该语法结构上的短语作语义检查,比如说一致性检查与作用域分析,确定其意义,综合出各程序部分的中间语言表示或者目标代码。如果产生了目标代码,它作为代码生成器的输入,由此生成所需要的机器语言程序。在语义 分析器与代码生成器之间,可以进一步优化,它改变目标代码的 序列,使其可以产生高效的代码,又与源程序的执行结果一致。一个编译程序基本上就由这些部件组成,如图 11 所示。 (1) 词法分析 源程序可以简单的看成是一个多行字符。词法分析器逐一从转换器的外部数据存储器的有程控消息的消息队列)读入字符,按照源语言规定的词法规则,拼写出所有单词。然后,编译程序把单词当作是由源语言主控机发出的,并由库函数 小写字母转换成大 写字母之后的程控消息假如是: “ : ; *,则程控消息元素序列中的 “ : ” 、 “ ; ” 、 “ ? ” 、“、 “、 “、 “等都是单词。 词 法 分析器 语 法 分析器 语 义 分析器 优 化 器 代 码 分析器 源程序 单词 语法结构 用中间 语言表示 号 管 理 表 出 错 处 理 11 语法制导的编译程序的基本结构 目标代码 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 21 (2) 语法分析 源语言的语法由以产生方式为主体的上下文无关的语法描述,由此可知语法分析器读入单词,将它们组合成按产生方式规定的词组(或短语)。例如,上例的程控消息元素序列将:; ; * ; * 程控命令题头 : : 析同左 分析同上 * 分析同前 图 12 程控消息的层次语法分析树 电气信息工程学院毕业设计 (论文 ) 数字示波器 释程序设计 22 按图 12所示的层次结构分析树的形式进行分析。图 12的分析树描述了输入的语法结构。 语法树是分析树的压缩表示形式。语法中两个 “ : ” 是以内部节点的名义出现的。 在语法分析中,如果源程序中没有语法错误,就可以正确的画出其分析树。例如,该程控消息元素序列就可以根据 “ : ” 的个数和结束符 把它们按顺序分解成三个程控消息单元 “ : 和 “ ” 以及 “*。否则就指出语法错误,给出相应的诊断信息。例如,该程控消息元素序列当中没有 “ ; ” 或者结束符 ,解释程序就将置 的状态位 。 (3) 语义分析 语义分 析阶段主要 检查源程序是否包含 语义错误 ,并收集类型信息供后面 的代码生成阶段使用。只有语法、语义正确的源程序才可以被翻译成正确的目标代码。上例的程控消息元素序列中的根级命令 “假如没有根级命令类型引导符 “: ”,公用命令 “如没有功用命令类型引导符 “*”等等,就不能对这些程控命令进行正确分类,就会产生语义错误。 语义分析的一个重要内容是类型检查。定义一种类型一般包含两个方面的内容,类型的载体及其操作。例如,还是分析上面的那个例子,根据类型符号 “ : ” , “ ; ” 以及“ ? ” ,就可以判断出哪些属于根级命令 ,如 些属于根级子命令,如 些属

温馨提示

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

评论

0/150

提交评论