基于usb总线的数据通信系统本科毕设论文Word下载.docx
《基于usb总线的数据通信系统本科毕设论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于usb总线的数据通信系统本科毕设论文Word下载.docx(45页珍藏版)》请在冰豆网上搜索。
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
导师签名:
日期:
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
3)其它
摘要
本论文以基于USB总线的数据采集系统为主要内容,阐述了利用美国SiliconLaboratories公司的C8051F320芯片组成的一套数据通信系统的设计方案、开发方法和开发过程,并给出了具体实现方案。
本系统设计包括硬件设计和软件设计。
在硬件设计部分,介绍了具体硬件设计方案。
软件设计包括固件程序设计、驱动程序设计和应用程序设计三大部分。
本文先从整体上介绍了程序的设计思想和层次结构,然后详细介绍了固件部分的设计过程,并给出了程序流程图和采用的固件函数库。
驱动程序部分介绍了驱动程序的结构和定制过程。
主机应用程序的设计部分介绍了所采用的API函数,并给出了部分源代码和程序流程图。
输入数据通过UART模块传到控制器,然后通过USB接口向上位机传送数据,或者上位机发出控制信息传到数据采集系统去。
相对于传统的数据采集系统具有精度高、传输速率快、功耗低、体积小、抗干扰能力强等特点,具有很好的应用前景。
关键词:
C8051F320;
USB;
固件程序;
驱动程序
Abstract
ThepaperismainlyconcernedwiththedesignprocessofdataacquisitionsystemthatisbasedonUSBbus.Thedesignscheme,developingmethodanddevelopingprocessofasuitofdataacquisitionsystemusedwithAmericaSiliconLaboratories’sC8051F320areexpatiated.Inaddition,thepaperalsogivesthematerialrealizationscheme.
Thisdesignincludeshardwareandsoftwaredesign.Thehardwaredesignpartintroducesthatproducestheconcretehardwaredesignscheme,andthePCBdesign.Therearethreepartsinthesoftwaredesignpart,suchasthefirmware'
sdevelopment,thedriverdevelopmentprogramandtheapplicationprogramdevelopment.Thepapershowstheideaandlayerstructureofprogramdesignasawhole,andthenintroducesthefirmwaredesignindetailandgivestheflowchartsandfirmwarefunctionlibrary.Inthepartofdevicedriverdesign,thestructureandcustomizationstepsofdriverarediscussed.ThedesignofhostapplicationprogramintroducestheAPIfunctionsandthenintroducesprogramflowdiagramandgivesafewcodesofthefirmwareprogram.
InputdatatransmittedthroughtheUARTcontrollermodule.ThedatawhichhostsendstoMCUbyUSBinterfaceissendtoanotherdataterminalasashortmessage.ThisMCUreceivestheshortmessagefromthedatacollectionandtransmitsitthroughtheUSBinterfacegivesthehost.ThedesignachievesthefunctiontotransmitthedatatothecomputerviaUSBinterfaceandcontrolthesystemconditionwithcomputer.Itcompleteslowersystempowerconsumptionlowercubageandhigheranti-jammingthanintraditionalways,andithasthewideprospectofapplication.
Keywords:
C8051F320;
USB;
Firmware;
Devicedriver
目录
摘要I
AbstractII
第一章引言1
1.1数据采集系统的简介1
1.2USB新技术的出现2
1.3国内外现状及研究目的3
第二章USB数据采集系统的设计方案5
2.1USB数据采集系统的总体设计方案5
2.2硬件系统构成5
2.3软件系统的构成6
2.4USB数据采集系统的性能指标7
第三章系统硬件设计8
3.1单片机的选择8
3.2系统与主机连接的设计13
3.3USB接口电路16
3.4系统复位电路17
3.5系统晶振电路19
3.6UART串口通信设计20
3.7调试电路21
第四章系统软件设计23
4.1系统软件设计的组成23
4.2USB固件程序设计27
4.2.1USB接口数据传输程序设计28
4.2.2串口中断服务程序设计29
4.2.3主程序设计30
4.3系统上位机USB驱动程序设计33
4.4应用程序设计34
4.5软件系统的抗干扰设计35
第五章单片机系统调试36
第六章结论38
附录A39
附录B40
参考文献52
致谢54
第一章引言
在工业生产和科学技术研究的各行业中,常常要利用PC或工控机对各种数据进行采集,如液位、温度、压力、频率等,而数据采集必须用到数据通信系统。
现在常用的采集方式是在PC机或工控机内安装数据采集卡,如A/D卡及422卡、485卡。
采用采集卡不仅安装麻烦、易受机箱内环境的干扰,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。
而通用串行总线(UniversalSerialBus,简称USB)的出现,能很好地解决以上这些冲突,很容易就能实现低成本、高可靠性、多点的数据采集。
这一章我将简单介绍数据通信系统、新技术USB的出现对其的影响,同时引出本文的标题《基于USB总线的数据通信系统的设计》。
1.1数据采集系统的简介
数据通信系统是计算机在工业控制系统中最为普遍的应用系统。
在生产工程中,应用这一系统可对生产现场的工艺参数进行采集、监视和记录,为提高产品质量、降低成本提供信息和手段。
在科学研究中,应用数据通信系统可获得大量的动态信息,是研究瞬间物理工程的有力工具,也是获取科学奥秘的重要手段之一。
总之,不论在哪个应用领域中,数据采集与处理越及时,工作效率就越高,取得的经济效益就越大。
数据通信系统的任务是采集生产过程中的工况二次参数并经过A/D转换器送入内存储器中,然后再由CPU对这些参数和数据进行分析、运算和处理,如数字滤波、量纲变换、仪表误差修正、数字显示、越限报警及打印等,如再配上输出通道就可以方便地组成计算机控制系统。
数据通信系统性能的好坏,主要取决于它的精度和速度。
在保证精度的条件下,应有尽可能高的采样速度,以满足实时采集、实时处理和实时控制对速度的要求。
现代工业生产和科学研究对数据采集的要求日益提高。
除了性能好以外,还要求数据采集系统能有其它特点,如使用方便、经济合理、安全可靠、抗干扰能力强等。
现在常用的数据通信装置一般多是通过ISA或是PCI等内置式接口实现PC机与外围系统之间的通信。
内置式插卡容易受到Pc机箱内高频信号的干扰影响,从而降低系统的采样精度和稳定性。
此外,计算机主板上的插槽个数是有限的,加上仪器电路插卡的安装(必须断电、打开机箱操作)很不方便。
更有甚者,在PC机箱内插入的专用插卡必须进行资源重配置,以避免资源冲突,而此项工作专业性很强,往往令人头疼。
这些弱点使得他们的应用受到了很大的局限。
现在的UART串行口虽然支持外插,但因其速度太慢,远不能适用现今高速设备的发展需求。
对于需要野外作业的场合,经常使用便携式的通信设备,将采集到的数据存储在设备中,带回室内再将它送给计算机进行分析处理:
或是采用专门的利用笔记本的电脑实现的采集器。
1.2USB新技术的出现
USB是UniversalSerialBus(通用串行总线,也译为万能总线)的简称,是1995年Compaq等公司为了解决传统总线的不足而推广的一种新型串行通讯标准。
它使用一个4针插头作为标准插头,通过这个标准插头,采用菊花链形式可以把所有的外设连接起来,并且不会损失带宽。
USB具有易用、真正的热插拔、高性能和系统造价低廉等优点,也正是由于这些优点是它从书面的协议变成产品只用了不到两年的时间。
USB总线是一个星型总线结构,它相对于以往的计算机外设总线如RS232、RS485等具有以下优点。
(1)快速。
USB1.1协议规定了两种速度:
低速1.5Mbps、高速12Mbps,现有的USB2.0传输速率己经高达480Mbps,折合约60MB/s的峰值传输速率。
(2)连接简单灵活。
在USB方式下,允许外设热插拔,不必关闭主机电源,用户不必参与设备安装过程。
另外,USB采用“级联’方式,即每个USB设备用一个USB插头连接到一个外设的USB插座上,而本身又提供一个USB插座供下一个USB外设连接使用。
通过这种类似菊花链式的连接,一个USB控制器可以连接多达127个外设,而每个外设间距离(线缆长度)可达5米。
(3)可以采用总线供电。
普通的使用串口的、并口的设备都需要单独的供电系统,而USB设备提供总线供电和自供电两种方式。
对于所需电流小于500MA,电压为5V的外设,可以采用总线供电,这样设备就不需要专门的交流电源了,从而降低了这些设备的成本,减小了外设体积,提高了性价比。
(4)抗干扰性强。
由于USB外设放置在计算机机箱外,不受机箱内的板间电磁干扰。
如在电磁干扰比较严重的环境下,可以很容易设计屏蔽方案。
(5)USB设备不涉及主机中断请求(IRQ)冲突问题。
USB口单独使用自己的保留中断,不会同其它设备争用PC机有限的资源,同样为用户省去了硬件配置的烦恼。
(6)另外,USB设备一般都比同类功能的设备成本低。
1.3国内外现状及研究目的
数字通信和处理技术的发展日新月异,随着集成电路技术和软件技术的不断发展和解决复杂问题能力的不断提高,数据通信系统的概念和内涵也在不断地调整,从最初单纯的采集,到现在包括高速、复杂的运算和信号处理,可扩展性和易用性的提高。
人们在不停地寻求更先进优越的数据通信方法。
USB技术一出现,人们就逐渐将其应用到了工业现场的数据通信系统中。
发展到今天,结构清晰、流程简洁、性能强大的数据通信系统已离不开USB技术的发展。
目前,USB数据采集技术在国外已处于高速发展阶段。
尤其是在高数据传输速度、高实时性、高同步性等方面有雄厚的技术实力。
从事USB数据采集器开发的企业公司也很多,他们投入市场上的产品得到了广大用户的认可,主要产品有DATX公司的DT9800系列产品,美国OceanOptics公司的ADC1000-USB等。
国外产品进入我国市场较早,但就当前市场而言,并没有占据市场的主要份额,主要原因是高昂的价格和非汉化的操作界面使其推广受到限制。
《基于USB总线的数据通信系统的设计》就是在这样的背景提出来的,课题项目的研究目的就是充分认识USB总线技术,并利用其优点来有效地解决传统数据通信系统的缺陷,参考市场情况和智能仪器的设计要求,设计出一种较传统方式更有效、更经济、点数更多的实时数据通信系统。
第二章USB数据采集系统的设计方案
本章介绍了基于USB总线的数据通信系统的总体设计方案,包括数据通信系统各部分的构成,要求达到的性能指标参数,以及设计时必须要解决的技术难点等内容。
二.1USB数据采集系统的总体设计方案
对于任何一个数据通信系统来说,其设计的主要工作是系统结构的选择、进行硬件和软件的功能合理分配。
数据通信系统设计的基本原则如下:
(1)充分考虑系统输入信号的特性,确保性能指标能够完全实现;
(2)对系统结构进行合理的选择,其中包括硬件、软件功能的合理分配,系统采用何种布局和接口方式;
(3)采用科学的方法设计应用软件;
(4)保证在规定的工作环境下,系统能稳定、可靠地工作。
二.2硬件系统构成
好的数据通信系统必须有好的硬件系统,才能够现场完成数据采集、存储、显示
和分析。
USB多路数据采集系统硬件部分的总体设计首先应选好系统的中央处理系统CPU,然后在其基础上扩展,选择其他的元器件,设计出与其相配套的电路部分,经调试后组成硬件系统。
其中,在元器件选择和方案设计过程中应遵循以下原则:
(1)数据采集系统在满足需要的前提下,选择低功耗、小体积的元器件,以延长使用时间、缩小仪器的体积。
(2)电路设计力求简洁、可靠,尽量采用集成度高的芯片,减少外围元器件的数量。
(3)设计中应预留进一步开发的空间。
(4)适当的价格,包括元器件价格和开发系统的一次性投资,降低成本。
一个实用的USB数据通信系统包括微控制器以及USB通信接口。
本设计选用SiliconLaboratories公司的高性能微控制器芯片C8051F320,简化了硬件部分的设计。
因为C805IF320是带USB接口(符合USB2.0协议)的单片机,所以整个硬件部分是一般单片机应用系统的开发,仅需要外加输入信号处理电路就可实现。
这在一定层次上缩小了数据采集系统的体积,并降低了成本。
图2.1为该数据采集系统的系统原理图。
图2.1系统框图
二.3软件系统的构成
开发一个USB设备,软件设计是必不可少的。
USB应用系统软件设计分为三部分:
USB外设端的单片机固件(Firmware)程序、主机操作系统上的客户驱动程序以及主机应用软件。
单片机固件则响应各种来自系统的USB标准请求,完成各种数据的交换工作和事件处理;
而客户驱动程序则让主机可以识别USB设备,并通过应用软件来存取USB设备,完成通信功能。
主机应用软件通过客户驱动程序与系统USBI(USBDeviceInterface)进行通信,由系统产生USB数据的传送动作,可用VisualBasic、visua1C++或Delphi等软件来开发并生成采集应用软件及其相关使用说明,方便用户快捷地使用本数据通信系统。
整个软件系统的组成如图2.2所示。
图2.2软件系统组成
二.4USB数据采集系统的性能指标
该基于USB总线的数据通信系统的基本性能指标确定如下:
(1)接口方式:
USB总线(支持USB2.0接口标准,可热拔插、即插即用);
(2)输入通道:
17个通道(11个单端输入通道和6个双端输入通道);
(3)测量信号:
工业现场各类传感器的输出电压和电流信号;
(4)量程:
0V~5V,0V~10V,士5V,士10V,4mA~20mA;
(5)每通道最高采样频率100Ksps;
(6)A/D分辨率:
10Bit;
(7)触发方式:
定时器触发,软件触发;
(8)FIFO存储器:
3KB。
第三章系统硬件设计
在生产工程中,应用此系统可对生产现场的工艺参数进行采集、监视和记录,为提高产品质量、降低成本提供信息的手段。
其与上位计算机的数据传输是采用带USB2.0接口的单片机作为接收控制板的核心芯片,以解决当前笔记本电脑不提供RS-232接口的问题。
数据通过接于RS-232串口的数传输模块传送到上位机处的接收控制模块中,模块通过USB口将数据传送到上位计算机中,计算机中的应用程序经过数据分析和处理得出相应数据。
系统框图如图2.1所示。
三.1单片机的选择
本设计采用了SiliconLaboratories公司的片上系统级单片机C8051F320作为控制采集板的核心芯片,这是因为它具有以下特点。
C8051F系列单片机具有与MCS-51内核及指令集完全兼容的微控制器,除了具有标准8051的数字外设部件之外,片内还集成了数据采集和控制系统中常用的模拟部件和其它数字外设及功能部件。
C8051F系列单片机的功能部件包括模拟多路选择器、可编程增益放大器、ADC、DAC、电压比较器、电压基准、温度传感器、SMBus/I2C、UART、SPI、可编程计数器/定时器阵列(PCA)、定时器、数字I/O端电源监视器、看门狗定时器(WDT)、和时钟振荡器等。
所有器件都有内置的FLASH存储器和256字节的内部RAM,有些器件还可以访问外部数据存储器RAM,即XRAM。
C8051F320是Silabs公司的C8051F系列单片机中的一款,它除了具备上述强大功能外,它还带有USB控制处理器,完全遵循USB协议2.0,支持12Mbps的全速传输或1.5Mbps的低速传输,可时钟恢复,不需额外的晶振,其提供端点(Endpoint)数为8个,且每个端点的传输类型、传输方向均可由设计者自由配置。
另外,它的内部还集成有1kbyte的USBSRAM和USB收发器。
(1)功能部件
●模拟外设
10位的ADC(士1LSBINL):
其最大可编程转换速率可达200ksps;
可多达17个外部输入;
可编程为单端输入或差分输入;
内置一个温度传感器(士3℃);
2个模拟比较器;
2.4V的内部电压基准;
精确的VDD监视器和欠压检测器。
●USB功能控制模块
满足USB2.0协议:
可在全速(12Mbps)或低速(1.5Mbps)下运行;
集成有一个时
钟恢复源,对于全速或低速传输均可不用外部晶振;
支持8个灵活通用的端点;
内置一个IK的USB专用缓冲存储器;
集成了一个USB接收器,不需要外部电阻。
●片内调试模块
片内调试电路提供全速、非侵入式的在系统调试(不需仿真器);
支持端点、单步、观察点、堆栈监视器;
可以观察/修改存储器和寄存器;
比使用仿真芯片、目标仿真头和仿真插座的仿真系统有更好的性能。
●工作温度范围:
0℃-0℃
●高速8051微控制器内核
采用流水线指令结构,其70%的指令的执行时间为一个或两个系统时钟周期;
速度可达25MIPS(时钟频率为25MHZ时)。
●存储器
1280字节的内部数据RAM(IK+256);
16K字节的可以在系统编程的FLASH闪速存储器。
●数字外设
25个字节宽的端点I/O;
所有口线均耐5V电压;
可同时使用UART串口、硬件SMBusTM、SPITM;
带有4个可编程的16位技术器/定时器阵列;
带有5个捕捉/比较模块的通用16位计数器/定时器。
●时钟源
内部晶振的精度为0.25;
支持所有USB和UART模式;
外部晶振器:
晶体、RC、C或外部时钟;
内置一个针对与USB控制器的片上时钟乘法器。
●供电电压
片上的参考电源校准器支持USB总线电源操作;
校准器的Bypass模式支持USB内部电源操作。
(2)性能特点
C805lF320在保持CISC结构及指令系统不变的情况下,对指令运行实行流水业,推出了CIP一51的CPU模式,从而大大提高了指令运行速度,使8051兼容机系列进入了8位高速单片机行列。
传统的单片机I/O端口大都是固定为某个特殊功能的输入/输出口,可以是单功能或多功能,I/O端口可编程选择为单向/双向以及上拉、开漏等。
这种固定方式既占用较多引脚,配置又不够灵活。
C8051F320采用开关网络以硬件方式实现I/O端口的灵活配置,如图3.1所示。
在这种通过交叉开关配置的I/O端口系统中,单片机外部为通用I/O口,如P0口、P1口和P2口。
内有输入/输出的电路单元通过相应的配置寄存器控制的交叉开关配置到所选择的端口上。
图3.1C8051F320的I