基于USB接口与labview的数据采集卡设计_第1页
基于USB接口与labview的数据采集卡设计_第2页
基于USB接口与labview的数据采集卡设计_第3页
基于USB接口与labview的数据采集卡设计_第4页
基于USB接口与labview的数据采集卡设计_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、河北工程大学毕业设计i摘摘 要要离心式水泵是矿山机械中广泛使用的机械设备,对保证矿山生产安全正常地进行发挥着重要的作用。一种准确方便的水泵检测设备对于煤矿企业来说是非常重要的。并且对于保障矿山安全生产具有重要的意义。水泵要测量的主要参数有流量,水泵转速,电机转速,电机功率,电机电流,水泵轴功率。文中介绍了一种用 usb2.0 总线技术解决数据采集系统接口题的实施方案。文中首先深入研究了 usb 的体系结构,然后结合提出的方案,较为全面地介绍了系统的硬件和软件设计。其中硬件部分具体描述了 usb2.0 控制器 cy7c68013 和模数转换芯片 ads7825p 的接口设计,同时也给出了各种电源

2、转换的实现方法。在软件部分,通过分析 ez-usb 的固件编程框架驱动程序是系统硬件和应用程序之间通信的桥梁,文中介绍了 usb 的labview 驱动程序设计过程;最后,设计了数据采集和上位机驱动的应用程序,并对其功能做了解释。系统不仅实现了数据的采集、传输和保存数据的功能,并且具有热插拔、即插即用、便携式的特点,达到了预期的效果。关键词:关键词:离心泵测试,数据采集,usb2.0,驱动程序,labview河北工程大学毕业设计iiabstractabstractcentrifugal pumps are widely used in mining machinery, mechanical

3、equipment, to ensure the safety of mine production to normal play an important role. an accurate and convenient pump test equipment for the coal mining enterprises is very important. safety of coal mines and for the production of great significance. the main pump parameters to measure flow, pump spe

4、ed, motor speed, motor power, motor current, pump shaft power.based on the research, the solution to the data acquisition system was put forward with the usb2.0 technology in the paper. with the analysis on the subject, the architecture of the usb was deeply analyzed firstly, and according to the sc

5、heme of the data acquisition system, the detailed hardware and software design was introduced. in the hardware section, the interface between the cy7c68013 and the a/d converter was introduced, and the various dc-dc circuit were embodied. in the software section, and the testing result of the firmwa

6、re was listed at the end of the firmware part;function driver is the bridge between hardware and software, and the design process of the labview driver for the usb was introduced here; finally the application software used to exhibit the curves and upper computer driver was designed, and the functio

7、ns of the software were also explained.the system not only achieve the data acquisition, transforming and memory, but also has the attributes of hot-plug-in,plus-and-play, and man-pack. the expect result is achieved.河北工程大学毕业设计iiikey words: centrifugal pump,data acquisition,usb2.0, driver,labview河北工程

8、大学毕业设计1目 录摘摘 要要 .iabstractabstract.ii第一章第一章 绪绪 论论.11.1 课题研究的背景及意义.11.2 usb 简介.11.2.1 usb 优点.11.2.2 国内外应用现状及发展趋势.21.3 离心泵测试.31.4 虚拟仪器技术及相关知识.41.4.1 虚拟仪器简述.41.4.2 虚拟仪器的优势.51.4.3 虚拟仪器系统的构成.51.5 课题研究的主要内容.71.6 课题意义.7第二章第二章 基于基于 usbusb 数据采集系统整体设计数据采集系统整体设计.82.1 usb 数据采集系统的性能指标.82.2 usb 数据采集系统的硬件构成.82.3 u

9、sb 数据采集系统的软件设计.8第三章第三章 数据采集系统硬件电路设计数据采集系统硬件电路设计 .1031 usb2.0 协议.103.1.1 usb 系统组成.103.1.2 usb 设备组成.103.1.3 usb2.0 数据帧.123.1.4 usb2.0 端点缓冲区.133.1.5 usb 插头插座.143.2 主要芯片介绍.143.2.1 为何选择 cy7c68013.143.2.2 cy7c68013 芯片简介.16河北工程大学毕业设计23.1.3 ads7825p 简介.223.2 usb 采集系统原理电路设计.243.2.1 主芯片外围电路设计.243.2.2 a/d 转换电路

10、设计.253.2.3 传感信号处理电路设计.283.2.4 电源电路设计.303.2.5 eeprom 电路设计.32第四章第四章 usbusb 数据采集系统软件设计数据采集系统软件设计.344.1 固件程序开发.344.1.1 固件功能及编程.344.1.2 列举和重列举.364.1.3 usb 描述符.384.2 驱动程序开发.404.2.1 使用 driver development wizard 创建 inf 文档.404.2.2 安装 inf 文档和 usb 设备.434.2.3 使用 visa interactive control 测试通讯情况.444.3 数据采集程序设计.46

11、4.4 上位机程序开发.47第五章第五章 结论与展望结论与展望 .49参考文献参考文献.50致致 谢谢.51河北工程大学毕业设计1第一章 绪论1.1 课题研究的背景及意义信息技术与电子技术的迅猛发展,使得计算机和外围设备也得到飞速发展和应用,在科学研究领域和许多生产场合中常用到数据采集技术,并且对数据采集的各种要求也越来越高。传统的通信方式由于传输速度慢、抗干扰能力弱、安装麻烦等原因严重阻碍了数据采集设备的发展,新一代通用串行总线(universal serial bus,简称usb)具有传输线少、速度快、支持热插拔以及易于扩展等优点,很好的解决了以上问题,因此串行总线技术在计算机系统及通信设

12、备中迅速得到了广泛的应用。 文中分析了usb总线的体系结构和特点,针对传统总线不足之处,在此基础上研究了基于usb的数据采集系统,根据系统应该达到的技术指标,从而确定系统的整体框架和各个部分芯片的选择。而且usb接口芯片价格低廉,大大促进usb设备的开发和应用。所以目前基于usb的数据采集卡已经成为一种流行趋势12。通常开发usb系统时,先用windows ddk(设备驱动程序开发包)或第三方开发工具(如driver studio)开发usb驱动程序,然后用visual c+编写dll(动态连接库),最后再调用dll来开发应用程序,这对不熟悉windows编程的人有一定的难度;而usb应用程序

13、也大都是使用visual c+来编写的,过程繁琐,调试麻烦,花费的时间也比较长。美国国家仪器ni(national instrument)公司开发的labew(laboratory virtual instrument engineering workbeneh)语言是一种基于图形程序的编程语言,含有丰富的数据采集、数据信号分析以及控制等子程序,易于调试和维护,且程序编程简单、直观口。可以直接在labew环境下通过nivisa(virtual instrument software architeeture,以下简称为“visa”)开发驱动程序,完全避开了以前开发usb驱动程序的复杂性,大大缩

14、短了开发周期。用它来开发应用程序,把采集来的数据传送到主机上,再通过labew的模块实现数据的实时显示、分析和存储。1.2usb 简介1.2.1usb 优点usb(universalserialbus)是一种通用串行总线usb是1995年康柏、微软、mm、dec等公司为解决传统总线不足而推广的一种新型的快速双向同步传输并可热插拔数据传输总线。该总线接口具有以下优点4:河北工程大学毕业设计2(l)低成本。为了把外设连接到计算机上,usb提供了一种低成本的解决方案,即所有系统的智能机制都驻留在主机并嵌入芯片组中,方便了外设的制造。(2)可以热插拔。这就让用户在使用外接设备时,不需要重复“关机将并口

15、或串口电缆接上再开机”这样的动作,而是直接在pc开机时,就可以将usb电缆插上使用。(3)携带方便。usb设备大多以“小、轻、薄”见长,对用户来说,同样20g的硬盘,usb硬盘比roe硬盘要轻一半的重量,在想要随身携带大量数据时,当然usb设备会是首要之选。(4)标准统一。大家常见的是de接口的硬盘,串口的鼠标键盘,并口的打印机扫描仪,可是有了usb之后,这些应用外设统统可以用同样的标准与pc连接,这时就有了usb硬盘、usb鼠标、usb打印机。(5)单一连接器类型。usb定义了一种简单的连接器,仅适用一个四芯电缆即可链接任何一个usb设备。(6)独立供电。usb通过集线器向设备提供电源,当外

16、设的电源要求电压5v电流小于5ooma时,可以直接从usb总线获取电源,这样usb无需专用电源线,从而降低成本。(7)错误检测和恢复。usb事务处理包括错误检测机制,他们可以确保数据无错误发送了 (8)usb系统在设计保持了向上的继承性。1.2.2 国内外应用现状及发展趋势usb设备的应用目前在国外处于高速发展阶段,国外有些企业也已经推出了很多适应不同条件、不同精度的usb数据采集系列产品。典型的是美国国家仪器有限公司(national instruments,ni)公司研制的一系列usb数据采集卡,ni于2005年8月退出了八款最新usb2.0高速数据采集设备,从而扩展了其业界领先的高性能u

17、sb数据采集设备usb-9000系列产品,实现了高达800ks/s的采样率。此后新推出的usb高速设备包含免费的交互式数据记录软件,以供分析之用。usb设备在国内的应用已经起步,并速度快,水平不断提高。市场上国内产品有北京优采公司系列、四川拓普公司的daq,ubox,ucard等系列。国内在usb数据采集,usb工业控制等领域已经取得了一定的成果,在现实中的得到成功的应用。usb2.0协议,数据传输速率高达480mbps,如此高的传输速率能用于1.0的传输速率所无法满足的地方,如高实时性要求的工业设备控制,动态图像实时传输等,随着时代的进步和技术的发展,usb必将在更广阔的领域得到更深层次的应

18、用。国内有一些厂商为usb设备研发提供软硬件支持,这很大程度上降低了开发难度,减少了开发时间,提高了开发质量和效率usb2.0接口凭借低成本,高性能,可靠稳定,方便灵活的特点,河北工程大学毕业设计3将逐步成为微型计算机的主要输入输出方式。总的来说,目前国内对 usb 数据采集设备的研制已经取得了可喜的发展,但是与国外的情况相比,在开发和应用的深度和广度而言,还有一段距离现场数据采集要求比较高的场合多是采用的国外产品。因此,随着计算机对 usb 接口的普及和实际应用中对数据采集卡要求的提高,利用 usb2.0 协议规范开发出符合多种场合要求的数据采集系统,以及此领域内先进产品的国产化等都成了急待

19、解决的现实问题1.3 离心泵测试离心泵由于具有结构简单,紧凑,重量轻,造价低,排量大以及供液均匀等优点,因而获得了广泛的应用。由于泵类产品在结构上和在运行过程中特有的复杂性,对泵的性能测试是泵研制、开发以及生产中必不可少的重要环节1。传统的测试系统存在硬件集成复杂、界面不友好、开发周期长和对开发人员编程能力要求高等缺点2。本文基于labview虚拟仪器平台,运用usb 总线技术,开发的离心泵性能测试系统很好的解决了上述缺点,系统硬件简单,可移动性强,操作方便,实用性强,具有十分重要的现实意义。水泵要测量的主要参数有流量,水泵转速,电机转速,电机功率,电机电流,水泵轴功率。水泵流量的检测有多种方

20、法与传感器,比如水堰法,差压式流量计,涡轮流量计,电磁流量计,超声波流量计,但相比较而言超声波流量计不破坏管路于管外安装,且简单实用,安装方便, 。由于不和流体接触,对流体无阻力,因此在煤矿生产中应用日益广泛。超声波流量计可以适用于不同大小管径的流量测量,解决了大管径流量的测量问题。转速的测量方法很多,根据脉冲计数来实现转速测量的方法主要有 m 法(测频法)、t法(测周期法)和 mpt 法(频率周期法),我们采用和测频法。根据霍尔效应原理,将一块永久磁钢固定在电机转轴上的转盘边沿,转盘随测轴旋转,磁钢也将跟着同步旋转,在转盘下方安装一个霍尔器件,转盘随轴旋转时,受磁钢所产生的磁场的影响,霍尔器

21、件输出脉冲信号,其频率和转速成正比。电机转速的检测同水泵转速。功率通常是指机械的回转功率,即在稳定状态下原机轴端的扭矩与转速的乘积。测量的方法主要有:用转矩速传感器与转矩转速功率仪配套测量、扭矩法测功率和电测法等。也可以用功率传感器直接测量。功率传感器也称功率计探头,它把高频电信号通过能量转换为可以直接检测的电信号。河北工程大学毕业设计4水泵的轴功率是电动机传递给水泵轴的功率。水泵轴功率的测定实质上是通过测定拖动电机的输入功率和功率损耗来确定拖动电机的输出功率,对于联轴器直连传动机组,电动机输出功率与传动效率之积为水泵轴功率。1.4 虚拟仪器技术及相关知识虚拟技术、计算机通信技术与网络技术是信

22、息技术的重要组成部分,它们被称为21世纪科学技术中的三大核心技术。虚拟技术的出现大大改变了人类现有的思维模式工作模式和生活模式。虚拟仪器技术是计算机技术和仪器技术深层次结合的产物,是一种全新的仪器形式。它的出现使仪器与计算机之间的界限开始消失,是仪器发展史上的一场革命。1.4.1 虚拟仪器简述虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。自1986年问世以来,世界各国的工程师和科学家们都已将ni labview图形化开发工具用于产品设计周期的各个环节,从而改善了产品质量、缩短了产品投放市场的时间,并提高了产品开发和生产效率。使用集成化的虚拟仪器环

23、境与现实世界的信号相连,分析数据以获取实用信息,共享信息成果,有助于在较大范围内提高生产效率。虚拟仪器提供的各种工具能满足我们任何项目需要。20年来,无论是初学乍用的新手还是经验丰富的程序开发人员,虚拟仪器在各种不同的工程应用和行业的测量及控制的用户中广受欢迎,这都归功于其直观化的图形编程语言。虚拟仪器的图形化数据流语言和程序框图能自然地显示您的数据流,同时地图化的用户界面直观地显示数据,使我们能够轻松地查看、修改数据或控制输入19。美国国家仪器公司ni(nationalinstruments)提出的虚拟测量仪器(vi)概念,引发了传统仪器领域的一场重大变革,使得计算机和网络技术得以长驱直入仪

24、器领域,和仪器技术结合起来,从而开创了“软件即是仪器”的先河。“软件即是仪器”这是ni公司提出的虚拟仪器理念的核心思想。从这一思想出发,基于电脑或工作站、软件和io部件来构建虚拟仪器。io部件可以是独立仪器、模块化仪器、数据采集板(daq)或传感器。ni所拥有的虚拟仪器产品包括软件产品(如labview) 、gpib产品、数据采集产品、信号处理产品、图像采集产品、dsp产品和vxi控制产品等。1.4.2 虚拟仪器的优势河北工程大学毕业设计5同其他技术相比,虚拟仪器技术具有四大优势16:1)性能高虚拟仪器技术是在pc技术的基础上发展起来的,所以完全继承了以现成即用的pc技术为主导的最新商业技术的

25、优点,包括功能超卓的处理器和文件i/o,使您在数据高速导入磁盘的同时就能实时地进行复杂的分析。此外,不断发展的因特网和越来越快的计算机网络使得虚拟仪器技术展现其更强大的优势。2)扩展性强ni的软硬件工具使得我们不再受限于当前的技术中。这得益于ni软件的灵活性,只需更新计算机或测量硬件,就能以最少的硬件投资和极少的、甚至无需软件上的升级即可改进整个系统。在利用最新科技的时候,我们可以把它们集成到现有的测量设备,最终以较少的成本加速产品上市的时间。3)开发时间少在驱动和应用两个层面上,ni高效的软件构架能与计算机、仪器仪表和通讯方面的最新技术结合在一起。ni设计这一软件构架的初衷就是为了方便用户的

26、操作,同时还提供了灵活性和强大的功能,使我们轻松地配置、创建、发布、维护和修改高性能、低成本的测量和控制解决方案。4)无缝集成虚拟仪器技术从本质上说是一个集成的软硬件概念。随着产品在功能上不断地趋于复杂,工程师们通常需要集成多个测量设备来满足完整的测试需求,而连接和集成这些不同设备总是要耗费大量的时间。ni的虚拟仪器软件平台为所有的i/o设备提供了标准的接口,帮助我们轻松地将多个测量设备集成到单个系统,减少了任务的复杂性。1.4.3 虚拟仪器系统的构成虚拟仪器由硬件设备与接口、设备驱动软件和虚拟仪器面板组成。其中,硬件设备与接口可以是各种以pc为基础的内置功能插卡、通用接口总线接口卡、串行口、

27、vxi总线仪器接口等设备,或者是其它各种可程控的外置测试设备,设备驱动软件是直接控制各种硬件接口的驱动程序,虚拟仪器通过底层设备驱动软件与真实的仪器系统进行通讯,并以虚拟仪器面板的形式在计算机屏幕上显示与真实仪器面板操作元素相对应的各种控件15。用户用鼠标操作虚拟仪器的面板就如同操作真实仪器一样真实与方便。 1.虚拟仪器系统的硬件构成 虚拟仪器的硬件系统一般分为计算机硬件平台和测控功能硬件。计算机硬件平台可以是各种类型的计算机,如台式计算机、便携式计算机、工作站、嵌入式计算机等。它河北工程大学毕业设计6管理着虚拟仪器的软件资源,是虚拟仪器的硬件基础。因此,计算机技术在显示、存储能力、处理器性能

28、、网络、总线标准等方面的发展,导致了虚拟仪器系统的快速发展。 按照测控功能硬件的不同,vi可分为daq、gpib、vxi、pxi和串口总线五种标准体系结构,它们主要完成被测输入信号的采集、放大、模/数转换。 2.虚拟仪器系统的软件构成 测试软件是虚拟仪器的主心骨。ni公司在提出虚拟仪器概念并推出第一批实用成果时,就用软件就是仪器来表达虚拟仪器的特征,强调软件在虚拟仪器中的重要位置。ni公司从一开始就推出丰富而又简洁的虚拟仪器开发软件。使用者可以根据不同的测试任务,在虚拟仪器开发软件的提示下编制不同的测试软件,来实现当代科学技术复杂的测试任务。在虚拟仪器系统中用灵活强大的计算机软件代替传统仪器的

29、某些硬件,特别是系统中应用计算机直接参与测试信号的产生和测量特性的分析,使仪器中的一些硬件甚至整个仪器从系统中消失,而由计算机的软硬件资源来完成它们的功能。虚拟仪器测试系统的软件主要分为以下四部分。 (1)仪器面板控制软件 仪器面板控制软件即测试管理层,是用户与仪器之间交流信息的纽带。利用计算机强大的图形化编程环境,使用可视化的技术,从控制模块上选择你所需要的对象,放在虚拟仪器的前面板上。 (2)数据分析处理软件 利用计算机强大的计算能力和虚拟仪器开发软件功能强大的函数库可以极大提高虚拟仪器系统的数据分析处理能力,节省开发时间。 (3)仪器驱动软件 虚拟仪器驱动程序是处理与特定仪器进行控制通信

30、的一种软件。仪器驱动器与通信接口及使用开发环境相联系,它提供一种高级的、抽象的仪器映像,它还能提供特定的使用开发环境信息。仪器驱动器是虚拟仪器的核心,是用户完成对仪器硬件控制的纽带和桥梁。虚拟仪器驱动程序的核心是驱动程序函数/vi集,函数/vi是指组成驱动的模块化子程序。驱动程序一般分为两层,底层是仪器的基本操作,如初始化仪器配置仪器输入参数、收发数据、查看仪器状态等。高层是应用函数/vi层,它根据具体测量要求调用底层的函数/vi。 (4)通用 i/o 接口软件 在虚拟仪器系统中,i/o接口软件作为虚拟仪器系统软件结构中承上启下的一层,其模块化与标准化越来越重要。vxi总线即插即用联盟,为其制

31、定了标准,提出了自底向上的i/o接口软件模型即visa。作为通用i/o标准,visa具有与仪器硬件接口无关性的特点, 即这种软件结构是面向器件功能而不是面向接口总线的。应用工程师为带gpib接口仪器河北工程大学毕业设计7所写的软件,也可以于vxi系统或具有rs232接口的设备上,这样不但大大缩短了应用程序的开发周期,而且彻底改变了测试软件开发的方式和手段16。1.5 课题研究的主要内容本课题为水泵测试研究项目的一部分,旨在研究开发一款目前比较流行的基于usb接口与labview的数据采集卡。本课题分为以下几个主要方面:(l)熟悉usb协议及体系结构,掌握操作系统知识。(2)完成usb接口数据采

32、集卡硬件电路设计。(3)设计水泵测试中的采集信号的处理电路。(4)编写固件程序与驱动程序。(5)用labview编写上位机读写usb的上位机程序。其中难点是在于硬件电路的设计、usb驱动及上位机程序的编写。1.6 课题意义随着usb接口在pc机上已经成为标配以及现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,基于usb接口的数据采集平台的优势日益突显出来。目前在基于usb的数据采集卡已经成为一种流行趋势。但目前让有一些问题尚在研究发展之中,如,高速实时同步数据采集。本课题旨在研究开发一款目前比较流行的基于usb接口的数据采集卡,为今后的大量应

33、用奠定基石。河北工程大学毕业设计8第二章 基于usb数据采集系统整体设计 基于usb总线数据采集系统包括两部分:系统的硬件设计和软件设计。硬件设计部分完成数据采集功能,并将采集的数据传送给pc机;软件设计包括usb固件程序、设备驱动程序和上位机应用程序。整体设计思路为:用户通过主机端的应用软件下载usb固件代码,并向采集系统发出读写指令以及对对a/d的设置数据:采集系统收到指令后,根据所收到的设置开始对外部模拟信号进行a/d变换,转换后的数据有usb传输至计算机,在labview上位机程序中实现数据的接收和读取和显示。下面以usb数据采集系统须达到的技术指标来分别介绍这两部分的设计构想和原理。

34、2.1 usb 数据采集系统的性能指标(1)接口方式:usb总线接口(支持usb2.0接口标准、可热插拔,即插即拔) ;(2)输入通道:8个通道;(3)测量信号:工业现场各类传感器的输出电压信号、电流信号;(4) 信号的输入范围:0-5v;(5)a/d分辨率:16bit;(6)用户程序要实现数据的接收和读取功能;2.2 usb 数据采集系统的硬件构成基于usb总线数据采集系统的硬件部分 主要有以下几部分组成18: a/d模数转换芯片、usb2.0主控器、电源设计。实现多通道数据采集,多通道输入数据经过a/d的多通道数据选择并转换,由usb接口控制芯片的in端点读入缓冲区,在由其out端点输出至

35、pc机。 系统的工作流程为采集信号输入模数转换器(ads7815p)转换为数字信号用cy7c68013的i/o口引脚来控制ads7825p,进行读数据。pc的用户应用程序发出接受数据的请求,并由设备发出相应的响应决定是否开始传输数据。当系统上电后,系统自动识别设备后加载驱动程序,usb控制器的控件程序通过usb电缆从主机自动下载到其应用程序ram中,并经过列举和重列举后开始正常工作,计算机可以通过用户软件取得系统的配置信息。2.3 usb 数据采集系统的软件设计河北工程大学毕业设计9数据采集固件程序驱动程序界面程序图 2.1 系统软件的层次图usb 数据采集系统的软件部分一共包括三部分:芯片的

36、固件程序、设备的驱动程序和用户界面程序。这三部分;层次关系如图 2.1 所示。usb 固件程序是 usb 数据采集系统中处于最底层的设备端。它主要完成对 usb 芯片 68013、a/d 转换以及整个电路的初始化,将采集的数据送入 cy7c68013 的缓冲区发给 pc 机,接受并执行 pc 发出的指令。它负责处理 pc 机发来的各种 usb 设备请求,并以外围电路进行数据传输14。usb 驱动程序给用户界面程序提供了软件和硬件的平台连接的通道。应用程序的主要功能是对采集的数据进行读取显示,开发用户界面程序可以选择不同的开发软件,本系统中的应用程序软件是 labview,它可以使用图形化编程语

37、言,简单易懂,功能强大。河北工程大学毕业设计10第三章 数据采集系统硬件电路设计 本章主要介完成usb数据采集系统的硬件电路的设计,硬件电路设计部分主要包括多通道a/d转换电路、usb2.0主控制器(cy7c68013)外围电路设计、cy7c68013与模数转换器ads7825p的链接、传感信号调理电路、电源设计部分等。31 usb2.0 协议3.11 usb 系统组成首先了usb设备组成,并带着这些问题去阅读。usb系统的三个组成host、hub 和 device。cpuusbhostcpuusbdevice图 3.1 usb 最简单系统组成host:主控器,pc 端的就是 host了,如果

38、我们在 arm 芯片或者单片机上加上一个 host芯片就可以读写u盘和其它的device 了hub:host 只有一个 usb 口,如果要同时使用多个usb device,hub可以将一个usb口扩充多个usb 口,市场上都有卖。device:似乎大家对这个最为亲切,因为我们接触最多就是 usb device,例如移动硬盘、打印机、u 盘等。典型的 usb 系统都是由三者构成的,实际上主要是由 host 和 device 组成,最简洁的usb 系统构成如图 3.1 所示,其中 cpu 可以是pc机、单片机、arm、mips、coldfire、powerpc.3. 1.2 usb 设备组成 河北

39、工程大学毕业设计11接口a 接口a接口c接口b接口b配置1配置2端点图 3.2 usb 设备组成一般,如图 3.2 所示,每个 usb 设备由一个或多个配置(configuration)来控制其行为,使用多配置原因是对操作系统的支持;一个配置中是由接口(interface)组成;接口则是由管道( pipe ) 组 成 ; 管 道 是 和usb 设 备 的 端 点(endpoint)对应,端点都是输入输出成对的。在固件编程中,usb设备、配置、接口和管道都有描述符来报告其属性。虽然图中配置、接口、端点很多,但是一般使用的时候配置和接口我们都只设置一个,根据数据传输的实际情况,来选择用哪个端点,每

40、个芯片的端点数都是一定的,例如 an2131有 32个,68013 有 7 个端点,而实际工程中可能采用到其中的几个12。端点有了,就可以建立数据传输的管道,一个端点建立一个通道。一般管道的端点总是成对出现,一个in(device-pc) ,一个 out(device-pc)。如图 3.3,端点0默认配置为控制管道,用来完成所规定的设备请求,设备请求详见 usb 协议第九章。其它端点可配置为数据管道,对开发而言,主要的大数据传输都是通过数据管道来完成的。用户需要根据实际数据传输速度来规定数据管道的传输类型。同时,每种数据传输都必须根据数据请求的格式来进行。随着 usb1.x 的普及应用,为了增

41、加 usb 接口的应用范围,usbif 推出 usb2.0 规范,该规范在兼容 usb1.x 的基础至上,增加了 480mbps 的高速数据传输。总线拓扑上 usb2.0 仍然采用 usb1.x 的树型结构;物理连接上使用 usb1.x 定义好的a 型和 b 型接口;在传输速度上,usb2.0 支持 1.5mbps,12mbps,480mbps;数据传输上usb2.0 河北工程大学毕业设计12同 usb1.1 规范,支持四种传输:控制传输,批量传输,中断传输和等时传输;在数据包上,usb2.0 和 usb1.1 有着相同的数据格式,为了支持高速数据,usb2.0 增加了新的令牌数据包系统软件主

42、机适配器function(接口)逻辑设备总线接口应用软件电缆和hub数据管道控制管道虚拟信息流 物理信息流图 3.3 usb 多层次通讯模型3.1.3usb2.0 数据帧 usb2.0 和 usb1.1 规范最大的不同之处就是数据帧。如图 3.4,在 usb1.1 规范中,usb数据采用每毫秒一个数据帧的方式进行数据传输,在毫秒数据帧的开始,usb主机首先产生帧开始(sof)数据包,并传输当前数据帧号,后面是传输数据。对于 usb2.0 规范,为了支持 480mbps 高速传输速度,如图 3.5,usb2.0 提出了微帧的概念,每毫河北工程大学毕业设计13秒数据帧又包括 8 个微帧8。图 3.

43、4 usb1.1 数据帧 图 3.5 usb2.0 数据帧从图 3.4 和图 3.5 中可看出,在 usb 每个数据帧中包括的控制、中断、等时和批量传输数据,每个传输类型分配一定的带宽,中断传输和等时传输有时间要求,所以每个数据帧中均要分配一定带宽。3. 1. 4 usb2.0 端点缓冲区河北工程大学毕业设计14相对于 usb1.x,usb2.0 中每种传输类型的端点可以用更大的缓冲区,见表 3.1表 3.1端点缓冲区大小3.1. 5 usb 插头插座usb 是良好的屏蔽线,总共由四根线组成,见表 3.2。表 3.2 usb 接线信号usb 接插头和座的类型有两种,a 型和 b 型。通过 a

44、和 b 从联结上来区分 usb host 和 usb device,a 型用在 usb host 端,b 型用在 usb device 端,见表 3.3表 3.3 usb 插头和座其中 miniusb 型插头和座 usb2.0 协议才有。河北工程大学毕业设计153.2主要芯片介绍3.2.1 为何选择 cy7c68013目前 usb 芯片大致分为 5 大类型:1) 单独运作的 usb 接口芯片;2) 内含 usb 单元的微处理器(mpu) ;3) 特定的接口转芯片,如 usb 转 rs-232 或 usb 转 ata/atapi 等;4) pc 端或主机端的 usb 控制器;由于后两种是属于 p

45、c 主机板与芯片组制造商所开发的领域,不适合用户来开发 usb 外围设备;因此,对于一般的 usb 接口的开发者而言,可以选用前面的两种来满足自己的设计要求。1) 单独运作的 usb 接口芯片所谓usb接口芯片,即是仅包含usb的串行接口引擎(sie) 、fifo内存、收发器以及电压调节器等的芯片。为了降低成本,有的仅包含模拟的差动电路而已。这类的芯片只处理usb相关的通信工作,必须外加一个微控制器(mcu)来管理usb控制器的寄存器、设备描述符的获取和数据包的交换等,芯片提供一个串行或并行的数据总线来与控制器进行连接。这样,外部接口可能比usb最大速度要慢,使得芯片只适合传送间歇数据。这种类

46、型的接口芯片常用的有philips公司的 pdiusb11、11a 与 12 系列,national semiconductor公司推出的usbn9602/9603 以及netchip公司的net2888 与net2890 等等。2) 内含 usb 单元的微处理器(mpu)芯片内部已经嵌入了通用微控制器类型的usb控制器芯片一般是在通用微控制器的基础上扩展了usb功能,其优点是开发者熟悉这些通用微控制器的结构和指令集,相关资料丰富,易于进行开发。如cypress公司基于增强型8051内核的ez-usb fx系列,motorola 公司基于68hc08系列的68hc08jb8,atmel公司基于

47、avr的at76c711等usb控制芯片。采用单独运作的usb接口芯片的主要特点是成本低、接口形式多样、可靠性高,具有很高的灵活性,尤其适合于产品的改型设计;缺点是开发者需要非常熟悉 usb 的协议,以处理 usb 总线事务,加大了编程设计人员的开发难度,延长了产品的开发周期,同时要用微处理器控制收发器的工作。内含usb 单元的微处理器的优点是 cpu 只需要访问一系列寄存器和存储器,便可实现 usb 口的数据传输;从而简化了程序的设计,开发难度减小,而且许多供应商还提供许多范例电路和测试代码,使设计者从复杂的协议解释中得到解脱13。在本设计中,主要考虑到应用 usb2.0 技术,使整个数据采

48、集设备小型化,连接电河北工程大学毕业设计16路简单三个方面的因素,选择了内部嵌入了微控制器,并且支持usb2.0协议的usb2.0接口芯片cy7c68013该芯片属于cypress公司的fx2系列。cypress 公司推出的 cy7c68013 器件自从推出以来就受到广大用户的好评,主要原因有:出色 usb2.0 单芯片解决方案,68013 包含增强型 8051 内核和智能 usb 接口优良的性价比,其中56 引脚的 68013 市场售价不到 50 元,开发简单,cypress 公司提供了完整开发方案,如调试界面和固件框架真正体现 usb2.0 传输速度,包含通用可编程接口(gpif),实现与

49、外设的“胶连接” ,增强型 8051 的指令周期只有 4 时钟周期。3.2.2 cy7c68013 芯片简介1.芯片特点 图 3.6 fx2 框架图cy7c68013 特点3:usb2.0 单芯片解决方案,包括 usb2.0 收发器,串行接口引擎(sie)和增强型 51 内核可“软配置”ram,大小为 8.5k,取代传统 51 的 ram 和 rom,程序可通过下面方式下载:1) 通过 usb 口下载2) 通过外部 e2prom 装载河北工程大学毕业设计173) 外界存储设备(仅 128 引脚支持)4) 通用可编程接口 gpif,gpif 是 fx2 一个重要技术5) 可设置为主从模式,主模式

50、下可对外部 fifo,存储器,ata 接口设备进行高速读写操作,从模式下外部主控器(如 dsp,mcu)可把 gpif 端口当作 fifo 进行高速读写操作。1) 支持与外设通过并行 8 位或 16 总线传输2) 支持通过 gpif 编程工具编程,灵活产生各种波形3) 支持多 ctl 输出和多 rdy 输入4) 增强工业级 8051 内核5) 支持 48m 时钟6) 4个时钟指令周期,在时钟为 48m 时,单指令执行时间为 83.3ns7) 两个 uart8) 三个 timer9) 多中断系统10) 双数据指针11) 3.3v 工作电压12) 智能串行接口引擎(sie)13) usb 中断矢量

51、14) 100khz 或 400khz i2c 接口15) 4个集成 fifo16) 低成本与外设实现“胶连接”17) 自动实现从 16 位 fifo 转换18) 支持主从工作模式19) fifo 支持内外时钟和同步数据触发20) 轻松实现与 asic,dsp 连接21) 包括 40 多个通用 io 端口22) 4 种可选封装56 引脚 ssop 和 qfn,100 引脚 tqfp 和 128 引脚 tqfp。2.引脚说明fx2的引脚主要可以分为几类5:电源引脚,包括数字电源地和模拟电源地;系统引脚,如时钟,usb 挂起外部唤醒,usb 差分数据线,复位引脚,中断,计数器输入,uart 通信;

52、通用ios,包括端口a,b,c,d,e;地址与数据总线,可用来外扩展河北工程大学毕业设计18ram;gpif主模式引脚;fifo 从模式 slave fifo 引脚。引脚功能见图 3.7,图中 128 引脚封装 68013包括所有功能引脚,56引脚封装和100引脚封装只有其中的部分引脚。1) xtalin 和 xtalout 时钟输入引脚2) reset#复位输入引脚,低电平有效3) wakeup#外部唤醒引脚输入,低电平有效4) scl 和 sda 为 i2c 接口时钟与数据引脚5) ifclk,gpif 时钟,可作为输入或输出6) clkout,时钟输出,可设置为 12m,24m 或 48

53、m 时钟输出,作为其他外设时钟7) dplus 和 dminus,usb 数据线 d+和 d-8) pb0pb7 端口 b,复用引脚,可设置为 gpif 数据总线的低八位 fd0fd79) pd0pd7 端口 d,复用引脚,可设置为 gpif 数据总线的高八位 fd8fd1510) rdy0rdy5,gpif 主模式作为状态输入引脚,rdy0 和 rdy1 为 复用引脚,fifo 从模式作为读写信号 slrd和 slwr11) ctl0ctl5,gpif 主模式作为控制输出引脚,ctl0ctl2 可复用为 fifo 从模式12) 作为状态标志引脚 flaga,flagb,flagc13) pa

54、0pa7 端口 a,复用引脚,pa0 与中断 int0 复用,pa1 与中断 int1 复用,pa3 与usb 唤醒可选引脚 wu2 复用, pa2 与 fifo 从模式 fifo 输出使能引脚复用,pa4 与fifo 从模式 fifo 地址 fifoadd0 引脚复用,pa5 与 fifo 从模式 fifo 地址 fifoadd1引脚复用,pa6 与 fifo 从模式包结束 pktend 引脚复用,pa7 与 fifo 从模式状态标志位 flagd,以及和 fifo 从模式 slave fifo 使能/触发 slcs#引脚复用,pa7 引脚功能由寄存器 ifconfig1:0来配置1) rd

55、# ,wr#,cs#,oe#,psen#外扩 ram 控制逻辑2) ea,外部地址使能3) rxd0,txd0, rxd1,txd1 串口 1 和 24) int4,int5#,外部中断5) timer0,timer1,timer2 计数器时钟输入引脚说明:在实际应用中,用户需要根据项目需要来选择合适的 68013 芯片封装,128 引脚功能较全,可以外扩 ram,两个串口可用来实现与其它 mcu 通信和程序在线仿真功能,另外各种功能引脚也较多,但是设计较为复杂。56引脚优点是设计简单,成本较低,缺点则是不能外扩ram和在线仿真功能引脚较少。故本设计中选用128引脚以方便外扩存河北工程大学毕业

56、设计19储器。河北工程大学毕业设计20图3. 7 68013 功能引脚3.存储器对于 ez-usb 存储器都包括 ram 6,没有 rom,所以程序和数据都只能是存储在 ram中,ram 包括内部 ram 和外部 ram,内部 ram 和 8051 的内部 ram 功能一样,外部ram 则是 ez-usb 将传统 8051 部分外扩 ram 放到了芯片的内部,用来存放数据和存储。(1)内部 ram 内部 ram 见图 3.8,和传统 8051 内部 ram 功能相同。图3.8内部 ram(2)外部 ram图 3.9 是 ea=0 时 fx2 中 ram 的分布,ea=1 时情况很少使用,所以本

57、文中不做介绍。外部 ram 包括两部分,片上外部 ram(inside fx2)和外扩ram(outside fx2) ,外扩ram 是通过 128pin 封装中的引脚 d0d7,a0a15 和 rd# ,wr#,cs#,oe#,psen#来实现的,对于 56pin 封装,只有片上外部 ram。地址 0 x00000 x1fff总共 8kb 可以用来存放程序或数据,地址 0 xe0000 xe200 总共0.5kb只能用来存放数据,地址0 xe2000 xffff是寄存器和端点fifo空间7。0 xe0000 xffff 详细分布见图 3.10。总共有 8.5k 的程序和地址空间,如果端点缓冲

58、区没有用到,也可以用来存放数据,程序可设置范围为0 x00000 x1fff,数据可设置范围为0 x00000 x1fff,0 xe0000 xe200和 0 xf0000 xffff(仅在端点缓冲区没有使用的情况下可以设置)。如果程序使用了中断,则地址空间 0 x00000 x0080 空间作为中断程序入口地址,不能使用。地址空间设置见图 河北工程大学毕业设计213.11。对于128引脚封装fx2,如果扩展了外部ram,则外部ram中数据可设置范围是0 x20000 xdfff,程序可设置范围是 0 x20000 xffff。图 3.9内嵌外部ram河北工程大学毕业设计22图 3.10 寄存

59、器和断点 fifo 地址 图 3.11 xdata 和 code 空间分配各地址空间访问方法包括寄存器、内部 ram 和外部 ram。4.cy7c68013 的枚举和重枚举1)fx2 的枚举9当首次插入一个usb 设备时,要经过以下几个步骤: 主机向地址 0 发送get_descriptor/device(获取描述符/设备)的要求。 设备用固件下载之前的 pid 响应主机的要求。 主机根据设备应答 id,安装下载固件的设备驱动程序。 由固件装载设备驱动程序,将设备的固件下载到 fx2 芯片上。 固件装载设备驱动程序使 8051 脱离复位状态,并开始运行固件应用程序。 8051 固件在电气上断开

60、fx2 设备与usb 总线的连接。以上的过程,就称为“fx2 的枚举” 。2) fx2 的重枚举因为cypress 公司的ez-usb 2100 系列、fx 系列和fx2 系列具有软特性,所以它能在许多不同的usb 设备中表现出共性。当插上外围设备时,设备首先通过usb 总线下载的是8051 的固件和设备描述符。下载完成后,当下一次设备访问时,该设备就作为信息中所定义的完全不同usb 外设来处理。这两步的过程称为“重枚举” 。3.1.3 ads7825p 简介目前,随着数据采集应用的日益普遍,为了满足不同场合和分辨率的要求,模数转换芯片也是种类繁多。选择 a/d 转换芯片需要考虑器件本身的性能

温馨提示

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

评论

0/150

提交评论