USB数据采集系统中DMA数据传输的实现.pdf
《USB数据采集系统中DMA数据传输的实现.pdf》由会员分享,可在线阅读,更多相关《USB数据采集系统中DMA数据传输的实现.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 前言 USB 通用串行总线(UniversalSerialBus是被 PC 机宽泛采纳的一种总线,目前已经在计算机主板上大批集成,成为一种标准配置接口。它的即插即用、真切的热插 拔、可总线供电、高性能和系统造价低等一系列的长处,使得 USB 接口获取了宽泛的应用。特别是跟着 USB2.0 高速传输协议的出现,其数据传输速度达到了 480Mb/s,使得 USB 接口顤橆 D 挤?为今日低成本虚构仪器系统的主流。本文设 计了鉴于 USB2.0 高速传输的数据收集系统,整个数据传输过程完好采纳 DMA 方 式,达到了较高的数据传输速度。1、系统介绍 系统整体构造如图 1 所示。采纳 Philips
2、 企业的微控制器 LPC2888 作为系统核心控制器。前端数据收集模块由一片 CPLD 实现对数据收集和触发控制的功能。当系统和计算机成功连结进入工作状态后,LPC2888 从 USB 接口接收到来自应用程序的控制命令,而后经过控制 CPLD 对数据收集模块采样通道、采样速率和触发模式进行配置后启动数据收集。CPLD 控制模数变换器获取采样数据,同时配合 LPC2888 通用 DMA控制器的接口时序将采样数据以DMA方式传输到 LPC2888 内部缓存。最后由 USB 高速设施接口将采样数据从 LPC2888 内部缓存传输到计算机,在计算机中实现数据记录、数据办理和波形显示等功能。图 1 系统
3、整体构造图 1.1LPC2888 微控制器 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 设施控制器缓存之间传达数据,传输过程不需要控制器内核程序的参加,因此能够达到较高的数据传输速度。图 2USB 高速设施控制器内部构造图 1.2 数据收集模块 数据收集模块主要由信号调治电路、模数变换电路、触发控制电路和 CPLD 组成。模数变换器采纳美国模拟器件企业(ADI推出的迅速 12 位双通道模数变换器AD9238。单双通道选择和采样频次控制经过 CPLD 控制逻辑来实现。2、数据传输过程 DMA方式的设计与
5、实现 系统中数据传输过程包含两个环节,一个是从 CPLD 到 LPC2888 内部缓存,另一 个是从 LPC2888 内部缓存经过 USB 接口到计算机。两个环节都采纳 DMA方式传 输数据,两个环节之间的协调经过 GPDMA 控制器产生的半满、全满中止来实 现。整个数据传输过程完好采纳 DMA的传输方式,进而能够除去因微控制器固件 程序履行较慢而造成的对数据传输速度的影响。2.1 从 CPLD 到 LPC2888 内部缓存的 DMA 传输 CPLD 从 AD9238 获取两个 12 位的变换结果,经过位数变换后送到 32 位的数据信 号线。数据信号线直接连结到 LPC2888 的 P0 口(
6、32 位。因为 CPLD 内部没有数据缓存过程,因此为了保证不丢掉采样点,从 CPLD 到 LPC2888 内部缓存的 DMA传输一定保证连续性和及时性。为此,系统采纳了以下解决方案:1 在 LPC2888 内部 RAM 中开拓两块同样大小的缓存空间:buffer1 和 buffer2。将通用 DMA控制器的通道 3 和通道 5 分别配置为搭枠頓挤?er2 的 DMA通道。2 配置 DMA通道 3 和通道 5 为外面信号控制模式,由 CPLD 作为 DMA数据传输过程的主机。3DMA通道 3 和通道 5 采纳交替工作的方式,由CPLD 控制逻辑实现。CPLD 与 LPC2888 之间的硬件连结
7、如图 3 所示。此中 DMAEn 是 DMA通道的外面使能控制信号,其上涨沿启动一次 DMA操作。DMAReq 是 DMA数据同步信号,该信号控制数据节拍,每次 DMA操作传输 4096 个数据。IO 口 P2.0 和 P2.1 分别为启动停止和采样模式选择控制信号线,实现 LPC2888 对 CPLD 的控制。系统采 用 VerilogHDL 语言描绘 CPLD 控制逻辑,从 CPLD 到 LPC2888 内部缓存的 DMA 传输时序如图 4 所示。图 3CPLD 与 ARM接口 图 4GPDMA 传输时序图 2.2USB 高速设施接口的 DMA传输 USB 高速设施控制器支持 16 个物理
8、端点,此中 4 个端点支持 DMA方式。本设计中采纳三个端点:EP0、EP2 和 EP3。控制端点 EP0 工作在控制传输模式,用于接收USB 主机的 SETUP 令牌包、响应主机的标准设施恳求、达成 USB 设施的列举过程。EP2 配置为 OUT(输出模式,用于接收来自应用程序的控制命令。EP3 配置 为 IN(输入模式,采纳批量传输工作方式,负责将采样结果传输到PC 机。从 LPC2888内部缓存到计算机的 DMA传输由 USB 高速设施控制器内部的 DMA引擎 和 EP3 批量传输配合达成。为了达到较高的数据传输速度,EP3 批量传输采纳自动传输模式。DMA 引擎将 LPC2888 内部
9、缓存数据传输到 USB 设施控制器内部 FIFO 缓存中,当 FIFO 获取的暑枠頓挤?远獍蒃 P3 传输到 PC 机。同时,当 FIFO 中 数据为空时,控制器将自动启动 DMA引擎持续传输数据。该环节的 DMA传输过 程完好由 USB 高速设施控制器硬件实现,程序中只要改正 DMA源地点存放器并设置使能控制存放器即可启动一次 DMA传输。2.3 两个 DMA传输环节的协调 系统中利用 GPDMA 控制器产生的半满和全满中止信号协调两个 DMA对同一个缓存空间的操作,实现了 LPC2888 对整个数据传输过程的协调控制。当 DMA通道 3 工作时,采样数据从 CPLD 传输到 buffer1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- USB 数据 采集 系统 DMA 数据传输 实现
限制150内