串口USB接口的上位机软件设计.pdf

上传人:wj 文档编号:14648898 上传时间:2023-06-25 格式:PDF 页数:45 大小:1.84MB
下载 相关 举报
串口USB接口的上位机软件设计.pdf_第1页
第1页 / 共45页
串口USB接口的上位机软件设计.pdf_第2页
第2页 / 共45页
串口USB接口的上位机软件设计.pdf_第3页
第3页 / 共45页
串口USB接口的上位机软件设计.pdf_第4页
第4页 / 共45页
串口USB接口的上位机软件设计.pdf_第5页
第5页 / 共45页
串口USB接口的上位机软件设计.pdf_第6页
第6页 / 共45页
串口USB接口的上位机软件设计.pdf_第7页
第7页 / 共45页
串口USB接口的上位机软件设计.pdf_第8页
第8页 / 共45页
串口USB接口的上位机软件设计.pdf_第9页
第9页 / 共45页
串口USB接口的上位机软件设计.pdf_第10页
第10页 / 共45页
串口USB接口的上位机软件设计.pdf_第11页
第11页 / 共45页
串口USB接口的上位机软件设计.pdf_第12页
第12页 / 共45页
串口USB接口的上位机软件设计.pdf_第13页
第13页 / 共45页
串口USB接口的上位机软件设计.pdf_第14页
第14页 / 共45页
串口USB接口的上位机软件设计.pdf_第15页
第15页 / 共45页
串口USB接口的上位机软件设计.pdf_第16页
第16页 / 共45页
串口USB接口的上位机软件设计.pdf_第17页
第17页 / 共45页
串口USB接口的上位机软件设计.pdf_第18页
第18页 / 共45页
串口USB接口的上位机软件设计.pdf_第19页
第19页 / 共45页
串口USB接口的上位机软件设计.pdf_第20页
第20页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

串口USB接口的上位机软件设计.pdf

《串口USB接口的上位机软件设计.pdf》由会员分享,可在线阅读,更多相关《串口USB接口的上位机软件设计.pdf(45页珍藏版)》请在冰点文库上搜索。

串口USB接口的上位机软件设计.pdf

重庆大学本科学生毕业设计(论文)串口/USB接口的上位机软件设计学生:

XX桃学号:

2014年6月18日星期三指导教师:

于重庆大学A区9舍专业:

集成电路设计与集成系统重庆大学通信工程学院二O一四年六月GraduationDesign(Thesis)ofChongqingUniversityTheHostComputerSoftwareDesignofSerial/USBInterfaceUndergraduate:

XXXSupervisor:

Major:

IntegratedCircuitDesignandIntegratedSystemCollegeofCommunicationEngineeringChongqingUniversityJune2014重庆大学本科学生毕业设计中文摘要摘要本文阐述了基于USB2.0接口的数据采集系统的上位机软件设计。

通用串行总线USB凭借其独有的传输速度快、支持热插拔、即插即用、简便易携带、良好的兼容性、节省系统资源和成本低等特点,在现代电子设计的接口开发中显露出不可比拟的竞争力。

进入21世纪以来,随着PC技术的迅速发展,USB技术逐渐进入了实用阶段。

然而对于串口通信,因其接口拔插存在风险,速度相对较慢,无法满足数据采集系统高速数据实时传输的要求,故本文基于USB接口来实现数据的高速传输。

下位机即外围硬件电路系统由Cypress公司的EZ-USBFX2PL高速USB外设控制器系列中的CY7C68013A(56pin)为USB2.0的接口芯片,Altera公司的CycloneII系列的EP2C5Q208C8N为主控制器,和2片16MBits的SDRAM等组成。

主控制器FPGA根据USB芯片SlaveFifo模式所需要的时序将总线数据传输到USB芯片中,USB芯片将自动进行数据打包并上传给上位机。

本文基于VisualStudio2010平台,以C#语言进行了上位机软件的开发设计;基于Keil2进行了芯片CY7C68013A的固件设计,实现了USB芯片的配置和与上位机进行通信;基于VisualStudioC+6.0和DriverStudio,设计出了适合USB2.0芯片CY7C68013A的USB驱动,从而使上位机与下位机的数据通信得到实现。

关键词关键词:

数据采集,USB,上位机I重庆大学本科学生毕业设计(论文)ABSTRACTABSTRACTThispaperdescribesthePCsoftwaredesignofdataacquisitionsystembasedonUSB2.0interface.UniversalserialbusUSB,whichpresentsafasterTransmissionspeed,auniquehot-swappablesupport,asuddenPlugandplay,easytocarry,goodcompatibilityandresource-efficientandlowcost,exhibitedtheunparalleledcompetitivenessinmodernelectronicinterface-developingdesign.Inthe21stcentury,withtherapiddevelopmentofPCtechnology,USBtechnologygraduallyisenteringthepracticalstage.Forserialcommunication,however,becauseitsinterfaceswapsriskily,relativelyslow,unabletomeettherequirementsofreal-timedataacquisitionsystemforhighspeeddatatransfer,thispaperisbasedonUSBinterfaceforhigh-speedtransmissionofdata.ThelowercomputernamelyperipheralhardwaresystemconsistsofaUSBchipofCY7C68013A(56-pins)byCypresscompanyintheirperipheralcontrollerseries,amaincontrollerthataEP2C5Q208C8NchipprovidedbyAlteracompanyinCycloneII,andtwo16MbitsSDRAMs.ThemaincontrollertransfersthedatainthebustotheUSBchipaccordingtothetimingsequenceprovidedbyUSBchipSlaveFifomodel.Atlast,theUSBchipwillpackagethemanduploadtothehostcomputer.ThispaperisbasedonVisualStudio2010platform,onc#languagefortheuppermachinesoftwaredevelopingdesign;anditisbasedonKeil2forthefirmwaredesignofCY7C68013Achip,whichachievestheconfigurationofUSBchipanduppermachineforcommunications;andBasedonVisualStudioC+6.0andDriverStudio,whichhelpstodesignouttheUSBdriverforCY7C68013A.Therebytheymakehostcomputerandlowermachinecommunicatesuccessfully.Keywords:

Dataacquisition,USB,hostcomputerII重庆大学本科学生毕业设计(论文)目录目目录录摘要.IABSTRACT.II1绪论.11.1课题背景和研究意义.11.2国内外研究现状.11.3章节安排.22设计方案分析与对比.42.1数据采集系统整体框图.42.2基于串口的设计分析.42.2.1串口的工作原理.42.2.2串口的特点.62.3基于USB接口的设计分析.62.3.1USB2.0的工作原理.62.3.2USB2.0接口特点.72.4方案的选取.82.5本章小结.83USB芯片固件和驱动设计.93.1USB芯片固件设计.93.1.1固件的原理与功能.93.1.2固件主程序.93.1.3初始化子程序.103.1.4重枚举子程序.123.1.5处理设备请求子程序.133.2USB芯片驱动.143.2.1USB芯片驱动原理.143.2.2CypressUSB2.0芯片驱动.153.3本章小结.164上位机软件设计.184.1上位机设计概要.184.2上位机设计过程分析.194.2.1上位机总体设计.19III重庆大学本科学生毕业设计(论文)目录4.2.2设备连接和启动采集按钮设计.204.2.3数据显示.234.2.4数据存储和再现.244.2.5数据数值处理和计算.244.3本章小结.255调试运行.265.1USB2.0固件下载.265.1.1USB2.0固件在线调试.265.1.2USB2.0固件固化.285.2USB2.0驱动安装.295.3上位机运行与分析.315.3.1USB2.0速度测试.315.3.2上位机测试.325.3.3运行结果分析.355.4本章小结.366结论与展望.37致谢.38参考文献.39IV重庆大学本科学生毕业设计(论文)1绪论1绪论1.1课题背景和研究意义在工业生产和科学研究等行业中,常常需要利用PC或工控机对各种数据进行采集处理,如液位、温度和压力等许多以非电信号形式存在的物理量。

通过对模拟数据的采集,然后通过PC接口总线将数据送入计算机作进一步处理。

目前,以这样的系统为核心的设备在国内外得到了广泛的应用,比如气象、雷达、通信、水声、遥感、语音处理、智能仪器、工业自动化以及生物医学工程等都是以传感器将模拟量或物理信号转换为数字量,再经过各种通讯接口将采集得到的数据进行各种处理1。

然而随着技术的提高,对数据的采集和处理提出了更高的要求,从而出现了用PC机进行数据的处理,进而诞生了上位机的概念,上位机的提出是相对于下位机而言的。

上位机是指可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种物理信号的状态或变化(液压,水位,温度等)。

下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机之类的。

上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。

下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机2。

上位机的出现让人们可以高效和简便地对下位机进行控制和数据处理。

上位机在数据采集系统中的应用不仅给用户提供了良好的界面,而且操作简便,对于用户而言只需保证正确的操作,就能够完全的满足用户的各种需要,从而提高人们的工作效益。

1.2国内外研究现状USB是由Compaq、DigitalEquipment、IBM、Intel、Microsoft、NEC和NorthernTelecom等七家计算机和通信公司联合制定的,并成为了行业标准。

这一技术解决了串行设备和并行设备如何与计算机相连的争论,大大简化了计算机与外设的连接过程3,4。

USB的英文全称是UniversalSerialBus,中文含意是通用串行总线,它是一种应用于PC领域的新型接口技术。

对于一个数据采集系统来说,不但要完成数据信息的采集,还要通过PC机接口总线将采集到的数据送入PC上位机机进行处理。

目前,国外企业己经推出了很多能适应不同条件,不同精度要求的USB数据采集系列产品。

典型的是美国国家仪器有限公司(NationalInstruments;NI)研制的一系列USB数据采集卡,推出了八款最新USB2.0高速数据釆集设备,从而扩展了其业界领先的USB-9000系列产品,实现了高达800KSPS的采样率。

国外很早就开始了1重庆大学本科学生毕业设计(论文)1绪论USB接口芯片的研发,甚至早在2001年,Cypress和Philips就推出了USB2.0接口芯片。

当前,USB2.0接口控制芯片的市场份额也主要被这些国外的厂商所占据,其中Cypress、Intel、Philips、NctChip、NEC、TI等几家公司的芯片比较成功。

目前,市场上流行的USB接口控制芯片分为两种类型:

一种是集成了微处理器的USB接口控制芯片,如Motorola的68HC705JB2、68HC705JB3、68HC705JB4,Cypress公司的M8系列与EZ-USB系列,Intel的8X930AX,Siemens公司推出的C541U等产品;另一种是纯粹的USB接口芯片,仅处理USB通信,如Philips的PDIUSBDll(12C接口)、PDIUSBDl2(并行接口),NationalSemiconductor的USBN9602、USBN9603、USBN9604等。

国外有美国的华盛顿大学、UniversityofMaryland,CollegePark,WestVirginiaUniversity,TexasA&MUniversityKingsville,UniversityofCalifornia等国外高校对USB数据采集和传输有所研究。

国内有很多公司像北京中泰研创科技有限公司、成都中科动态仪器有限公司、凌华科技、冠一科仪有限公司、深圳市世强先进科技有限公司等都相继推出了USB数据采集卡,但这些产品多是基于USB1.1协议规范,其数据传输速度远低于基于USB2.0协议规范的数据采集卡,因此也制约了这些产品的采集速度。

国内USB接口控制芯片现在也有了一定的发展,比如青岛硅盛电子有限公司在2004年5月已经为USB20高速接口芯片申请了专利。

目前国内对USB接口开发应用的广度和深度还远远不如传统的串口或并口,其应用主要局限于开发一些标准的PC机外围设备,如U盘、鼠标、键盘等。

这主要是由于作为一个新标准,USB规范较为复杂,应用开发人员还不是很了解,相应的技术支持和参考设计资源比较少,要把USB接口作为PC机的一个通用I/O接口使用具有一定的软硬件开发难度。

在国内有苏州大学、工业和信息化部第五研究所、上海工程技术大学、中山大学等高校和研究机构均对基于USB的数据采集有所研究。

总的来说,目前国内对USB数据采集设备的研制己经取得了可喜的发展,但是与国外的情况相比,在开发应用的广度和深度方面,还有一段距离,现场数据采集要求比较高的场合多是采用国外产品。

因此,随着计算机对USB接口的普及和实际应用中对数据采集卡要求的提高,和用USB2.0协议规范开发出符合多种场合要求的数据采集系统,以及此领域内先进产品的国产化等都成了亟待解决的现实问题。

1.3章节安排本课题利用USB总线传输速度快,支持热插拔及即插即用的特点,基于USB2.0接口芯片CY7C68013A实现高速数据采集系统中采集数据的传输。

设计出了操作简便、有效的上位机软件。

本论文的各章节主要内容如下:

2重庆大学本科学生毕业设计(论文)1绪论绪论:

介绍了本课题的研究研究背景和研究意义,基于USB接口技术的数据采集发展和国内外研究动态,给出论文的主要研究内容。

设计方案分析与对比:

介绍了串口和USB总线技术,包括总线特征、信号环境、数据传输类型和数据流模型等,经对比分析后选用USB接口来实现数据采集传输。

USB芯片固件和驱动设计:

介绍了USB芯片固件和USB2.0驱动的主要设计思想和开发设计流程,并设计出适合USB芯片CY7C68013A的固件和驱动。

上位机软件的设计:

阐述了运用C#语言,设计出的基于VisualStudio2010平台的数据采集系统的上位机软件,其中详细的讲述了上位机软件的功能和设计流程。

调试运行:

介绍了在各种准备工作做好之后的实际调试情况,将开发设计的下位机与上位机联合起来的总体调试,经改进和完善后,最终成功的设计出达到设计初衷的数据采集系统。

结论与展望:

介绍了该数据采集系统的最终成果,并对未来USB技术发展做出分析和展望。

3重庆大学本科学生毕业设计(论文)2设计方案分析与对比2设计方案分析与对比2.1数据采集系统整体框图该数据采集系统实现了数据的现场采集,分析和处理,其功能相当于基于PC的数字示波器。

该系统主要由以下几个功能模块组成。

外围配置模块,提供各个芯片工作的稳定电压、PROM和相关的芯片配置;FPGA主控制器,实现对AD数据采集、完成与USB数据传输、SDRAM双缓冲处理等的控制。

图2.1为数据采集系统的整体功能模块框图。

图2.1数据采集系统的整体功能模块框图从图2.1可以看出,FPGA在数据采集系统中起着中流砥柱的作用,AD转换输出的数据经FPGA采集并存入两片SDRAM中,在SDRAM中实现数据的乒乓缓冲,以实现数据的稳定性和高速流动性。

USB芯片CY7C68013A通过自身硬件实现USB通信协议的解析将数据打包并上传入上位机,同时也时刻检测上位机发出的各种指令,并实时反馈给FPGA主控制器。

本论文主要研究了USB数据传输和上位机软件等两个功能模块。

2.2基于串口的设计分析2.2.1串口的工作原理串口通信的分类串行通信可以分为同步通信和异步通信两类5。

同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息;它要求通信双方以相同的时钟频率进行,而且准确协调,通过共享一个单个时钟或定时脉冲源保证发送方和接收方的准确同步,效率较高。

这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。

它们均由同步字符、数据字符USB传输外围配置FPGA主控制器上位机软件SDRAM乒乓缓冲模拟信号AD转换4重庆大学本科学生毕业设计(论文)2设计方案分析与对比和校验字符组成。

其中同步字符位于帧开头,用于确认数据字符的开始。

数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。

同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。

异步通信方式不要求双方同步,收发方可采用各自的时钟源,双方遵循异步的通信协议,以字符为数据传输单位,发送方传送字符的时间间隔不确定,发送效率比同步传送效率低。

异步通信中,在异步通行中有两个比较重要的指标:

字符帧格式和波特率。

数据通常以字符或者字节为单位组成字符帧传送。

字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。

发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。

接收端检测到传输线上发送过来的低电平逻辑0(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。

串口的工作原理串口通信(SerialCommunications)的概念非常简单,串口按位(bit)发送和接收字节,是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。

一般完成这种功能的电路,我们称为串行接口电路。

随着发展的需要串口的硬件结构类型多种多样。

串行接口按电气标准及协议来分包括RS-232-C、RS-422、RS485等。

RS-232-C、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。

同步串行是指SPI(SerialPeripheralinterface)的缩写,顾名思义就是串行外围设备接口。

SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息,TRM450是SPI接口。

异步串行是指UART(UniversalAsynchronousReceiver/Transmitter),通用异步接收/发送。

UART是一个并行输入成为串行输出的芯片,通常集成在主板上。

UART包含TTL电平的串口和RS232电平的串口。

TTL电平是3.3V的,而RS232是负逻辑电平,它定义+5+12V为低电平,而-12-5V为高电平,MDS2710、MDSSD4、EL805等是RS232接口,EL806有TTL接口。

串行通信是指使用一条数据线(另外需要地线,可能还需要控制线),将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。

其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。

使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。

5重庆大学本科学生毕业设计(论文)2设计方案分析与对比串口通信最重要的参数是波特率、起始位、数据位、停止位和奇偶校验6,7。

波特率:

是一个衡量通信速度的参数,表示每秒钟传送的bit的个数。

起始位:

当通信线上没有数据被传送时处于逻辑“1”状态,当发送设备要发送一个数据时,先发送一个逻辑“0”信号,这个低电平就是起始位,起始位通过通信线传向接收设备,接收端检测到这个低电平后,就确认开始接收数据了。

起始位的作用是使通信双方在传送数据前协调同步。

数据位:

是衡量通信中实际数据位的参数,当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7或8位,如何设置取决于要传送的信息。

每个包是指一个字节,包括开始/停止位、数据位和奇偶校验位,由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。

停止位:

用于表示单个包的最后一位。

典型的值为1、1.5和2位,它是一个数据的结束标志,接收端接收到停止位后,通信线路上会回复逻辑“1”的状态,知道下一个起始位的到来。

奇偶校验位:

在串行通信中一种简单的检错方式,有四种方式:

偶、奇、高和低。

对于偶和检验的情况,串口会设置检验位,用一个值确保传输的数据有偶个或者奇个逻辑高位。

高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验,这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。

2.2.2串口的特点串行通讯的特点是:

数据位的传送,按位顺序进行,最少只需一根传输线即可完成;成本低但传送速度慢。

串行通讯的距离可以从几米到几千米;根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种串行通信的通信时钟频率容易提高,串行通信的干扰能力十分强,其信号间的互相干扰完全可以忽略。

正是由于串行通信的接线少、成本低,因此它在数据采集和控制系统中得到了广泛的应用,产品也多种多样。

RS-232的通信距离一般为15米,波仕电子的RS-232可以达到500米以上。

2.3基于USB接口的设计分析2.3.1USB2.0的工作原理在本设计中,USB通信在硬件上是基于Cypress公司的CY7C68013A进行的,它实现USB协议层的具体分析和实现与主机进行通信8。

USB协议的具体分析不是本文的重点,将不做过多的叙述。

在USB接口技术总线通信的协议中,USB事务处理是USB主机和USB功能6重庆大学本科学生毕业设计(论文)2设计方案分析与对比设备之间数据传输的基本单位。

USB事务处理是总线通信协议的基础,是USB总线技术接口协议的关键。

一个完整的事务处理按照顺序包括令牌阶段、数据阶段和握手阶段。

USB总线技术协议具有极大的灵活性,USB标准中规定了4种传输类型,分别为块传输、中断传输、同步传输和控制传输11,12。

USB设备插到USB接口,PC的总线驱动(ms提供)枚举设备,给USB设备分配一个地址,并通过USB标准协议来获取USB的设备描述符,这个描述符包括USB设备程序中的一个描述表,它描述了USB的配置数,每个配置的接口数及可选接口,已及接口的端点(endpoint)个数及端点的功能(传输方式bulk,interrupt,iso,端点的大小,方向等),并且可以发出选择配置、接口来选择一种配置进行传输。

PC通过获取USB的vid,pid来加载USB设备的相应驱动程序。

然后就可以通过驱动程序发送ioctl交给总线驱动,总线驱动封装成urb(USB请求块)与USB设备的程序进行通讯,以达到控制US

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2