2022年USB数据采集系统中DMA数据传输实现.docx
《2022年USB数据采集系统中DMA数据传输实现.docx》由会员分享,可在线阅读,更多相关《2022年USB数据采集系统中DMA数据传输实现.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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 对整个数据传输过程的和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 USB 数据 采集 系统 DMA 数据传输 实现
限制150内