(测试计量技术及仪器专业论文)随机采样数字化示波器监控软件系统研究.pdf_第1页
(测试计量技术及仪器专业论文)随机采样数字化示波器监控软件系统研究.pdf_第2页
(测试计量技术及仪器专业论文)随机采样数字化示波器监控软件系统研究.pdf_第3页
(测试计量技术及仪器专业论文)随机采样数字化示波器监控软件系统研究.pdf_第4页
(测试计量技术及仪器专业论文)随机采样数字化示波器监控软件系统研究.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

随机采样数字化示波器监控软件系统研究 摘要 课题“随机采样数字化示波器监控软件系统研究”的主要任务是研制开发被 观测信号带宽i o o m h z ,随机采样频率l o g s p s ,实时采样2 0 m s p s ,幅值分辨率为8 位的随机采样数字示波器的软件系统监控程序。我们采用的是随机采样的方案, 在低实时采样频率2 0 m s p s 下,获得高的重复性周期信号带宽。 仪器的系统监控处理程序直接影响到仪器的性能、操作系统使用的方便程度 及其智能化程度。因此,本课题的实践在随机取样数字化示波器技术的研发中占 有很重要的地位。由于采用了模块化程序设计和优化的算法,监控软件有着很高 的效率。 本文首先介绍了数字化示波器的分类,随机采样技术的基本原理及课题任 务。接着介绍了监控软件的基本开发平台,包括目标d s o 的硬件构成,开发环境, 处理器,显示控制i c 和键盘面板设置。 然后在需求分析的基础上,进行了系统软件总体设计,选定编程思想,进行 模块划分并简要介绍了主要的数据结构。分模块进行了详细设计,画出了程序流 程图予以说明。接下来重点介绍了参数的自动测试模块,分析了直方图算法,画 出了各个参数的测试流程图。对菜单显示辅助工具设计也进行了简要说明。 在本文的末尾,根据自己的具体实践,写下了一点自己的心得体会。 关键词:数字示波器随机采样变换系统监控 模块化设计算法 优化 i i i 堕垫墨壁塾! 些蚕鎏壁些丝竺生塑墨竺里壅 a b s t r a c t t h et a s ka i m st o d e v e l o ps y s t e mm o n i t o rp r o g r a mo ft h ew d s o ( w i d e b a n d d i g i t i z i n gs t o r a g eo s c i l l o s c o p e ) i nw h i c h b a n d w i d t hi s10 0 m h z ,e q u i v a l e n t s a m p l i n gf r e q u e n c yi s1 0 g h z , r e a l t i m es a m p l i n gf r e q u e n c y i s2 0 m h z ,r e s o l u t i o ni s 8 b i t s t dg e th i g h e rb a n d 、i d t h ,w et a k ea d v a n t a g eo f r a n d o ms a m p l ea n dc o n v e r t i ti si m p o r t a n tt oae x c e l l e n tm o n i t o rs y s t e mf o rd i g i t i z i n gw i d eb a n do s c i l l o s c o p e , s oo u rw o r ki sm e r i t o r i o u s 。 m o d u l a r i z a t i o n p r o g r a md e s i g n a n d o p t i m i z e d a r i t h m e t i cm a k es u r e h i g h e r e f f i c i e n c yo f o u r p r o g r a m f i r s to fa l l ,t h ep a p e ri l l u s t r a t e sk i n d so fd s o ,t h e o r yo fr a n d o ms a m p l ec o n v e r t a n dt h et a s k a i m t h e n ,s y s t e mo p t i o n s ,i n c l u d i n gc o n s t i t u t i o na n dc o n f i g u r a t i o no fd s o ,d e v e l o p t o o l s ,c p u ,d i s p l a y c o n t r o l l e ra n d k e y b o a r ds e t t i n g ,a r ed e s c r i b e d a f t e rd e m a n da n a l y s i s ,t h ep a p e rb r i n g ss y s t e md e s i g nt os u c c e s s ,w h i c hi n c l u d e s p r o g r a mt h o u g h t ss e l e c t i o na n d m o d u l e p a r t i t i o n s o m ei m p o r t a n td a t as t r u c t u r e sa r e a l s oi n t r o d u c e di nb r i e f i nt h en e x tc h a p t e r s s o m ei m p o r t a n tm o d u l e sa r ei l l u s t r a t e di nd e t a i la c c o r d i n gt o m o d u l e sp a r t i t i o n p a r a m e t e ra u t ot e s t i n gm o d u l ei st h o u g h t e dt ob ea ne m p h a s i s , w h i c hi sw h yi ti sd e s c r i b e ds oe x p l i c i t i na d d i f i o nt ot h ec h a p t e r s a l la s s i s t a n tt o o l d e s i g n i sn o t i c e d i nt h ee n d ,w h a to n eh a sl e a r n e df r o mt h et a s ki sg i v e nt oe v o l v et h ep r o g r a m d e s i g n k e yw o r d s :w i d e b a n dd i g i t i z i n gs t o r a g eo s c i l l o s c o p e ,r a n d o ms a m p l ea n d c o n v e r t ,m o n i t o rs y s t e m ,m o d u l a r i z a t i o nd e s i g n ,a r i t h m e t i co p t i m i z e i v 随机采样数字化示渡器监控软件的系统研究 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 赢 八 签名: 壁! :竺!日期:枷弓年专月7 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:毽:! :! 立 导师签名: 日期: 1 1 年月曰 随机采样数字化示波器监控软件系统研究 第一章引言 现代电子测量、仪器仪表领域中,示波器是最常使用的仪器之一,其基本原 理是将被测信号通过变换和比较,再显示出来。 示波器分模拟示波器和数字示波器两大类。和传统的模拟示波器相比,数字 化存储示波器具有更多的优势,例如,观察低频波形时具有存贮记忆功能,从而 实现慢扫描;利用数字滤波技术进行波形处理,准确观测原始的电信号;利用 c p u 或d s p 的强大的数据处理能力,进行参数分析,简化人工劳动,提高效益; 远距离传输测量的数据,共享数据。因此,现代数字化存储示波器的研究与开发 近年来得到了飞速发展。国外各大公司和厂家( 如h p 、t e k 等) 相继投入巨资, 开发和研究此类仪器,以期获得巨额利益。数字化存储示波器的研发具有相当的 理论研究价值,应用前景十分可观。 1 1 数字化存储示波器的基本原理 数字存储示波器( d i g i t i z i n gs t o r a g eo s c i l l o s c o p e 简称为d s o ) ,与记忆示波 器一样,都具有记录功能,但其工作原理却截然不同。d s o 采用数字电路,将 输入摸拟信号用a d 变换器,变换成数字信息,存储于存储器中。待需要读出 时,通过光栅扫描,将数字信息变换成模拟量显示在示波管屏幕上。在这种示波 器中,信号处理功能和信号显示功能是分开的。其性能,包括速度和精度,完全 取决于进行信号处理的a d ,d a 和存储器r a m 的性能。数字存储示波器既适用 于重复信号的检测,也适用于单次瞬态信号的测量。 1 2 数字化存储示波器的分类 取样就是从连续信号中抽取出数据作为“样品”,用来表达原信号的部分特 性或全部特性。取样把连续信号转换为离散信号,保证两信号的值在同一时刻相 等或成比例;取样时可以个周期内取许多点或者一个点;取样间隔可以相等, 也可以不等。 理论分析指出,为了正确的观测波形,只有恰当的选择取样频率才能用所得 的离散信号恢复出原信号波形。取样频率过低,会产生频谱重叠效应,造成波形 失真。取样定理证明,对于一个最高频率为f o 的信号,当取样频率f s , 2 f o 时, 其取样后的离散信号将包含原信号的全部信息。f o 称为奈奎斯特频率。 在数字存储示波器中,有两种取样方式,实时取样和非实时取样。非实时取 随机采样数字化示波器监控软件的系统研究 样方式又分为顺序取样和随机取样。 根据取样的方法不同,数字示波器可以分为实时取样数字存储示波器、随机 取样数字宽带示波器、顺序取样数字取样示波器。 以上三种示波器各有优缺点,实时取样示波器可以观测非周期信号,非实时 取样示波器可以比较容易得到很宽频带,但不能观测非周期信号。 1 3 随机采样技术的基本原理 数字存贮示波器用于测量频率在1g h z 以上的重复性信号时,一种方法 是使用具有相应数字化率的高速实时存贮示波器,它要求a d 转换器的转换速 率在1 0 ghz 以上( 以每周期1 0 个点计算) ,但这在技术上有一定的困难:另 一种方法是将高频信号转换为低频信号,然后对低频信号进行数字化处理,将多 个周期的数字化数据以一定的方法进行处理,达到用低频a d 转换器测量高频 信号的目的,即采用等效采样方法,实现高频信号的测量随机重复采样技术是 数字存贮示波器中应用较多的一种等效采样技术 以最高采样速率为4 0 m h z 的数字示波器为例,为便于讨论,将最高采样 速率以下的有序采样称为实时采样,而将最高采样速率以上的无序采样称为随机 采样。当水平扫描速率( sw ee pspeed ) 在a d 转换器最高采样速率 以上时,正常的实时采样已经无法满足测量要求,其中有些点的数据必然会遗失, 为补上这些丢失点的数据,唯一的解决办法是采用等效采样技术。测量中的准 确定时是通过测量输入信号的触发点与a d 转换器的采样时钟之间的时间关 系来决定的每次触发以后,a d 转换器完成一组采样序列,并将其存入高速 r a m 中;稍后,由cp u 处理,显示在萤光屏上,这就是一次数据获得过程如 果能保持住第一次触发测量所得到的数据,即采样电压和时间关系值,那么,第 二次测量就能测到新的一组电压与时间关系值重复进行这种每次变化不大的测 量,多次积累之后就能用这些测量数据显示被测信号的波形图。图1 ,1 表示了多 次触发后数据的积累情况。 2 随机采样数字化示波器监控软件系统研究 图1 , 1 多次触发后数据的积累情况 图1 2随机采样基本原理图 图1 2 表示随机采样的原理每个采样点的y 值( 电压值) 由a d 转 换器提供而x 值由下式给出: tn = t0 n + nt : 式中,t 为a d 转换器的采样周期,to n 是第n 次数据获得过程触 发点与下个采样时钟( s m clk ) 间的时间tn 是第n 次数据获得过程第 n 个采样点相对于触发点的时间值 由于输入信号的触发点和采样时钟s m cl k 的无关性,to n 的值在o 2 51 1s 之间完全是随机的而任意一次触发后,每两点之间却是相关的,其时间 差为一个采样时钟周期,即2 5 ns 一次触发,完成一次数据获得过程,得到 若干对离散的电压时间值( 对应于显示器上的若干个yx 坐标点) 由于信号 的高频重复性和to n 的随机性,很快to n 就能在o 2 5 ns 以内构成波形相 应地,其它时间段的波形也被构成它们一起组成了完整的被测信号波形 如果被测信号的周期为t 0 经过m 次触发以后能够显示一个不失真的波 随机采样数字化示波器监控软件的系统研究 形那么,构成的波形周期t = m t 0 ,即显示的波形周期t 与被测信号的周期t 0 相比被显著地拉长了这样就把高频信号转换成低频信号再以通用示波器显 示方式给出被测信号的波形这就是随机采样的基本原理m 的取值范围,不仅 与被测信号有关,而且与采样频率、扫描速度及显示算法有关。 1 4 课题任务 本课题“随机采样数字化示波器监控软件的系统研究”来源于一个横向项目, 主要是研制开发被观测信号带宽1 0 0 m h z ,随机采样频率1 0 g s p s ,实时采样 2 0 m s p s ,幅值分辨率为8 位的随机采样数字示波器的软件系统监控程序。我们采 用的是随机采样的方案,在低实时采样频率2 0 m s p s 下,获得高的重复性周期信 号带宽。本课题的最终实现目标是完成随机取样数字化示波器中静态画面显示、 菜单显示、切换与控制、参数自动测试、波形数据运算、存储与显示算法分析和 处理。 仪器的系统监控处理程序直接影响到仪器的测试性能、操作系统使用的方便 程度及其智能化程度。因此,本课题的实践在随机取样数字化示波器技术的研发 中占有很重要的地位。 4 随机采样数字化示波器监控软件系统研究 第二章系统监控软件开发的基本平台 2 1 目标d s 0 的硬件构成 d s o 采用现代微型计算机系统结构和高速、高精度实时信号数字化采集与 处理技术,由调理电路,a d 转换电路,触发电路,和时基电路等多个重要部分 有机构成。 d s o 硬件构成简略框图( 以通道1 为例) 如图2 1 所示 图2 1 目标d s o 的硬件构成简略框图 系统监控程序是对目标d s o 系统实现智能监控处理的核- t l , ,对采集到的波 形数据进行分析处理,确定信号的特性和参量,实现仪器测试的自动化、多功能、 智能化。具体地说,系统监控程序主要是实现采集硬件参数的设置、波形数据显 示、运算、存储、参数自动测试、自动定标等处理。 2 2 系统监控程序处理器介绍 我们选取z i l o g 公司的r a b b i t 2 0 0 0 作为辅助测试、处理部分的处理器,下面 简要列出了r a b b i t 2 0 0 0 部分特性: ( 1 )时钟速度1 8 m - 2 9 5 m h z 。 ( 2 ) 4 个串口,能进行快速通信。 ( 3 ) 4 个优先级的中断,响应时间短。当时钟为2 5 m h z 时,中断响应时间l u s 。 ( 4 ) 提供6 个定时计数器的支持。 ( 5 ) 1 6 位6 4 k 寻址空间,可映射为2 0 位1 m 空间,允许超过5 0 0 0 0 行c 代码。 ( 6 ) 提供w a t c h d o g 计数器。 随机采样数字化示波器监控软件的系统研究 ( 7 ) 价格便宜,在$ 1 0 以下。 2 3 开发工具介绍 由于编程所采用的语言的特性对编码的质量和效率的影响甚大,所以正确地 评价和选择编程语言对于顺利完成编程任务是十分重要的。 c 语言是一种结构化的程序设计语言。c 语言最初是作为设计操作系统的语 言而研制的,譬如,u n i x 操作系统就是用c 语言实现的。 c 语言程序具有层次化和模块化的程序结构。c 语言除了具有丰富的数据类 型、灵活多样的运算符、语言表达能力强等优点外,还具有能直接访问物理地址 和寄存器,进行系统调用等。 由于c 语言既有强大的功能,又有很高的效率,而且使用广泛,所以它适于 编写系统软件和应用软件。而且,c 语言简洁、紧凑,使用方便、灵活的特点使 得它生成的目标代码质量高,行效率高、可移植性好。c 语言可以实现汇编语言 的绝大部分功能。 d y n a m i cc 是个可以编写嵌入式软件的集成开发工具,是a n s ic 的扩展 和加强,支持集成环境和命令行调试。我们使用d y n a m i cc 用作基于r a b b i t 2 0 0 0 微处理芯片控制器的软件开发。 d y n a m i cc 环境下的调试工具包括了使用p r i n t f 命令,观察窗口、断点和其 他优秀的调试手段。 它支持汇编语言代码的编写,使得用户不必离开d y n a m i cc 集成环境来编写 汇编语言代码,有利于充分发挥计算机硬件的潜在功能,提高编程效率。 d y n a m i cc 独有的扩展关键字使得它支持实时嵌入式系统的开发。 函数链 这是d y n a m i cc 独有的概念,它允许特定的代码段被嵌入一 个或者多个函数中。当一个函数链执行时,所有的属于这个函数链的代 码段被执行。函数链允许软件处理初始化、数据恢复或其他要求的任务。 c o s t a t e m e n t s 允许程序处理多任务,任务执行完,挂起,又自动恢复。 c o f t m c t i o n s 允许程序处理协作式多任务 s l i c e 允许程序处理抢占式多任务 i n t e r r u p t允许程序员写中断服务程序。 除此之外,d y n a m i cc 采用了先进的代码优化技术及速度优化技术,提供了 丰富的库函数,友好的界面也便于管理。 d y n a m i cc 编程图如图2 4 所示: 6 随机采样数字化示波器监控软件系统研究 p cs e r i a l p 啦m m j 曙 p o r t c 锄l 圯c b r 图2 2 d y n a m i c c 编程图 2 4 显示控制器分析 我们选用s e d l 3 3 5 作为l c d 面板的控制器i c 。这是因为它: 支持文本和图形两种显示方式。 支持分层显示文本或图形,可分3 层。 最大可支持6 4 0 x 2 5 6 像素的l c d 面板。 光标可编程控制。 支持垂直滚动显示,也支持水平滚动显示。 内部可编程字符发生器r o m 可容纳1 6 0 个5 x 7 像素的字符。 外部可编程字符发生器r a m 最多可容纳6 4 个8 x 1 6 像素的字符, 外部可编程字符发生器r o m 最多可容纳2 5 6 个8 x 1 6 像素的字 符。 提供6 8 0 0 0 和8 0 8 0 系列微处理器接口。 低功耗。3 5 v ,3 5 m a 。 2 4 1 s e d l 3 3 5 命令集 s e d l 3 3 5 有很多系统设置命令,不同的命令可以使l c d 呈现不同的显 示状态,方便程序员进行设置和管理。 s y s t e ms e t :4 0 h ,系统设置命令,用以进行器件初始化,窗口 尺寸设置和l c d 界面显示方式设置。由于它设定l c d 的最基本操作, 如果它设定不正确,将会引起其它命令的不正确操作。 s l e e p i n :5 3 h ,模式设置命令,设置系统进入休眠模式。 d i s po n o f f :5 8 h 5 9 h ,关开显示命令,用以使能或屏蔽光标或是 分层屏幕、设置光标和屏幕闪烁速度。光标可被设定只闪烁某个字符, 或是一整行。 s c t r o l l :4 4 h ,设置显示起始地址和显示区域。 7 随机采样数字化示波器监控软件的系统研究 c s f f o r m:5 d h ,设置光标大小和形状。 o v e r l a y :5 b h ,选择分层后的屏幕组成,及显示模式是文本 驴p i p 匿01 1 叵匝匝圆圊 l 0o l o v1 0 m 2 i d m l l 撤1 i i ;i i x o l o v := 0 两层显示,= 1 三层显示 d m i := 0 文本模式,= 1 图形模式 d m 2 必须和d m l 设置一样 m x l 与m x 0 设置屏幕组成方式 m x t懈0f u n c t i o n c o m p o s i t i o nm e t h o da p p l i c a t i o n s 00l 1ul 2 ul 3o r u n d e r l i n i n g r u l e s m i x e d f e n a n dg r ap 1 1 嫡 01 f l l 辔l 2 ) o l 3e x d u s j v e 0 r i n v e r t e dc h a r a c t e r s ,f l a s h i n gr e g i o n s , u r d n f l i n i n g 10 f l l nl 2 ) u l 3a n d s i m p l ea n i m a t i o n 。t h r e e - d i m e n s i o n a l 11l 1 l 2 l 3p n o 啪ra p p e a r a n c e n o t e s : l 1 :f i r , d l a y s - f t e x to f g p h m i f l 啦cbs d e c t e d ,b rl 3c i 3 n l l o tb e u s e d l 2 s e c o n d l a y e r f g r a p 州髂o n l y ) l 3 :t t i r dl a y e r ( g r a i ) h 沁o n l y ) c s r d i r : h d o t s c r : c s f w : m r e a d : m w r i t e : 2 4 2 页面的设置 4 c h t o4 f h ,设定光标移动方向。 5 a h ,设定水平滚动象素的值。 4 6 h ,1 6 位的光标地址寄存器。 4 2 h ,存储器控制命令,用以读入连续的字节数据。 4 3 h ,存储器控制命令,用以写入连续的字节数据。 在本课题中,我们设定l c d 面板采用图形显示方式,页面采用位面的方式, 分三层,每层4 0 * 2 4 0 = 9 6 0 0 个字节。页面l 起始地址0 x 0 0 ,放置通道l 波形,通 道2 波形;页面2 起始地址0 x 2 5 8 0 ,放置数学运算波形,参考波形a b ;页面3 起始地址0 x 4 8 0 0 ,放置坐标系及菜单框架界面边框。位面显示不仅降低了程序 设计的复杂性,而且会大大提高波形的刷新速率。 位面显示如图2 5 所示: 随机采样数字化示波器监控软件系统研究 图2 3 页面设置示意图 具体初始化参数设定详见d i s p b a s e 1 i b 中l c d i n i 0 。 2 4 3 显示控制区设置 标尺高度为两个像素,两标尺间相隔4 像素,横纵坐标虚线两点间隔为4 像 素。 曼c 】1 9 。0 ) ( 3 1 9 垃弘 ( 3 1 9 2 2 ) 一 9 随机采样数字化示波器监控软件的系统研究 菜单l r o w 2( 1 5 + 1 6 + 2 ) + 4 0 = 1 3 2 0 1 3 5 3 菜单2 f o w l( 5 2 + 3 ) + 4 0 = 2 2 0 0 2 2 3 32 3 9 2 菜单2 r o w 2( 5 5 十1 6 + 2 ) + 4 0 = 2 9 2 0 2 9 5 3 菜单3 r o w l( 9 2 + 3 ) + 4 0 = 3 8 0 0 3 8 3 33 9 9 2 菜单3 r o w 2( 9 5 + 1 6 + 2 ) 4 0 = 4 5 2 0 4 5 5 3 菜单4 r o w l( 1 3 2 + 3 ) 4 0 = 5 4 0 0 5 4 3 35 5 9 2 菜单4 r o w 2( 1 3 5 + 1 6 + 2 ) + 4 0 - - 6 1 2 0 6 1 5 3 菜单5 r o w l( 1 7 2 + 3 ) + 4 0 = 7 0 0 07 0 3 37 1 9 2 菜单5 r o w 2 ( 1 7 5 + 1 6 + 2 ) + 4 0 = 7 7 2 0 7 7 5 3 f 2 1 2 + 3 ) + 4 0 = 8 6 0 08 6 3 3 2 5 键盘示意图 键盘示意如图2 6 所示 图2 4 l e d 显示屏说明 我们与软件底层定义了接口,以便调用底层函数得知用户实施了哪种按键行 为,从而实现相应处理。 按键键值定义如下: # d e f i n e _ k e y a u t o s c a l e “x # d e f i n e _ k e y _ c u r s o r f 随机采样数字化示波器监控软件系统研究 # d e f i n ek e ym e a s u r e # d e f i n ek e yd i s p l a y # d e f i n ek e yr u n s t o p # d e f i n ek e ys a v e # d e f i n ek e ym a n # d e f i n ek e yu t i l i t y # d e f i n ek e yc h l # d e f i n ek e yc h 2 # d e f i n ek e ys w e e p # d e f i n ek e yt r j g # d e f i n ek e ys u b l # d e f i n ek e ys u b 2 # d e f i n ek e ys u b 3 # d e f i n ek e ys u b 4 # d e f i n ek e ys u b 5 # d e f i n ek n o bc h l l # d e f i n ek n o bc h l r # d e f i n ek n o bc h 2 l # d e f i n ek n o bc h 2 r # d e f i n ek n o bs w e e p l # d e f i n ek n o bs w e e p r # d e f i n ek n o bt r i g l # d e f i n ek n o bt r i g r # d e f i n ek n o bc o m l # d e f i n ek n o bc o m r , 1 d r z h d , b h s ,n l v t 1 ”g a n m c r i 。e u f , w , “y l p f 。q 、n “o 随机采样数字化示波器监控软件的系统研究 第三章系统软件总体设计 软件总体设计也称为概要设计,其任务是根据需求分析设立数学模型,尔后 物化为数据结构和软件的系统结构,其主要工作是:选定编程思想;设计软件系 统结构,进行模块划分,建立模块层次结构;设计全局数据结构,设计系统结构 及人机界面,设计数据安全性。 3 1 需求分析 系统监控软件,按照人机对话的方式,通过对示波器操作面板和菜单的监测 实现波形数据的采集、显示、存储、运算、波形参数自动测试、波形显示、自动 定标等多种功能。 1 与硬件有关的参数的切换 数字存储示波器硬件控制就是实现硬件参数的设置、改变,以采集 到用户所需要的波形。在本次监控程序设计中,硬件参数主要指通道的 垂直灵敏度、偏移、输入耦合、扫描速率、延时、延时参考、触发电平、 数据采集方式等等,主要分为四大类,通道,扫描、触发、采集。 2 波形显示 当用户设置完硬件参数以后,将采集到的波形根据硬件参数设定显 示到示波器显示屏上。 对于单次采集的波形,要求波形能够根据硬件参数设定显示波形。 对于已存储的波形,要求能够显示保存的波形,提供当时的硬件参 数设定。当参数改变时,波形能够进行相应变化。 3 存储功能 1 ) 波形存储 波形采集完成后,可以将所采集到的波形存储起来。 2 ) 设置存储 用以存储波形状态参数,包括垂直灵敏度、扫描输率、 偏移、延时、延时参考等等。 4 波形运算功能 对通道l 和通道2 的波形进行加、减、乘、除的运算。 随机采样数字化示波器监控软件系统研究 5 波形的测量功能 要求能够根据信源测量波形的某些参数,譬如周期、频率、占空比、 上升时间、下降时间等等。 6 自动定标功能 对那些比较稳定的波形,能够根据波形的具体情况,选择最佳的参 数( 垂直灵敏度、偏移等等) 设置硬件,显示波形。 7 。光标 要求能够测量显示波形任意两点电压差和时间差。 8应用 用以设置语言选择,通讯接口和自校正。 3 2 部分菜单结构要求 1 通道 2 扫描 圈囤 随机采样数字化示波器监控软件的系统研究 3 采集 4 触发 5 显示 1 4 随机采样数字化示波器监控软件系统研究 3 3 编程思想的选择 3 3 1 前后台系统( f o r e g r o u n d b a c k g r o u n ds y s t e m ) 不太复杂的系统一般设计成图3 1 。这种系统可称为前后台系统或者超循环 系统( s u p e r - l q o p ) 。应用程序设一个无限循环,循环中调用相应的函数完成相应 的操作,这部分可以看作是后台行为( b a c k g r o u n d ) 中断服务程序处理异步事件, 这部分称为前台行为( f o r e g r o u n d ) 。后台也叫任务级,前台也叫中断级。时间相 关往很强的关键操作( c r u c i a lo p e r a t i o n ) 一定是靠中断服务程序来保证的。因为 中断服务提供的信息一定要等到后台程序走到该处理这个信息这一步才能得到 处理,这种系统在处理信息的及时性上,比实际可以做到的差。这个指标称为任 务级响应时间。最坏情况下的任务级响应时间取决于整个循环的执行时间。因为 循环的执行时间不是常数,程序经过某一特定部分的准确时间也是不能确定的。 而且,如果程序修改了,循环的时序也会受到影响。 i s r ( 中断服务程序) = 囫 i 一 时间 一执行程序代码 图3 1 前后台系统示意图 3 3 2 非占先式( n o n p r e e m p t i v e ) 多任务方式 非占先式( n o n p r e e m p t i r e ) 多任务要求每个任务自我放弃c p u 的所有 权。非占先式( n o n p r e e m p t i v e ) 多任务也叫合作型多任务 ( c o o p e r a t i v e - m u l t i t a s k i n g ) ,各个任务彼此合作共享一个c p u 。异步时间还 是由中断服务来处理。中断服务可以便一个高优先级的任务由挂起状态变为 就绪态。但中断服务以后控制权还是回到原来那个被中断了的任务,直到该 任务主动放弃c p u 的使用权时,那个高优先级的任务才能获得c p u 的使用 权。 随机采样数字化示波器监控软件的系统研究 非占先式( n o n p r e e m p t i v e ) 多任务方式的一个优点是响应中断快。在任 务级,非占先式( n o n - p r e e m p t i v e ) 多任务方式允许使用不可重入函数,每个 任务都可以调用非可重入性函数,而不必担心其他任务可能正在使用该函 数,从而造成数据的破坏。因为每个任务要运行到完成才释放c p u 的控制 权。当然,该不可重入型函数本身不得有放弃c p u 控制权的企图。使用非 占先式( n o n - p r e e m p t i v e ) 多任务方式,任务级响应时间比前后台系统快得多。 此时任务级响应时间取决于最长的任务执行时间。 非占先式( n o n - p r e e m p t i v e ) 多任务方式的另一个优点是,几乎不需要信 号量保护共享数据。运行着的任务占有c p u ,而不必担心被别的任务抢占。 但这也不是绝对的,在某种情况下,信号量也用的着。 下图示意了非占先式( n o n - p r e e m p t i v e ) 多任务方式的运行情况: d 低优先级任务 低优 放低 ai s r 时 中断服务程 序使高优先 级任务就绪 高优先 级任务 图3 2 非占先式多任务运行示意图 中断来了,如果中断是开着的,c p u 由中断向量a 进入中断服务程序b ,中 断服务子程序作事件处理,使一个有更高级的任务进入就绪态。中断服务完成后, 中断返回指令c ,使c p u 回到原来被中断的任务,接着执行该任务的代码d ,直 到该任务完成,然后释放c p u 控制权,由内核将控制权交给优先级更高、并已 进入就绪态的任务e ,这个优先级更高的任务f 才开始处理中断服务程序标志的 事件。 非占先式( n o n p r e e m p t i v e ) 多任务方式的最大缺陷在于其响应时间。高优 先级的任务已经进入就绪态,但还不能运行,也许要等很长的时间,直到当前运 行着的任务释放c p u 。与前后系统一样,非占先式( n o n - p r e e m p t i v e ) 多任务方 式的任务级响应时间是不确定的,不知道什么时候最高优先级的任务才能拿到 1 6 随机采样数字化示波器监控软件系统研究 c p u 的控制权,完全取决于应用程序什么时候释放c p u 。 总之,非占先式( n o n p r e e m p t i v e ) 多任务方式允许每个任务运行,直到该 任务自愿放弃c p u 的控制权,中断可以打入运行着的任务。中断服务完成后, c p u 控制权还给被中断了的任务。任务级响应时间要大大好于前后系统,但仍 是不可知的。 3 3 3 占先式( p r e e m p t i v e ) 多任务方式 最高级优先级的任务一旦就绪,总能得到c p u 的控制权。当一个运行着的 任务使一个比它优先级高的任务进入就绪态,当前任务的c p u 就被剥夺了,或 者说被挂起了,那个高优先级的任务立刻得到了c p u 的控制权,如果中断服务 程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优 先级高的任务开始运行。 占先式( p r e e m p t i v e ) 多任务方式,可以使最高级优先权的任务什么时候都 可以执行,可以得到c p u 的控制权是可知的。它使得任务级响应时间得以最优 化。使用占先式( p r e e m p t i v e ) 多任务方式,应用程序不应直接使用不可重入型 函数。调用不可重入型函数时,要满足互斥条件,这一点可以用互斥型信号量来 实现。如果调用不可重入型函数时,低优先级的任务c p u 的使用权被高优先级 任务剥夺,不可重入型函数的数据就有可能被破坏。如图3 3 : 低优先级任务 、 钐钐勿 中断服务子程序 高优先勃 中断服务稗序式高优先级任务就绪 图3 3占先式多任务示意图 时 间 使用实时系统编程思想,使得实时应用程序的设计和扩展变得很容易,不需 要大的改动,就可以进行添加和删除。通过将应用程序分割成若干独立的任务, 实时系统的编程思想使得应用程序的设计过程大为简化,所有时间要求苛刻的事 件都可以得到快捷、有效的处理。 由于采用非抢占式多任务方式或者抢占式多任务方式来设计程序,使得程 序过于复杂,自己掌握程度也不熟练。根据这种思想编制出来的程序不太稳定, 1 7 随机采样数字化示波器监控软件的系统研究 程序容易跑飞,常常死机。考虑到这种情况,最终选择使用前后台系统来编写应 用程序。而实时陛的提高则不得不依靠其他手段。 3 4 面向对象的设计概念 面向对象方法和技术是自8 0 年代以来逐渐形成的一种分析问题和解决问题 的新方法,其基本的出发点就是尽可能的按照人类认识世界的方法和思维方式来 分析和解决问题。我们将要加以研究的事、物、概念都称为对象。面向对象的方 法正是以对象为最基本的元素,把对象作为分析问题、解决问题的核心。 在面向对象的系统中,对象是数据和使用该数据的基本操作或过程的封装, 它被当作一个实体。用户不必知道对象行为的实现细节,只需根据对象提供的外 部接口访问对象。对象的动作取决于发送给对象的消息,消息通知对象要求对象 完成某个功能。“面向对象”的基本思想就是把要构造的系统表示为对象的集合。 结构化程序设计是一种面向数据和过程的设计方法,设计中数据和过程分离 为相互独立的两部分。数据代表问题空间的实体,过程则体现了处理数据的算法。 面向对象的方法是在结构化程序设计的基础上,进一步力图用更自然的方法 反映客观世界。 在本次软件系统设计中,我们使用了面向对象这一设计概念,按键就是我们 的对象。用户的按键处理行为使对象的属性发生变化,发出消息,以便其他模块 进行相应处理,或是数据采集,或是波形显示。 3 5 模块的划分 根据系统软件的功能要求及各模块间的内在联系,图3 4 给出了模块的划分: 图3 4模块划分图 随机采样数字化示波器监控软件系统研究 三个任务顺序循环执行,借助d y n a m i cc 中的关键字,宏定义等,提高软件 的实时性。 按键处理模块的主要功能,根据按键中断送来的键值实现菜单显示及部分标 志的更新,将需要硬件更新的操作以消息的形式传递给数据采集任务。 数据采集模块接受消息队列a 中的消息,对硬件进行重新设置,并迸行数据 采集。 波形显示模块根据数据采集任务送来的消息队列b ,及信源进行相应的波形 显示。对于信源的显示状态改变的情况,在按键处理中实现相应处理,保证显示 的实时性。 数据b u f f e r :为数据采集任务采集的波形数据。软件动态分配数据b u f f e r 大 小为1 k b y t e s ,根据触发点的位置,前后分别取5 0 0 个点,然后根据延迟参考左 中右的情况,选择2 5 0 个点用于显示。如果延迟参考左则触发点前取1 0 ,触 发点后取9 0 ,如果延迟参考右则触发点前取9 0 触发点后取1 0 ,如果延迟 参考中,则前后各1 2 5 个点。 3 6 主程序结构流程图 主程序结构流程图如下所示 1 9 随机采样数字化示波器监控软件的系统研究 图3 5 主程序结构流程图 仪器初始化负责在开机后对仪器的硬件进行初始化操作,对软件的某些变量 赋予初值及显示初始化操作。 对于信源的显示状态改变的情况,则在按键处理中实现相应处理。 3 7 函数分类 函数实现程序的具体功能。清晰明确的函数使程序易读性大大提高,便于软 件工程维护。本次设计中,函数主要分为以下几类: 夺菜单类函数:例如画子菜单菜单的函数v o i dd r a w e d i t s u b m e n u ( s t r u c ts u b m e n ut e m p s u b m e n u ) ,画根键菜单的函数v o i dd r a w r o o t m e n u ( s t r u c tr o o t m e n u m p r o o t ) 。 夺波形显示类函数:例如清除波形显示区函数v o i dc l e a r w a v e ( i n t i n d e x ) ,画波形函数v o i dd r a w w a v e ( i n ti n d e x ,i n td a t a 2 5 0 ) 。 随机采样数字化示波器监控软件系统研究 夺软件参数设置类函数:例如设置根极菜单i d 函数v o i d s e t r o o t m e n u i d ( i n t r o o t i d ,s t m c tr o o t m e n u * t e m p r o o t m e n u ) ,获得根极菜单i d 函数i n tg e t r o o t m e n u l d ( s t r u c tr o o t m e n u + t e m p r o o t m e n u ) 。 夺子菜单按键处理类函数:例如子菜单按键1 处理函数v o i d ( * s u b m e n u k e y l p r o c ) ( v o i d ) ;子菜单按键1 处理函数v o i d ( + s u b m e n u k e y 2 p r o c ) ( v o i d ) ; 夺特定功能键处理类函数:特定功能键主要包括a u t o ( 自动定标处理) 和r u n s t o p 键,这两个键的处理通过以下函数实现 v o i dk e y a u t o p r o c ( v o i d ) ; _ v o i dk e y r u n p r o c ( v o i d ) ; 2 1 随机采样数字化示波器监控软件的系统研究 第四章按键处理模块 数字存储示波器按键模块主要划分为四部分:根级菜单处理、子菜单处理、 特定功能键处理和数字

温馨提示

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

评论

0/150

提交评论