学士学位论文基于usb的便携式数据采集系统设计学士学位论文.docx
《学士学位论文基于usb的便携式数据采集系统设计学士学位论文.docx》由会员分享,可在线阅读,更多相关《学士学位论文基于usb的便携式数据采集系统设计学士学位论文.docx(81页珍藏版)》请在冰点文库上搜索。
学士学位论文基于usb的便携式数据采集系统设计学士学位论文
(基于USB的便携式数据采集系统设计)何文华西安理工大学
学位论文题名)作者姓名西安理工大学
分类号
UDC
密级
学号
硕士学位论文
基于USB的便携式数据采集系统设计
学科门类:
工学
学科名称:
电路与系统
指导教师:
申请日期:
2011年3月
论文题目:
基于USB的便携式数据采集系统设计
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
摘要
传统的数据采集卡普遍采用PCI、ISA等标准接口,基于这些标准接口的采集卡有不便于携带、安装复杂、可扩展性差等问题,它已不能满足科研和生产的实际需要。
通用串行接口USB作为一种新型的串口通信标准,具有传输速率高、可扩展性好、即插即用、使用灵活等特性,很好的弥补了传统采集卡接口的缺陷。
本文结合USB的传输优势和FPGA的高效性能,设计了一种基于USB的便携式数据采集系统。
文中首先简单的对USB总线的特点以其相应的体系结构进行了介绍,然后对硬件电路、软件程序以及系统测试几个方面进行了深入论述。
在硬件设计方面:
选用的系统硬件主要由模数转换模块、FPGA主控制器模块、USB接口模块以及电源模块构成;根据系统要实现的功能以及芯片的工作方式完成了电路的连接,同时完成了系统的原理图设计和PCB图的绘制。
在软件设计方面:
根据系统的设计要求,重点研究了三部分内容:
FPGA控制程序、USB固件程序以及客户端应用程序。
同时详细介绍了各部分软件的具体设计思想,并给出了相应的程序流程图与调试结果。
最后,结合硬件和软件对整个系统进行了最终测试,并给出了测试结果和分析。
结果表明:
该数据采集系统的功能符合设计要求,能够满足一般工业现场对数据采集系统便携性、低功耗以及对数据传输速度要求较高的任务需求。
关键词:
数据采集;USB2.0;FPGA;固件程序;应用程序
Title:
PORTABLEDATAACQUISITIONSYSTEMDESIGNBASEDONUSB
Major:
Circuitsandsystems
Name:
WenHuaHeSignature:
Supervisor:
Prof.ShuiYuWANGSignature:
Abstract
TraditionaldataacquisitioncardiscommonlyusedstandardinterfacessuchasPCI、ISA,buttheacquisitioncardisnoteasytocarry,installandexpand.Soitcannotmeettheactualneedsoftheresearchandproduction.TheUniversalSerialinterfacesUSBasanewstandardofserialcommunication,ithasahightransmissionrate,goodscalability.Atthesametime,itiseasytoplugandplay,varietyinuse.Soitiscompensatedforthedefectsoftraditionalcapturecardinterface.
Inthispaper,alongwiththeefficientperformanceofthetransmissionadvantageoftheUSBandFPGA,aportabledataacquisitionsystembasedonUSB2.0havedesignedandimplemented.ThepaperfirstbrieflydescribesthearchitectureandfeaturesoftheUSBbus,thenconductedin-depthdiscussiononaspectsofthehardwarecircuit,softwareprograms,andsystemtesting.
IntheHardware:
WemainlycompletedADconvertercircuitdesign,FPGAhostcontrollerperipheralcircuitdesign,theUSBinterfacecircuitdesignandthepowermoduledesign.Theconnectionbetweeneachpartofthechipoperatingmodesandsystemstoachievethefunction.CompletesystemschematicdesignandPCBdiagramofthehardwarecircuitsystem,
Inthesoftware:
Accordingtothedesignrequirements,wefocusonthethreesections:
theFPGAcontrol-programdesign,USBfirmwaredesignandclientapplicationprogramdesign.Atthetime,describeingindetailthevariouspartsofthesoftwaredesignideas.Wealsogivethecorrespondingprogramflowchartanddebuggingresults.
Atlast,combinationofhardwareandsoftware,testingtheentiresystemiswastestedandthetestresultsandanalysisweregived.Theresultsshowedthatthedataacquisitionsystemcanmeetthedesignrequirementswhichthegeneralindustrialfielddataacquisitionsystemportability,lowpowerconsumptionandhigherdatatransferspeeds.
Keywords:
Dataacquisition;USB2.0;Firmware;Application
1绪论
1.1研究背景与意义
数据采集系统是指对各种传感器输出的模拟信号进行采集,通过AD转换器将模拟信号转换成数字信号,然后把数字信号送入计算机进行处理,并按需要的形式输出处理结果的系统。
伴随着科学技术飞速的发展,数据采集系统作为获取信息的重要途径以及探索科学奥秘的重要手段已广泛应用于各个领域。
目前常用的数据采集方式主要是将基于ISA或PCI的数据采集板卡安装在工业控制机或者PC机内。
但是这种数据采集方式有很多的缺陷:
(1)插拔困难、安装复杂、价格比较贵,并且计算机的插槽数量、地址、中断资源也限制了采集卡的扩展性;
(2)数据采集卡被安装在工业控制机或者PC机内部,不便于携带,因此无法进行野外现场的数据采集【1】。
通用串行总线(UniversalSerialBus)USB作为目前最重要的计算机外设互联接口,它具有即插即用、传输速率高、且易于扩展的优点。
并且,在一般情况下USB主机上可以提供稳定的5V电压,这样USB外部设备可以通过相应电缆获得主机提供的电压。
具有USB接口的数据采集卡就可以通过USB电缆获得稳定可靠的工作电源。
USB作为新型的接口更容易满足复杂、灵活的设计和电路的微型化的要求。
因此,USB总线代替传统的ISA或PCI总线用于数据采集系统,可以满足人们对数据采集系统的便捷性、高速性、扩展性和通用性的要求。
1.2国内外研究现状与趋势
计算机具有良好的扩展性,依赖于其具备的多种通信接口。
RS232、并行接口、PCI等老式计算机接口存在规范不统一、体积庞大、可扩展性差、不支持热插拔等缺陷。
随着技术的发展和计算机应用的需要,老式接口的缺陷越来越制约计算机的使用。
因此,USB作为一种新的计算机接口应运而生。
IBM、Microsoft等7家公司在1994年11月时就共同提出了USB规范。
但在随后的几年时间里,USB2.0规范迟迟没有问世,直到2000年底才尘埃落定。
这时候的USB2.0同时支持三种传输速度,其最高传输速率可以达到480Mbps【2】。
直到2008年11月26日,USB促进委员会才正式宣布新一代USB3.0接口规范已经制定完全,USB3.0接口最高传输速度将高达5.0Gbps,相比较USB2.0的传输速度,可谓是向前迈了一大步。
如今随着集成电路的飞速发展和USB设备开发的进步,各种集成有USB控制器的芯片相继问世。
这些产品中大都集成了功能强大的处理器,显然提高了数据传输的稳定性和传输速度,同时在一定程度上降低了开发难度。
到目前为止,基于USB接口的产品种类繁多,从低运行速度的鼠标、键盘到全速的MP3、移动硬盘、数码相机以及高速的数据采集卡等。
我们注意到USB接口因其即插即用、可兼容性以及可扩展性等优点得到了极其广泛的应用,它己经成功的应用到了信息产业、家电产业和网络产业等,特别是在数据采集方面的应用尤为突出。
当下,许多能够适应不同传输速率,不同深广度要求的USB数据采集系列产品已经琳琅满目。
NI公司研制的一系列USB数据采集卡可以说是其中的代表,但是NI公司的USB数据采集卡产品的价格普遍偏高,因此对于国内的大多数用户来说显然无法承受这样昂贵的价格。
相比于国外,国内对USB数据采集产品的研发相对落后,但总体来看,现在国内的一些厂家对USB接口的数据采集产品的开发和研制已经取得了一定的成果,其研究产品的种类也越来越繁多,但是范围和研发的深度存在着不小的差距,主要表现在下面的几个方面:
采用USB1.1协议的产品较多,而采用USB2.0较少;采集系统功能过于简单,同时在采集速率、精度以及分辨率上和国外还存在相当大的差距。
现阶段随着USB协议的不断完善,对比其他采集系统,USB数据采集系统接口的性能会有其他产品无法媲美的优势,它会得到越来越广泛的应用。
所以说对USB数据采集系统做更为深入的开发也显得尤为重要。
1.3本文研究的主要内容
本文在分析USB总线的体系结构和特点基础上,确定了一种基于USB的便携式数据采集系统的方案。
在该方案中,系统选用FPGA作为硬件电路的主控制器。
对于输入的模拟信号,经模数转换后,在FPGA的控制下传输给USB,然后再通过USB控制接口将数字信号传输到上位机。
用户可以通过上位机界面程序实现数据的读取、存储以及采集控制等功能。
本文研究的主要内容有:
①分析了USB总线特点、系统的组成结构以及开发流程等;
②设计了数据采集系统的硬件电路,同时完成了模数转换器和FPGA的连接,FPGA与USB的连接,以及FPGA外围电路的设计;在要求各个元器件对电源电压的相适应的条件下,设计提供了相匹配的电源系统;完成了系统原理图设计和PCB图的绘制;
③利用硬件描述语言VerilogHDL,编写了基于FPGA内部逻辑控制模块,完成了对AD采样的控制,以及对USB数据传输的控制;
④分析了USB接口电路的固件程序开发步骤,并用C51语言开发了USB接口设备的固件程序,实现了USB在SlaveFIFO模式下进行数据传输的功能;
⑤编写了上位机的应用程序,完成了数据的读取与显示;
⑥最后结合硬件和软件对整个系统进行了最终测试,并给出了测试大量有益结果与分析。
2USB简介
2.1USB总线的特点
USB是英文UniversalSerialBUS(通用串行总线)的缩写,用来统一电脑与外部设备的连接和通讯,是一种新的计算机接口技术。
USB总线接口与传统的计算机接口相比,具有以下明显的优点:
①接口体积小巧,具有很相当大的体积优势,在目前计算机和集成化的趋势中,得到了广泛的应用;
②能够适应低速、全速和高速的传输速率操作;
③为适应不同外部设备对于不同功能的需要,它提供了4种不同类型的传输;
④即插即用是它基本功能之一,对于USB设备来说,只要安装了与之适应的驱动程序,它就可以工作;
⑤USB接口具有外部供电能力,计算机上的USB接口最大可以输出500mA的电流,5V的电压,满足大多数微处理系统对电源的要求;
⑥具有良好的兼容性,随着技术的发展,USB规范包括USB1.0、USB1.1、USB2.0,以及无线USB和USBOTG等多个版本,并且USB规范都具有良好的向下兼容性;
⑦性价比高,目前,随着技术的发展和USB设备的普及,USB的芯片以及USB电缆的价格都已十分低廉,USB接口的性价比日益提高。
2.2USB总线结构
USB主机、USB设备和USB电缆组成一个简单的USB应用系统,如图2-1所示。
USB系统中最重要的就是USB主机和USB设备。
总体来说,用户的特定功能是由USB设备完成而USB协议的处理则是由USB主机负责的。
对于USB主机与其设备之间的通信,包含上行通信和下行通信。
前者主要用于USB设备向USB主机传输数据,后者则主要用于USB主机向USB设备传输数据。
图2-1简单的USB系统
Figure2-1SimpleUSBsystem
(1)USB主机
广义上讲,具有USB端口的计算机以及其他具有USB主控芯片的设备都可以称为USB主机。
USB主机在整个数据通信过程中有着相当重要的地位,它控制着数据的启动和命令的传输,而USB设备只有被动的响应USB主机请求。
USB系统中不能有多个USB主机同时存在,如果有多个主机就会引起系统混乱。
鉴于此种情况USB协议明确规定:
USB系统中只能有一个USB主机存在。
(2)USB设备
伴随着USB接口的飞速发展,USB设备种类越来越丰富,主要包括USB功能设备和USB集线器两种类型。
①USB功能设备一般是一个独立的外部设备,例如有用于扩展USB主机功能的USB鼠标,以及用来进行数据传输的移动硬盘或者USB数据采集系统等。
USB功能设备连接到USB主机后,主机需对其进行配置设置,这样USB功能设备才可以使用。
②USB集线器的功能主要是提供额外的连接点给USB主机系统,从而扩展USB主机的端口,那样的话使一个USB端口可以扩展连接多个设备。
USB设备与其主机的连接主要包括USB主机与集线器的上行端口连接以及USB设备与集线器的下行端口连接。
同时我们必须注意到USB集线器的级联是有限制的,它最多可以级联5级。
(3)USB的连接
USB连接器有两种:
A型和B型,A型插座与A型插头匹配,B型插座与B型插头匹配。
A型插座主要用在USB主机或者USB集线器下行端口,而对B型插座来讲,它则主要用在USB设备或集线器的上行端口。
当然无论A型还是B型的USB接头,它们均有4根引线:
VCC、GND、D+、D-,分别对应USB电缆的4根导线。
USB主机通过VCC和GND这两个引线向USB设备供电;通过D+、D-差分数据线向USB设备传输数据。
典型USB接头如图2-2所示。
图2-2USB接头
Figure2-2USBconnector
USB电缆将USB主机、USB集线器以及USB设备连接起来,形成一个完整的USB系统。
但是,对于USB的不同传输模式会用到不同特性的电缆。
2.3USB设备的开发流程
USB设备的开发流程简单介绍如下:
(1)分析功能。
主要分析USB设备需要实现的所有功能,以及每个功能采用的实现方式、数据传输类型和速率、所需要的硬件资源等。
(2)选择USB接口芯片。
在明确了USB设备的功能要求后,我们就要选择一款合适的USB接口芯片。
需要强调的是选择芯片需要考虑很多因素,比如芯片内部资源、芯片管脚数目、芯片封装形式、兼容性,同时价格也是必须考虑的。
(3)USB软硬件开发。
在选择了合适的芯片后,我们就可以进行软硬件开发了。
软件开发则主要包括设计USB芯片固件程序、驱动程序和用户界面程序等;而硬件开发主要包括设备功能组件、硬件接口、资源分配等。
(4)设备综合调试。
当USB设备的主要功能设计完成了,但为了完整和完善设备的整体功能,还需要对整个软硬件系统进行综合调试。
3系统总体设计
3.1系统的性能指标
输入通道:
单通道;
测量对象:
工业现场各类传感器的输出电压;
电压范围:
0.6V~2.6V;
频率范围:
1Hz~400KHz;
采样分辨力:
8位;
最大采样速率:
2MSPS;
数据传输接口:
USB2.0接口;
FPGA缓存深度:
1024,位宽8bits;
系统电源:
模拟电压+5V、3.3V、1.5V和5V数字电压;
用户程序:
要能读取USB的配置描述符,采集的控制以及数据的显示、存储等功能;
供电方式:
USB接口供电或外接电源可选,供电电压为+5.0V;
“便携式”应是本系统的最大特色,特别是在数据采集系统的硬件设计时应充分考虑集成度、体积、功耗等问题。
3.2系统方案的确定
基于USB接口的数据采集系统典型框架如图3-1所示。
图3-1USB数据采集系统典型框架
Figure3-1typicalframeworkoftheUSBdataacquisitionsystem
现有的数据采集卡常用单片机或DSP作为控制器。
单片机的时钟频率比较低,需要软件支持来实现其功能,然而软件的运行时间比较长,就会成为采样速率的一个阻碍。
相比而言采用DSP作为控制器的采集卡其运算速度较快而且擅长处理密集的乘加运算,但是它很难完成对外围复杂硬件进行逻辑控制。
既然采用单片机或DSP作为控制器的数据采集卡有很大的缺陷,那么就应该寻找速度更快,能更好的对外围硬件进行逻辑控制的控制器。
FPGA作为新一代的控制器就能很好的弥补传统控制器的缺陷。
FPGA不仅可以使电子系统小型化、低功耗、高稳定性,还能让开发周期缩短、电路板面积缩小、开发软件投入少、成本不断降低等【4-5】。
正是因为FPGA具有很多优点,所以促使FPGA越来越多的取代其他专用集成电路市场。
因此本文中选用FPGA作为数据采集系统的控制器,它可以代替许多传统的逻辑电路,也可使系统设计简单化、产品小型化。
因此本文中采用USB和FPGA技术相结合的方案设计的数据采集系统,它小巧且便于携带,可以大大提高系统的稳定性与可靠性。
整体设计思路为:
用户首先登入界面程序并发出相应的采集命令;然后命令通过USB传输到下位机也就是采集卡,紧接着采集卡的主控制器FPGA根据命令控制AD进行模数变换的操作,直到计算机终端收到经由USB传输过来转换后的数字信号,最后用户在程序中可以轻松实现数据现的接收、存储和显示等相关功能。
本数据采集系统包括两部分:
系统的硬件设计和软件设计。
系统总体框图如图3-2所示。
3-2系统总体框图
Figure3-2Systemframework
3.3硬件构成
硬件要实现二大主要功能:
一是接收PC主机传送过来的命令,同时并控制其它电路的相关执行命令,二是控制输入信号的模数转化,最后把转化后的数据直接传输到PC主机里。
根据硬件要实现的功能,本数据采集系统的硬件主要设计了以下几部分:
AD转换电路,FPGA控制器及外围电路,USB接口电路以及电源电路。
AD转换芯片主要功能是将输入的模拟信号转换为数字信号;而FPGA作为系统主控器,它是整个系统的核心,主要实现对AD芯片的时序控制和数据的缓存,还要完成对USB接口电路的控制;USB接口电路主要完成FPGA和上位机(PC)的数据传输和信息交换;在电源电路中,系统中采用USB总线供电,并通过电压转换芯片来满足AD芯片、FPGA芯片的供电要求。
3.4软件构成
用户要想使上位机能够发送命令给硬件,并接收下层硬件产生的数据,没有相应的软件程序来协助是不可能完成这些功能的。
本系统的软件设计主要包括两个部分:
一部分主要用于控制AD的模数转换、数据的缓存以及控制USB进行数据传输的FPGA逻辑控制程序;另一部分是开发USB设备涉及到的程序,主要涉及到USB固件程序、USB设备驱动程序以及客户应用程序。
其中,固件程序的主要功能是用来设置USB的工作模式,并对用户发来的各种请求做相关的处理,以保证传输数据的高效;驱动程序好比就是硬件电路和上位机客户应用程序的桥梁;而客户应用程序主要为用户提供可视化的操作界面,用户只要轻松的设置界面上相关参数或者点击相关功能按钮就可以实现对硬件电路的控制。
4系统硬件电路的设计与实现
本章主要介绍基于USB的便携式数据采集系统的硬件电路设计。
首先简单介绍硬件电路的整体构架,然后介绍芯片的选择,最后介绍各个模块的具体实现方式。
硬件电路框架如图4-1所示。
图4-1硬件电路框架
Figure4-1Hardwarecircuitframework
4.1FPGA
4.1.1FPGA简介
FPGA是FieldProgrammableGateArray的缩写,即现场可编程门阵列,是一种能够用编程的方法设计内部硬件电路结构的集成电子器件。
随着社会的发展,FPGA应用的领域越来越广范,包括通信、移动设备、航空航天、自动控制等领域,并有向计算密集型应用发展的趋势。
FPGA可以完成许多数字器件的功能,无论是高性能的CPU还是简单的74系列电路,这些都可以由FPGA控制实现。
数据采集系统使用FPGA作为主控制器可以大大缩短设计时间,减少PCB面积,提高系统的可靠性、扩展性、便携性等。
FPGA主要有两种编程方法,它们是相互竞争的。
第一种是SRAM编程,这涉及到用SRAM的比特位作为编程单元。
基于SRAM的FPGA具有可以被重复编程的优点,这种FPGA被安装到系统以后再被重新编程,使得“在线升级”变得非常容易。
编程者只要修改一下软件,就可以替换一个通信协议;为FPGA的设计增加一种特性,它允许在设计中设置一些小规模的存储器,像FIFO(先进先出存储器),但是一个FPGA中一般不设置大规模的存储器,因为那样是不经济的。
另外,基于SRAM的FPGA还可以被用于“可重新配置”计算。
计算机中含有FPGA,算法可以在计算机中汇编,并在这些FPGA中运行。
另一种编程方法牵涉到反熔丝。
反熔丝技术的特点主要有以下几个方面:
它的单元