下面是范文网小编分享的数据采集系统设计研究论文3篇 数据采集系统设计研究论文怎么写,供大家阅读。
数据采集系统设计研究论文1
FPGA数据采集与回放系统设计论文
在个人成长的多个环节中,大家或多或少都会接触过论文吧,论文是我们对某个问题进行深入研究的文章。怎么写论文才能避免踩雷呢?下面是小编为大家整理的FPGA数据采集与回放系统设计论文,欢迎阅读,希望大家能够喜欢。
1系统及其原理
基于通用信号处理开发板,利用FPGA技术控制AD9233芯片对目标模拟信号采样,再将采样量化后的数据写入USB接口芯片CY7C的FIFO中,FIFO写满后采用自动触发工作方式将数据传输到PC机。利用VC++6.0软件编写上位机实现友好的人机交互界面,将传输到PC机上的数据进行储存和实时回放。本系统主要实现以下两大功能:1)ADC模块对目标模拟信号进行采样,利用FPGA技术将采样后的数据传输到USB接口芯片CY7C的FIFO中存储。2)运用USB2.0总线数据传输技术,将雷达回波信号数据传输到PC机实时回放。分为应用层、内核层和物理层3部分。应用层和内核层主要由软件实现。应用层采用VC++6.0开发用户界面程序,为用户提供可视化操作界面。内核层基于DriverWorks和DDK开发系统驱动程序,主要起应用软件与硬件之间的桥梁作用,把客户端的控制命令或数据流传到硬件中,同时把硬件传输过来的数据进行缓存。物理层主要以FPGA为核心,对USB接口芯片CY7C进行控制,通过USB2.0总线实现对中频信号采集。系统设计采用自底向上的方法,从硬件设计开始逐步到最终的应用软件的设计。
2硬件设计
FPGA在触发信号下,控制ADC采样输入信号,并存入FIFO中。当存满时,将数据写入USB接口芯片CY7C,同时切换另一块FIFO接收ADC转换的数据,实现乒乓存储,以提高效率。FPGA模块的一个重要作用是控制USB接口芯片CY7C。当ADC采样后,数据进入FPGA模块,FPGA控制数据流将其写入CY7C的FIFO中,以便于USB向PC机传输。CY7C的数据传输模式采用异步slaveFIFO和同步slaveFIFO切换模式。通过实测,前者传输速度约为5~10Mbit/s,后者传输速度最高可达20Mbit/s,传输速度的提高可通过更改驱动程序的读取方式实现。
3软件设计
3.1USB驱动程序设计
USB2.0总线传输技术最高速率可达480Mbit/s。本系统采用批量传输的slaveFIFO模式。CY7C芯片内部提供了多个FIFO缓冲区,外部逻辑可对这些端点FIFO缓冲区直接进行读写操作。在该种传输模式下,USB数据在USB主机与外部逻辑通信时无需CPU的干预,可大大提高数据传输速度。Cypress公司为CY7C芯片提供了通用的驱动程序,用户可根据需求开发相应的固件程序。
3.2FPGA模块程序设计
系统中FPGA模块的'核心作用是控制AD9233芯片进行采样。AD9233作为高速采样芯片,其最高采样速率达125Mbit/s,最大模拟带宽为650MHz。通过改变采样速率可使该系统采集不同速率需求的信号,扩展了该系统的应用范围。描述FPGA控制USB数据写入接口芯片FIFO的状态机如图6所示。状态1表示指向INFIFO,触发FIFOADR[1:0],转向状态2;状态2表示若FIFO未满则转向状态3,否则停留在状态2;状态3表示驱动数据到总线上,通过触发SLWR写数据到FIFO并增加FIFO的指针,然后转向状态4;状态4表示若还有数据写则转向状态2,否则转向完成。
3.3上位机设计
为实现人机交互,利用VC++MFC在PC机上编写了可视化操作界面,即上位机。上位机既用于数据采集的控制,同时也用于采集数据的实时回放。上位机界面如图7所示。上位机主要功能:
1)按下“检测USB”按钮,可检测USB是否连接正常,并显示USB基本信息。
2)按下“开始采集”按钮,可将采集的数据传输到PC机并实时回放数据波形;再次按下“开始采集”按钮,可暂停数据波形回放。
3)按下“保存数据”按钮,可将采集的数据以*.dat文件的形式存储到PC机硬盘。
4)按下“结束采集”按钮,可关闭采集系统并退出界面;或按下“确定”和“取消”按钮,也可直接退出界面。
4系统实测
为了测试数据采集与回放系统,利用通用信号处理开发板设计了DDS模块。该DDS模块产生一个正弦波作为测试信号,通过AD9744芯片转换后变为模拟信号输出,并将此输出信号接至示波器以便验证系统。数据采集与回放系统的实物图及系统实测波形与回放波形。
5结束语
通过实际测试,基于FPGA的数据采集与回放系统达到了预期设计的要求。此系统能够对目标模拟数据进行采集,并能对采集的数据实时回放,且可将数据以*.dat文件的形式存入PC机硬盘;系统具有高速的采集传输功能,上位机能够实时、动态地回放数据;信号采集板和处理板共用一套硬件,避免了重复制板,在实际调试时可方便地在信号采集与信号处理的工作模式间来回切换,提高了工作效率。原驱动程序官方版本为了满足通用性和稳定性的要求,限制了传输速率,本设计开发了相应的USB驱动程序,提高了传输速率。
数据采集系统设计研究论文2
目录
前言..................................................................................................................................................2 正文..................................................................................................................................................2
一、关键技术...........................................................................................................................2
1、现场可编程门阵列(FPGA)技术.................................................................................2
2、多线程技术.................................................................................................................2
3、无线数传电台技术.....................................................................................................3
4、CRC校验技术;..........................................................................................................3
5、防止电平触发方式下发生不必要的中断.................................................................3
二、系统设计...........................................................................................................................3
1、系统的整体设计方案;.............................................................................................4
2、数据采集部分解决方案;.........................................................................................4
3、存储与传输部分解决方案.........................................................................................4
4、无线传输解决方案.....................................................................................................4
三、系统实现...........................................................................................................................5
1、采集与存储部分.................................................................................................................5
2、用户接口部分.............................................................................................................5
3、数据传输部分.............................................................................................................6
4、测试分析.....................................................................................................................6
总结..................................................................................................................................................6 致谢..................................................................................................................................................7 参考文献..........................................................................................................................................7
宜顺论文网www..com1
前言
目前,国内很多企业和个人的电能表现场数据的获得还是依靠人工现场抄数,这种方式工作强度大,获得数据的时效性差,管理成本高,在边远地区、无人值守的地方非常不方便,在高压计量点更具有一定的危险性。基于此,自动化的远程数据采集越来越受到重视。在各种自动化量测与控制应用系统中,经常要实现对远距离的现场中各种参数的监测,根据结果掌握研究对象或生产过程的运行情况,并做出相应的分析与控制。在这种过程中,广泛地使用了现场参数的远程采集技术,从而确保整个系统工作过程安全、有效且具有智能化,并且能提高生产率、降低生产成本。
正文
一、关键技术
远程数据采集系统由数据采集部分、存储和传输部分、远程控制站组成。系统设计以基于FPGA的逻辑控制模块作为数据采集部分,嵌入式系统板单片机作为存储和传输部分、PC机作为远程控制站。嵌入式系统板为整个系统的控制核心,在该板上使用Linux作为系统软件。
1、现场可编程门阵列(FPGA)技术
在基于实时嵌入式微处理器的数据采集系统中,嵌入式软件必须从传感器上接收输入数据,数据采集的过程也影响嵌入式软件的设计以及执行时间。传统数据采集的方法是使用入路输入开关从不同传感器上传输数据。而多路开关通道的选择、控制信号的生产和数据读取都是由嵌入式软件来实现。现场可编程阵列(FPGA)的应用,可将某些软件功能由硬件来实现,从而从逻辑上可以大大简化嵌入式软件的设计。在可靠性方面,FPGA有很强的优势,与处理器顺序执行的方式相比,用VHDL设计的硬件,如果设计得当,将不会存在类似于MCU的复位不可靠和PC可能跑飞等问题。
2、多线程技术
进程(Process)与线程(Thread)是现代操作系统进行多任务处理的核心内容。UNIX操作系统通常以进程作为计算机资源分配的最小单位,这些资源包括处理器、物理及虚拟内存、文件I/O缓冲、通信端口等。为了适应多处理器环境下日益增长的细粒度并行运算的需要,现代操作系统提供了线程支持。线程是进程中执行运算的最小单位,它也是处理器调度的基本单位,我们可以把线程看成是进程中指令的不同执行线路。一个线程同所属进程中其他线程共享该进程占有的资源。线程有时被称为轻权进程。
在数据采集系统这类问题中,采集与存储一般由两个不同的线程来实现。另外同时采集不同性质的数据,可以采集部分也要由多个线程来实现。比如本数据采集系统中,数据来源除了AD采集板外,还有方位仪的数据。这样实现时需要三个线程。
相比进程而言,使用线程有着自身的优点。首先,可以简化编程模型,它将
宜顺论文网www..com2
处理多个异步事件的编程模型转化为多个线程来实现,使得每个线程处理同步事件的编程模型。其次,线程在共享资源时更加方便,比如文件的共享,内存的共享等等。另外,使用线程模型可以提高整个系统的吞吐率。最后,交互式的程序利用线程可以提高系统的响应速度。
3、无线数传电台技术
在本数据采集系统中需要进行短距离无线数据传输。可以采用建立专用无线数据传输系统或借用GSM、CDMA等公网信息平台两种方式来实现。相比较,用无线电台建立专用无线数据传输方式比其它方式具有投资少、开通快、维护简单、适应性强、扩展性好等优点。随着计算机应用技术和通信技术的飞速发展,采用无线数传电台的数据采集与控制系统在油田、水处理、电力、铁路、煤气、地震、气象、环保、GPS等行业开始普及应用。
4、CRC校验技术;
CRC检错方法的工作原理是:将要发送的数据比特序列当作一个多项式K(X)的系数,在发送端用收发双方预先约定的生成多项式G(x)去除,求得一个余数多项式R(x)。将余数多项式加到数据多项式之后发送到接收端。在接收端用同样的生成多项式去除接收到的数据多项式,如果除得尽,表明无差错;如果除不尽,表明有差错;余数将指明出错位所在的位置。CRC是一种线性分组码,具有较强的纠错能力并有许多特殊的代数性质,前k位为信息码元,后r位为校验码元,他除了具有线性分组码的封闭性之外,还具有循环性。其编码和绎码电路很容易用移位寄存器实现,因而在FEC(前向纠错系统)中得到广泛的应用。
5、防止电平触发方式下发生不必要的中断
系统在设计时,一般采集板的数据缓冲区满后,要通知系统板来取走数据,这种握手过程用中断来实现最为有效。在硬中断中,需要考虑的一个十分重要的问题是当中断源申请一次中断在CPU已响应此次中断请求后如何撤消中断请求。如果在CPU执行完此次中断服务程序并在返回原程序断点处之前尚未撤消中断请求,则会引起在CPU返回原程序后再次产生中断(由此类推,还可能引起更多中断),而再次产生的这些中断是不希望的,也是不必要的,因此必须防止其发生。当采用边沿触发方式时不会产生这样的问题,而采用电平触发方式时却很有可能发生这样的问题。
解决这个问题的方法是由CPU控制撤消请求。假定CUP的中断请求INTR采用高电平触发方式,触发器的R复位端和S置位端均为上跳沿起作用。当中断源申请中断时,由产生的上跳变使触发器的Q端输出高电平以向CPU申请中断,而CPU在进入中断服务程序后,利用输出指令通过输出接口使触发器R端产生上跳变,使Q端复位,从而撤消了向CPU的中断请求,保证“申请一次,中断一次”。此方式既避免了上通用性差的缺点,又避免上使CPU效率降低的弊端,因此是一种很好的方法。
二、系统设计
宜顺论文网www..com3
1、系统的整体设计方案;
理论上,完整的数据采集系统包括:用于切换输入通道的多路复用器;为不同输入范围提供增益和偏移电压调节的信号调理电路;模拟数据转换器和电压基准,以及处理器、存储器,通讯接口等部分。
根据远程数据采集系统的实际要求,将系统分为三个部分:数据采集部分、存储和传输部分、远程控制站。高速的数据采集由FPGA来实现,存储和传输则由ARM9嵌入式系统板来实现,远程控制站为PC机。FPGA在数据缓冲区填满时向嵌入式系统板发中断信号来通知其取走数据。在ARM9嵌入式系统板使用DMA技术将数据写入磁盘,从而提高系统的吞吐率。在从FPGA获取采样数据的同时,系统周期性的通过RS232串口从罗磁盘设备和GPS设备获取方位信息和时间值,这些值和采样数据在一起按照一定的格式打包,然后写入数据文件。数据文件通过Internet网络传送到远程控制站,在条件不具备时,可以通过无线方式发送数据,提高了系统的适应性。
2、数据采集部分解决方案;
在高性能数据采集系统中,通常采用单片机或DSP作为CPU,控制ADC(模数转换器)、存储器和其外围电路和工作。但基于单片机和DSP设计的数据采集系统都有一定的不足。单片机的时钟频率较低,各种功能都要靠软件的运行来实现,软件运行时间在整个采样时间是占很大的比例,效率低,难以适应高速数据采集系统的要求;DSP的运算速度快,擅长处理密集的乘加运算,但很难完成外围的复杂硬件逻辑控制。
在高速数据采集方面,FPGA有单片机和DSP无法比拟的优势。FPGA时钟频率高,内部时沿小,全部控制逻辑由硬件完成,速度快,组成形式灵活,可以集成外围控制、译码和接口电路;最主要的是FPGA可以采用IP内核技术,通过继承、共享或购买所需的知识产权内核提高开发进度。利用EDA工具进行设计、综合和验证,加速了设计过程,降低了开发风险,缩短了开发周期,效率高而且更能适应市场。FPGA的IP端口多,且可以自由编程支配、定义其功能,再配以Verilog语言进行软件设计;FPGA的最大优点是可在线编程,基于FPGA设计的数据采集器可以方便地进行远程功能扩展,可以适应不同应用场合的需要。
3、存储与传输部分解决方案
存储和传输部分是一个典型的嵌入式系统。该系统以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
4、无线传输解决方案
ISM频段主要是开放给工业、科学、医学三个主要医学使用,该频段是依据美国联邦通讯委员会所定义出来,属于Free License,并没有所谓使用授权的限制,所以使用时不可申请许可证。工作于ISM频段的短距离射频通信技术主要有标准,以及近几年来逐渐成熟的无线数传电台技术。
宜顺论文网www..com4
标准是IEEE(电气和电子工程师协会)制定的一个无线局域网标准,该标准定义了无线节点与网络中各种接入点间相互通信的接口和协议,定义了三种不同的物理介质:红外线、跳频扩谱方式以及直扩方式。主要用于解决办公室局域网和校园网中的用户与用户终端之间的无线接入。业务主要限于数据存取,传输速率最高只能达到2Mbps。由于在速率上的不足,已不能满足数据相应的需求;因此,IEEE又相继推出了和两个新的标准。三者之间技术差别主要在媒介访问控制子层和物理层。
无线数传电台技术: 通过采用RF收发IC设计的无线数传电台技术近几年逐渐成熟。无线数传模块(电台)往往发射、接收、PILL合成、FSK调制以及高速率和低功耗等功能。其工作频率主要集中在433M-1OOOMHZ属于ISM频段。一般具有透明的数据传输: 提供透明的数据接F31能适应任何标准或非标准的用户协议。
三、系统实现
1、采集与存储部分
数据采集和存储系统由A/D采集板,系统板,单片机和PC上位机构成。A/D采集板是面向数据采集对象的,负责原始数据的采集。系统板是整个系统的核心,也是数据采集系统软件运行的硬件平台,负责将A/D采集板采集的数据写入磁盘,接收PC上位机的设置命令并设置A/D采集板以及设备的对时等都在此平台上实现。单片机用来提供工作模式的选择、显示系统工作状态,控制系统板的电源,以及处理无线传输命令。PC上位机是面向数据采集系统的管理员的,是系统与人的一个交互界面。管理员可以通过其来设置系统的参数。
整个数据采集系统由五大模块组成:系统0——远程控制软件,系统1——单片机,系统2——系统板,系统3——上位机,系统4——A/D采集板。在设置模式时,“系统3:上位机”通过RJ-45网络接口和“系统2:系统板”相连,完成参数预置、GPS授时、网络传输、时钟比较等功能。在运行模式时,“系统2:系统板”读取硬盘上的配置文件后开始工作。工作过程中,“系统0:远程控制软件”可以通过无线方式对“系统2:系统板”进行控制,包括获取少量采样数据、修改参数设置、开启/关闭系统板电源。
2、用户接口部分
单片机在系统中有三个作用:一是提供用户操作输入接口及系统状态指示灯等信息;二是当嵌入式CPU板在高速采集和存储时,可以异步的接收来自控制站的无线命令,并对命令进行分析和处理;三是对嵌入式CPU板进行电源控制,在不需要采样时可以将嵌入式CPU板的电源断开。
安全关机指示灯指示当前是否可以安全关机。系统工作时不亮,按下安全关机按钮后变红,关机准备好后变绿。系统1和系统2工作指示灯为绿色表示系统1或系统2正在工作。无线指示灯为绿色表示正在进行无线传输。硬盘指示灯为绿色表示硬盘正常上电工作。模式切换有效指示灯绿色表示当前可以进行模式切换,否则系统暂不会响应。设置模式指示灯在当系统2工作在设置模式时变绿。系统2工作在运行模 29 式时运行模式指示灯变绿。看门狗定时器溢出指示灯指示系统2的看门狗状
宜顺论文网www..com5 态。系统产生故障无法恢复时故障指示灯变红。
3、数据传输部分
该部分由基于TCP/IP的网络传输部分和无线传输部分组成。这里主要关注后者。
整个数据采集系统里大量使用到了串口,有必要对串口通信的协议作专门的设计和说明。串口的通讯速度比较慢,一般传输当中均会有误码产生。传输的误码率与传输线路质量和采用的屏蔽措施有很大关系。串口传输当中误码是不可避免的,如何识别误码,并重传这些误码是解决此类问题的关键。如果出现一个错误就放弃整个文件,可能会造成永远传不成功,如果对错误不理,则会造成传输的文件与原文件内容不同,造成文件错误[42]。针对这种问题我们研究出一种将文件或命令分成长度可变的多个包,分包传送,如果某一包传输错误只重传出错的包的方法。通信涉及远程控制软件,单片机和系统板,我们将它们分别记为系统0,系统1,系统2。下面的讨论以此为准。
首先,通过串口传输的内容要有地址信息。从系统框图上可以看出,系统0与系统1通过串口通信;系统1与系统2也通过串口通信;系统0与系统2不能直接通过串口来通信,而只能由系统1来中转。这样,系统1在从串口收到数据后首先要弄清数据是否是发给自己的,如果是,则自己处理,否则就转发。于是,在发送数据时要添加发送源和发送目的信息,以便于处理。
其次,串口传输的数据单位大小不固定。根据工作流程的描述,串口传输内容包括命令,状态信息,数据文件,配置文件等,根据传输内容的不同,每次传输内容的长短不一。对于命令或状态,几个字节,比较短,一次就可传完;而文件传输过程中,数据文件可以达到几百兆,一般要分成若干个小数据包来分批传送。
另外,串口通信速度比较慢,一般传输过程中均会有误码产生。如何识别误码并重传是解决此问题的关键。例如在文件传输过程中,如果某个地方出错而重传整个文件,可能造成永远都传不成功。
最后,文件传输可能花费较长时间,在传输过程中,考虑到用户可能会中止传输过程,通信协议要考虑到这种需求。针对以上这些特点,设计出以“长度可变的包”为基本传输单位的串口通信协议。一个包由同步字段,控制字段和若干个信息字段组成。
4、测试分析
EP9312(ARM9)嵌入式系统板,连接有一块用于存储采集数据的小硬盘,对应于前面讨论的系统2;一块在设计之中的基于FPGA的采集板。主要包括以下工作:测试目的和范围、测试平台的搭建、测试过程、参数预置、数据采集、数据传输和数据回放。
总结
本文针对远程数据采集系统项目,对与之相关的一些关键技术进行了深入的研究和实践,提出了一整套满足项目的需求的高速数据采集系统。具体来说,主要进行了以下工作:介绍了远程数据采集系统中所用到的关键技术,包括现场可编程阵列技术、多线程技术、循环缓冲区技术、CRC校验技术、DMA技术等等。这些技术和理论论证了系统的可行性。
宜顺论文网www..com6 同时对下面两部分进行了技术探讨:远程数据采集系统的设计与实现。系统设计以基于FPGA的逻辑控制模块作为数据采集部分、EP9312(ARM9)嵌入式系统板和单片机作为存储和传输部分、PC机作为远程控制站。系统采用无线数传电台技术实现无线数据传输。EP9312嵌入式系统板为整个系统的控制核心,在该板上使用Linux作为系统软件。对数据采集系统进行整体的测试。包括测试平台的搭建、各功能模块的测试(系统的参数设置、数据采集、数据传输、数据回放)。
致谢
首先,我要衷心感谢指导老师高锋老师!导师严谨和实事求是的治学态度、渊博的知识、可敬的学者风范和高昂的工作热情,深深地影响着我。在此,向导师所给予的所有热切关心和巨大帮助表示衷心感谢!
感谢浙江大学远程教育这个平台,在两年的求学生涯中,给我提供学习与交流的平台,给我创造了就业后续学历的机会!
感谢国网浙江省电力公司宁波供电公司营销部的电能表远程数据采集系统负责人,提供了专业的知识及相关资料!
感谢国网浙江省电力公司宁波供电公司宁波供电营业厅的班长,在工作的同时开展学习与探讨,给予很大的帮助!
最后,感谢我的家人和所有给予本人关心、支持和帮助的人们。
参考文献
(1)纪越峰.现代通信技术(M).北京:北京邮电大学出版社,2002(2)肖忠祥.数据采集系统原理.西安:西北工业大学出版社,(3)沈兰荪.数据采集技术.合肥:中国科学技术大学出版社,(4)李江,常葆林.嵌入式操作系统设计中的若干问题.计算机工程,2000,26(6):80-90(5)罗海天,雷晓平.基于FPGA的嵌入式实时数据采集系统.计算机系统应用,2006,10:52-54(6)姚七栋,张春玉.CRC校验及其软件实现.现代电子技术,2006,13:67-69(7)李峰,张志杰.无线数传电台实现数据可靠传输技术的探讨.机械管理与开发,2006,1:107(8)米根锁.防止电平触发方式下发生不必要中断的方法.计算机工程与设计,2006,27(2):214-215(9)徐海军,叶卫东.FPGA在高性能数据采集系统中的应用.计算机技术与应用,2006,25(1):40-43(10)姚占东,游大海.一种基于串口通讯的大文件传输方法.微计算机信息,2004,20(1):99-100
宜顺论文网www..com7
数据采集系统设计研究论文3
基于 USB 的数据采集系统的研究与设计
目前,市场上有几百种 USB 设备,包括 USB 集线器、打印机、扫描仪器、存储器、数码相机和调制解调设备等。在数据采集系统中应用 接口总线,首先计算机系统要支持 协议。目前计算机几乎都支持 协议,如果支持 协议,那么系统的 USB 主机就必须包含 根集线器,用于给系统提供一个或多个设备端口;同时,系统还必须安装相应的驱动程序。
USB总线的物理连接和电气特性
USB数据传输采用四根电缆,其中两根(D+、D-)是用来传送数据的串行通道,另两根(VBUS、GND)是符合标准的电源线,为下游的USB设备提供电源。其中,D+、D-是串行数据通信线,它支持两种数据传输速率,对于高速外设,USB以全速 12Mbps或高速 480Mbps传输数据;对于低速外设,USB则以 的传输速率传输数据。USB总线会根据外设情况在不同的传输模式中自动地转换。VBUS通常是+5V电源,GND是地线。
USB 的电源
USB 的电源主要包括两方面:
电源分配:即 USB 的设备如何通过 USB 总线获得主机提供的电源; 电源管理:即通过电源管理系统,USB 的系统软件和设备如何与主机协调工作。
(1)电源分配
每段 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 上移动之前,由主机控制器(或者 USB 设备,由传输方向决定)将数据进行封装。当总线访问是在 USB 上移动数据包时,主机控制器也协同操作。
设备端点(Device Endpoint)
端点是 USB 设备唯一可识别的部分,是主机和设备间通信流的终点,每个 USB 逻辑设备都由独立端点集(这个集合就是接口)组成。当设备连接时,系统为每个逻辑设备分配了唯一的地址,设备的每个端点在设计时就给定了一个由设备决定的唯一的标识符—端点号。每个端点都有由设备决定的数据流方向。设备地址、端点号和方向的组合允许唯一指定一个端点,每个端点都单一的连接,支持一个方向的数据流输入(从设备到主机)或输出(从主机到设备)。
管道
USB管道是设备端点和主机软件之间的联系。管道可以通过存储器的缓冲区在主机软件与设备端点
之间传输数据。有两种相互独立的管道通信模式:
1.流:在管道中传输的数据没有 USB 定义的结构。
2.消息:在管道中传输的数据有某些 USB 定义的结构,只能用于控制传输。
帧和微帧(Frames and Microframes)
USB 工作在全速/低速状态时,主机控制器每隔 1 毫秒发送一帧数据;而工作在高速状态时,主机控制器每隔 125 微秒就发送一帧数据。一帧(或微帧)数据可包含几种事务。USB 数据传输类型是从 USB 系统软件的管理角度来描述的。传输(Transfer)是指在客户软件和它的功能模块之间的一个或多个信息传输的总线事务。传输类型决定于客户软件和它的功能模块之间的数据流特性。USB 定义了 4 种传输类型,以满足在总线上进行不同类型的数据的传输需要。
USB数据传输类型
批量传输用于传输突发的大量的数据,全速模式时以 8,16,32 或 64 字节(高速模式时是 512 字节)的信息包传送。由于对出错的数据自动的进行重发,批量数据可确保无误发送。
控制传输至少有两个阶段:建立阶段和状态阶段。控制传输也可以根据不同的情况选择是否需要在建立阶段和状态阶段包含一个数据阶段。
中断传输主要用于定时查询设备是否有中断数据要传输,是一种主机定时侦听设备。设备的端点
模式器的结构决定了它的查询频率,在 1-255ms 之间。中断传输在高速时的数据载荷可达 1023 字节,在全速时的载荷量小于 64 字节。中断传输主要应用于键盘、操纵杆和鼠。
同步传输用于保证时间优先的数据流,如音频和视频数据流,传输的时间对于数据来说是非常必要的条件,在全速模式时,一个同步包包含 1023 字节;在高速模式时,一个同步包包含 1024 字节。
数据采集系统的硬件
数据采集系统在总体上分为硬件和软件两大部分。数据采集系统的硬件部分
主要包括芯片的选择、数据采集和传输电路以及电源转换电路等。数据采集系统的软件部分主要由三部分组成:USB 固件程序(Firmware)、USB 设备驱动程序以及应用程序;三部分程序之间相互协作来完成整个采集系统的功能。
USB芯片选择
目前 USB 芯片大致分为 5 大类型:
1)单独运作的 USB 接口芯片;
2)内含 USB 单元的微处理器(MPU);
3)特定的接口转芯片,如 USB 转 RS-232 或 USB 转 ATA/ATAPI 等;
4)PC 端或主机端的 USB 控制器;
模数转换芯片的选择
目前,随着数据采集应用的日益普遍,为了满足不同场合和分辨率的要求,模数转换芯片也是种类繁多。选择 A/D 转换芯片需要考虑器件本身的性能和具体的应用要求。选择 A/D 转换芯片要考虑一些参数指标,如芯片精度、芯片的转换速度和芯片的转换量程等。
1)精度:与系统测量的信号范围有关,但估算时要考虑到其他因素,转换器位数应该比总精度要求的最低分辩率高一位。常见的 AD 器件有 8 位,10 位,12 位,14 位,16 位等。
2)速度:应根据输入信号的最高频率来确定,保证转换器的转换速率要高于系统要求的采样频率。
3)模拟信号类型:通常 AD 器件的模拟输入信号都是电压信号,而 DA 器件输出的模拟信号有电压和电流两种。
为了匹配 的高速传输特性,满足广泛的实际需要,本设计选用的是采样速度快、分辨率高的 A/D 转换器 MAX125。
数据采集系统的固件程序设计
固件程序主要负责完成两项任务:一是作为驻留在设备中的内部应用程序,响应主机的列举请求,实现配置设备并将设备的配置信息(如支持哪些传输类型和端点)告知主机,进而为主机和设备之间进行数据通信做好准备工作:二是作为整个设备的控制中心,根据用户应用系统的特定要求,实现对外围设备的具体控制。USB控制器芯片借助CPU执行固件程序来控制芯片的活动,以实现数据传输功能。固件的设计就是使在USB总线上的传输能获得快速的、有效的数据传输速度。它的操作方式与硬件联系紧密,包括USB设备的连接、列举、重列举、USB协议和中断处理等。
列举和重列举
列举和重列举是 USB 设备的一个非常重要的机制。是在初始阶段必须经历的阶段,只有这两个过程成功的完成,USB 设备才可能实现系统中设计的功能,否则,设备只能是一个主机不能识别的最原始的设备,或者是功能不完全的设备。
设备端点的配置
端点配置是在TD_Init()函数中实现的。USB数据通过端点缓冲区进入FX2 和从FX2 中取出。为了保证 480Mb/s高速的传输速率,外部逻辑经常在没有FX2 内嵌的CPU参与的情况下,直接与端点FIFO交换数据。USB设备启动时,要配置端点使它获得足够的带宽和FIFO深度,使数据传输更加平稳和高速。
当应用程序要求CPU处理外部逻辑和USB之间的数据流时(或者根本就没有连接外部逻辑时),固件可以将端点缓冲区作为RAM块或(使用特定的自动增量指针)FIFO访问。
设备驱动程序的组成驱动程序是一些例程的集合,它们被动的存在,等待主机系统软件(PnP管理器、I/O管理器、电源管理器等)来调用或激活它们。WDM驱动程序的功能模块基本由五个部分组成:入口例程,即插即用例程,分发例程,电源管理例程和卸载例程。
1.入口例程:处理驱动程序的初始化;
2.即插即用例程:处理 PnP 设备的添加,删除和停止;
3.分发例程:处理用户应用程序发出的各种 I/O 请求;
4.电源管理例程:处理电源管理请求;
5.卸载例程:处理驱动程序的卸载。
USB 设备驱动程序的开发
目前,用于开发设备驱动程序的工具大概有以下几种:
1.直接使用Windows DDK:这种方法开发难度大,而且有很多烦琐的工作要作,大部分都是通用的基础性的工作,但是,使用这种方法,需要对WDM驱动程序的整体结构有一个很好的认识和把握。
2.使用Driver studio:工具难度会低一些,工具软件己经作了很多基础性的工作。也封装了一些细节,使用者只需要专心去执行需要的操作。但由于封装的问题,可能会带来一些bug,有可能导致项目的失败。
3.使用Win Driver:几乎没有难度(从开发驱动的角度)。很容易,但只能开发硬件相关的驱动,事实上所写的只是定制和调用了它提供的通用驱动而已,工作效率不是很高。但开发花费的时间很少。
数据采集系统设计研究论文3篇 数据采集系统设计研究论文怎么写相关文章:
★ 大学工作总结模板方案怎么写7篇 大学工作总结模板方案怎么写论文