论文摘要
针对在激光陀螺测试中,每4ms一次的数据采集并与计算机实时通信时出现的各种问题,设计了一种基于USB2.0高速接口的多路脉冲采集系统。本系统利用USB接口芯片中的端点缓冲区(FIFO)存放每4ms采集到的数据,并以1s为时间间隔,由主机把这些数据读入,成功的检测了陀螺在上电后2.8s内的点火次数和点火时间,陀螺在2.8~2.9s内的漂移量以及在2.9s以后在三个方向上自由度以4ms为周期的转动变化。文中首先详细地阐述了USB2.0基本规范,着重探讨了USB总线协议和通信原理;接着概述了陀螺测试方面的基本知识,介绍了USB脉冲数据采集系统硬件的搭建以及FPGA中电路原理图的设计;然后论述了相应固件程序和WDM模式驱动程序的总体结构以及驱动程序中各个子模块的功能和特点,并结合本设计说明如何编制一个WDM型设备驱动程序来实现应用程序与USB设备之间的通信;最后,详细论述应用程序如何对USB接口上传的数据进行实时处理和显示。硬件设计主要包括搭建信号预处理模块、FPGA计数模块以及数据采集系统和上位机之间的通信接口电路。本系统采用CYPRESS公司的CY7C68013芯片作为USB2.0接口芯片,采用ALTERA公司的FPGA EPF10K10实现计数模块,同时在FPGA内部构建系统控制器,实现对FIFO的控制。软件编程分为三部分:第一,为满足系统要求,使用C51语言编写USB固件程序;第二,在PC机中的Windows系统环境下,用VC++6.0和DrvierStudio编写USB设备驱动程序;第三,为保证数据采集的实时性,用VC++编写出的数据采集应用程序。通过本数据采集系统的设计,可以深刻地理解USB2.0协议,熟练地应用CY7C68013接口芯片,并且能更好领悟USB2.0接口的优势。本系统使用FPGA实现计数器及逻辑控制模块的功能,计数频率范围可达0.01Hz~16MHz;经测试,系统性能可靠,且能长时间稳定运行。
论文目录
摘要Abstract1 绪论1.1 陀螺概述1.2 USB总线发展情况1.3 课题背景1.4 本文主要的研究工作1.5 论文的结构安排2 USB 基本架构及其通信原理2.1 USB的基本特征2.1.1 USB 系统结构2.1.2 USB 通信流的模式与管线2.2 USB设备的总线列举过程2.3 USB设备的描述符及其标准设备请求2.3.1 USB 设备的描述符2.3.2 标准描述符的定义2.3.3 USB 标准设备请求2.3.4 数据包2.3.5 主机是主控者2.3.6 USB 的方向2.3.7 帧结构2.3.6 传输方式3 系统设计要求与方案选择3.1 陀螺测试的性能指标及方法3.1.1 陀螺测试性能指标3.1.2 陀螺性能误差3.1.3 陀螺性能指标测试方法3.2 测试系统概述3.2.1 被测产品简介3.2.2 测试要求3.2.3 测试方案3.3 系统设计方案3.2.1 硬件设计方案3.2.2 软件设计方案4 硬件电路的设计4.1 系统的硬件结构4.2 信号预处理电路的设计4.2.1 整形电路4.2.2 光电隔离电路4.2.3 输出放大电路4.3 FPGA内部功能的实现4.3.1 FLEX 10K 系列器件性能特点4.3.2 FPGA 内部功能的实现4.4 FPGA外部配置电路的设计4.4.1 FPGA 在线配置电路的设计4.4.2 FPGA 芯片配置的设计4.5 USB接口电路4.5.1 CY7C68013 的功能特性4.5.2 CY7C68013 的管脚配置4.5.3 USB 接口电路的连接5 USB 固件程序的设计5.1 固件框架5.1.1 固件框架的规划5.1.2 框架函数挂钩5.2 描述符定义5.3 专用设备固件程序5.4 中断处理5.5 固件函数库6 驱动程序的设计6.1 WDM简介6.1.1 WDM 驱动程序运行机制6.1.2 标准总线驱动程序和类驱动程序6.1.3 WDM 设备驱动程序的组成结构6.1.4 USB 驱动程序配置和框架6.2 WDM开发工具的选择6.3 USB陀螺测试系统驱动程序的开发6.3.1 驱动程序开发环境的设置6.3.2 利用DriverWizard 生成驱动程序框架和设备配置信息6.3.3 驱动程序功能实现6.3.4 驱动程序的安装与调试7 应用程序的设计7.1 应用程序对驱动程序的访问7.2 WDM驱动程序和应用程序的通信7.3 应用程序的设计7.4 测试结果分析8 总结参考文献致谢攻读硕士学位期间发表的论文
相关论文文献
标签:通用串行总线论文; 陀螺测试论文; 接口芯片论文; 协议论文; 固件编程论文;