2022年USB数据采集系统中DMA数据传输实现.docx

上传人:Che****ry 文档编号:12801434 上传时间:2022-04-26 格式:DOCX 页数:6 大小:298.34KB
返回 下载 相关 举报
2022年USB数据采集系统中DMA数据传输实现.docx_第1页
第1页 / 共6页
2022年USB数据采集系统中DMA数据传输实现.docx_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《2022年USB数据采集系统中DMA数据传输实现.docx》由会员分享,可在线阅读,更多相关《2022年USB数据采集系统中DMA数据传输实现.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、个人资料整理仅限学习使用引言USB 通用串行总线 Universal Serial Bus是被 PC机广泛采纳的一种总线,目前已经在运算机主板上大量集成,成为一种标准配置接口;它的即插即用、真正的热插拔、可总线供电、高性能和系统造价低等一系列的优点,使得USB 接口得到了广泛的应用;特殊是随着USB2.0 高速传输协议的显现,其数据传输速度达到了480Mb/s ,使得 USB 接口顤橆 D 挤. 为今日低成本虚拟仪器系统的主流;本文设计了基于USB2.0 高速传输的数据采集系统,整个数据传输过程完全采纳DMA 方式,达到了较高的数据传输速度;1、系统介绍系统总体结构如图1 所示;采纳 Phil

2、ips 公司的微掌握器LPC2888 作为系统核心掌握器;前端数据采集模块由一片CPLD 实现对数据采集和触发掌握的功能;当系统和运算机胜利连接进入工作状态后, LPC2888 从 USB 接口接收到来自应用程序的掌握命令,然后通过掌握CPLD 对数据采集模块采样通道、采样速率和触发模式进行配置后启动数据采集;CPLD 掌握模数转换器猎取采样数据,同时协作LPC2888 通用 DMA 掌握器的接口时序将采样数据 以 DMA 方式传输到 LPC2888 内部缓存;最终由USB 高速设备接口将采样数据从LPC2888 内部缓存传输到运算机,在运算机中实现数据记录、数据处理和波形显示等功能;b5E2

3、RGbCAP图 1 系统总体结构图1.1 LPC2888微掌握器LPC2888 是一款基于 ARM7TDMI 内核的微掌握器,带有8kB 高速缓存,最高工作时钟频率60MHz ;在结构上增加了多通道通用DMA 掌握器 GPDMA;它支持储备器到储备器,储备器到外设,外设到储备器和外设到外设的DMA 传输;本系统采纳GPDMA 掌握器实现数据从前端数据采集模块到内部缓存的DMA 传输;同时, LPC2888 集成有 USB 高速设备掌握器;它完全兼容 USB2.0 协议,支持 USB高速传输,理论最高传输速度480Mb/s ,其内部结构如图 2 所示; USB设备掌握器直接挂接在LPC2888系

4、统内部核心总线AHB 上,可以便利地与ARM 掌握器内核及外部存搭枠頓挤.MA 引擎,当 USB 接口运行在DMA 模式时, DMA 引擎作为 AHB 总线上的主机,在ARM 内部缓存和USB 设备掌握器缓存之间传递数据, 传输过程不需要掌握器内核程序的参加,所以能够达到较高的数据传输速度;p1EanqFDPw6 / 6图 2 USB高速设备掌握器内部结构图1.2 数据采集模块数据采集模块主要由信号调理电路、模数转换电路、触发掌握电路和CPLD构成;模数转换器采纳美国模拟器件公司ADI推出的快速 12 位双通道模数转换器AD9238;单双通道挑选和采样频率掌握通过CPLD掌握规律来实现;DXD

5、iTa9E3d2、数据传输过程 DMA 方式的设计与实现系统中数据传输过程包含两个环节,一个是从CPLD到 LPC2888 内部缓存,另一个是从LPC2888 内部缓存通过USB接口到运算机;两个环节都采纳DMA 方式传输数据,两个环节之间的和谐通过 GPDMA 掌握器产生的半满、全满中断来实现;整个数据传输过程完全采用 DMA 的传输方式,从而可以排除因微掌握器固件程序执行较慢而造成的对数据传输速度的影响; RTCrpUDGiT2.1 从 CPLD到 LPC2888 内部缓存的 DMA 传输CPLD从 AD9238 获得两个 12 位的转换结果,经过位数变换后送到32 位的数据信号线;数据信

6、号线直接连接到LPC2888的 P0 口32 位;由于 CPLD内部没有数据缓存过程,所以为了保证不丢失采样点,从CPLD到 LPC2888 内部缓存的 DMA 传输必需保证连续性和实时性;为此,系统实行了如下解决方案:5PCzVD7HxA1 在 LPC2888内部 RAM 中开创两块相同大小的缓存空间:buffer1 和 buffer2 ;将通用DMA 掌握器的通道3 和通道 5 分别配置为搭枠頓挤 . er2 的 DMA 通道; jLBHrnAILg2 配置 DMA 通道 3 和通道 5 为外部信号掌握模式,由CPLD作为 DMA 数据传输过程的主机;3 DMA 通道 3 和通道 5 采纳

7、交替工作的方式,由CPLD掌握规律实现;CPLD与 LPC2888 之间的硬件连接如图3 所示;其中 DMAEn 是 DMA 通道的外部使能掌握信号,其上升沿启动一次DMA 操作; DMAReq 是 DMA 数据同步信号,该信号掌握数据节拍, 每次 DMA 操作传输 4096 个数据; IO 口 P2.0 和 P2.1 分别为启动停止和采样模式挑选掌握 信号线,实现LPC2888 对 CPLD的掌握;系统采纳Verilog HDL 语言描述 CPLD掌握规律,从CPLD到 LPC2888 内部缓存的 DMA 传输时序如图 4 所示; xHAQX74J0X图 3 CPLD与 ARM 接口2.2

8、USB高速设备接口的USB 高速设备掌握器支持图 4 GPDMA 传输时序图DMA 传输16 个物理端点,其中4 个端点支持DMA 方式;本设计中选用三个端点: EP0、EP2 和 EP3;掌握端点 EP0 工作在掌握传输模式,用于接收SETUP令牌包、响应主机的标准设备恳求、完成出模式,用于接收来自应用程序的掌握命令;USB 主机的USB 设备的枚举过程;EP2 配置为 OUT输EP3 配置为 IN输入模式,采纳批量传输工作方式,负责将采样结果传输到PC机;从 LPC2888内部缓存到运算机的DMA 传输由 USB高速设备掌握器内部的DMA 引擎和 EP3 批量传输协作完成;为了达到较高的数

9、据传输速度, EP3 批量传输采纳自动传输模式;DMA 引擎将 LPC2888内部缓存数据传输到USB设备掌握器内部FIFO 缓存中,当FIFO 获得的暑枠頓挤 .P3 传输到 PC 机;同时,当 FIFO中数据为空时,掌握器将自动启动DMA 引擎连续传输数据;该环节的DMA 传输过程完全由 USB高速设备掌握器硬件实现,程序中只需更换DMA 源地址寄存器并设置使能掌握寄存器即可启动一次DMA 传输; LDAYtRyKfE2.3 两个 DMA 传输环节的和谐系统中利用 GPDMA 掌握器产生的半满和全满中断信号和谐两个DMA 对同一个缓存空间的操作,实现了LPC2888 对整个数据传输过程的和

10、谐掌握;当DMA 通道 3 工作时,采样数据从 CPLD传输到 buffer1 ,同时 USB 高速设备掌握器对buffer2 中的数据进行 DMA 操作;当 DMA 通道 5 工作时,采样数据传输到buffer2 , USB 高速设备掌握器对buffer1 中的数据进行操作;如图 5 中 LPC2888程序流程所示; Zzz6ZB2Ltk图 5 LPC2888程序流程3、上位机软件设计系统上位机软件包括两个部分:设备驱动程序和系统应用程序;开发USB设备的一个关键问题在于设备驱动程序的编写;传统的开发工具是微软公司供应的设备驱动开发工具包:Windows DDKDevice Driver K

11、its,以及由第三方公司基于DDK 开发的驱动程序开发工具包: WinDriver 或 DriverWorks ;DDK 基于汇编语言的编程方式和内核模式的调用,对于没有深厚的操作系统原理和编程水平的人员来说,任务相当艰难;本文使用美国国家仪器NINational Instruments 公司开发的 NI-VISAVirtual Instrument Software Architecture顤橆 D 挤. 肰 ISA生成设备驱动程序,躲开了以往开发USB设备驱动程序的复杂性,同时直接使用 虚拟仪器软件设计平台LabWindows CVI 开发系统应用程序,缩短了开发周期;dvzfvkwMI1

12、3.1 使用 NI-VISA开发 USB设备驱动程序NI-VISA 是 NI 公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口;VISA总线 I/O 软件是一个综合软件包,它不受平台、总线和环境的限制,可用来对USB、GPIB、串口、 PCI、VXI、PXI 和以太网系统进行配置、编程和调试;使用VISA可以很简洁地实现 运算机应用程序和USB设备之间的连接,降低了设备驱动的开发难度;rqyn14ZNXIVISA供应了两类函数供应用软件调用,USB INSTR设备与 USB RAW设备; USB INSTR设备是符合 USBTMCUSB测试测量类 协议的 USB 设备,可以通过使用U

13、SB INSTR类函数掌握,通信时无需配置NI-VISA;而 USB RAW设备是指除了明确符合USBTMC规格的仪器之外的任 何 USB设备,通信时要配置NI-VISA;经过配置后, VISA 自动创建好设备驱动文件:inf 文件和 PNF 文件;当相应的 USB 设备连接到运算机时,操作系统将自动安装该设备驱动并识别该设备; EmxvxOtOco3.2 系统应用程序设计使用 NI-VISA 开发的 USB 设备可以在 LabVIEW 和 LabWindows CVI 中直接调用,其中有相应的 VI 子节点和库函数对设备进行操作;本系统采纳LabWindows CVI 开发数据采集系统应用程

14、序;对设备的操作遵循顤橆D 挤. 设备,然后可以对设备进行读写、设置设备属性等操作,最终要关闭设备;目前应用程序设置有两种工作模式:示波器模式和连续采集储备模式;示波器模式每隔肯定的时间间隔启动一次采集,采纳模拟电平触发,采样长度固定, 采样结果波形实时显示;连续采集储备模式启动采集后,系统将采样结果实时地储备到数 据文件中;停止采集后,应用程序打开数据文件对采样结果进行波形显示、数据处理等操 作;系统应用程序界面如图6 所示; SixE2yXPq54、系统测试结果本文对该系统主要从以下四个方面进行了测试;1将 CPLD内部规律设定为传输固定数据,如 0xAA55;系统在连续采集储备模式下工作

15、, 获得数据文件;采纳二进制文件编辑软件 UltraEdit 查看数据文件,其中全部采样点结果均为 0xAA55;验证了数据传输过程的正确性; 6ewMyirQFL2将 CPLD内部规律设定为传输每次增 1 的数据,获得采样数据文件进行查看;得到采样点结果为递增的数据,每次增量为 1;验证了数据传输过程没有丢失采样点,保证了数据传输过程的牢靠性; kavU42VRUs3将 CPLD内部规律设定为传输 AD 采样结果;系统工作在示波器模式下,实时查看采样结果波形;调整输入模拟信号幅值、频率和波形,分别得到相应的采样结果波形;验证了AD 转换环节的正确性;图6 所显示被采样信号为250Hz 正弦信

16、号,峰峰值5V,采样速率 1MS/s ;y6v3ALoS89图 6 系统应用程序界面4USB接口数据传输速度测试;这里采纳总线分析测试软件Bus Hound 测试系统的数据传输速度;该软件可以观看USB 设备的工作情形,读取当前USB 设备输入输出数据量的大小、数据传输速度和设备属性等信息,并且灶枠頓挤.usHound 软件,启动系统工作在连续采集储备模式,然后可以在Bus Hound 中得到系统的数据传输速度;经测试,系统最高数据传输速度为16MB/s128Mb/s ;图 7 所示为 BusHound 软件界面和数据传输速度测试结果;M2ub6vSTnP图 7 软件 Bus Hound 的界

17、面与速度测试结果5、结论本文使用嵌入式微掌握器LPC2888 和 CPLD胜利地完成了基于USB高速传输的数据采集系统;系统利用CPLD协作 GPDMA 掌握器实现了从数据采集模块到LPC2888内部缓存的DMA 数据传输,利用 USB设备掌握器 DMA 引擎协作端点批量传输实现了从缓存到运算机的 DMA 传输,并通过中断对两个环节进行和谐实现了整个数据传输过程的DMA 传输;经测试,系统有效数据传输速度达128Mb/s ;0YujCfmUCw在 USB 设备驱动应用程序的开发上,本文尝试了一种新方法;配置NI-VISA 生成驱动程序, 在 LabWindows CVI 中进行应用程序设计,通

18、过VISA掌握 USB设备;实践证明:使用该方法开发的系统稳固牢靠,不需要开发者明白驱动程序内核,开发难度低,是一种简洁、快速开发 USB接口应用系统的好方法;参考文献eUts8ZQVRd1 李华.USB 仪器将成测量仪器主流.国外电子测量技术,2005,10:15.2 郭云鹏 ,吴卫华 ,张珺捷 .虚拟仪器技术与进展展望.中国科技信息 ,2005,18:92101.3 NXP Semiconductors. LPC2880/LPC2888 data sheet. Version 02,2006,9. sQsAEJkW5T4 NXP Semiconductors. LPC2880/LPC288

19、8 User manu 顤橆 D 挤. 5.GMsIasNXkA5 苏兰兰 ,施伟峰 .基于 VISA技术的高速 USB 数据采集系统 .机电设备,2007,4:3639. TIrRGchYzg6 余志荣 ,杨莉 .基于 NI-VISA 与 LabVIEW 的 USB接口应用设计 .单片机与嵌入式系统应用,2007,1:6669. 7EqZcWLZNX7 National Instruments. USB Instrument Control Tutorial. 2007,6.lzq7IGf02E8 刘思久 ,赵蔚 .实现 USB2.0高速数据传输问题的探讨.运算机工程与应用.2007,43:75-77.zvpgeqJ1hk作者:罗伟林王立欣毛远来源:电子测量技术免责声明:本文仅代表作者个人观点,与C114 中国通信网无关;其原创性以及文中陈述文字和内容未经本站证明,对本文以及其中全部或者部分内容、文字的真实性、完整性、准时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容;Wdf/wdm NrpoJac3v1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁