(通信与信息系统专业论文)基于labview和dsp的信号发生器软件设计与研究.pdf_第1页
(通信与信息系统专业论文)基于labview和dsp的信号发生器软件设计与研究.pdf_第2页
(通信与信息系统专业论文)基于labview和dsp的信号发生器软件设计与研究.pdf_第3页
(通信与信息系统专业论文)基于labview和dsp的信号发生器软件设计与研究.pdf_第4页
(通信与信息系统专业论文)基于labview和dsp的信号发生器软件设计与研究.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(通信与信息系统专业论文)基于labview和dsp的信号发生器软件设计与研究.pdf.pdf 免费下载

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

文档简介

武汉理工大学硕士学位论文 摘要 信号发生器作为一个基本的电子试验仪器,在教学、科研和生产领域都得 到了非常广泛的应用。随着科学技术的不断发展,对信号源的要求也越来越高。 许多传统设计的信号发生器已经不能满足应用的需求。在现实生活中技术人员 经常会遇到出差、外出设备维护,户外设备测试等情况,传统的信号发生器体 积较大,不方便携带,信号精度不高,给技术人员的工作带来诸多不便。本课 题以此为着眼点,将d d s 技术,计算机技术以及数字信号处理技术有机的结合 在一起,提出了一种基于l a b v i e w 和d s p 的信号发生器设计方案,该方案以 d d s 技术为基础,具有信号精度高,操作简单,便携性好且易进行扩展等特点, 从一定程度上缓解了该矛盾。 本文首先对该信号发生器系统进行了简单的介绍,对该系统要实现的功能 进行了分析,从功能入手将本系统的软件设计分为两个部分:下位机软件设计 和上位机应用程序设计。下位机软件设计包括四个部分:u s b 固件开发、d s p 与u s b 通信模块、信号发生模块及a d c 模块。u s b 固件开发部分对该u s b 设 备的描述符及相关用户钩子函数进行相应的配置;d s p 与u s b 的通信模块完成 了c y 7 c 6 8 0 1 3 a 在s l a v ef i f o 模式下与d s p 数据传输;信号发生模块部分对波 形参数数据格式转换处理方法进行了讨论,分析了a d 9 8 5 4 相关控制字寄存器赋 值方法,实现了d s p 与a d 9 8 5 4 数据通信的设计;a d c 模块部分将基于最小二 乘法原理的a d c 采样精度校正算法与传统的基于两点一线原理的校正算法进行 了分析对比,实现了对a d 9 8 5 4 波形的数模转换,提高了采样精度。上位机应用 程序设计也分为两个部分:信号发生操作面板设计和波形回显显示界面的设计。 上位机应用程序基于l a b v i e w 进行设计。信号发生操作面板部分详细阐述了设 计思路并对该部分遇到的重点难点进行了分析解决;波形回显显示界面的主要 研究内容是解决上位机对下位机上传数据的识别问题。 最后将软件部分加载到硬件平台进行系统测试,对系统性能指标进行分析, 并与传统信号发生器进行相关对比,从分析结果来看该系统性能良好,达到了 设计的初衷。 关键词:信号发生器,u s b ,a d c ,d s p ,l a b v i e w 武汉理工大学硕士学位论文 a b s t r a c t t h es i g n a lg e n e r a t o ra sab a s i ce l e c t r o n i ct e s ti n s t r u m e n t ,i nt e a c h i n g ,r e s e a r c h a n dp r o d u c t i o nf i e l d s h a sb e e nav e r yw i d er a n g eo fa p p l i c a t i o n s a l o n gw i t ht h e d e v e l o p m e n to fs c i e n c ea n dt e c h n o l o g y , t h ed e m a n do ft h es i g n a ls o u r c ei sm o r ea n d m o r eh i 曲m a n yo ft h et r a d i t i o n a ld e s i g no ft h es i g n a lg e n e r a t o rc a nn ol o n g e rm e e t t h en e e d so ft h ea p p l i c a t i o n s i nr e a ll i f e ,t h et e c h n i c a ls t a f fo f t e ne n c o u n t e rab u s i n e s s t r i p o u t d o o re q u i p m e n tt e s t i n go rg oo u tt om a i n t a i nt h ee q u i p m e n te t c t h et r a d i t i o n a l s i g n a lg e n e r a t o ri so fl a r g es i z e ,n o te a s yt oc a r r y , a n dg i v et e c h n i c a lp e r s o n n e l sw o r k al o to fi n c o n v e n i e n c e t l l i st o p i cf o c u so nt h i sp o i n t ,s t u d yt h es i g n a lg e n e r a t o ro f d d st e c h n o l o g ya sf o u n d a t i o na n db a s e do nl a b v i e wa n dd s p , i th a sc h a r a c t e r i s t i c s o fh i g hs i g n a la c c u r a c y , p r o c e s s i n gs p e e d ,g o o dp o r t a b i l i t ya n de a s yt oe x p a n de c t e a s e t h ec o n t r a d i c t i o nt oac e r t a i ne x t e n t f i r s t l y , t h ep a p e rm a k e sab r i e fi n t r o d u c t i o n t ot h e s y s t e mo ft h es i g n a l g e n e r a t o r , a n a l y s e sf u c t i o n so ft h es y s t e mw h i c hw i l lb ea c h i e v e d ,d i v i d e dt h ed e s i g n o fs y s t e ms o f t w a r ei n t ot w op a r t sf r o mt h ea n g l eo ff u c t i o n :t h ed e s i g no fs o f t w a r eo f l o w e r - c o m p u t e ra n du p p e r - c o m p u t e r t h es o f t w a r ed e s i g no fl o w e r - c o m p u t e rc o n s i s t o ff o u r p a r t s :d e v e l o p m e n t o fu s bf i r m w a r e ,d s pa n du s bc o m m u n i c a t i o n m o d u l e ,s i g n a lg e n e r a t i n gm o d u l ea n da d cm o d u l e t h ed e v e l o p m e n to fu s b f i r m w a r en e e dt o c o n f i g u r a t eu s bd e v i c ed e s c r i p t o ra n dr e l a t e d u s e r sh o o k f u c t i o n s ;d s pa n du s bc o m m u n i c a i t o nm o d u l er e a l i z e sd a t at r a n s m i s s i o nb e t w e e n c y 7 c 6 8 013 aa n dd s pi ns l a v ef i f om o d e ;t h es i g n a lg e n e r a t i n gm o d u l ed i c u s s e s d a t af o r m a tp r o c e s s i n gm e t h o do fw a v e f o r mp a r a m e t e r , a n a l y s e st h ea d 9 8 5 4r e l e v a n t c o n t r o lw o r dr e g i s t e r sv a l u a t i o nm e t h o d ,r e a l i z e st h ed e s i g no fd a t ac o m m u n i c a i t o n b e t w e e nd s pa n da d 9 8 5 4 t h ea p p l i c a t i o nd e s i g no fu p p e r - c o m p u t e ri sa l s od i v i d e d i n t ot w op a r t s :t h ed e s i g no fs i g n a lg e n e r a t i n go p e r m i o np a n e la n dt h ed e s i g no f w a v e f o r md i s p l a yi n t e r f a c e 1 1 1 ea p p l i c a t i o nd e s i g no fu p p e r - c o m p u t e ri sb a s e do n l a b v i e w :t h ep a r to fs i g n a lg e n e r a t i n go p e r a t i o np a n e le x p l a i n st h ed e s i g ni d e ai n d e t a i la n ds l o v et h ed i f f i c u l t ya n dk e y p o i n ti nt h i sp a r t ;t h em a i nj o bo fw a v e f o r m d i s p l a yi n t e r f a c ei st os l o v et h ep r o b l e mo fd a t ar e c o g n i t i o nb e t w e e nu p p e r - c o m p u t e r a n dl o w e r - c o m p u t e r h 武汉理工大学硕士学位论文 f i n a l l y , t h es y s t e ms o f t w a r ei s l o a d e di n t ot h eh a r d w a r ec i r c u i ts y s t e mt ot e s t , a n a l y s e s t h ep e r f o r m a n c ei n d e xo ft h es y s t e m ,c o n t r a s t w i t ht r a d i t i o n a ls i g n a l g e n e r a t o r ,t h es y s t e mp e r f o r m a n c ei sg o o df r o mt h et e s t r e s u l t s ,a c h i e v et h ed e s i g n p u r p o s e k e yw o r d s :s i g n a lg e n e r a t o r , u s b ,a d c ,d s p , l a b v i e w i i i 武汉理工大学硕士学位论文 第1 章绪论 1 1 课题研究的背景和来源 信号发生器具有悠久的历史,早在上个世纪二十年代,信号发生器就已经 出现了。早期的信号发生器功能单一,且结构复杂,电路简单,体积、功率都 比较大。到了上个世纪六十年代,信号发生器取得了飞速的发展,在这个时期 出现了多种类型的信号发生器,包括函数信号发生器、程控信号发生器、合成 信号发生器以及扫频信号发生器等。这个时期的信号发生器相对于早期的信号 发生器在主要功能指标方面取得了显著的进步,同时在小型化,功能多样性以 及结构复杂度上都有了明显的改善。但是这个时期信号发生器的发展还是以模 拟技术为主。到了二十世纪七十年代,提出了一种以全数字技术、从相位概念 出发直接合成所需波形的一种新的频率合成原理的数字频率合成技术出现了一 直接数字频率合成技术( d d s ) 。由于受当时技术水平的限制,它的性能指标与 理论水平差距很大,故未受到应有的重视。近年来随着微电子技术的不断发展, 直接数字频率合成器也得到了飞速的发展,配合发展迅猛的计算机技术和数字 信号处理技术,现阶段已经成为现代频率合成技术中的佼佼剖h 。 传统的信号发生器由分立元件、模拟集成电路构成一些波形电路来产生各 种波形。利用这种方法设计的信号发生器有许多缺点:电路结构比较复杂、体 积大、稳定度和准确度都比较差且难以产生复杂的波形,只能产生比较固定的 几种波形,例如正弦波,方波,三角波等简单的波形。 随着电子技术的不断发展,微处理器的性能也不断的提高以及各种高速数 据处理器件的出现,以数字集成电路设计的信号源以其构造简单,产生信号的 波形种类比较多等特点逐渐取代了利用模拟技术设计的波形发生器。 利用模拟技术设计的信号发生器采用的是模拟的技术产生的各种波形,而 以数字集成电路设计的信号发生器是采用数字技术产生的波形,现代数字波形 合成的方法主要有三种:软件合成法、数字信号处理法、直接数字频率合成法。 ( 1 ) 软件合成方法,这种方法是由计算机软件【5 ,6 j 根据要产生的波形的一些 数据( 频率,幅值,相位) 产生要要输出波形的数据表,然后将数据表经过d a 武汉理工大学硕士学位论文 转换以及滤波器输出,这样就可以得到对应的波形,这种方法的优点是电路很 简单,大部分工作由计算机软件来完成,缺点是无法产生高频信号,其原因是 数据表由计算机软件来完成,数据表存储的是波形的数字数据,数据表内数据 的产生速度由计算机制约,即受到计算机指令执行时间的制约。 ( 2 ) 数字信号处理法,这种方法是利用数字信号处理器1 7 j 来完成波形输出。 由于科技的进步,数字信号处理器的性能得到了极大的提高,同软件合成方法 类似,不同的是这里的是利用专门的数字信号处理器来通过计算一定的公式产 生要输出波形的离散数据,再通过数模转换器和低通滤波器输出波形。这种方 法产生波形的缺点是不能方便的控制输出的波形。 ( 3 ) 直接数字频率合成法( d d s ) ,这是一种新的频率合成技术,它的工 作原理是通过相位累加查表的方法来实现波形的合成,通过频率控制字、相位 控制字,幅度控制字等寄存器的值控制波形的产生,波形数据存储在波形存储 器中,相位累加器以频率控制字为间隔采样波形存储器中的波形数据,输出的 波形经过数模转换和低通滤波器输出。直接数字频率合成方法作为一种最新的 波形合成技术,具有许多优良的特点,如输出带宽相对较宽、输出相位连续、 频率分辨率高、全数字化结构、可编程及频率转化时间短等瞵_ o 】。 信号发生器作为一个基本的电子试验仪器,无论是在教学、科研,还是生 产上都得到了非常广泛的应用。随着科学技术的飞速发展,对信号源的要求也 越来越高,主要体现在分辨率越来越高,输出频率越来越高等方面。许多传统 上设计的信号源( 即信号发生器) 已经不能满足应用的需求。在现实生活中技 术人员经常会遇到出差、外出设备维护,户外设备测试等情况,传统的信号发 生器体积较大,不方便携带,给技术人员的工作带来诸多不便,本课题以此为 着眼点,研究以d d s 技术为基础,基于l a b v i e w 和d s p 的信号发生器,具有 信号精度高,处理速度快,便携性好且易进行扩展等特点,从一定程度上缓解 了该矛盾【1 1 1 。 1 2 信号发生器的研究现状 目前,计算机的应用已经非常普及,各个领域的研究与设计都在逐渐向计 算机控制方面靠拢,其中信号发生器方面传统的信号发生器仪器正在逐渐被数 字化测量仪器所取代,传统信号发生器的许多手动控制工作也逐渐在被由计算 机控制所代替,这是信号发生器发展的必然趋势。目前国内外的先进的信号发 2 武汉理工大学硕士学位论文 生器仪器设计几乎全部都有程控接口如串口、通用串行总线接口( u s b ) 等,这 种类型的仪器通过该接口可以方便与计算机进行连接实现数据交换或传输。计 算机能够准确的控制信号发生器工作。例如命令信号发生器发出一个信号,首 先从计算上输入该信号的波形参数,然后计算机根据用户输入的波形参数进行 一定的处理通过该设备的接口传输到该设备,设备接收到再进行一系列的处理 最终输出用户想要的信号。采用这种方式设计首先降低了设备的设计成本,使 设备更容易操作,这种人机交互通信的能力是目前信号发生器发展的现状。 目前信号发生器的发展趋势是数字化、便携性好、操作智能化l l2 j 发展。 ( 1 ) 数字化 随着和微电子技术的不断发展,信号发生器的发展将更加紧密的与数字信 号微处理器结合在一起,由微处理器处理数据使的信号发生器的性能更加优异。 ( 2 ) 便携性好 信号发生器的发展不仅将从性能上改进,它还将不断的在硬件上小型化发 展,这样可以方便携带设备到任何场合进行使用。 ( 3 ) 操作智能化 这里的操作智能化是指与计算机技术结合,方便用户操作。 我国对直接数字频率合成( d d s ) 的研究起步比较晚,与国外先进水平还 有一定的差距,但是随着近几年科学技术和微电子技术的进步,我国对d d s 的 研究也有了长足的发展。 1 3 信号发生器的主要技术指标 在实际应用中,信号发生器得到了极为广泛的应用,那么评定一个信号发 生器是否符合设计要求就需要对该设备的技术指标进行分析,信号发生器的主 要技术指标有: ( 1 ) 工作频率范围 信号发生器的工作频率范围是指信号的输出频率范围。 ( 2 ) 频率分辨率 信号的频率分辨率是指信号的最小可调频率值。 ( 3 ) 频率准确度 该技术指标表示频率值与设定值之间的偏差,通常用相对误差表示,低档 的信号发生器其频率准确度只有1 。 3 武汉理工大学硕士学位论文 ( 4 ) 频率稳定度 该项技术指标表示在外界环境不变的情况下,在规定的时间内输出频率相 对于用户想输出频率的偏差值的大小。 ( 5 ) 输出阻抗 输出阻抗是指从输出端看去,信号源的等效阻抗。一般来说,低频信号发 生器的输出阻抗通常为6 0 0 欧,高频信号发生器的输出阻抗通常是5 0 欧。 1 4 论文的主要研究内容及组织结构 本文采用a d i 公司生产的d d s 芯片a d 9 8 9 5 4 和t i 公司生产的 t m s 3 2 0 f 2 8 1 2 来实现信号发生器的设计,此设计采用l a b v i e w 设计控制面板 通过通用串行总线( u s b ) 向下位机发送控制指令和数据,使得a d 9 8 5 4 按照面 板的要求发出对应的波形。本文的主要研究内容是: ( 1 ) 第一章绪论,该章讲述的内容是信号发生器的研究背景、来源、研究 现状、以及信号发生器的主要技术指标。并介绍了本文的研究内容和组织结构。 ( 2 ) 第二章系统软件方案设计,该章对该系统硬件平台进行简单的介绍从 功能入手进行系统方案的总体设计,使读者对本文的重点有一个清晰的认识。 ( 3 ) 第三章下位机底层软件设计及算法分析,该章的主要研究内容是对信 号发生器系统的下位机软件设计进行了详细的阐述,其中包括u s b 固件设计、 u s b 通信模块设计、信号发生模块设计、a d c 采样精度校正算法分析和a d c 模块设计。 ( 4 ) 第四章上位机应用程序设计,本章对上位机要实现的功能和程序框架 进行了简要的描述,着重讲述了u s b 驱动程序设计、信号发生器操作面板设计 以及虚拟示波器设计。 ( 5 ) 第五章系统软件测试及性能分析,该章的主要研究内容是对该信号发 生器系统进行测试,根据测试结果进行性能分析,并与传统的信号发生器进行 相关对比。 ( 6 ) 第六章总结和展望,在该部分总结了本人在该设计中所做的工作及不 足之处,指出了改进的方向。 4 武汉理工大学硕士学位论文 1 5 本章小结 本章首先介绍了信号发生器的研究背景、课题来源,然后对信号发生器的 研究现状、主要性能指标进行了详细的描述,最后对本文的行文结构以及主要 研究内容作了详细的阐述。 5 武汉理工大学硕士学位论文 第2 章系统软件方案设计 2 1 编程语言及编程工具介绍 本设计选择c 语言作为系统的编程语言,c 语言【1 3 , 1 4 是当今最优秀的程序 设计语言之一,它是一种结构化语言,层次清晰,便于以模块化的方式编写程 序,易于维护和调试。它不仅具有丰富的运算符和数据类型,便于实现各类复 杂的数据结构,它还可以直接访问内存的物理地址,进行位操作。c 语言能够对 硬件进行编程工作,集高级语言和汇编语言的功能与一体。此外它还有具有效 率高、可移植性强等特点。 c c s ( c o d ec o m p o s e rs t u d i o ) 是美国德州仪器公司( t i ) 出品的代码开发 和调试套件,是目前最优秀、最流行的d s p 开发软件之一,是提供用户开发和 调试d s p 和m c u 程序的集成开发软件。它功能强大,具有可视化代码编辑页 面,可直接编写c 、汇编、h 文件等,集成有代码生成工具,包括汇编器、优 化c 编译器连接器等等以及基本的调试工具等。本设计中选用的c c s 2 2 进行 d s p 程序的设计与开发。 k e i l 是美国k e i ls o f t w a r e 公司推出的5 1 系列兼容单片机c 语言软件开发系 统,其提供了包括c 编译器、宏汇编、连接器、库管理和一个功能强大的仿真 调试器等在内的完整开发方案。在本设计中用来进行u s b 固件程序的开发。 l a b v i e w 是美国国家仪器公司( n a t i o n n a li n s t r m e n t ) 开发的一种基于图形 程序的虚拟仪表编程语言,是一种基于图形开发,调试和运行程序的集成化环 境,特别适用于在数据采集、工厂自动化、仪器控制、测试与测量、数字信号 分析等方面的工程应用软件的开发。采用l a b v i e w 进行设计具有许多突出的特 点:良好的人机交互界面、经济、强大的外部互联能力、灵活性等。本设计中 利用l a b v i e w 进行上位机部分的设计1 1 5 , 1 6 。 2 2 系统总体介绍及功能分析 本课题的研究对象是数字信号发生器系统软件部分的设计,该数字信号发 生器采用虚拟仪器技术设计操作面板,在操作面板控制下输出波形,该信号发 6 武汉理工大学硕士学位论文 生器具有易操作、输出波形精度高、便携性好等优点。 系统基于l a b v i e w 和d s p 设计,l a b v i e w 用于设计虚拟仪器控制界面, d s p 作为系统的微处理器,该设计采用的核心技术是d d s ( 直接数字频率合成) 技术,与采用其它技术的信号发生器相比,具有输出带宽相对较宽、输出相位 连续、频率分辨率高等优点。本设计中选择的d d s 芯片是a d i 公司生产的 a d 9 8 5 4 ;在本设计中采用通用串行总线( u s b ) 连接p c 机进行上位机到下位 机的数据通信。u s b 接口芯片选用的是c y p r e s s 生产的c y 7 c 6 8 0 1 3 a i l 7 1 9 j 。 该系统所采用的处理器芯片是t i 公司生产的t m s 3 2 0 f 2 8 1 2 t 2 0 - 2 2 ,系统的总体框 架如图2 1 所示。 ! 。,。l- 一 图2 1 硬件系统框图 本课题研究的是信号发生器系统软件部分的设计,由图2 - 1 可以对系统的硬 件平台有一个清晰的了解,该文的软件设计要实现的功能有两个:第一个功能 是在上述硬件结构的基础上实现利用上位机控制a d 9 8 5 4 t 2 3 1 发出波形的功能,即 信号发生器功能,可以产生正弦波,方波;第二个功能是a d 9 8 5 4 输出的波形要 实现在p c 机上的波形回显。 2 3 系统软件设计总体框架 对2 2 小节的系统功能进行分析可得本文的软件设计从总体上分成两个部 分:上位机控制面板设计和下位机底层软件设计。其中上位机应用程序基于 7 武汉理工大学硕士学位论文 l a b v l e w 进行设计,操作面板用来方便用户输入各种参数以对系统进行总体控 制以及实现a d 9 8 5 4 波形回显;下位机软件设计主要包括基于c y 7 c 6 8 0 1 3 a 的 固件开发、u s b 与d s p 通信模块设计、信号发生模块设计以及a d c t 2 4 1 模块设 计。下面将详细的介绍该每一个部分需要完成的功能、待解决的问题以及使用 的方法。 2 3 1 上位机应用程序设计 在这一部分的软件设计中需要完成的功能是设计信号发生器的操作界面, 在该界面中可以控制信号发生器对输出波形的频率,相位,幅度进行控制以及 控制a d 9 8 5 4 的工作模式等等;第二个功能是设计波形回显显示界面用以显示 a d 9 8 5 4 发出的波形,该部分基于l a b v l e w 进行设计。 在该部分中首先需要解决的问题是l a b v i e w 与u s b 设备进行通信1 2 5 , 2 6 1 , 第二个需要解决的问题是上位机向下位机写控制指令和数据的程序框图的设 计,第三个需要解决的问题是上位机读下位机数据程序框图的设计,即数据采 集1 2 7 3 l 】显示框图设计,这一部分中主要工作是解决上位机对下位机传输数据的 识别问题,因为l a b v i e w 识别下位机传输的数据都是以a s c a l l 码的形式来 识别,但是下位机上传来的数据并没有转换成相应的a s c a l l 码,这样上位机 就会将下位机传输来的数据进行误读,造成结果显示的不正确。 2 3 2 下位机底层软件设计 ( 1 ) c y 7 c 6 8 0 1 3 a 固件设计 这一部分的软件设计需要完成的功能是设置u s b 接口芯片的工作方式,使 其能够进行正常的数据传输,在这一部分的固件设计【2 7 2 9 1 中选择的开发工具是 k e i l 。 在该部分中待解决的问题是对u s b 接口芯片c y 7 c 6 8 0 1 3 a 的工作方式进行 设置,如芯片的初始化,各个端点的工作方式( 包括数据传输方向,缓冲区的 大小等等) 等等。 ( 2 ) s l a v ef i f o 模式下u s b 与d s p 通信模块设计 该模块的的功能是完成d s p 读写u s b 接口芯片对应端点缓冲区的数据。 ( 3 ) 信号发生模块设计 该模快是d s p 程序该系统功能实现的核心部分,它的功能是接收上位机传 8 武汉理工大学硕士学位论文 输的数据,通过对接该数据进行一系列的处理后控制a d 9 8 5 4 发出相应的波形。 该模块需要解决的问题有三点:其一是用户输入的波形参数数据格式转换 方式的处理方法;其二是对a d 9 8 5 4 寄存器赋值的方式;其三是d s p 与a d 9 8 5 4 数据通信程序设计。 ( 4 ) a d c 模块 a d c 模块的功能是对a d 9 8 5 4 输出的模拟波形进行模数转换,并将转换后 的波形采样数据通过通用串行总线传输到上位机。该部分需要解决的问题是: 在实际情况下a d c 采样的精度是并不如理论值理想,一般在5 左右,所以需 要在a d c 模数转换的过程中对波形采样数据加以校正。 2 4 本章小结 本章首先对该系统的编程语言和编程工具进行了介绍,重点对信号发生器 系统进行了介绍,将本设计的工作大致分成两个部分:上位机控制面板设计和 下位机底层软件设计,并分别对这两部分在功能、待解决的问题等方面进行了 详细的阐述。 9 武汉理工大学硕士学位论文 第3 章下位机底层软件设计及a d c 校正算法分析 3 1 下位机软件设计总体框架 本课题是基于l a b v i e w 和d s p 的信号发生器软件设计与研究,本章主要 讲述该系统的下位机软件部分的设计,由图2 1 可知下位机的软件设计主要分成 两个部分:基于c y 7 c 6 8 0 1 3 a 的u s b 固件开发及d s p 软件程序设计。u s b 固 件程序用于对c y 7 c 6 8 0 1 3 a 的工作方式设置;d s p 程序设计分为三个部分:u s b 与d s p 通信模块设计、信号发生模块设计和a d c 模块设计。具体框图如图3 1 所示。 3 2u s b 固件开发 3 1 下位机软件设计结构框图 由图2 1 可知,本设计中的u s b 接口芯片选择的是c y p r e s s 公司生产的 c y 7 c 6 8 0 1 3 a ,之所以选择这款芯片是因为其开发简单,c y p r e s s 公司提供了 完整的开发方案,如调试界面和固件框架;优良的性价比,市场成本价很低; 最重要的一点是其提供出色的u s b 2 0 解决方案,包含增强型8 0 5 1 内核和智能 u s b 接口。这一部分主要讲述该芯片的固件开发。 1 0 武汉理工大学硕士学位论文 3 2 1e z - - u s bf x 2 固件程序框架 对于编写e z u s b 的固件程序,首先要了解c y 7 c 6 8 0 1 3 a 的固件架构,对 于u s b 总线控制芯片,如果主机与芯片之间没有逻辑通信的代码,那么芯片将 无法响应,为了降低开发难度以及缩短开发周期,c y p r e s s 公司为设计者提供 了固件程序框架用以实现循环查询的程序和与主机进行通信的端点中断程序。 用户只要在提供的程序框架中加入自己的代码,那么就能实现用户想要的特定 的功能。c y p r e s s 公司提供的固件程序框架可以实现多种功能,如芯片的初始 化,u s b 标准设备请求的处理,电源挂起管理【3 2 】等。固件程序框架的执行过程 如图3 2 所示。 图3 - 2 固件程序框架 武汉理工大学硕士学位论文 由图3 2 表明,c y 7 c 6 8 0 1 3 a 上电复位后,首先要初始化芯片内所有内部状 态变量,然后调用初始化函数t d _ i n i t 0 对芯片的工作方式做出一个配置,初始 化结束后使能中断,这些执行完毕以后,f x 2 的固件程序就开始进行重枚举, 直到端点0 收到s e t u p 包为止,当收到s e t u p 包以后,固件程序依次执行如 下几个过程: ( 1 ) 调用函数t dp o l l ( ) 。 ( 2 ) 检测是否有未处理的设备请求。如果检测到未处理的设备请求,那么 就解析接收到的设备请求,并对该请求进行响应。 ( 3 ) 检测是否有u s b 挂起事件,如果检测到该事件,则调用函数 t ds u s p e n d 0 ,若函数t ds u s p e n d ( ) 的返回值为真,则继续检测是否有恢 复事件,若没有检测到该事件,则挂起处理器,若检测到唤醒要求,则调用函 数t d _ r e s u m e 0 ,则返回到步骤( 1 ) 执行;当t d _ s u s p e n d 0 的返回值为假 时,则继续执行该步骤。 3 2 2c y 7 c 6 8 0 1 3 a 功能分析 图3 36 8 0 1 3 a 工作框图 在图3 3 可以看到u s b 接口芯片有两个功能,第一个功能是p c 机一侧上 的l a b v i e w 应用程序向d s p 发送数据,首先该应用程序通过u s b 数据总线向 6 8 0 1 3 a 发送数据,6 8 0 1 3 a 接收到数据后将数据存储到对应的端点缓冲区( f i f o ) 中,d s p 读取该端点缓冲区的数据进行下一步的处理;第二个功能是数据经d s p 处理后发送到p c 一侧,数据首先发送到6 8 0 1 3 a 对应端点的缓冲区,然后 l a b v i e w 虚拟界面程序读取6 8 0 1 3 a 该端点缓冲区的数据进行处理。 1 2 武汉理工大学硕士学位论文 3 2 3u s b 设备的描述符数据结构 在固件的编程中需要对设备的描述符进行配置,u s b 主机通过u s b 设备的 描述符3 3 3 6 1 来获取设备信息。这些描述符位于d s c r a 5 1 文件中,u s b 的固件设 计需要对该文件按照这些描述符既定的数据格式进行配置,u s b 设备主要的描 述符有如下几种: ( 1 ) 设备描述符 设备描述符描述符给出了u s b 设备的一般信息,其中包括对设备及所有设 备配置起全称作用的信息,一个u s b 设备只能有一个设备描述符。其数据结构 如下: s t r u c tu s b s t d e v i c e _ d e s c r i p t o r u c h a r u c h a r u i n t l 6 u c h a r u c h a r u c h a r u c h a r u i n t l 6 u i n t l 6 u i n t l 6 u c h a r u c h a r u c h a r u c h a r b l e n g t h ; b d e s c r i p t o r t y p e ; b s c u s b ; b d e v i c e c l a s s ; b d e v i c e s u b c l a s s ; b d e v i c e p r o t o c o l ; b m a x p a c k e t s i z e 0 ; i d v e n d o r ; i d p r o d u c t ; b c d d e v i c e ; i m a n u f a c t u r e r ; i p r o d u c t ; i s e r i a l n u m b e r ; b n u m c o n f i g u r a t i o n s ; ; ( 2 ) 配置描述符 该描述符给出了设备配置的信息,包括设备接口支持的接口个数,配置属 性等,其数据结构如下: s t r u c tu s b s t c o n f i g u r a t i o n _ d e s c r i p t o r 武汉理工大学硕士学位论文 u c h a r u c h a r u i m l 6 u c h a r u c h a r u c h a r u c h a r u c h a r b l e n g t h ; b d e s c r i p t o r t y p e ; w t o t a l l e n g t h ; b n u m i n t e r f a c e s ; b c o n f i g u r a t i o n v a l u e ; i c o n t i g u r a t i o n ; b m a t t i b u t e s ; m a x p o w e r ; ) ; ( 3 ) 接口描述符 该描述符用于给出u s b 设备的接口信息,包括接口号,端点数量等。其作 为配置描述符的一部分被返回,数据结构如下: s t r u c tu s b s ti n t e r f a c e _ d e s c r i p t o r u c h a r u c h a r u c h a r u c h a r u c h a r u c h a r u c h a r u c h a r u c h a r b l e n g t h ; b d e s c r i p t o r t y p e ; b i n t e r f a c e n u m b e r ; b a l t e m a t e s e t t i n g ; b n u m e n d p o i n t s ; b i n t e r f a c e c l a s s ; b i n t e r f a c e s u b c l a s s ; b i n t e r f a c e p r o t o c o l ; i i n t e r f a c e ; ) ( 4 ) 端点描述符 每个端点都有自己的描述,对该端点的端点号、方向、传送类型等进行描 述,其数据格式如下: s t r u c tu s b s t e n d p o i n t _ d e s c r i p t o r u c h a r u c h a r b l e n g t h ; b d e s c r i p t o r t y p e ; 1 4 武汉理工大学硕士学位论文 u c h a r u c h a r u c h a r u c h a r b e n d p o i n t a d d r e s s ; b m a t t r i b u t e s ; w m a x p a c k e t s i z e ; b i n t e r v a l ; ; 根据上述几种描述的数据结构在d s c r a 5 1 文件中对设信息进行配置。 3 2 4u s b 固件实现 根据3 2 1 小节中的固件程序框架描述,c y p r e s s 公司提供了完整的程序 框架,用户要实现特定的功能只需要修改公司提供的钩子函数即可,一般情况 下,用户需要修改的钩子函数只有t d _ i n i t 0 和t d _ p o l l 0 ,其中t d i n i t o 用于芯 片的初始化,而t dp o l l o 贝, l j 是用户函数。用户可在这个函数中添加要实现的功 能。由于在该设计中c y 7 c 6 8 1 0 3 a 采用的s l a v ef i f o 模式,具体的数据处理由 外部主机处理,所以用户不需要修改t dp o l l ( ) 函数,只需要修改t di n i t o 函数 即可。在该函数中对6 8 0 1 3 a 的时钟、工作模式、端点配置以及功能引脚进行配 置。具体的设置如下: 首先对该芯片的时钟进行设置,时钟是芯片正常工作的基础,在本设计中 时钟频率设置为4 8 m h z 。 其次是芯片工作模式的设置,c y 7 c 6 8 0 1 3 a 有两种工作方式,一种是主模 式,这种模式适用于外设没有m c u ,还有另一种模式称为从模式,这种模式一 般适用于外设除了f x 2 芯片外还有其他m c u 芯片,如d s p 或者a r m 等,在 本设计中,由于存在d s p 芯片2 8 1 2 ,所以采用第二种工作模式;另外将芯片设 置为内部时钟源、异步工作方式。 结合3 2 2 小节中的功能描述可知,由于p c 机端应用程序和d s p 芯片对 c y 7 c 6 8 0 1 3 a 既有读操作,又有写操作,由此可知该芯片需要设置两个端点, 一个为i n 端点,另一个为o u t 端点。在该设计中选择的是端点2 和端点6 ,其 中端点2 为o u t 端点,端点6 为i n 端点,其它端点设置成无效端点,这两个 端点均设置成自动输入或自动输出的功能,即每当f i f o 缓冲区的数据达到5 1 2 字节时,数据就会自动发送到主机( 本设计中,c y 7 c 6 8 0 1 3 a 采用的是s l a v ef i f o 方式进行连接,在这里主机指d s p 2 8 1 2 ) 或者从f i f o 缓冲区输入到p c 机,这 样设置的目的是使程序设计简单;采用批量传输的方式,每个端点的缓冲区的 武汉理工大学硕士学位论文 大小设置成5 1 2 个字节,每个端点有两个缓冲区。 完成用户钩子函数和描述符的设置后,本设计的u s b 固件程序就基本完成。 利用k e i lu v i s i o n 2 编译就能得到h e x 文件,将生成的h e x 文件通过c y p r e s s 提 供的控制面板下载到芯片中就能够进行简单的测试工作。 3 3d s p 软件程序设计 在本设计中选择t i 公司生产的t m s 3 2 0 f 2 8 1 2 作为系统的主控芯片,这款 芯片是其推出的3 2 位定点d s p 芯片。同时这款芯片目前也是市场上性价比最高 的d s p 芯片之一。它不但具有非常强大的数据处理能力,而且还具有较为完善 的事件管理能力和嵌入式控制功能。因此广泛的应用于控制领域f 3 7 1 。 本部分程序设计从功能入手进行模块化分析,分为三个部分:u s b 通信模 块,信号发生模块和a d c 模块。 3 3 1d s p 与u s b 通信模块 该模块的作用是d s p 对c y 7 c 6 8 0 1 3 a 对应端点缓冲区读取或写入数据。本 章3 2 小节已经介绍了u s b 接口芯片c y 7 c 6 8 0 1 3 a 采用的是s l a v ef i f o 工作模 式,d s p 芯片2 8 1 2 在这里充当了一个外部主机( e x tm a s t e r ) 的角色, c y 7 c 6 8 0 1 3 a 是款f x 2 系列芯片,在s l a v ef i f o 工作方式下c y 7 c 6 8 0 1 3 a 与 2 8 1 2 ( e x tm a s t e r ) 的连接方式如图3 - 4 所示。 f l a g ag p i q a 9 f l a g bg p i o a 8 f l a g r g p i o a 7 f l a g n ,s l c s # g p i o a o s

温馨提示

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

评论

0/150

提交评论