(通信与信息系统专业论文)虚拟仪器的dsp实现.pdf_第1页
(通信与信息系统专业论文)虚拟仪器的dsp实现.pdf_第2页
(通信与信息系统专业论文)虚拟仪器的dsp实现.pdf_第3页
(通信与信息系统专业论文)虚拟仪器的dsp实现.pdf_第4页
(通信与信息系统专业论文)虚拟仪器的dsp实现.pdf_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

四川大学硕士学位论文 盘拟仪器的d s p 实现 虚拟仪器的d s p 实现 通信与信息系统专业 研究生:张宏指导教师:何培字 虚拟仪器由计算机加上特殊设计的仪器硬件和专用软件构成。它利用个人 计算机强大的图形环境和在线帮助功能,建立虚拟仪器面板,完成对仪器的控 制,数据分析与显示,使用户可以根据自己的需要定义仪器的功能,改变了传 统仪器的使用方式,提高了仪器的功能和使用效率。 本课题所完成的虚拟仪器,主要采用d s p 实现信号发生器,用d s p 芯片实 现虚拟仪器具有以下优点:( 1 ) d s p 芯片采用改进的哈佛结构,解决了冯诺依 曼结构中高速数据传输时传输通道上的瓶颈现象:( 2 ) d s p 芯片内置在片定时 器,用户可以通过控制程序对定时器进行精确的设置,从而实现精确定时和采 样处理。本设计针对d s p 的实时性而进行,对信号产生算法的改进进行了较深 入的探索,特别是在提高d s p 产生余弦波的频率和精度方面,采用一种经过优 化的泰勒级数展开法,得到了理想的实验结果。本设计的虚拟仪器具有d s p 产 生信号的频率高、精度高的优点,而且由d s p 产生的函数信号其幅度的稳定度和 精度可借助于数模转换技术做得很高。 此虚拟仪器主要以1 r i 公司d s p ( t m s3 2 0 c l 5 4 9 ) 为核心搭建硬件平台,可完 成多种信号波形的同时产生与输出,通过u s b 接口与p c 机通信,实现信号输 出频率、幅度等参数实时可调。应用软件部分在v c + + 6 0 与l a bv i e w 下开发, 通过微机实时控制仪器硬件并显示仪器硬件输出信号的波形。 关键词:虚拟仪器、任意波形信号发生器、实时信号处理、d s p 、u s b 、 v c + + 四川大学硕士学位论文 虚拟仪器的d s p 实现 d s pi m p l e m e n t a t i o no f v i r t u a li n s t r u m e n t c o m m u n i c a t i o na n di n f o r m a t i o ns y s t e m p o s t g r a d u a t e :z h a n gh o n g s u p e r v i s o r :h ep e i y u v i r t u a li n s t r u m e n t di sc o m p o s e do fc o m p u t e r , e s c p e c i a l l yd e s i g n e dh a r d w a r e a n ds o f t w a r e i tt a k e sa d v a n t a g eo fm i g h t yg r a p h i cs e t t i n ga n do n l i n eh e l po f c o m p u t e r t h ec o n t r o lp a n e lo fv i ,w h i c ha c c o m p l i s h st h ed a t ea n a l y s i sa n dd a t e d i s p l a y , i se s t a b l i s h e do nt h ec o m p u t e r t h ei n s t r u m e n tf u n c t i o nc a nb es e to n c o m p u t e r , a n di tc a nb e a c h i e v e d i nt h ei n s t r u m e n th a r d w a r ei nt i m e t h ev ii nt h i sp a p e ri si m p l e m e n t e do nd s p t h e r ea r em a n ya d v a n t a g e si nt h i s v i :( 1 ) t h ec 5 4 i 【d s p su s ea na d v a n c e dm o d i f i e dh a r v a r da r c h i t e c t u r et h a tm a x i m i z e sp r o c e s s i n gp o w e rw i t he i g h tb u s e s s e p a r a t e dp r o g r a ma n dd a t as p a c e sa l l o w s i m u l t a n e o u sa c c e s st op r o g r a mi n s t r u c t i o n sa n dd a t a ( 2 ) t h e r ei sa no n c h i pt i m e ri n t h ed s eu s e rc a ns e tt h et i m e rp r e c i s e l yt h r o u g hc o n t r o lp r o g r a m i no r d e rt om a k e f u l lu s eo f p o w e r f u lr e a l t i m ep r o c e s s i n ga b i l i t yo fd s p , s o m ei m p r o v e m e n t s i n v o l v e di nf u n c t i o ng e n e r a t i o na l g o r i t h mh a v eb e e no b t a i n e d a no p t i m i z e dt a y l o r s e r i e si sp r o v i d e di nt h i sd e s i g nt oc o m p u t et h ec o s i n ef u n c t i o n h i g hp r e c i s ec o s i n e w a v ei sg e n e r a t e di nr e a l t i m e t h e r e f o r et h i ss i g n a lg e n e r a t o ri sf e a s i b l ew i t haw i d e r a n g eo f 台e q u e n c ya n dh i g hs t a b i l i t y t h i sv i sh a r d w a r ei sc o n s t r u c t e db a s e do nd s p ( t m s 3 2 0 c 5 4 外t h er e a l t i m e s i g n a lg e n e r a t o ri si m p l e m e n t e di nt h ed s po b j e c tb o a r d d s pc o m m u n i c a t e sw i t h p e r s o n a lc o m p u t e rt h r o u g hu s bi n t e r f a c e ,a n du s e rc a nm o d i f yf r e q u e n c ya n d a m p l i f i c a t i o no ft h eo u t p u ts i g n a li nt i m e v i ss o f t w a r ei sd e v e l o p e di nv c + + a n d l a b w k e yw o r d :v i r t u a li n s t r u m e n t ,s i g n a lg e n e r a t o r ,r e a l - t i m es i g n a lp r o c e s s i n g , d s p , u s b v c + + 2 四川大学硕士学位论文 虚拟仪器的d s p 实现 前言 本文介绍了用d s p 芯片开发设计虚拟仪器的理论研究以及其样机开发过 陧,并结合相关背景知识做了介绍,最后总结了作者在开发过程中的一些心得 体会。 此设计是实现虚拟任意波形信号发生器以及数据采集器,此虚拟 仪器是利用美国1 1 公司的d s p 芯片实现的,由d s p 芯片实现虚拟仪器具有产 生信号的频率高、精度高的优点,而且,可以通过抽取和内插进行抽样率的变 换,从而实现实时的多速率信号处理。 本虚拟信号发生器主要由软、硬件两部分构成,以d s p 芯片为核心的目标 扳构件了一个开放式硬件平台,用户通过升级应用软件便可完成信号发生器功 能的升级与扩充。该虚拟信号发生器主要具有的功能及特点如下: 产生高频率、高精度的余弦波、正弦波 产生余弦、正弦波形、伪随机序列、锯齿波、扫频正弦波、方 波、各种模拟量以及各种常用调制信号波形 实时采集数据并可实现抽样率变换,实时显示仪器硬件的输出 信号幅度、频率、相位等参数通过前台微机设定调整,并且前 台微机软件使用图形化界面,操作简单快捷 实现可同时输出满足某种严格相位关系的多路信号,最多可同 时有4 路模拟量输出 用户通过升级软件可自由定义虚拟仪器功能,由软件实现硬件 功能的升级与扩充,方便快捷 根据虚拟信号发生器的设计要求,系统实现及完成毕业论文期间所做的工 作主要分为以下几部分: 1 系统硬件的制作 本设计以1 1 公司的高速定点d s p 芯片1 m s3 2 0 c l 5 4 9 为核心搭建硬件 平台:d s p 目标板与上位微机的通信通过n s 公司u s b 控制芯片u s bn 9 6 0 4 实 现,用户在微机上选择所要求的波形及其参数通过该芯片传至硬件仪器板;系 四川大学硕士学位论文虚拟仪器的d s p 实现 统信号输出部分的硬件构造如下:由t m s3 2 0 c l 5 4 9 产生的信号通过a d 公司 的两片数模转换芯片a d 7 5 2 8 输出。a d 7 5 2 8 有2 路信号输出,转换精度为8 位, 可输出比较精确、平滑的信号波形。系统再通过4 片数字电位器x 9 3 1 3 的输出 来控制a d 7 5 2 8 的参考电压从而控制输出信号波形的幅度。在p r o t e l 9 9 的环 境下完成仪器硬件的设计开发。 2 d s p 核心软件的编写 d s p 核心软件的编写是在c o d ec o m p o s e rs t u d i o 环境中完成的,主要实现 两部分的工作;( 1 ) 产生与输出满足用户要求的各种波形信号,包括正弦波形、 伪随机序列、锯齿波、扫频正弦波、方波、各种模拟量以及各种常用调 制信号波形:( 2 ) 实现与微机实时通信,包括响应微机的控制命令、返回仪器硬 件的实时状态等,主要的工作是在d s p b i o s 环境下通过对基于管道( p i p ,p i p e ) 的通信和基于主机( h s t ,h o s t ) 通道的通信模块并调用相应地a p i ,可以完成 d s p 环境下的输入输出( i 0 ) ,完成u s b 控制芯片u s b n 9 6 0 4 与d s p 接口。 3 u s b 驱动程序及前台微机控制软件的编写 仪器硬件驱动程序基于w d m 模型,支持w i n 9 8 2 0 0 瞅p ,驱动程序需要 实现封装。仪器硬件驱动程序的编写采用v c + + + w i nd r i v e r 进行,使微机 能够通过u s b 接口实现对仪器硬件的完全控制、发挥仪器硬件的所有功能,并 且支持即插即用,自动完成仪器硬件的安装与设置。前台微机控制部分使用图 形化界面,操作简单、直观。用户通过前台控制软件可完全控制仪器硬件,可 选择所需信号波形及其参数( 包括相位、频率、幅度等) 。前台软件实时采集并 模拟仪器硬件的输出,以图形方式同时显示8 信号的输出。前台软件应具有良 好的健壮性、容错性,不会因用户的错误操作产生不可预测的结果。前台微机 控制软件使用v c + + 6 0 开发,信号的显示部分用l a bv i e w 开发,支持 w i n 9 8 2 0 0 0 x p 等多种操作系统。 4 综合调试 硬件和软件开发及调试完成后,接下来的工作是整个系统的软、硬件综合 调试,本部分的工作是在c o d ec o m p o s e rs t u d i o 的环境下,使用合众达公司的 d s p 仿真器s e e d - x d s p c i 完成的。主要工作是综合检验仪器硬件以及应用软件是 否工作正常。 1 1 概述 第一章d s p 实现虚拟仪器的特点 1 1 1 虚拟仪器 由于微电子技术、计算机技术、软件技术、网络技术的高度发展及其在电 子测量技术与仪器上的应用,新的测试理论、新的测试方法、新的测试领域以 及新的仪器结构不断出现,在许多方面已经突破的传统仪器的概念,电子测量 仪器的功能和作用已经发生了质的变化。在这种背景下,八十年代末美国率先 研制成功虚拟仪器( v i r t u a li n s t r u m e n t ) 。虚拟仪器就是利用现有的计算机,加上 特殊设计的仪器硬件和专用软件,形成既有普通仪器的基本功能,又有一般仪 器所没有的特殊功能的高档、低价的新型仪器。虚拟仪器的出现是仪器发展史 上的一场革命,代表着仪器发展的最新方向和潮流,对科学技术的发展和工业 生产的进步将产生不可估量的影响。 虚拟仪器利用个人计算机强大的图形环境和在线帮助功能,建立虚拟仪器 面板,完成对仪器的控制,数据分析与显示,代替传统仪器,改变传统仪器的 使用方式,提高仪器的功能和使用效率,大幅度降低仪器价格,使用户可以根 据自己的需要定义仪器的功能。 虚拟仪器一般由个人计算机或者工作站、软件以及仪器硬件组成。 1 个人计算机或工作站 虚拟仪器使用的个人计算机中,微处理器和总线成为最重要的因素。其中, 微处理器的发展是最迅速的,它使虚拟仪器的能力极大地提高。八十年代末制 造的虚拟频率分析仪完成一个1 ,0 2 4 点的快速傅立叶变换需要1 秒种的时间: 今天的系统可以在i 毫秒内完成同样的运算,速度提高了一千倍。这意味着, 如果以前人们是用虚拟仪器来做快速傅立叶变换观察信号,那么今天可以利用 它进行高速的实时运算,并将之应用于过程控制和其它控制系统中。 2 软件 软件包括应用软件和i o 驱动软件。 用于虚拟仪器开发的应用软件目前大致有两类:一类是文本式的编程语言, 7 四川大学硕士学位论文 虚拟仪器的d s p 实现 如b o i l a n dc ,v i s u a lc + + ,l _ 丑b w i n d o w s c v i 等:另一类是图形化编程语言,具代 表性的有h p v e e 、l a bv i e w 等。 大部分虚拟仪器开发环境均提供一定程度的i o 设备支持。许多i o 驱动 程序已经集成在开发环境中。以l a bv i e w 为例,它能够支持串行接口、g p i b 、 v x i 等标准总线和多种数据采集板,l a bv i e w 还可以驱动许多仪器公司的仪 器,如h e w l e t t p a c k a r d 、p h i l i p s 、t e k t r o n i x 、b & k 、h u k c 等。同时,l a bv i e w 可调用w i n d o w s 动态连接库和用户自定义的动态连接库中的函数,以解决对某 些非m 公司支持的标准硬件在使用过程中的驱动问题。 3 仪器 仪器部分包括各种通用接口总线,如g p i b 、r s 2 3 2 4 8 5 、p c i 、i s a 、u s b 、 v x i 总线等,以及仪器硬件,如数据采集板( d a 0 ) 、信号发生器等。 在虚拟仪器技术中,f o 设备集成在仪器硬件上,直接插到计算机总线上。 仪器硬件进行数据采集或产生各种信号输出,并且即时地把各种所需的数据存 放到r a m 。微处理器可以立即访问这些数据。数据由微处理器和仪器硬件共享。 所以。对于微处理器而言,仪器硬件实际上是一种i o 设备。仪器硬件的技术极 大地推动着虚拟仪器的发展,因为它把微处理器和总线技术的进步直接演变为 f o 设备的改进和系统能力的提高。 1 1 2 d s p 技术 数字信号处理( d i g i t a ls i g a n lp r o c c e s s i n g - 简称d s p ) 是- - f - 涉及许多学 科且广泛应用于许多领域的新兴学科,数字信号处理是利用计算机或专用处理 设备,以数字形式对信号进行采集,变换,滤波,估值,增强,压缩,识别等 处理,以得到符合人们需要的信号形式。今天,d s p 已经成为通信、计算机、网 络、工业自动控制和家用电器等电子产品中不可缺少的基础器件。d s p 技术的 迅速发展和提高,已经成为决定电子产品更新换代决定性因素。 图1 1 示出了一个典型的d s p 系统。输入信号可以是语音信号也可以是已 调数据信号,还可以是经过编码的信号等 四川大学硕士学位论文 虚拟仪器的d s p 实现 图1 1 典型的d s p 系统 输入信号首先进行带限滤波和抽样,然后进行模数变换将信号变换成数字 比特流。根据奈奎斯特抽样定理,为保持信息不丢失,抽样频率至少必须是输 入带限信号最高频率的2 倍。 d s p 芯片的输入是a d 变换后得到的以抽样形式表示的数字信号,d s p 芯 片对输入的数字信号进行某种形式的处理,如进行一系列的乘累加操作( m a c ) 。 d s p 芯片是数字信号处理的关键。最后,经过处理后的数字样值再经d a 变换 转换为模拟样值,之后再进行内插和平滑滤波就可得到连续的模拟波形。 1 2 以d s p 为核心实现高速信号处理虚拟仪器 在数字域中作信号处理有以下优点:( 1 擞字信号是一种精确运算方法,它不 受环境的影响;( 2 ) 表示部件功能的数学运算也不是物理上实现的功能部件,而仅 用数学运算去模拟,其中的数学运算也相对较易实现。此外,可对数学运算进行编 程,如欲改变算法或某些功能,还可对数字部件进行再编程。 在很多情况下虚拟仪器是采用上位机实现的,微机也可以进行数字处理, 并且微机可以直接采用浮点运算,其运算精度也可以做得很高,但是与用微机 实现虚拟仪器相比,采用d s p 芯片实现虚拟仪器具有以下优点:( 1 ) d s p 芯片 采用改进的哈佛结构,解决了冯诺依曼结构中高速数据传输时传输通道上的瓶 颈现象:d s p 芯片内部多总线结构保证在一个机器周期内可以多次访问程序空 间和数据空间;d s p 芯片多处理单元可以在一个指令周期内同时进行运算,这 种结构恰好满足了数字信号处理中的一些并行运算的要求;( 2 ) 在数据采集和 输出时,都需要用到a d 和d a ,其刷新是通过定时器来完成的,d s p 芯片内 置在片定时器,用户可以通过控制程序对定时器进行精确的设置( 详见第四章) , 从而实现精确定时和采样处理。这在上位机中是做不到的。 9 西川大学硕士学位论文 虚拟仪器的d s p 实现 因此,本设计采用d s p 实现虚拟仪器,在本设计 中特别针对d s p 的实时佳而进行。在软件设计中,利 用了其开发环境c c s 中的d s p b i o s 以及r t d x 实时 地、连续地访问正在运彳亍的目标机的应用程序,在主 机和d s p 之间交换数据,它可以通过p c 机编辑波形 后由波形发生器输出,从而可以进行极为精确和真实 的信号模拟。用数字化的方法可生成任意函数的波形 信号并且本设计在算法设计中进行了一些改进,本 设计的虚拟仪器具有产生信号的频率高、精度高的优 点,数字化产生周期函数信号频率的稳定度很高,由 d s p 产生的函数信号其幅度的稳定度和精度可借助于 数模转换技术可以做得很商。 在进行数据采集时,有些应用中对虚拟仪器的实 时性要求很高,要实现商采样率实时信号处理是很困 难的,例如,对一个带宽为1 2 5 m h z 的信号,以3 0 m h z 的采样率进行采样,假设对每个采样值运算1 0 0 次的 l 上位机u s b 控制器 lu s b 接口芯片 i 1 jd s p 芯片产 i 生函数信号 i i id ,a 转换器 j - i l 模拟信号输出电路 图2 1 硬件总体结构 话,其运算量在3 0 0 0 m i p s ,再加上额外开销、控制的处理负荷,所要求的处理 能力是相当离的,在实际系统中,由d s p 通过抽取和内插进行抽样率的变换, 并进行数据压缩和滤波,实现实时的多速率信号处理,用多抽样率信号处理技 术对采样信号进行预处理后,再来完成各种功能。 第二章虚拟信号发生器的硬件实现 2 1 硬件电路原理 仪器硬件的总体结构框图如图2 1 所示。 本虚拟信号发生器硬件的核心处理芯片采用1 1 公司的高速定点d s p 芯片 一1 m s3 2 0 c l 5 4 9 ;硬件板通过n s 公司u s b 控制芯片u s bn 9 6 0 4 实现与上位 微机的通信,用户在微机上选择所要求的波形及其参数通过该芯片传至硬件仪 器板上;系统输出的信号通过a d 公司的两片数模转换芯片a d 7 5 2 8 输出。 四川大学硕士学位论文虚拟仪器的d s p 实现 a d 7 5 2 8 有2 路信号输出,转换精度为8 位,可输出比较精确、平滑的信号波形。 系统再通过4 片x 9 3 1 3 的输出来控制前两片a d 7 5 2 8 的参考电压从而控制输出 信号波形的幅度,对输出信号幅度的控制是采用数字的方法实现的。当硬件上 电后,c l 5 4 9 的自举加载器程序从f l a s h2 9 l e 0 2 0 加载程序并开始执行程序代 码。 2 2 主要电路及核心器件 本仪器硬件的硬件设计以t i 公司的d s p 器件t m s 3 2 0 c l 5 4 9 为核心,用 n i 公司u s b 接1 2 芯片u s b n 9 6 0 4 来实现与微机的实时通信;信号输出部分采用 两片a d 公司的a d 7 5 2 8 进行d ,a 变换;输出信号的幅度控制采用四片x i c o r 公司x 9 3 1 3 单独控制:信号的滤波采用n 公司的运放器件l m 3 2 4 配合外围电 路实现;程序存放在s s t 公司f l a s h 芯片2 9 l e 0 2 0 中。 2 2 1d s p 芯片及相关电路 此部分包括d s p 芯片闪速存储器以及稳压电路。相关芯片有t m s 3 2 0 c l 5 4 9 、 2 m 位f l a s h 程序存储器2 9 l e 0 2 0 、稳压器t p s 7 3 3 3 。 、d s p 芯片t m s 3 2 0 c l 5 4 9 t m s 3 2 0 c l 5 4 9 是1 1 公司t m s 3 2 0 c 5 4 x 系列芯片,使用3 3 v 的电源供应 程序空问 程序空间 保留( o v l y = 1 ) 盘 外部( o v l y = o ) 舶队匿洲“ 片外( o v l y = 0 ) 肭s r a m ( o v l _ r = t ) 片外( o v l y = 0 ) 井蕾 中断祁保留区( 片蚪) m p = i 撒处理器方式 晕雷( o v l y = i ) 蓝 井尊( o v l y = o ) 月 h o a p , a m ( 0 v l y = 1 ) 或 片蚪( o v l y ;o ) h 柑r 囊t ( o 州2 1 ) 片蚪( o v l y = 0 ) 井荨 片肉r 0 鞴 1 暇字 中断和保留区片内, 妒) i c = o 徽机方式 图2 2t i , i s 3 2 0 c l 5 4 9 的存储空问分配 数据空间 内存映童存篇嚣 誓时存铑暑 h o r a m 8 k 字 r s r m 2 4 k ;z 外蕊 肭咖墨删。 片* 啊o m ( d r o m = o ) 倨霉( d r o m = 1 ) 井鲁e o r o m = 0 ) 四川大学硕士学位论文 虚拟仪器的d s p 实现 其运算速度为8 0 m i p s ,有关t m s 3 2 0 c l 5 4 9 的一些简单介绍可参见本论文前面 介绍在此就不再赘述。下面只简单介绍一下有关t m s 4 2 0 c l 5 4 9 的存储空间分 配。 t m s 3 2 0 c l 5 4 9 的存储空间可达1 9 2 k 比特字,6 4 k 程序空间,6 4 k 数据空 间,6 舢叫o 空间。依赖其并行的工艺特性和片上r a m 双向访问的性能,在一 个机器瘸期内,c 5 4 9 可以执行4 条并行并行存储器操作:取指令,两操作数读, 一操作数写。c 5 4 9 有片内r o m 、d a r a m 、s 越渔m ,这些区域可以通过软件 配置剽程序空间。当地址落在这些区域内,自动对这些区域进行访问;当地址 落在这些区域以外,自动产生对外部存储器的访问。复位后,中断矢量表位于 程序区f f 8 0 h 位置,可重新定位于程序空间任何一个1 2 8 字的页面( 其地址高 9 比特即页号由p m s t 中i p t r 确定) 。 t m s 3 2 0 c i 5 4 9 采用分页扩展的方式还可使可寻址程序空间达到8 1 9 2 k 字。 1 m s 3 2 0 c l 5 4 9 的存储空间分配图2 2 所示。 二、z m 位f l a s h 程序存储器2 9 l e 0 2 0 2 m 位闪速( f l a s h ) 存储器2 9 l e 0 2 0 是s s t 公司的3 v 单电源电可擦除 与重蕺编程的器件。2 9 l e 0 2 0 由8 个独立的2 5 6 k 字块组成,访问时间在6 0 n s 与1 2 0 a s 之间。 2 9 l e 0 2 0 在本电路设计中的原理图如下: 今1 一 t i cv c 兰圩邺 l , i ej 钾e ”d s 口研直 1 2 】5n c 5 a 口 1 4 片 1 4 a713 】t t 1 “ 埘 枣 a s ” , m , 】, 矗- “ 】s 1 i 】1 h l 向已 】d s p 瓜d 、a l i l ,上【a 2 1 1 0 ,_ k d2 l,ce 越 f l o , s h d b o3 1 7 ,d b 7 终2 嚣 d ”1 9 d 麟b 5 沁 d ld 5 d 鼢b 4 过 “ 崽g d d 3 l 呦 图2 t 3 仪器硬件中的f l a s h 结构部分原理图 1 2 四川大学硕士学位论文 虚拟仪器的d s p 实现 三、单芯片低压差稳压器t p s 7 3 3 3 系统的仪器硬件板采用+ 5 v 的外接电源供电。电源引进以后经t p s 7 3 3 3 输 出提供3 3 v 的稳压电源。t p s 7 3 3 3 是1 1 公司的微功率低压差( 1 a w d r o p o u t ,l d o ) 稳压器系列产品中的一种,是一种低压差线性稳压器和电源监控复位电路的集 成复合芯片。与其他一些稳压器的不同之处在于它们具有延迟微处理器复位的 功能。t p s 7 3 3 3 中内部自动比较监视稳压器的输出电压以便检测稳压器的输出 电压是否处于欠压状态。如果欠压,那么引脚r e s e t 输出为低电平。一旦欠压 消失,便开始2 0 0 m s 的延时周期( t i m e - o u t ) 。延迟完成之后,r e s e t 引脚变为 高电平。 本系统电源部分的电路原理图如下: 图2 4 电源部分的电路原理图 在实际应用中,电源的复位信号由t p s 7 3 3 3 的r e s e t 引脚引出,分别接 至u s b 接口芯片u s b n 9 6 0 4 与d s p t m s 3 2 0 c l 5 4 9 的复位信号输入端。 2 2 2u s b 接口芯片u s b n 9 6 0 4 四川大学硕士学位论文 虚拟仪器的d s p 实现 图2 5 仪器硬件u s b 接口部分原理图 u s b n 9 6 0 4 是一种带加强d m a 支持的全速u s b 接口控制芯片,u s b n 9 6 0 4 兼容u s b l o 与u s b l 1 。该芯片内部集成微处理器接口、f i f o 存储器、时钟发 生器、串行接口引擎( s i e ) ,收发器、电压转化器等。u s b n 9 6 0 4 支持7 个管道 ( p 职e ) ,其中一个以控制方式传输数据,其余6 个支持批量方式、同步方式与 中断方式传输数据,每个管道端点( e n d p o i n t ) 皆有自己独立的f i f o 。 上图2 5 即是本仪器硬件中u s b 接口部分的电路原理图,u s b n 9 6 0 4 通过8 位的并行口与d s p t m s 3 2 0 c i 5 4 9 接口,完成系统的设计要求。 2 2 3 信号输出电路 用户所需的信号经d s p 产生后,被传送至a d 7 5 2 8 ,信号的幅度值被d s p 传送至x 9 3 1 3 ,x 9 3 1 3 控制a d 7 5 2 8 的参考电压,最终产生满足用户要求的信号 波形经l m 3 2 4 滤波、放大输出,下图即为仪器硬件最终输出模拟信号部分的电路 原理图,如下图2 6 所示。 1 4 四川大学硕士学位论文 虚拟仪器的d s p 实现 一、d a 转换器件a d 7 5 2 8 a d 7 5 2 8 是双路、8 位数字一模拟转换器,片内有单独的数据锁存器,其两路 d a c 有很好的一致性。数据通过公共8 位输入口传送至两个d a c 数据锁存器 的任一个。控制输入端d a c a d a c b 决定哪一个d a c 被装载。a d 7 5 2 8 的装载 戳 图2 6 仪器硬件模拟信号输出部分的电路原理图 周期与随机存取存储器( r a m ) 的写周期类似,能方便地与大多数通用微处理 器总线和输出端口接口。a d 7 5 2 8 用5 v 至1 5 v 的电源工作,功耗小于1 5 m w ( 典 型值) 。 二、数字电位器x 9 3 1 3 x 9 3 1 3 是一种固态非易失性电位器,包含有3 1 个电阻单元的电阻阵列,在 每个单元之间和二个端点都有可以被滑动单元访问的抽头点。滑动单元的位置 由x 9 3 1 3 的三个输入端控制,滑动端的位置可以被贮存在一个非易失性存贮器 中,因而在下一次上电工作时可以被重新调用。x 9 3 1 3 的分辨率等于最大的电 阻值被3 1 除。例如x 9 3 1 3 w ( 1 0 k ) 的每个抽头间的阻值为3 2 3 欧姆。 四川大学硕士学位论文 虚拟仪器的d s p 实现 第三章u s b 驱动程序及前台控制程序的编写 3 1 系统软件体系结构 虚拟信号发生器的软件制作流程如下: 前台微机主控程序:人机接口部分,完成信号波形的选择、 各种参数的调节、信号波形的图形化显示及对仪器硬件的完全控 制。 本部分采用n i 公司的l a b v i e w 5 0 1 编写完成。 王王 一 仪器硬件的驱动程序:即u s b 驱动程序,负责协调完成前 台控制程序与仪器硬件的通信工作。 本部分程序的编写采用m i c r o s o f t 公司v c + + 6 0s p 3 与 j a n g o 公司的w md r i v e r 完成,并封装成d l l 以便被前台控制 程序调用。 f 仪器硬件程序:即d s p 程序。系统初始化,负责完成各种 类型波形信号的生成与输出,响应前台控制程序的指令,返回仪 器硬件的当前状态。 本部分程序的编写采用1 1 公司c o d ec o m p o s e rs t u d i ov 2 0 编写。 图3 1 虚拟信号发生器的软件流程 本章着重介绍前台控制程序的编写,前台控制程序与仪器硬件的交互以及 u s b 驱动程序,d s p 软件的编写请参看下一章。 1 6 四川大学硕士学位论文 斑拟仪器鸽d s p 实现 3 2u s b 程序设计 u s b 程序包括u s b 设备驱动程序、设备固件、应用程序。 3 2 1u s b 设备驱动程序开发 u s b 系统驱动程序采用分层结构模型:较高级的u s b 设备驱动程序和较 低级的u s b 函数层。其中u s b 函数层由两部分组成:较高级的通用串行总线驱 动程序( u s b d ) 和较低级的主控制器驱动程序模块( h c d ) 。 其中u s b 函数层( u s b d 及h c d ) 由w i n d o w s 9 8 提供,负责管理u s b 设 备驱动程序和u s b 控制器之间的通信;加载及卸载u s b 驱动程序;与u s b 设 备通用端点( e n d p o i n t ) 建立通信来执行设备配置、数据与u s b 协议框架和打包 格式的双向转换任务目前w i n d o w s 9 8 提供了多种u s b 设备驱动程序,但并不 针对实时数据采集设备,因此需采用d d k 开发工具设计专用的u s b 设备驱动 程序。可以由四个模块实现:初始化模块、即插即用管理模块、电源管理模块 以及i o 功能实现模块。 初始化模块提供个d r i v e r e n t r y 入口点来执行大量的初始化函数。 即插即用管理模块实现u s b 设备的热插拔及动态配置。当硬件检测到u s b 设备接入时,w i n d o w s 9 8 查找相应的驱动程序,并调用它的d f i v e r e n t r y 例程p n p 管理器调用驱动程序的a d d d e v i c e 例程,告述它添加了一个设备;然后,驱动 程序为u s b 设备建立一个f d o ( 功能设备对象) ,在此处理过程中,驱动程序 收到一个i r pm ns t a r td e v i c e 的i r p ,包括设备分配的资源信息。至此, 设备被正确配置,驱动程序开始与硬件进彳亍对话。当然,在设备运行过程中, 如果设备的状态发生变化( 拔除、暂停等) ,p n p 管理器也同样发出相应的i r p , 由驱动程序进行相应的处理。 电源管理模块负责设备的挂起与唤醒。 i o 功能实现模块完成i o 请求的大部分工作。当应用程序提出i o 请求时, 它调用w i n 3 2a p i 函数d e v i c c l o c o n t r o 来向设备发出命令。然后,由i o 管理 器构造一个i r p 并设置其m a j o r f u n c t i o n 域为i r pm id e v i c ec o n t r o l 。u s 3 设备驱动程序收到该i r p 后,取出其中的控制码,并利用一个开关语句来找到 对应的例程入口。 本仪器硬件的u s b 驱动在m sv c + + 6 0s p 3 中编写测试完成,并最终封装 1 7 塑查茎堡主兰垒垒奎璧丝堡墨塑里翌塾一 成d l l ,以方便l a bv i e w 或其他程序调用。当u s b 设备插入计算机时,计算 机和u s b 设备之间产生一个枚举过程。计算机检测到有设备插入,自动发出查 询请求;u s b 设备回应这个请求,送出设备的v e r d o ri d 和p r o d t m ti d :计算机 根据这两个d 装载相应的设备驱动程序,完成枚举过程。 3 2 2 设备固件( f i r m w a r e ) 设计 设备固件是设备运行的核心,采用汇编语言设计。其主要功能是控制芯片 u s b n 9 6 0 4 接收并处理驱动程序的请求( 如请求设备描述符、请求或设置设备状 态、请求设备设置、请求或设 置设备接口等共1 0 种u s b 标 准请求) 控制芯片u s b n 9 6 0 4 接受应用程序的控制指令:控 制输出波形及各项参数;通过 u s b n 9 6 0 4 存储数据并实时 上传给上位机。 限于篇幅,设备固件的 具体实现,在此就不予赘述。 3 2 3 应用程序设计 上位机应用程序是数据 实时采集系统的中心,其功能 主要有:开启或关闭u s b 设 备、检测u s b 设备、设置u s b 数据传输管道、向d s p 传输 参数、实时从u s b 接口采集 数据。u s b 程序框图如图3 2 所示。 图3 2 应用程序主框图 1 8 堕型查兰堡主兰垡堡奎壁型堡兰竺2 婴圭坠一 3 3 系统前台控制程序编写 3 3 1l a bv i e w 的图形化程序设计 l a bv i e w 是一个完全的、开放式的虚拟仪器开发系统应用软件,利用它组 建仪器测试系统和数据采集系统可以大大筒化程序的设计。l a bv i e w 与v i s u a l c + + v i s u a lb a s i c , l a bw i n d o w s c v i 等编程语言不同,后者采用的是基于文本语 言的程序代码,而l a b v i e w 则是使用图形化程序设计语言g ( g r a p hl a n g u a g e ) , 用方框图代替了传统的程序代码。l a bv i e w 的核心是v i 。v i 有一个人机对话 的用户界面前面板( f r o n tp a n e l ) 和类似于源代码功能的方框图( d i a g r a m ) 。 前面板接受来自方框图的指令。在v i 的前面板中,控件( c o n t r o l s ) 模拟了仪 器的输入装置并把数据提供给v i 的方框图;而指示器( i n d i c a t o r s ) 则模拟了仪器 的输出装置并显示由方框图获得或产生的数据。当把一个控件或指示器放置到 前面板上时,l a bv i e w 在方框图中相应地放置了一个端口( t e r m i n a l s ) ,这个从 属于控件或指示器的端口不能随意删除,只有删除它对应的控件或指示器时它 才随之一起被删除。 用l a bv i e w 编制方框图程序时。不必受常规程序设计语法细节的限制。 首先,从功能菜单中选择需要的功能方框,将之置于面板上适当的位置;然后 用导线( w i r e s ) 连接各功能方框在方框图中的端口,用来在功能方框之间传输数 据。这些方框包括了简单的算术功能,高级的采集和分析v i 以及用来存储和检 索数据的文件输入输出功能和网络功能。 用l a bv i e w 编制出的图形化是分层次和模块化的。我们可以将之用于 顶层f l o pl e v e l ) 程序,也可用作其它程序或子程序的予程序。个用在其它 v i 中,称之为s u b v i ,s u b v l 在调用它的程序中同样是以一个图标的形式出现 的。l a b v i e w 依附并发展了模块化程序设计的概念。用户可以把一个应用题目 分解为一系列的子任务,每个子任务还可以进一步分解成许多更低一级的子任 务,直到把一个复杂的题目分解为许多子任务的组合。首先设计s u b v l 完成每 个予任务,然后将之逐步组合成能够解决最终问题的v i 。 3 3 2 用l a bv i e w 编写前台控制程序 i 询f f 控制槲膊1 t 要包括人机交! i 部分、信号波形显示以及仪器硬件状念、 折小3 个厅f m : 1 人机交互部分本部分属于人机接口部分,主要负责响应用户的指完成 用户指定的任务,如完成信号波形的选择、各种参数的凋节等。日i 台程序为用 户提供一个图形化人机接v 1 界面( 如图3 3 虚拟信号发生器的控制面板所示) , 用户在此颁选择信号输出通道、信号类型以及调节相应的参数,然后本部分程 序则将用户的要求通过u s b 驱动程序接口传送至仪器硬件,并根掘仪器硬件的 执行情况做出相应的指示。 2 信号波形显示根据仪器硬件的实时状念,实时模拟仪器硬件的输出波 j 眵,u i j 丁个接在仪器硬件输出接口的示波器。所有仪器硬件产生的信号 故器硬件当前摭裔 虚拟信号发生器控制面板 图3 3 虚拟信号发生器的控制面板 四川大学硕士学位论文 虚拟仪器韵d s p 实现 波形前台微机程序都可产生,波形信号的产生、显示程序都是用l a bv i e w 完成 的。有关l a bv 瑾w 编程环境的基本情况本章的开始部分已有筒单阐述,在此便 不再赘述。 由于本程序要完成多种不同类型的信号波形的显示,因此便存在一个信号 类型的选择以及参数设置的问题,单通道信号类型的选择以及参数设置的程序 如下图所示,通过下图3 4 所示的程序,用户可选择包括正弦波、余弦波、锯齿 波、方波、三角波、白噪声、高斯白噪声、伪随机序列、扫频信号、直流分量 等各种波形并可以调节其相应参数。 图3 4 单通道信号类型的选择以及参数设重程序 3 仪器硬件状态指示、诊断 返回仪器硬件的实时状态,能够做到对仪器硬件状态的实时显示,并能协 助诊断仪器硬件的简单故障。 塑盟奎兰壁主兰垒笙苎 壁型堡墨堕望! ! 壅坠 3 3 3l a bv i e w 与外部程序交互 l a bv i e w 具有内置程序库,提供了大量的连接机制,通过d l l s 、共享库、 a c t i v c x 等途径实现与外部程序代码或软件系统的连接。 l a bv i e w 的函数库中有两个外表非常相似的函数c a l ll i b r a r yf u n c t i o n 和 c o d ei n t e r f a c en o d e ( c i n ) - 使用c a l ll i b r a r yf u n c t i o n ,我们可以调用w i n d o w s 标准的动态连接库 ( d l l ) ,也可以调用用户自己编制的d l l ,此外,该函数还支持多种数据类型 和调用规则。使用c i n 节点可以调用由传统语言编写的代码,例如c 语言。这 使得通过它就能够触及图形化编程语言( g ) 难以触及的领域,如对硬件设备的 操作。利用c a l ll i b r a r yf u n c t

温馨提示

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

评论

0/150

提交评论