基于USB的半导体激光器参数测试仪控制系统的研制

上传人:li45****605 文档编号:46528796 上传时间:2018-06-27 格式:PDF 页数:52 大小:1.96MB
返回 下载 相关 举报
基于USB的半导体激光器参数测试仪控制系统的研制_第1页
第1页 / 共52页
基于USB的半导体激光器参数测试仪控制系统的研制_第2页
第2页 / 共52页
基于USB的半导体激光器参数测试仪控制系统的研制_第3页
第3页 / 共52页
基于USB的半导体激光器参数测试仪控制系统的研制_第4页
第4页 / 共52页
基于USB的半导体激光器参数测试仪控制系统的研制_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《基于USB的半导体激光器参数测试仪控制系统的研制》由会员分享,可在线阅读,更多相关《基于USB的半导体激光器参数测试仪控制系统的研制(52页珍藏版)》请在金锄头文库上搜索。

1、一一一 户uo ;7;Y = k k = G t f ti i$ C摘要 光通信的飞速发展使半导体激光器的需求量日益增长。半导体激光器的生产规模的不断扩大,迫切要求能够快速准确地测量半导体激光器的各种基本特性,包括表示激光器电 抗特性的电 流电 压曲 线( Y - 1曲线) 、表示电 光转化特性的功率电 流曲 线( P - 1 曲 线) 、阐值电流I m 、输出功率P O 对驱动电流I F的微分和驱动电压V F 对驱动电流寿的微分等特性曲线。 目前许多这方面的测量停留在手工上,需要人工记录激光器驱动电流、激光二极管压降、激光功率等,然后绘制实验曲线,确定电流阐值、阻抗,费时费力,不利于现代化生

2、产,所以提供一套测量这些参数的自 动化装置是十分必要的。 本文介绍一种了基于 U S B总线的半导体激光参数测试仪,可利用计算机或者单机实现上述参数的自动测量。在深入研究半导体激光器参数测试仪的模拟电路的工作原理以及 U S B通用串行总线的协议规范、工作原理的基础上,设计半导体激光器参数测试仪的数字控制电路部分,并应用通用串行总线与计算机通信,实现上述参数的自 动测量。在设计中,首先选用单片机H D 6 4 F 7 0 4 5 F 2 8作为数字控制电路的处理器,设计合理的硬件电路。 然后编写系统运行的控制程序,最后完成 H I D( 人机接口设备)类 U S B设备通信的软件的编写. 本文

3、在详细说明测试仪的工作原理和各模块实现方法的同时,还介绍了嵌入式微处理器 H D 6 4 F 7 0 4 5 F 2 8的使用方法和接口芯片 U S B N 9 6 0 4的使用技术。 把U S B 总线和半导体激光器参数测试仪结合起来,使得数据传送快速、仪器的使用更加便捷,必能形成性价比更好的半导体激光器参数测试仪器。关健词 半导体激光器:闽值电流;U S B总线:人机接口设备Ab s t r a c t T h e f a s t d e v e l o p m e n t o f o p t i c a l c o m m u n i c a t i o n t e c h n i q

4、u e m a d e t h e d e m a n do f s e m i c o n d u c t o r l a s e r i n c r e a s e , t h e m a n u f a c t u r i n g s c a l e o f s e m i c o n d u c t o r l a s e rw a s e x p a n d i n g , i t s d e m a n d t h a t h i g h - s p e e d a n d a c c u r a t e l y t e s t v a r i o u s p a r a m e

5、t e ro f s e m i c o n d u c t o r l a s e r . T h i s i n c l u d e c u r r e n t - v o l t a g e c h a r a c t e r i s t i c t h a t d i s p l a yt h e r e a c t a n c e o f s e m i c o n d u c t o r l a s e r ( V - 1 C u r v e ) , p o w e r - c u r r e n t c h a r a c t e r i s t i ct h a t d i s

6、 p l a y e l e c t r o - o p t i c c o n v e r s i o n o f s e m i c o n d u c t o r l a s e r ( P - 1 C u r v e ) ,t h r e s h o l d c u r r e n t 1 d i ff e r e n t i a l c u r v e o f o u t p u t p o w e r P o f o r d r i v e r c u r r e n t I Fa n d d i ff e r e n t i a l c u r v e o f d r i v e

7、 r v o l t a g e V F f o r d r i v e c u r r e n t I F . N o w , a l o t o f t e s t i n g s t a y a t h a n d w o r k , t h i s n e e d p e o p l e n o t e d r i v ec u r r e n t , d r i v e v o l t a g e , p o w e r a n d s o o n , a f t e r t h a t d r a w t e s t c u r v e , a s c e rt a i nt h

8、r e s h o l d c u r r e n t . I t i s o p e r o s e a n d n o t s u i t e d f o r m a n u f a c t o r y . S o , i t s n e c e s s a r yt h a t p r o v i d i n g a k i n d a u t o m a t i c d e v i c e t o t e s t i n g t h e s e p a r a m e t e r . T h e p a p e r i n t r o d u c e s a k i n d t e s

9、 t e r b a s e d o n U S B . I t c a n u s e c o m p u t e r o ri t s e l f t e s t p a r a m e t e r m e n t i o n e d a b o v e . O n t h e b a s i c o f i n v e s t i g a t i n g a n dd i s c u s s i n g a n a l o g c i r c u i t o f t e s t e r a n d U n i v e r s a l S e r i a l B u s s p r o t

10、 o c o l , o p e r a t i o np r i n c i p l e , w e d e s i g n e d t h e d i g i t a l c o n t r o l c i r c u i t o f t e s t i n g i n s t r u m e n t a n d u s eU S B c o m m u n i c a t e w i t h c o m p u t e r , c o m p l e t e p a r a m e t e r o f s e m i c o n d u c t o r l a s e rt e s t

11、i n g . F i r s t , w e c h o o s e s i n g l e - c h i p c o m p u t e r H D 6 4 F 7 0 4 5 F 2 8 a s p r o c e s s o r o fd i g i t a l c o n t r o l c i r c u i t , t h e n b u i l d e l e c t r i c c i r c u i t . S e c o n d , c o m p o s e c o n t r o lp r o g r a m o f s y s t e m r u n n i n

12、g . A t l a s t , c o m p o s e c o m m u n i c a t i o n s o f t w a r e f o r H I D o fUS B. I n a d d i t i o n t o e x p l a i n i n g t e s t i n g i n s t r u m e n t d e t a i l e d w o r k i n g p r i n c i p l e a n dr e a l i z a t i o n m e t h o d o f a l l m o d u l e s , t h i s p a p

13、e r i n t r o d u c e s a b u i l d - i n s i n g l e - c h i pc o m p u t e r H D 6 4 F 7 0 4 5 F 2 8 a n d U S B N 9 6 0 4 u s i n g t e c h n o l o g y . C o n n e c t i n g t e s t e r w it h U S B , i t m a k e d a t a t r a n s f e r b e c o m e f a s t e r a n d u s et e s t i n g i n s t r u

14、 m e n t b e c o m e e a s y . I t w i l l b e a k i n g d e v i c e o f l o w c o s t , h i g hp e r f o r m a n c e / h i g h - f u n c t i o n i n gK e y w o r d s S e m i c o n d u c t o r L a s e r , T h r e s h o l d C u r r e n t , U S B , H I D. n _ 一一一一一一翌哩丝竺里翌型塑昌一一一一一一一一第1 章绪论1 . 1课题背景 随着现

15、代科学技术的发展尤其是信息时代的到来,半导体激光器件 ( 也称为激光二级管或 L D) ,越来越受到人们的重视,这一方面是由于它的应用领域快速发展,另一方面也是由于器件本身所涉及的理论和工艺的不断完善,性能不 断 提高。 它在 世纪后期己 经发 展成为光电 子领域的 关 键器件 U 激光二 极管具有体积小、重量轻、低功率驱动、可直接调制等一系列优点。现已 广泛应用的领域有光纤通讯、C D - R O M 驱动器、激光打印机、可擦写光盘驱动器、条码扫描仪等12 1 本质上讲,激光二极管( L D ) 就是一个在有正向电流激励的条件下的半导体发光器件。其波长从最高 1 5 5 0 n m ( 红外

16、区) 到最低 7 5 0 n m ( 绿光区) ,输出功率通常从几个毫瓦到几瓦不等。其工作模式可以是脉冲的( P u l s e ) 也可以是持续的( C o n t i n u o u s W a v e ) .激光二极管对温度变化极为敏感一 几个摄氏 度的温度变化可 能 导 致 其“ 模 式 跳 变” ( M o d e H o p p i n g ) 或 者 输出 光 波 长的 阶 跃 13 1 。 依 波 长、功率或应用可将其细分,基于波长和应用主要可分为短波长二极管激光器和长波长二极管激光器。短波长二极管激光器是指发射波波长在 6 3 5 n m到 9 5 0 n m之间,一般不用于

17、通讯领域。而长波长二极管激光器是指波长在 9 5 0 - 1 5 5 0 n m之间,几乎全用在通讯领域,主要用于光通信中作光发射器件。因全球电话和数据传输 ( 计算机网络)不断发展, 这类L D低销售额一直高居首位,约占总额的5 7 % . 目 前, 在所有的激光器中,半导体激光器的销售量最多,销售金额最大,销售增长童最高,应用范围最广.在半导体激光器应用的领域中,光通信和光盘的光信息处理处于重要地位。例如:用于光碟机的激光器,日本每年就生产 6 0 0万只以上。在今后几年中日本、北美、德国等将发展直接到用户的光纤网络,对L D的需求会更多。 同时, 用户对激光二极管的性能要求也越来越高。特

18、别是随着光纤通信系统使用的发展,对用于通讯的高可靠性和低成本元件的要求越来越大,希望在使用前了解所要使用的激光二极管的性能指标,然后据此选择二极管以保证试验或工作的质量。为了满足用户的严格要求,激光二极管的生产厂商必须提高合格激光器的产量。在激光二极管整个制造过程进行专门的测试,而且需要对最后的激光二极管组件进行逐只性能测试,测量输出和工作特性,给出各种特性曲线作为产品出厂性能说明。这就要求研制更多的自 动生产测试设备,己提高最终产品的性能、增加产量和降低成本。 本课题所研制的基于 U S B总线的半导体激光器参数测试仪就是能够实现这一要求的测试系统中的核心检测设备,可以完成对最后的产品性能的

19、鉴定,并绘出各种特性曲线。1 . 2半导体激光器 激光二极管通常要于其它元件共同封装在一个模块里面,这样的模块通常包括一个激光二极管( L D ) ,尾纤,一个背光二极管( P D )( 用来监控 L D的输出光功率) ,一个温度控制器( T E C )( 用来将工作温度保持在 2 5 0C ) ,以及一个用来监测模块温度的热敏电阻( T H ) .激光器组件封装如图1 - 1 下: 图1 - 1 L D封装示意图 F i g u r e 1 - 1 S e a l a n d p a c k a g e o f L D 半导体激光器的 各种基本特性,包括表示激光器电 抗特性的电 流电 压曲

20、线( V - I曲 线 ) 、 表示电 光 转化 特性的 功率电 流曲 线( P - 1 曲 线 ) 、阐 值电 流坛 、 输出 功率P o对驱动电 流 寿的微分和驱动电 压 V F 对驱动电 流 寿的微分等特性曲 线们 。其功率一 电流特性曲线如图1 - 2 所示: 一个典型的激光二极管模块测试过程通常须完成以下项目的测试: . 激光二极管正向电 压( L a s e r d i o d e f o r w a r d v o l t a g e ) . 拐点测试( K i n k t e s t ) / 线性度测试( S l o p e e ff i c i e n c y ) .闻值电

21、流( T h r e s h o l d c u r r e n t ) .背光电流( B a c k f a c e t c u r r e n t ) . 光功率( O p t i c a l o u t p u t p o w e r ) .背光二极管电流( B a c k f a c e t c u r r e n t )哈尔滨工业大学工学硕卜 学位论文光功率P ( M W )注入电流I ( m A ) 图1 - 2半导体激光器P一 I 特性图F i g u r e 1 - 2 D i a gr a m o f P - I c h a r a c t e r a b o u t s e

22、 m i c o n d u c t o r l a s e r1 .3 国内外研究现状 介绍激光二极管的检测设备方面的资料不多,从现有的资料来看,美国和日 本这方面做得非常好,尤其日 本更为突出。 N e w p o rt公司为激光二极管生产的不同阶段研制了一些专门化的测试仪器。激光二极管生产商 S p e c t r a D i o d eL a b s ( 美) 公司使用这些自 动化测试设备提高最终产品的性能、增加产量和降低成本。这套设备最后的组件试验是鉴定器件性能的各个方面。组件试验台同时分析两个激光器,并且以标准激光二极管为参照。用带有两个测量端口的积分球收集每一激光器的输出。第一个

23、端口包含测量激光器输出功率的光电二极管。它跟来自 驱动器的电流数据一起构成U 1 曲 线。另一输出端口 包含有纤维光缆,它将光的小取样送到光谱分析仪,以确定激光中心波长和带宽。 利用光纤开关可把来自 激光二极管的纤维光缆输出送到积分球,进行 Ul / 1特征描述,或送到光谱分析仪进行波长和线宽测量。改变外部温度,变化范围为一 2 0度至+ 8 5度,同时使热电制冷器温度保持在+ 2 0度至+ 3 0度之间,可以检验制冷器的工作情况,并保证曲线中的任何热致拐点在所有工作温度上均保持在最大额定功率以上。比较光纤输出和监视器光电二极管的输出可以判别出任何与温度有关的纤维光缆失配或封装引起的效应。继而

24、选出合格品,给出部分一买 垫 鬓 聋裳 蛋 玺 迄些 二 一 一一 一 一特性曲线。 日 本 厂 商 长 期 保 持 着L D 研 制 与 生 产 技 术 上的 优 势, 低 功 率的 生 产 厂 家 几 乎全 在日 本 。 在9 9 年以 前, 生 产 半 导 体 激 光 二 极 管的 厂 商 对 激 光 二 极 管 的 测 试 还很 简 单 , 仅 能 测 试部 分 参 数 。 从9 9 年 开 始,日 本 的 技 研 公 司 开 始 研 制能 够 全 面测 试 激 光 二 极 管 各 种性能 参 数的 激光 驱动 器。 2 0 0 0年, 在日 本富 士 通, N E C ,三 菱电 机

25、等公司, 在线生产 和检收 方面开 始大 量 使用技 研公司 生产的 能 够全面测 试 激 光二 极 管各 种性能 参 数的 激光驱 动 器 S E C - 4 0 0 0 a S E C - 4 0 0 0 激光驱 动 器的性能指标为: ( 1 ) 激 光发 光二 极 管 ( L D ) 驱 动电 流: 0 -1 2 0 0 m A , 满 量 程精 度1 0 . 1以下。0 -12 . O A ,满量程精度士0 . 1 % 以下。 ( 2 ) 激光发光二极管 ( L D ) 驱动电压:0 -1 9 V ( 2 0 0 m A ) , 0 一士5 V ( 2A) . ( 3 ) 激光受光二极

26、管 ( P D ) 输出电 流:内 接 P D为 0 一士 2 .O O m A 。外接P D为 0 士2 0 . O m A o ( 4 )温度极限:下限温度为一 1 0 C ,上限温度为十 6 0 C . ( 5 )温度控制范围:0 -+ 5 0 C . S E C - 4 0 0 0的数字控制电路使用两片日 立单片 机 H S 2 1 4 4作为处理器,具有G P - I B接口 可与 P C机连接, 完成控制及数据传输。日 本古河电 工公司也是这种仪器设备生产的主要厂家, 仅生产该类型的设备年产值约几十亿日元,且产值每年递增,效益十分可观。 目 前在我国的一些生产或使用单位使用的计算机

27、测试系统,体积大,无法便携而且价格昂贵。己 经有些单位研制出先进的半导体激光器测试仪,如北京邮电大学的便携式半导体激光器自 动测试仪,不仅能够自 动测试,显示和打印半导体激光器的P - I 曲线和 V - 1曲线及一些主要的参数,而且数据可以存储、打印 5 ) . 单片机使用的是8 0 C 3 1 , 使用译码器和锁存器控制外围电 路。 A / D和D / A器件由单片机直接控制。自动测试时间:2 -3 s .量程:电流两档:0 -5 0 m A ,0 -1 0 0 m A 。功率两档:0 -0 .0 5 m w, 0 -L O m w。准确度:光功率 士5 %,电流 士2 %,电压 土2 %

28、 F I F O器件为I D T 7 2 0 6 L 2 5 , 存储容量为 1 6 3 8 4 X 9 b i t 。 这部分电路与单片机连接的框图如图2 - 5 所示。 图2 - 5数据接收、发送电路框图F i g u r e 2 - 5 D a t a a r e r e c e i v e d a n d t r a n s m i tt e d e l e c t r i c c i r c u it f r a m e p i c t u r et 4- 这部分电路主要有三个功能,一是接收 A J D转换器产生的数据并发往单片机:二是将单片机设置的 数据发往 D / A转换器; 最

29、后一个功能是控制其它部分工作。 F P G A为模拟部分的A / D , D / A器件提供控制信号以及其它的控制信号。F P G A由单片机控制,接受单片机的指令,数据,根据指令完成对A / D , D / A器件的 控制。从模拟电 路部分采集的数据经过F P G A存储在F I F O中,当 收到读数据指令时, 将数据输出 给单片机。 双向缓冲器 7 4 A C T 2 4 5由 C P L D产生的控制信号控制,实现数据的双向传输。2 . 4接口电路设计 接口 电 路部分主要包括串 行R S 2 3 2接口 , U S B接口, 键盘接口,液晶显示板接口。 键盘电路主要是由若干个按键组成

30、的开关矩阵,通过扫描行、列的电位识别按键。 液晶显示器件选用 I L M- 1 2 5 2 G ,实现工作环境设置,参数显示等多项功能。 在系统中 R S 2 3 2接口并不是用来与主机的信息处理软件通信,只用于单片机控制程序的仿真、调试和片内闪存的编程.在数字电路的设计中,串行口电路部分的芯片选用 M A X 2 0 2 C S E ,与单片机的串口 1线连。通过串口,主机上的单片机的开发软件,向单片机写入监控程序,进行在线调试,也可以进行片内R O M的编程。2 . 4 . 1 U S B接口电路的设计 在半导体激光器测试系统中的数字电路部分采用 S H 7 0 4 0系列单片机H D 6

31、 4 F 7 0 4 5 F 2 8 ,因此 U S B芯片选用一般连接到微控制器的芯片,这种芯片只处理U S B通信。在电路的设计中我们选用接口芯片U S B N 9 6 0 4 . 美国国家半导体公司的U S B N 9 6 0 4 和U S B规范 1 .0 和 1 . 1 相兼容,是一种真I : 意义上的U S B芯片。外部2 4 M H z 晶振电路,内部4 8 MH z 时钟产生电路。由 物理 层接口 和媒体 存取 控制组成串 行接口 引擎( S I E ) 芯片。 提供了 三种访问 外部数据的方法:非多路复用方式,多路复用方式和串行方式。具有不同特点的微控制器可以使用不同的方式和

32、 U S B接口 芯片相连,这大大的增加了芯片使用的灵活性。 U S B N 9 6 0 4 支持7 个端点地址: 端点0 C 8 字节) 是控制端点地址,3 个I N端点和3 个O U T 端点 ( 最多6 4 字节) , 足以 满足一般用户的要求。 U S B N 9 6 0 4 结构包括五个部分:( 1 ) 传输接收器 U S B N 9 6 0 4有一个高速传输接收器,它有 3个主要的功能模块组成流源的传输器差分接收器,具有芯片电压参考的单端接收器,具有芯片电在每条数据线上都有一个单端接收器。除了差分作用之外,还用于检测切换时的绝对电压。在数据线 D + 上应该接一个电阻,然后把它接到

33、参考点为3 .0 至3 . 6 伏的电压源上,这样说明这是一个高速节点。 ( 2 )电 压调节器 电压调节器从设备的5 伏电源上为集成的传输接收器提供了3 . 3 伏的电压。 ( 3 )串行接口 引雄 ( S I E ) U S B串行引擎接口 有物理层接口和介质访问控制层组成。物理层包括数字时钟恢复电路、数字滤波器、包结束检测电路及位填充和去填充电路组成。介质访问层包括报格式、C R C校验的产生和检测、 端点地址检测: 对端点控制器说明的端点通道,给出 N A K . A C K和S T A L L 响应来提供必要的控制。如果检测到U S B事件,如复位、挂起和恢复等信号,S I E负责报

34、告这些事件。 ( 4 ) 端点控制 F I F O端点 通道控制器为U S B功能端点提供了 接口。端点通道使数据在 U S B和存储器之间的移动,并提供了 U S B主机和功能端点之间的路径。 U S B N 9 6 0 4支持最多 7个端点通道。端点通道控制器包含有每个端点通道的 状态和控制信息。 对于 I N标志包,端点通道负责从定义的 缓冲区向主机传输数 据, 对于O U T标志包,端点通道控制器负责从主机到定义的缓冲区传输数据。 ( 5 ) 微控制器接口 芯片提供了三种访问外部数据的方法:非多路复用并行方式,多路复用并行方式和 MI C R O WI R E方式,并行方式支持 D M

35、A存储。具有不同 特点的微控制器可以使用不同的方式和 U S B接Q 芯片相连,这大大的增 加了 芯 片 使用的灵 活性 1 7 1 。 接口 模式可以 通过M O D E O 和M O D E L 来选择。 表2 - 1 U S B N 9 6 0 4 _ _ 作模式 T a b l e 2 - 1 Wo r k mo d e o f US B N9 6 0 4M O D E OM O D E L功能00非多路复用并行模式01多路复用并行模式10串行模式11保留 测 试 仪的U S B设备接口的硬件主要是以接口芯片U S B N 9 6 0 4 为中心,设计9 6 0 4 和U S B 物理

36、接口、 微处理器H D 6 4 F 7 0 4 5 F 2 8 以 及C P L D的连接。芯片采用自 供电 的 方式, 数据线D 十 接上拉电阻设计全速的U S B设备接口 1 8 o U S B接口电路如图2 - 5 所示。哈尔滨工业大学工学硕学位论文 图 2 - 6 U S B 通信接口电 路F i g u r e 2 - 6 U S B C o m m u n i c a t i o n I n t e r f a c e C i r c u i t图中:DO - D7AOMD O , MD1数据线接单片机数据线D O - D 7接单片机地址线A O复位线与单片机复位线相连中断线连接单

37、片机外部中断1读信号线与单片机读信号线相连写信号线与单片机低8 位写信号线相连片选信号线连接C P L D的U S B片选信号线连接低电平,接口方式为非多路复用的并行接口巫INTR-RD一。工Cs本章小结这一章详细的讲述了半导体激光器参数测试仪的工作原理和数字电路的设单片机是数字电路的控制核心,它通过数据接收发送单元控制模拟电路的弓a2.计运行,并通过 U S B总线与上位机通讯,实现远程控制,通过键盘及液晶显示电路实现近程控制、显示。应用 C P L D实现译码,控制信号逻辑生成功能,从而为外部设备分配片选和控制信号。U S B接口芯片 U S B N 9 6 0 4与单片机H D 6 4

38、F 7 0 4 5 F 2 8 通信方式采用并行非多路复用方式,设计全速的设备接口。第3 章S H 7 0 4 5 单片机原理与固件设计 单片机是测试仪器的控制核心,它控制着整个参数测试系统的运行。单片机控制程序的设计是一个复杂的过程,它涉及到单片机工作原理,外部硬件的工作原理,数据采集处理,以及 U S B的协议、规范等。单片机选用的是日立公司的H D 6 4 F 7 0 4 5 F 2 8 o3 . 1单片机H D 6 4 F 7 0 4 5 F 2 8 H D 6 4 F 7 0 4 5 F 2 8属于日 立公司生产的 S H 7 0 4 0系列单片机。该系列单片机C P U有精简指令集

39、,大部分指令可以在一个时钟周期内执行完成。内部3 2 位总线结构增强了数据处理能力。这种系列的单片机能够应用在低成本,高性能的系统中,甚至是快速的实时系统中。片内拥有 1 K缓存,增强了C P U对外部存贮器的操作能力。 此外,S H 7 0 4 0系列单片机包括系统配置必需的片内外设,如大容量 R O M和R A M , 定时 / 计数器,串 行通信接口 S C I ) , A / D转换器,中断控制器, I / 0端口等。存储器和外围集成电路可通过外部存贮功能高效的连接,减少了系统成本。 单片机H D 6 4 F 7 0 4 5 F 2 8其主要特性如下: 3 2位内 部数据总线, 精简指

40、令集,3 2 位乘法器, 1 K B 指令缓存.片内4 K R A M, 2 5 6 K F L A S H R O M。片内模块有:终端控制器 fN T C ,用户断点控制器 U B C ,总线控制器 B S C ,D M A C ( 4 通道) 多功能定时器( 1 6 位, 5 通道) ,串 行通信接口S C I ( 2 通道) ,片内时 钟发 生 器C P G ,比 较匹 配计数 器( 2 通 道) , A / I 转换 器等( 1 0 位8 通道 ) , 看门狗定时 器( W D T ) 。工作方式: R O M 无效的扩展模式、R O M 有效的扩展模式、单板模式.处理状态:程序执行

41、状态、异常处理状态、总线释放状态。节电模式:休眠状态、总线释放状态。3 . 1 . 1 单片机工作方式 H D 6 4 F 7 0 4 5 F 2 8单片机有五种工作方式和三种时钟模式,( MD 3 - MD O )的设置决定。 方式 0 : F WP = 1 , MD 3 = X, MD 2 = X, MD I = O , MD O = O ;效, C S O 空间变为1 6 位的外部存储空间。由方式选择引脚片内 R O M 无 方式 1 : F WP = 1 , MD 3 = X, MD 2 = X,效,C S O 空间变为3 2 位的外部存储空间。 方式 2 : F WP = 1 ,MD

42、 3 = X, MD 2 = X,效,C S O 空间位宽由总线状态控制器B S C 2 方式 3 : F WP = 1 , M D 3 = X, MD 2 = X,效,单板模式, 外部地址无效。 方式 4 : F WP = 1 , MD 3 = 1 , MD 2 = 1 ,( 仅用于Z T A I , 型号) 。 时钟模式设置: MD 3 , MD 2 = 0 0 : 锁相环电路X1 M D 3 ,M D 2 = 0 1 : 锁相环电 路X 2 MD 3 , M D 2 = 1 0 : 锁相环电路X 4 M D 3 ,MD 2 = 1 1 : 保留MD1 = 0M Dl =1M D O =

43、1 ; 片内 R O MMD 0 = 0 : 片内 R O M设置 M D1 = 1 , MD 0 = 1 : 片内 R O M 有MD1 =MD O = 1 : 片内 R O M 有效3 . 1 . 2片内主要模块简述 ( 1 )中断控制器 H D 6 4 F 7 0 4 5 F 2 8中断系统的核心是中断控制器 I N T C ,它负责确认中断源的优先级,并且控制是否向 C P U转发中断源的中断请求。中断控制器 I N T C具有以 下几个特点:具有 1 6个中断优先级,片内模块中断可以选择其中的 1 5级。收到中断请求, 会通过 I R Q O U T引脚向 外设发出 一个响应信号,告

44、知中断请求己 经收到或者内 存刷新请求已 经产生。 4种中断源:非屏蔽中断N M I , 可 屏蔽中 断I R Q , 用户断点中断 和片内 模块中 断。 ( 2 )总线状态控制器 6 S 0负责分配物理地址空间,并为不同类型内存和总线接口 输出 控制信号。 B S C有以 下几个特点: 地址空间分为五部分 :对于地址空间C S O ,在片内R O M有效方式下最大2 M字节;片内R O M无效方式下,4 M字节.地址空间C S I - C S 3 ,最大4 M字节。专用的D R A M地址空间最大为 1 6 M字节。每个地址空间总线的位宽是可选择的 ( 8 , 1 6 ,或 3 2位) 。每

45、个地址空间的存取等待状态通过软件设置来插入。 C 3 ) 监视定时器 W D T又称看门狗定时器,它常用于检测软件故障。如果系统遇到故障,定时计数器溢出而没有被 C P U重新赋值,就会输出一个外部溢出信 号不 画 万 万。 W D T也 能同 时 产 生 一 个 使整 个芯 片 复 位的 复 位信号。 W D T还可以作为通常的计数器,以及控制备用状态的转化。在监视定时模式下输出W D T O V F,当计数器溢出输出外部溢出信号,用户可以选择是否复位整个芯片,上电复位还是手动复位作为内部复位信号。作为内部计数器模式时产生中断。当计数器溢出时,产生一个内部计数器中断。可在 8种计数输入时钟下

46、工作。 ( 4 )串行接口S C I 单片机具有一个 2 通道的串 行接口S C I . S C I 支持异步与同步通信,还支持两个或多个微处理器之间的串行通信。 异步通信方式下 S C I 接口可以与通用的异步接收器/ 发送器 U A R T 、异步通信接口 适配器或其他使用标准异步串行通信系统的通信芯片进行通信,利用多微处理器功能可以与两个或更多的处理器进行通信,最大位传输率可达9 3 7 .5 K b p s 。 共 有1 2 种串 行通 信数 据 格式 可 选择。 同步通信方式下,串行数据通信由时钟同步。S C I 可与其它具有同步通信功能 的 芯 片 进行 通 信, 最 大 传 输

47、率可 达5 M b p s , 但 只 有一 种 数 据 格式。 数据 长 度8位,只对溢出错误进行检测。 S C I 进行全双工通信:数据的发送和接收实现互独立的, 可以同时接收和发送数据。 ( 5 ) 多功能定时器单元M T U单片机有 5 个通道 1 6 位的定时器。 主要特点如下: 可以处理 1 6 种不同的输入输出脉冲。所有的通道可选择 8 种输入时钟。所有的通道可设置为几种不同的工作方式:输出比较匹配波形,输入俘获功能, 计数器清除功能,同步模式。产生2 3 种中断源,通道0 , 3 和4各有4个比较匹配/ 输入俘获中断,以及一个独立请求的上溢中断。通道 2和 1各有两个比较匹配/

48、 输入俘获中断,以及一个独立请求中断的下溢中断。 ( 6 )片内 R O M , R A M H D 6 4 F 7 0 4 5 F 2 8片内有 4 K R A M, 2 5 6 K F A L S HR O M . 2 5 6 K闪 存特点: 4种工作方式:程序, 擦除, 程序修改, 擦除修改。 编程每次3 2 字节,可执行块擦除,1 K , 2 8 K和3 2 K 。可重复编程 1 0 0 次。单板编程方式:引导方式,用户编程方式。自动位率校正,在引导方式下,可自动校正传输位率匹配主机。硬件和软件两种保护模式。编程器模式,可用 F R O M 编程器编程,擦除。3 . 1 . 3 调试与

49、编程 H D 6 4 F 7 0 4 5 F 2 8可以利用软件通过它的串口 1进行在线调试,编程。软件Y e l l o w I D E用于程序的编写、 编译和写入监控程序、 在线编程。 Y e l l o w S c o p e用于 在线调试、 仿真。 通过改变方式引 脚M D I , F L A S H R O M硬件保护引 脚F WP哈尔滨工业大学工学硕 卜 学位论文的电位为低电平,使单片机处于在线仿真,调试状态。当程序写入R O M后,改变引脚电位为高电平,使单片机在操作方式 2下工作。单片机工作方式选择电路如图3 - 1 所示。 图3 - 1 S H 7 0 4 5 工作方式选择电

50、路F i g u r e 3 - 1 T h e c h o o s i n g c i r c u i t o f S H 7 0 4 5 o p e r a t i o n m o d e3 .2单片机固件设计 开发单片机固件的整体思想是模块化和通用性。采用 C语言来开发单片机固 件。C语言是一种通用的计算机程序设计语言,它既有高级语言的特征又能直接操作系统 硬件, 而且可以 进行结构 化程序设计 12 0 1 。设 计中 用宏来代替需要经常被调用代码,来简化冗长操作的代码。固件设计使用一种分层的结构。在最底层是一些简单的、原始的功能子程序,这些子程序直接和硬件打交道或完成一些最基本的功能

51、,如向外部设备写数据和读取数据。调用这些子程序形成了高层的更复杂的应用程序。把子程序的声明和宏定义编成头问件,包含在应用程序中.例如,在设计中将单片机寄存器、公用的宏定义、调用外部函数的原型分别编写在 s h 7 0 4 5 .h , g l o b a l .h , e x t e m .h中。 程序编写的 分层结构简洁易懂, 并且易于编写和测试,既增加了 程序的通用性,又增加了 代码的可读性。 单片机固件的流程如图 3 - 2所示,按照模块化思想又可分为以下几个模块:初始化模块、键盘程序模块、液晶显示模块、R O M 工作模块、温控程序模块、 驱动程序模块和U S B接口 模块。 初始化程

52、序模块用来初始化单片机和外部硬件等,使仪器进入正常的使用状态。如设置单片机的功能模块的寄存器,包括设置外部片选空间的总线位宽,存取等待周期:设置引脚功能寄存器,为多功能引脚选择功能方式:设置中断触发模式及中断优先级;利用片内的比 较匹配器作 l m s定时器等。又如初始化测试参数, 设置激光器的 驱动电 流,工作温度, 初始化U S B接口 芯片等。中断 中断服务程序定时器中断,U S B事件中断等.转入主程序 图3 - 2单片机固件流程图 F i g u r e 3 - 2 F l o w c h a r t f o r s i n g l e - c h i p c o m p u t e

53、 r f i r m w a r e 键盘程序位于单片机控制程序的主循环内,采用程序控制扫描方式,完成对键盘的扫描和解释功能,并具有按键防抖处理、一键多义处理等措施。设置1 2个按键和多个工作状态,在执行时先判断当前的工作状态, 然后在该状态下识别键码,获得键义。 显示程序模块包括显示界面初始化,以及不同工作状态下的界面显示等,实现了初始化设置,工作状态设置,参数显示等功能。3 .2 . 1 R O M工作模块 R O M工作程序模块主要处理闪存A M 2 9 F O 4 0 B的数据读写。在程序中将激光二激光的工作参数,驱动电流的控制方式,采集的数据等写入 R O M 中,这样数据在掉电 后

54、不消失。 数据写入R O M的函数如下所示。 其中w P 是R O M的地址, rp是待写入数组的 地址。 v o i d f l _ w ( u n s i g n e d s h o r t * w p , u n s i g n e d s h o r t * r p )一 - 一一 二一 一煌 里 垦 里 二 塑 迄 坠 型 丝 圣 一升 - 一一一* ( F R O M T O P+0 x 5 5 5 )二O x a a a a ;* ( F R O M _ T O P+O x 2 a a ) = 0 x 5 5 5 5 ;* ( F R O M _ T O P+0 x 5 5 5

55、)二O x a O a O ;* W P二* r p ;/ 命令写入/ 命令写入刀 命令写入刀 数据写入3 .2 .2激光器温控模块 温控程序模块控制模拟部分温控电路的运行,它根据采集的温控部分的数据与设定值比 较,利用硬件电路的 P I 控制,变更热电制冷器的工作电流大小、方向,从而使激光二级管的工作温度趋于某一稳定值(2 n 。半导体激光器的工作温度范围是 0 - 4 5 C 。系统初始化后,温控部分数据采集处理和控制程序执行流程如图3 - 3所示。 图3 - 3温控程序工作流程图 F i g u r e 3 - 3 F l o w c h a r t f o r t e m p e r

56、a t u r e c o n t r o l p r o g r a m如果测试温度超过超出工作范围时,则进行必要的异常处理。包括停止激哈尔滨工业大学工 学硕 卜 学位论文光器的工作,显示异常状态等。否则判断测试温度与设定温度差值是否超出常数A , 如果超出则进行比 例控制加快系统的响应速度。反之,则进行积分控制减小 超调、 振荡, 使 系 统 稳定。 需 要 测量的 参 数是 热电 制冷 器的电 压V , 和电 流人以 及 热 敏电 阻 阻 值变 化引 起的 变 化电 压V II 。 温 度T , . 计 算 公 式 如 下 所 示:T I . = 1 / ( T 1 x L o g (

57、R / T 2 ) + T 3 ) 一 T K R= 蛛/ T I 叽= 5 0 0 0 x DI 2 b 式 中 :T 1 = 1 / 3 4 5 0 K , T 2 = 1 0 0 0 0 S 2 , T 3 = 1 / 2 9 8 . 5T I = 0 . 0 5 m A , D是热敏电阻阻值变化引 起的变化电 压气经A / D ( 3 - 1 ) ( 3 - 2 ) ( 3 - 3 ) T K= 2 7 3 . 1 5 K ,转化后的数字量。3 . 2 .3激光器驱动模块 驱动程序模块控制模拟部分驱动电路的运行,它设置激光二级管的不同工作状态, 检测激光二极管的工作电流、电压、功率等参

58、数。采样 1 0 0次,取平均值,以 求获得更准确的数据。 工作电流可分为4个档次, 0 -2 A , 0 -2 0 0 m A ,0 - 2 0 m A , 0 -2 m A 。 程序先设定工作电 流档和电 流步长值 I d 。 如果驱动电 压、电流、功率超过限制,则停止激光二极管的工作,进行必要的异常处理,否则按步长 I d 循环增加驱动电流值,采集数据并检测数据。驱动部分工作流程如图3 - 4 所示。测量的半导体激光器参数包括正向驱动电压 V F ,驱动电流寿 ,监视光电流I M 和输出的光功率P O .3 . 2 .4接口程序模块 单片机通过U S B接口 芯片U S B N 9 6

59、0 4 与上位机进行通讯,在设计中,选用并行非多路复用方式与单片机连接,单片机对它的读时序图3 - 5 所示。下面是单片机 S H 7 0 4 5 在并行非多路复用的连接方式下对 U S B N 9 6 0 4的读函数。 u n s i g n e d c h a r r e a d u s b ( u n s i g n e d c h a r a n d ) u n s ig n e d c h a r t ; / U S B 一D R 是9 6 0 4 的 地址* / ( U S B 一D R + I ) = a r d ;/ * 写入读寄 存器的 地址* / t - ( U S B _

60、 A D R ) ; / * 读出寄 存器的 值* / r e t u rn t ;/* 返回寄存器的 值 * / 一 一一一. 一-一 一竺 三 塑 王 当 竺 兰 选 塑 主 选 里 盗 一 一 一一 一 一 一 一 图3 - 4驱动程序工作流程图F i g u r e 3 - 4 F l o w c h a r t f o r d r i v e r c o n tr o l 图3 - 5并行非多路复用模式读时序图 F i g u r e 3 - 5 N o n - M u lt i p l e x e d p a r a l l e l m o d e r e a d t i m in

61、 g d i a g r a m 接口的固件设计是一个复杂的过程,它处理主机与设备的所有通信,包括配置通信与应用通信.当上位机发送指令时,U S B N 9 6 0 4向单片机产生一个接收事件中断,单片机从接口芯片的接收F I F O中读取指令,并调用相应的任务处理函数。哈尔滨工业人学工学硕 L : 学位论文接口固件的详细设计将在下一章详细描述。3 .3本章小结 本章对单片机 H D 6 4 F 7 0 4 5 F 2 8的结构,主要功能模块进行了详细介绍。H D 6 4 F 7 0 4 5 F 2 8片内 拥有 4 K R A M 和 2 5 6 K F L A S H R O M,利用仿真

62、调试软件Y e l l o w I D E和Y e l l o w S c o p e 可以 进行固 件编写和片内R O M编程、 在线的调试仿真。单片机固件的设计比较复杂,涉及到硬件的工作原理,数据采集处理,U S B规范等。在本章对单片机固件的各部分进行了描述。哈尔滨工业大学T学硕卜 学位论文第4 章基于U S B通信的软件设计 基于 U S B总线与上位机通信是课题设计中的一个重点和难点,它涉及到U S B复杂的规范和协议,并且联系到设备驱动程序以及与通信有关的 WI N 3 2A P I 函数。通信软件由主机应用软件、设备驱动程序和接口固件组成。4 . 1 U S B通信基础 U S

63、B连接了U S B设备和U S B主机,U S B的物理连接是有层次性的星型结构。每个网络集线器是在星型的中心,每条线段是点线器或其功能部件,或从集线器到集线器或其功能部部分组成:主 机 ( H o s t )、集线器( H u b ) 和功能设备。层,1 2 7 个外设。点连接2 2 1 2 3 1 。 从主机到集件, 拓扑结 构由 三个基 本U S B 最多支持 5个 H u b图4 - 1 给出了设备的逻辑结构。一WE I *491W11EIf:Y”一gFoo!& n 一口。片 !tfllt 1z tx Mt 月终场 a 道0 1终 姗1 ( 管道 )其它终嘴接口1其它搜口口叉z其它配里

64、 图4 - 1 U S B设 备逻辑结 构 F ig u r e 4 - I U S B d e v i c e l o g i c a l o r g a n i z a t i o n 每个设备有一个或多个逻辑连接点,称为端点,每个端点指定下面的传输类型之一:控制传输、中断传输、块传输和同步传输。所有的设备都有一个端点 。传输, 用于配置和控制设备2 4 1 。主机和设备的 端点之间的连接称为管道,主 机U S B系统软件和设备的端点0 之间的连接称为缺省管道。 一个设备对主机表现为一组合适的端点,一组相关的端点称为一个接口。有多 各 接口 的 设 备 称为组 合设 各2 5 。 最后,

65、设备 可以 有多 组接口 , 每 一组 称为哈尔滨T业大学T学硕卜 学位论文一个配置,一次只能有一个配置是活动的。大多数设备只有一个配置和一个接口 。4 . 1 . 1 U S B的数据传输 U S B通过管道在主机缓冲区与设备端点间传送数据。U S B的每一个传输需要一个或多个总线处理事务来完成,每一个事务又包括一个,两个或三个包。如图4 - 2 所示。传输事务事务事务记号包 】 I 数据包 I 握手包每个传输由一个或多个事务组成每个事务包括一个记号包,也可舱包括一个数据和/ 或握手包P I D I AD D I NF I C R C每个包包括一个 P I D ,也可包括其他信息和 C R

66、C ( 错误校验位 图4 - 2 U S B传输的组成框图 F i g u r e 4 - 2 U S B t r a n s f e r s c o m p o n e n t b l o c k d i a g r a m 事务的 类型按他们的目 的和数据流的 方向被定义为:S e t u p是发送控制传输请求给一个设备,I N是从一个设备接收数据,O U T是发送数据给其他一个设备。 每个事务最多有三个段或部分:记号、数据和交换。每个段由一个或两个被传输的包组成。每个包是一个定义的信息块。所有的包都是一个包含了识别信息 的一个包的 I D P I D ) 开 始。 根据事务。 P I D

67、之后可能是一个终端地址、 数据、状态信息或一个帧的编号,还有错误检验位。 包的类型共有 5种,标记包、数据包、交换包、帧起始包、低速先导包。这些类型中的三种与传输数据的事物的各个段相对应。在标记段中,主机在一个标记保中发送一个通信请求。在数据段,主机或设备可以在数据包中传输任何类型的信息。 在交换段,主机或设备在一个交换包中发送状态或交换信息。 U S B定义了4种传送类型:控制传输、中断传输、批量传输、同步传输。哈尔 滨T业大学T学硕1一 学位论文动,如果开发者没有写设备驱动的经验,那么创建一个 WD M 驱动就不是一个简单的任务。 访问 U S B设备的一个简单方法是使用 Wi n d o

68、 w s中带有的标准驱动。这样开发者不需要写驱动或安装驱动,节省了费用和开发时间。 在开发过程中,我们将设备归于人机接口设备 ( H I D ) 类。人机接口设备是W i n d o w s 支持的 第一类U S B外设类型中的一种, 应用程序可以使用操作系统内置驱动的 H I D通信。人机接口 这个词表明设备直接和人交互。典型例子是键盘、鼠 标和游戏杆。 但是 H I D不是必须有一个人机接口的。只要存储在设备里的描述符必须遵循 H I D类描述符的要求,设备必须使用 H I D规范中定义的中断或控制传输来发送和接收数据3 5 14 .3 . 2设备接口固件开发 对于主机的驱动和 H I D

69、通信,设备的固件必须满足一定的要求。设备的描述符中包含一个类描述符,使设备能够被识别为一个有 H I D接口的设备。固件必 须 包含一 个报告 描述符, 它定 义了 传 送和接收设 备数据的 格式W。 除了1 1 种标准请求外,固 件还必须处理H I D类的 六种特定请求。 要发 送数据,固件必须支持G e t 一 R e p o rt 控制传输和中断I N传输;要接收数据, 固 件 必 须 支持S e t 一 R e p o rt 控 制 传 输 也可 能 支 持中 断O U T 传 输。 如 果 设 备 有中断O U T终端,则发送数据使用中断传输。 U S B接口的固件作为系统固 件的一

70、部分,设计思想与整个系统固 件的设计思想是一致的。主要是由一个源文件及一些头文件组成。如图4 - 6 所示。 US B. C9 6 0 4 初始化及通信处理函 DE F US BAU S B相关的宏定义 DES CRI P TH设备描述符的定义 S T R I NGS . H字符描述符定义 R E P OR T . H报告描述符的定义 图4 - 6 U S B接口的固件组成 F i g u r e 4 - 6 T h e c o m p o n e n t o f f i r m w a r e f o r U S B i n t e r f a c e设备接口固件的控制程序主要是由初始化,中

71、断服务,任务处理三部分组哈尔滨T业大学T学硕学位论文成。初始化主要是对单片机对接口芯片 U S B N 9 6 0 4进行初始化,通过对他们的控制寄存器进行设置赋值,使之进入正常的工作状态。接口芯片时刻监测总线上的活动,如果总线上有事件活动或超过 3 m s总线上没有活动, U S B N 9 6 0 4会产生一 个硬件中断通知单片机,进行事件处理。 在程序运行过程中,如果接口芯片产生中断,单片机就会读取接口芯片的主要事件寄存器 MA E V ,对寄存器中的值进行分析,并转向相应的事件处理程序。 主要事件的寄存器报告的事件主要有: 变换、接收、发送、 N A K , F I F O报警事件和帧

72、更新事件。部分中断服务程序代码如下: in t e r r u p t v o id l n t U S B ( v o id )/ * 中 断 服 务 程序巾 / u s b _ i c o n t ( 0 ) ;/ * 关闭U S B中断* / e v n t = r e a d 一 u s b ( M A E V ) ;/ * 检查 接收事 件* 1 i f ( e v n t & R X _ E V )*/*/*I/* 检查 接收事件/* 端点0 事件处理/* 端点2事件处理*叼*/ e v n t = r e a d es u s b ( R X E V ) ; i f ( e v

73、n t & R X F I F O O ) r x 夕( ) ; e l s e i f ( e v n t & R X F I F O I ) r x _ 1 ( ) ; ;e l s e if ( e v n t & T X E V )( e v n Y r e a d _ u s b ( T X E V ) ; i f ( e v n t & T X F I F O O ) t x _ O ( ) ; e l s e i f ( e v n t & T X F I F O 1 ) t x _ l ( ) ; /* 检查发 送事件/. 端点0 事件处理/* 端点1 事件处理u s b _

74、i c o n t ( 1 5 ) ;/ * 开启U S B中断 进入中断服务程序之后,首先关闭U S B中断,因为中断为低电平有效,这样以免在中断服务过程中,再次进入中断服务。接着读取主事件寄存器并保存在变量 e v n t 中,这是必要的,因为寄存器中的某些状态位是读后清零的,只能一次获得正确的值。然后,进行一系列的检测判断哪一类型的中断发生。如果是接收事件产生的中断,则判断是哪一个端点的接收事件,然后转向 相应的事件处理程序3 7 1 每个设备必须在中段 0的默认流程中支持控制传输。r x。 ( ) 和 t X - 0 0 分别为哈尔滨工业大学工学硕学位论文终端 0的接收与发送事件的处理

75、程序,应用在设备的配置通信中。如果它们编写不正确,主机将得不到完整的设备信息。设备为未知设备,应用程序将找不到设 备 , 应 用 通信 无 法 进行。 - - 0 0 处 理 所 有的 标准U S B请 求, 以 及H I D类 请求。部分代码如下: v o i d r x _ p ( v o i d )*/*/r x s t a t - r e a d ee u s b ( R X S 0 ) ; i f ( r x s t a t & S E T U P - R )/* 获得接收状态/ * 是否是S E T U P包 f /* 读取数据然后清洗F I F O ,禁止接收、 发 送*/ f

76、o 戏 d e s c i d x = 0 ; d e s c i d x S ; d e s c j d x + + ) u s b es b u f d e s c _ i d x = r e a d u s b ( R X D O ) ; F L U S H R X O ; F L U S H T X O ; b it e l r ( E P C O ,S T A L L ) ;/* 清除 终端的s t a ll 特性* / 程序首先读去接受状态寄存器 0 ( R X S O ) ,然后保存在变量 r x s t a t中,如果是接收的是s e t u p包,则读取F I F O中 读数

77、据,清洗F I F O并禁止终端的 接收和发送。 然后判断是U S B 的标准请求还是H I D类型。如果是标准请求则判断是 1 1种请求类型中的那一种,并转入相应的处理程序。 s w it c h ( u s b b u f 0 & 0 x 6 0 )/ * 译码请求的 类型申 / */*/c a s e 0 x 0 0 : s w i t c h ( u s b 一u 几 1 1 ) /* 标准请求/ 中 译码请求类型c a s e C L E AR F E A T URE c lr f e a t u r e 0 ; b r e a k ; b r e a k ; 如果请求类型是H I

78、D类请求,则判断是H I D类6 种请求类型的那一种,然后转入相应的处理函数。 c a s e 0 x 2 0 : / * H I D类请求* / s w i t c h ( u s b b u f 1 ) / * 译码请求类型* /哈尔i 1? 工业大学工学硕卜 学位论文c a s e GE T R E P OR Tg e t r e p o r t Q ;b r e a k ; 如果不是一个S E T U P包,那么就是一个 O U T包, 程序判断是否是在多包模式 ( G e t _ D e s c r i p t o r 请求) ,如果是则清除多包模式。 对于tx _ 0 ( ) ,

79、它主 要是 处理多 包 模式 ( G e t D e s c r ip t o r 请 求) 下的的 数 据传输。因为控制传输每次最多传输8 字节的数据,而描述符的长度远远大于8 ,所以G e t D e s c r i p t o r 请求 在数 据阶 段需 要多包 传送。 如果是 在多 包模式下, t x 0 ( )将处理剩余的字节传输。 rx _ I 0 与t x _ I ( ) 分别是端点2 和端点I 的 接收和发送的事件处理函 数。因为H I D类设备只使用控制和中断传输,因此端点 I 和端点2的传输类型都配置为中断传输。两个函数共同完成与主机应用程序的应用通信。 r x _ I Q

80、 首先检查接收端点的状态寄存器, 如果不出现接收错误或是 S E T U P包,则读取F I F O中的数据,并存储在一个数组中。 f o 叹 i = 0 ; i 6 4 ; i + + ) b u ff e r u i = r e a d es u s b ( R X D I ) ;/ 把F I F O中的 数据保存在数组中 程序接着根据标识符W A出 现的位置来获得有效数据的长度。 1 =0 ; w h i l 试1 ) i十 十 ; i f ( b u ff e r u i ” =W A ) ( b r e a k ; 然后设置 U S B 中断标志变量 m s e t . I n t

81、U S B _ f ,并转向任务处理程序c o m m a n d _ g p i b s e l ( ) o F L U S H T X I ; / fl u s h T X 1 a n d d i s a b l e* / m s e t . I n t U S B f = O N;c o m m a n d _gp i b s e l ( b u ff e r u , i ) ; 任务处理函数 c o m m a n d _ g p ib s e l 则根据接收到的数据,判断执行哪一条指令,并转向相应的处理程序。i n t c o m m a n d _ g p i b s e l (

82、u n s i g n e d c h a r g u b u ff e r , i n t c o u n t _ i n )s t m c p y ( b u 跳r , g u b u ff e r , 6 4 ) :i f ( c o u n t , i n = 4 )i f ( ? s t r n c m p ( b u ff e r , S Q ,2 ) )I走P O B ( a t o i ( m s e t . P O B ) ) ; / / 转向 驱动模块中 的函 数 t x _ 1 ( ) 处 理数 据向 主 机的 传 输。因 为 使 用的 是中 断传 输, 而中 断 传 输

83、中 , 主机定 期 ( 1 m s 到2 5 5 m s ) 查 询设备得到可用的中断 数据, 所以 必须 保证 在F I F O中有数据 等待发 送。 t x - 1 ( ) 主 要任务就是向F I F O中 写入要发送的 数据 ( 保存在数组 b u ff e r s 中) 。f o r ( i =wr i t eO ; i 缓存大小与输入报告的大小相等。当应用程序完成与设备的通信时,它调用C l o s e H a n d l e 来关闭 打开的文件句柄。4 .3 .3 . 1制作动态链接库 为了使软件的模块化,以及方便上位机开发人员编写上 位机测试程序, 在这里我们把与 U S 13通

84、信有关的程序部分进行封装,编写在一个动态链接库 ( D L L )中。主要函数如下: 初 始化设备函 数 lo n g U s b i n it ia l() ; 关闭 设备函 数l o n g C lo s e U s b Q ; 向 i2 # , A t 数in t S e n d l ( i n t b o a r d l D , s h o r t a d d r ,c h a r * b u f , u n s ig n e d lo n g le n , in t e o t Mo d e ) ; 从设备读A数i n t R e c e i v e l ( in t b o a r

85、 d I D , s h o rt a d d r , c h a r * b u f u n s i g n e d l o n g le n , i n t哈尔滨工业大学丁学硕学位论文 打开设 备函数in t o p e n u s b d e v ic e Q ; 使用动态链接库的一个优点也是最大的一个优点就是,D L L集成了一批公用的函数,可以被不同的可执行程序调用。其次,使用 D L L能够减小应用程序运行时的内 存的开销。另外使用动态链接库,允许同步开发D L L和E X E ,并且便于软件的 打包和分发13 9 1 开发一个动态链接库的过程和创建一个 Wi n d o w s应

86、用程序的过程极为相似,在到达编译运行阶段前,开发 D L L与开发 Wi n d o w s应用程序一样编写代码。在编译完成后得到的 D L L文件是不能独立运行的,这与应用程序不同,D L L需要被应用程序或另外一个 D L L激活,它可以 被指定为是在连接编译时被激活, 还是 在运行时被 激活4 0 l 。 创建一个典 型的动 态链接库要从 D 1 1M a in Q 开始, 但这并不是必要的。除了D I I M a i n ( ) 外, 可以 将任何 所需的函 数包含在 D L L的源程序中并在头文件中声明用以输出的函数,从而使 D L L文件可以输出所需的函数。程序代码部分如下。 B

87、O O L A P I E N T R Y D I I M a i n ( H A N D L E h M o d u l e , D W O R D u les r e a s o n - f o r m- c a l l , L P V O I D I p R e s e rv e d ) r e t u rn T R U E ;l o n g C I o s c U s b o H id D F r e e P r e p a r s e d D a t a ( H i d P r e p a r s e d D a ta ) ; / / 释放资 源 if ( C Io s e H a

88、n d le ( h u s b ) )/ 关闭 文件句柄 r e t u rn 0 ; e l s e r e t u r n 1 ; 对于一个动态链接库,工程可以静态地或隐含的与之链接, 运行时操作系统会替用户管理加载D L L的过程,也可以在运行时显示地或动态的加载D L L . 静态的加载动态链接库是一种简洁而方便的方法, 在很多的情况下,使用静态的方法加载动态链接库是极其高效的,它的缺点是缺乏灵活性,所加载的动态链接库在编译时就己经被定了下来,而且无法更改。被静态加载的 D L L文件通常会给出一个 L I B文件,被称作是动态链接库的引入库或是输入库文件,哈尔滨工业大学工学硕L 学

89、位论文它包含的是指向 外部 D L L库的函数索引指针,而不是真正的代码。需要在编译器的选项中或是开发环境中指定该引入库 ( L I B )文件,并在工程中包含导出函数及其类声明的头文件 ( . H) ,然后编译链接。 动态的加载动态链接库需要应用程序自己加载 D L L ,应用程序运行的过程中决定加载哪一个动态链接库。动态的加载一个 D L L ,所要做的第一件事是把D L L模 块映 射导 进 程的内 存空间, 由L o a d L ib r a r y ( ) 完 成 获 得一 个实 例 句柄。 获得动态链接库中的函数由G e t P r o c A d d r e s s ( ) 完成

90、。如下所示: H MO D U L E h D l l ;h D l l= L o a d U b r a r y ( u s b d l l .d l (伙/ 载入 动态连接库 可指定路径)i f ( h D l l =NU L L ) r e t u rn 1 ; 1/ 获得函数U s b l n it i a l 在 D L L中的地址U S B I N I T = ( l o n g ( * ) ( ) ) G e t P r o c A d d r e s s ( h D l l , U s b l n it i a l ) ;i f ( ( * U S B I NI T ) ( =

91、0 )/ 执行函数 载对一个已经加载的动态链接库文件的调用结束之后,要把它从内存中卸载。F r e e L ib r a r y ( ) 函数用来完成卸载 D L L文件,在程序结束之前调用这个函数。 F r e e L i b r a ry ( h D 1 1 ) ; / 卸载已 加载的D L L本章小结为例发,基于U S B通信是一个复杂、困难的过程。本章简要介绍了U S B 1 . 1 规范协并对 U S B通信的两个阶段进行了描述。以本次课题的 U S B接口设计开发,详细的讲述了 H I D接口通信软件的设计过程。为方便上位机软件的开将用于U S B设备通信的函数制作成动态连接库。月

92、,4.议一3 9结论 本文设计了基于 U S B总线的半导体激光器参数测试仪。该测试仪具有高性能,低成本,使用方便的优点。在系统的设计中,主要的研究内容集中在测试仪的数字电路部分设计以及基于U S B总线通信的设计。 在对半导体激光器参数测试仪系统工作的原理和对半导体激光器特性以及其驱动、 温控电路深入研究的基础上,设计了测试仪的数字控制电路部分。数字控制电 路选用高性能的日 立单片机 H D 6 4 F 7 0 4 5 F 2 8 作为处理器, 用 C P L D器件作为外部地址译码,逻辑控制元件。现场可编程门阵列 F P G A 以 及先进先出存储器F I F O作为数据采集, 控制的中间

93、级, 从而实现单片机对半导体激光器的间接控制。 U S B接口 控制芯片选用 U S B N 9 6 0 4 ,与单片机采用并行非多路复用接口 模式连接,并设计全速的U S B设备。 在对系统工作的原理深入分析后,编写单片机固件 ( 即控制程序) 。采用 C语言 开发固 件, 利用日 立单片 机开发 环境Y e l lo w I D E 和Y e l l o w S c o p e 实 行编写,仿真、调试。固件的编写采用模块化、层次化结构,增加了代码的可读性和通用性。 最后,编写基于U S B通信的软件。 将设备归为H I D类设备,使用操作系统内的标准驱动,节省了开发成本和时间。按照 H I

94、 D对固件的要求,编写设备的接口固件。利用 WI N A P I 函数编写对设备操作的函数,并把它们封装成动态连接库,方便上位机软件开发人员的使用。 通过课题的设计研究、试验运行,基于 U S B通信的半导体激光器参数测试仪己 经达到使用状态.因为电路的设计选用高性能单片机,高速可编程逻辑器件, 并通过 U S B总线与上位机通信,所以 测试仪具有测试精度高, 速度快, 使用方便的优点。但是仍存在一些不足之处,例如:数字控制电路设计有不完善之处,将设备归为 H I D类设备,使传输速度变慢。因此,改进控制电路设计,编写U S B设备驱动程序, 提高传输速度, 将是后续的研究重点。 参考文献1

95、何兴 仁. 半导体激光器发展现状与 趋势. 光电 子技术与信息. 1 9 9 9 , ( 4 ) :5 2 - 5 42 昊 雄. 激光二 级管的 发 展及 应用前景. 电 子与自 动 化 1 9 9 8 , ( 1 ) :2 7 - - 3 23 刘明大, 史素娇. 有机半导体激光器研究的新进展. 半导体光电. 1 9 9 9 , ( 4 ) :2 2 1 - 2 2 54 薛林, 赵华风, 李照, 黄山 , 袁晓彬. 半导体激光器自 动测量系统 计量测试. 2 0 0 1 , ( 1 3 ) : 1 9 92 0 05 纪 越峰 , 张 杰 , 柏 琳 便 携式 半导 体 激光 器自 动

96、测 试仪 . 1 9 9 9 , 1 8 ( 2 ) : 7 27 86 齐继阳, 王治森, 汤阳. U S B接日设计及其在工业控制中的应用. 制造业自 动化. 2 0 0 2 ,2 4 ( 1 1 ) :9 - 1 27 刘炎, 冯穗力. 通用串行总线原理及接口设计. 电子技术应用. 加00, ( 1 2 ) : 5 6 - 5 98 樊巍, 高有行. 通用串 行总线的开发设计. 计算机工程与设计. 2 0 0 2 ,2 3 ( 9 ) : 4 8 5 29 L u c a s S . D e s i g n V i d e o - J o y s t i c k . Mo t i o n

97、 A n a l y s i s a n d T r a c k i n g ( R e f . N o . 1 9 9 9 / 1 0 3 ) , I E E C o l l o q u i u m o n , Ma y 1 9 9 9 , ( 1 3 ) : 11 61 0何广军. U S B 接口 在串 行通行中的 应用. 电 子技术应用. 2 0 0 2 , ( 7 ) : 5 85 91 1沈永林, S H 3高级单片机原理及应用. 清华大学出 版社, 1 9 9 9 : 1 - 2 71 2李景华, 杜玉远. 可编程器件与E D A技术. 东北大学出 版社, 2 0 0 0 :2

98、0 72 1 41 3 A l t e r a . MA X 7 0 0 0 P r o g r a m m a b l e L o g i c D e v i c e F a m i l y D a t a S h e e t . 2 0 0 0 : 11 61 4 A l t e r a C o r p o r a t i o n . M A X + P L U S I I G e tt i n g S t a r te d . A l t e r a C o r p o r a t i o n . 1 9 9 7 : 1 5 6 2 7 61 5曾 繁泰, 崔元明 . 可编程器件应用导论

99、 清华大学出版社, 2 0 0 1 : 1 8 3 - 2 0 61 6 J a n A x e l s o n . U S B C o m p l e t e : E v e r y t h i n g Y o u N e e d t o D e v e l o p C u s t o m U S B P e r i p h e r a l s . L a k e v i e w R e s e a r c h , 2 0 0 0 : 3 8 - 4 61 7 N a t i o n al S e m i c o n d u c t o r . U S B N 9 6 0 3 1 U S B

100、 N 9 6 0 4 F u l l S p e e d F u n c t i o n C o n t r o l w i t h D M A S u p p o rt . 1 9 9 8 : 4 - 2 51 8 J i m L y l e . U S B I n t e r f a c e E x a m p l e . N a t i o n a l S e m i c o n d e c t o r , 1 9 9 8 : 1 - 1 01 9 H i t a c h i . H i t a c h i S u p e r H T m R I S C E n g i n e S H

101、7 0 4 0 S e r i e s H a r d w a r e M a n u al . 2 0 0 0 : 9 1 - 1 1 02 0马忠梅, 籍顺心, 张凯, 马岩. 单片机的C语言应用程序设计. 北 京航空航天一一一一一一绍鳖星尝婆翌翌 选 大学出版社, 1 9 9 9 :4 65 32 1 陈 汉 汛 , 吉 孔 武 , 许 达 伟 , 刘 建 国 . L D自 动 测 试 系 统 的 研 制 与 开 发 武 汉 理 工 大学学报 2 0 0 1 , ( 2 3 ) :462 2 C o m p a q , In t e l , M i c r o s o f t , U n

102、 iv e r s a l S e r i a l B u s S p e c i f i c a t io n . 1 9 9 8 : 1 5 - -2 42 3 H a th a w a y , V e r m a L o w P o w e r S y s t e m D e s ig n T e c h n i q u e s U s i n g t h e U n iv e r s a l S e r i a l B u s Mi c r o c o n t r o l l e r . N o r t h c o n , N o v . 1 9 9 6 : 2 7 0 - - 2 7

103、 22 4孙 义 , 马 莉 , 国 雪 飞 . W in d o w s W D M设 备 驱 动 程 序 开 发 指 南 . 机 械 工 业 出 版 社, 2 0 0 0 : 3 1 33 9 22 5腾岩峰 . 基于U S B通 用串 行总线的 测试工作 平台 . 哈尔滨工业大学 硕士 论文 2 0 0 2 : 1 - 2 02 6 A l m g r e n R .C . D a t a A c q u i s it i o n A n d I n s t r u m e n t C o n t r o l W i t h P e r s o n a l C o m p u t e r

104、 s . E l e c t r o I n t e r n a t i o n a l , 1 9 9 1 : 6 3 2 - 6 3 52 7 J o h n H y d e . U S B D e s i g n E x a m p l e : A P r a c t i c e G u i d e t o B u i l d i n g I l 0 D e v i c e Wi l e y N Y I n t e l U n i v e r s a l P r e s s : I2 8 L y n n . U n i v e r s a l S e r i a l B u s ( U

105、S B ) P o w e r Ma n a g e m e n t . WE S C O N . S e p t . 1 9 9 8 : 1 9 4 一 0 12 9 H . C r u i c k s h a n k , Z . S u n a n d Z .F a n . U n i v e r s a l S e r i a l B u s I m p l e m e n t i n A n I n t e g r a t e d A c c e s s C h i p f o r I S D N S y s t e m s . I E E E P r o c - C o m m u

106、n , V o l . 1 4 8 , N o .4 , A u g u s t 2 0 0 1 : 2 0 7 一 2 1 13 0 R o b e r t R S e v e r s o n . A p p l i e d U S B : A C o o k b o o k A p p r o a c h . C i r c u i t C e l l a r . 2 0 0 0 , ( 1 1 6 ) : 1 01 93 1陈逸. U S B大全. 中国电力出版社, 2 0 0 1 :4 9 - 5 43 2 Mi k e Z e r k u s , J o h n L u s h e

107、r &J o n a t h a n Wa r d . U S B P r im e r P r a c t i c a l D e s i g n G u id e . C i r c u i t C e l l a r . Ma y 1 9 9 9 :23 3 J i m L y le . U S B P r im e r C l a s s e s a n d D r i v e r s . C i r c u it . I s s u e 1 0 7 J u n e 1 9 9 9 : 1 - 3 23 4 J ik e Z e r k u s , J o h m L u s h e

108、r , o n a t h a n Wa r d . U S B P r i m e r P r a c t i c a l D e s i g n G u i d . C i r c u i t C e l l a r . 1 9 9 9 , ( 1 0 6 ) : 5 8 - - 6 93 5 U S B I m p l e m e n t e r s F o r u m. D e v i c e C l a s s D e f i n it i o n f o r H u m a n I n t e r f a c e D e v i c e ( H I D ) . 1 9 9 9 :

109、2 1 - 7 33 6 U S B I m p l e m e n t e r s F o r u m . U n i v e r s a l S e r i a l B u s ( U S B ) H I D U s a g e T a b l e s , V e i s i o n 1 . 1 . 1 9 9 9 : 1 2 - 2 53 7 J i m L y l e . U S B F i r m w a r e D e s c r i p t i o n . N a t i o n a l S e m i c o n d u c t o r , 1 9 9 8 : 1 - 2 03

110、 8 C h u n g - P i n g Y o u n g , D e v a n e y , M. J , S h y h - C h y a n g Wa n g U n i v e r s a l S e r i a l B u s哈尔滨工业大学工学硕士学位论文 E n h a n c e s V i r t u a l I n s t r u m e n t - b ase d D i s t r i b u t e d P o w e r Mo n i t o r i n g . I n s t r u m e n t a t i o n a n d M e as u r e

111、m e n t , I E E E T r a n s a c t i o n s o n . 2 0 0 1 , ( 6 ) : 1 6 9 2 - 1 6 9 73 9 D a v id J .K r u g l i n s k i . V i s u a l C + +技术内 幕. 清华大学出版社, 1 9 9 9 :4 2 6 - 4 4 84 0白 瑜. 实用Wi n d o w s 2 0 0 0 编程. 国防工业出版社, 2 0 0 1 : 5 66 0哈尔滨丁业人学工学硕 i s 学位论文附录H A ND L E G e t D e v i c e V i a l n t e

112、r f a c e ( G U I D p G u i d , D WO R D i n s t a n c e )/ / G e t h a n d l eHDE VI NF Ot o r e l e v a n t d e v i c e i n f o r m a t i o n s e ti n f o,S e t u p D i G e t C I a s s D e v s ( p G u i d , N U L L , N U L L , D I G C F - P R E S E N T D I G C F I N T E R F A C E D E V I C E ) ;i

113、f ( i n f o = = I N V A L I D H A N D L E V A L U E )/ / p r i n t f ( N o H D E V I N F O a v a i l a b l e f o r t h i s G U I D n ) ;r e t u r n N U L L ;/ / G e t i n t e r f a c e d a t a f o r t h e r e q u e s t e d i n s t a n c eS P I N T E R F A C E D E V I C E D A T A i f d a t a ;i f d a

114、 t a .c b S i z e = s i z e o f ( i f d a t a ) ;i f ( ! S e t u p D i E n u m D e v i c e l n t e r f a c e s ( i n f o , N U L L , p G u i d , i n s t a n c e , & i f d a t a ) ) ( S e t u p D i D e s t r o y D e v i c e l n f o L i s t ( i n f o ) ; r e t u r n N U L L ; / / G e t s iz e o f s y

115、m b o l i c l i n k n a m e D WO R D R e g L e n ;S e t u p D i G e t D e v ic e l n t e r f a c e D e t a i ( i n f o , & i f d a t a , N U L L , 0 , & R e g L e n , N U L L ) ;P S P I NT E R F AC E D E VI C E D E T AI L D A T A i f De t a i l =( P S P I N T E R F A C E D E V I C E D E T A I L D A

116、T A ) ( n e w c h a r R e g L e n ) ;i f ( i f D e t a i l =N U L L )S e t u p D i D e s t r o y D e v i c e l n f o L i s t ( i n f o ) ;r e t u rn NU L L ;)/ / G e t s y m b o l i c l i n k n a m ei f D e t a i l - c b S iz e = s i z e o 叹 S P I N T E R F A C E 夕E V I C E es D E T A I L D A T A )

117、;4 6哈尔滨工业大学工学硕上 学位论文i f ( ! S e t u p D i G e t D e v i c e l n t e r f a c e D e t a i l ( i n f o , & i f d a t a , i f D e t a i l , R e g L e n , N U L L , N U L L ) ) S e t u p D i D e s t r o y D e v i c e l n f o L is t ( i n f o ) ; d e l e t e i f D e t a i l ; r e t u r n N U L L ;s t r c

118、p y ( c o m p l e t e D e v i c e N a m e , i f D e t a i l - D e v i c e P a t h ) ;H O p e n f i leH A ND L E rv; rv = C r e a t e F i l e ( c o m p l e t e D e v i c e N a m e , G E N E R I C _ R E A D】 G E N E R I C _ WR I T E , F I L E S H A R E _ R E A D I F I L E S H A R E - W R I T E , N U L

119、 L , O P E N 一X I S T I N G , F I L E es F L A G 一V E R L A P P E D , N U L L ) ;i f ( r v = = 1 N V A L I D H A N D L E V A L U E ) rv = N U L L ;d e le t e i f D e t a i l ;S e t u p D i D e s t r o y D e v i c e l n f o L i s t ( i n f o ) ;r e t u r n四;哈尔滨工业人学T学硕 卜 学位论文攻读学位期间发表的学术论文王艳, 赵宝发等. 基于

120、U S B的半导体激光器参数测试仪的研制 计量测试 ( 己投稿)哈尔滨工业大学硕士学位论文原创性声明 本人郑重声明:此处所提交的硕士学位论文 基于 U S B的半导体激光器参数测试仪控制系统的研制 ,是本人在导师指导下,在哈尔滨工业大学攻读硕士学位期间独立进行研究工作所取得的成果。据本人所知,论文中除己注明部分外不包含他人已发表或撰写过的研究成果。对本文的研究工作做出重要贡献的个人和集体,均已在文中以明确方式注明。本声明的法律结果将完全由本人承担。 作 者 签 字jE A4日 期 : 知乙 年 7 即日哈尔滨工业大学硕士学位论文使用授权书 基于U S B的半导体激光器参数测试仪控制系统的研制系

121、本人在哈尔滨工业大学攻读硕士学位期间在导师指导下完成的硕士学位论文。本论文的研究成果归哈尔滨工业大学所有,本论文的研究内容不得以其它单位的名义发表。本人完全了解哈尔滨工业大学关于保存、使用学位论文的规定,同意学校保留并向有关部门送交论文的复印件和电子版本,允许论文被查阅和借阅。本人授权哈尔滨工业大学,可以采用影印、缩印或其他复制手段保存论文,可以公布论文的全部或部分内容。 保密口,在本学位论文属于 不保密口。( 请在以上相应方框内打 “ ,/; 作 者 签 名 : 走 合 ill 导 师 签 名 : 多 寻 扣年解密后适用本授权书。日 期 : .1 00 5 年z 月, 日日 期 : - 0

122、3 年7 月 7 日 4 9哈尔滨下业大学T学硕 一 学位论文致谢 本论文工作是在王艳老师的直接关怀和悉心指导下完成的。王艳导师渊博的知识、严谨谦虚的治学态度、丰富的工作经验和生活经历以及平易近人的工作方式,使我在学习、工作和生活上都取得了很多收益,终生难忘。使我学会了 独立从事科研工作和分析与解决问题的科学方法,在今后学习和工作中将产生重要的影响。 本人在完成课题研究期间还得到了许文海老师大力支持和帮助,使得本课题得以顺利的完成。同时还得到了实验室许多同学的帮助,如马力军同学、朱伟同学、杨明伟同学等等。在此对他们表示衷心的感谢。 同时,谨向关心本人成长的父母家人和培养教育过自己的师长们表示衷心的谢意。- 5 0-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号