USB数据采集系统中DMA数据传输的实现_第1页
USB数据采集系统中DMA数据传输的实现_第2页
USB数据采集系统中DMA数据传输的实现_第3页
USB数据采集系统中DMA数据传输的实现_第4页
USB数据采集系统中DMA数据传输的实现_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

USB通用串行总线(UniversalSerialBu被PC机宽泛采纳的一种总线,目前已经在计算机主板上大批集成,成为一种标准配置接口。它的即插即用、真切的热插拔、可总线供电、高性能和系统造价低等一系列的长处,使得USB接口获取了宽泛的应用。特别是跟着USB2.0高速传输协议的出现,其数据传输速度达到了480Mb/s,使得USB接口顤橆D挤?为今日低成本虚构仪器系统的主流。本文设计了鉴于USB2.0高速传输的数据收集系统,整个数据传输过程完好采纳DMA方器。前端数据收集模块由一片CPLD实现对数据收集和触发控制的功能。当系统和计算机成功连结进入工作状态后,LPC2888从USB接口接收到来自应用程序的控制命令,而后经过控制CPLD对数据收集模块采样通道、采样速率和触发模式进行配置后启动数据收集。CPLD控制模数变换器获取采样数据,同时配合LPC2888通用DMA控制器的接口时序将采样数据以DMA方式传输到LPC2888内部缓存。最后由USB高速设施接口将采样数据从LPC2888内部缓存传输到计算机,在计算机中实现数据记录、数据办理和波形显示等功能。LPC2888是一款鉴于ARM7TDMI内核的微控制器,带有8kB高速缓存,最高工作时钟频次60MHz。在构造上增添了多通道通用DMA控制器(GPDMA。它支持存储器到储存器,储存器到外设,外设到储存器和外设到外设的DMA传输。本系统采纳GPDMA控制器实现数据以前端数据收集模块到内部缓存的DMA传输。同时,LPC2888集成有USB高速设施控制器。它完好兼容USB2.0协议,支持USB高速传输,理论最高传输速度480Mb/s,其内部构造如图2所示。USB设施控制器直接挂接在LPC2888系统内部核心总线AHB上,能够方便地与ARM控制器内核及外面存搭枠頓挤?桓鯠MA引擎,当USB接口运转在DMA模式时,DMA引擎作为AHB总线上的主机,在ARM内部缓存和USB设施控制器缓存之间传达数据,传输过程不需要控制器内核程序的参加,因此能够达到较高的数据传输速度。1.2数据收集模块数据收集模块主要由信号调治电路、模数变换电路、触发控制电路和CPLD组成。模数变换器采纳美国模拟器件企业(ADI推出的迅速12位双通道模数变换器AD9238。单双通道选择和采样频次控制经过CPLD控制逻辑来实现。2、数据传输过程DMA方式的设计与实现系统中数据传输过程包含两个环节,一个是从CPLD到LP个是从LPC2888内部缓存经过USB接口到计算机。两个环节都采纳DMA方式传输数据,两个环节之间的协调经过GPDMA控制器产生的半满、全满中止来实现。整个数据传输过程完好采纳DMA的传输方式,进而能够除去因微控制器固件程序履行较慢而造成的对数据传输速度的影响。存过程,因此为了保证不丢掉采样点,从CPLD到LPC2888内部缓存的DMA传输一定保证连续性和及时性。为此,系统采纳了以下解决方案:2配置DMA通道3和通道5为外面信号控制模式,由CPLD作为DCPLD与LPC2888之间的硬件连结如图3所示。此中DMAEn能控制信号,其上涨沿启动一次DMA操作。DMAReq是DMA数据同步信号,该信号控制数据节拍,每次DMA操作传输4096个数据。IO口P2.0和P2.1分别和采样模式选择控制信号线,实现LPC2888对CPLD的控制。系统采用用VerilogHDL语言描绘CPLD控制逻辑,从CPLD到LPC2888内部缓存的DMA2.2USB高速设施接口的DMA传输USB高速设施控制器支持16个物理端点,此中4个端点支持DMA方式。本设计中采纳三个端点:EP0、EP2和EP3。控制端点EP0工作在控制传输模式,用于接收USB主机的SETUP令牌包、响应主机的标准设施恳求、达成USB设施的列举过程。EP2配置为OUT(输出模式,用于接收来自应用程序的控制命令。EP3配置为IN(输入模式,采纳批量传输工作方式,负责将采样结果传输到PC机。从LPC2888内部缓存到计算机的DMA传输由USB高速设施控制器内部的DMA引擎和EP3批量传输配合达成。为了达到较高的数据传输速度,EP3批量传输采纳自动传输模式。DMA引擎将LPC2888内部缓存数据传输到USB设施控制器内部FIFO缓存中,当FIFO获取的暑枠頓挤?远獍蒃P3传输到PC机。同时,当FIFO中数据为空时,控制器将自动启动DMA引擎持续传输数据。该环节的DMA传输过程完好由USB高速设施控制器硬件实现,程序中只要改正DMA源地点存放器并设置使能控制存放器即可启动一次DMA传输。系统中利用GPDMA控制器产生的半满和全满中止信号协调两个DMA对同一个缓存空间的操作,实现了LPC2888对整个数据传输过程的协调控制。当DMA通道3工作时,3、上位机软件设计系统上位机软件包含两个部分:设施驱动程序和系统应用程序。开发USB设施的一个重点问题在于设施驱动程序的编写。传统的开发工具是微软企业供给的设施驱动开发工具包:WindowsDDK(DeviceDriverKits,以及由第三方企业鉴于DDK开发的驱动程序开发工具包:WinDriver或DriverWorks。DDK鉴于汇编语言的编程方式和内核模式的调用,关于没有深沉的操作系统原理和编程水平的人员来说,任务相当艰巨。本文使用美国国家仪器NI(NationalInstrument业开发的NI-序,避开了过去开发USB设施驱动程序的复杂性,同时直接使用虚构仪器软件设计平台LabWindowsCVI开发系统应用程序,缩短了开发周期。3.1使用NI-VISA开发USB设施驱动程序NI-VISA是NI企业开发的一种用来与各样仪器总线进行通讯的高级应用编程接口。VISA总线I/O软件是一个综合软件包,它不受平台、总线和环境的限制,可用来对VISA能够很简单地实现计算机应用程序和USB设施之间的连结,降低了设施驱动VISA供给了两类函数供给用软件调用,USBINSTR设施与USBRAW设施。USBINSTR设施是切合USBTMC(USB测试丈量类协议的USB设施,能够经过使用USBINSTR类函数控制,通讯时无需配置NI-VISA;而USBRAW设施是指除了明确切合USBTMC规格的仪器以外的任何USB设施,通讯时要配置NI-VISA。经过结到计算机时,操作系统将自动安装该设施驱动并辨别该设施。3.2系统应用程序设计使用NI-VISA开发的USB设施能够在LabVIEW和LabWindowsCVI中直接调用,此中有相应的VI子节点和库函数对设施进行操作。本系统采纳LabWindowsCVI开发数据收集系统应用程序。对设施的操作按照顤橆D挤?设施,而后能够对设施进行读写、设置设施属性等操作,最后要封闭设施。目前应用程序设置有两种工作模式:示波器模式和连续收集储存模式。示波器模式每隔必定的时间间隔启动一次收集,采纳模拟电平触发,采样长度固定,采样结果波形及时显示。连续收集储存模式启动收集后,系统将采样结果及时地储存到数据文件中。停止收集后,应用程序翻开数据文件对采样结果进行波形显示、数据办理等操作。系统应用程序界面如图6所4、系统测试结果本文对该系统主要从以下四个方面进行了测试。1将CPLD内部逻辑设定为传输固定数据,如0xAA55。系统在连续收集工作,获取数据文件。采纳二进制文件编写软件UltraEdit查察数据文件,此中所有采样点结果均为0xAA55。考证了数据传输过程的正确性。2将CPLD内部逻辑设定为传输每次增1的数据,获取采样数据文件进行查察。获取采样点结果为递加的数据,每次增量为1。考证了数据传输过程没有丢掉采样点,保证了数据传输过程的靠谱性。3将CPLD内部逻辑设定为传输AD采样结果。系统工作在示波器模式下,及时查察采样结果波形。调整输入模拟信号幅值、频次和波形,分别获取相应的采样结果波形。考证了AD变换环节的正确性。图6所显示被采样信号为250Hz正弦信号,峰4USB接口数据传输速度测试。这里采纳总线剖析测试软件BusHound测试系统的数据传输速度。该软件能够察看USB设施的工作状况,读取目前USB设施输入输出数据量的大小、数据传输速度和设施属性等信息,而且灶枠頓挤?傅墓ぷ鞑跋臁2馐允笔紫仍诵蠦usHound软件,启动系统工作在连续收集储存模式,而后可以在以在BusHound中获取系统的数据传输速度。经测试,系统最高数据传输速度为本文使用嵌入式微控制器LPC2888和CPLD成功地达成了鉴于USB高速传输的数据收集系统。系统利用CPLD配合GPDMA控制器实现了从数据收集模块到LPC2888内部缓存的DMA数据传输,利用USB设施控制器DMA引擎配合端点批量传输实现了从缓存到计算机的DMA传输,并经过中止对两个环节进行协调实现了整个数据传输过程的DMA传输。经测试,系统有效数据传输速度达128Mb/s。在USB设施驱动应用程序的开发上,本文试试了一种新方法。配置NI-VISA生成驱动程序,在LabWindowsCVI中进行应用程序设计,经过VISA控制USB设施。实践证明:使用该方法开发的系统稳固靠谱,不需要开发者认识驱动程序内核,开发难度低,是一种简单、迅速开发USB接口应用系统的好方法。[1]李华.USB仪器将成丈量仪器主流.外国电子丈量技术,2005,10:1~5.[3]NXPSemiconductors.LPC2880/LPC2888datasheet.Version02,2006,9.[4]NXPSemiconductors.LPC2880/LPC2888Usermanu顤橆D挤?5.备,2007,4:36~39.统应用,2007,1

温馨提示

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

评论

0/150

提交评论