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

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

ID:61443356

大小:123.00 KB

页数:7页

时间:2021-01-31

USB数据采集系统中DMA数据传输的实现.docx_第1页
USB数据采集系统中DMA数据传输的实现.docx_第2页
USB数据采集系统中DMA数据传输的实现.docx_第3页
USB数据采集系统中DMA数据传输的实现.docx_第4页
USB数据采集系统中DMA数据传输的实现.docx_第5页
USB数据采集系统中DMA数据传输的实现.docx_第6页
USB数据采集系统中DMA数据传输的实现.docx_第7页
资源描述:

《USB数据采集系统中DMA数据传输的实现.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、引言USB通用串行总线(UniversalSerialBus)是被PC机广泛采用的一种总线,目前已经在计算机主板上大量集成,成为一种标准配置接口。它的即插即用、真正的热插拔、可总线供电、高性能和系统造价低等一系列的优点,使得USB接口得到了广泛的应用。特别是随着USB2.0高速传输协议的出现,其数据传输速度达到了480Mb/s,使得USB接口顤橆D挤�为今天低成本虚拟仪器系统的主流。本文设计了基于USB2.0高速传输的数据采集系统,整个数据传输过程完全采用DMA方式,达到了较高的数据传输速度。1、系统介绍系统总体结构如图1所示。采用Philips公司的微控制器LPC2888作为

2、系统核心控制器。前端数据采集模块由一片CPLD实现对数据采集和触发控制的功能。当系统和计算机成功连接进入工作状态后,LPC2888从USB接口接收到来自应用程序的控制命令,然后通过控制CPLD对数据采集模块采样通道、采样速率和触发模式进行配置后启动数据采集。CPLD控制模数转换器获取采样数据,同时配合LPC2888通用DMA控制器的接口时序将采样数据以DMA方式传输到LPC2888内部缓存。最后由USB高速设备接口将采样数据从LPC2888内部缓存传输到计算机,在计算机中实现数据记录、数据处理和波形显示等功能。图1系统总体结构图1.1LPC2888微控制器LPC2888是一款基

3、于ARM7TDMI内核的微控制器,带有8kB高速缓存,最高工作时钟频率60MHz。在结构上增加了多通道通用DMA控制器(GPDMA)。它支持存储器到存储器,存储器到外设,外设到存储器和外设到外设的DMA传输。本系统采用GPDMA控制器实现数据从前端数据采集模块到内部缓存的DMA传输。同时,LPC2888集成有USB高速设备控制器。它完全兼容USB2.0协议,支持USB高速传输,理论最高传输速度480Mb/s,其内部结构如图2所示。USB设备控制器直接挂接在LPC2888系统内部核心总线AHB上,可以方便地与ARM控制器内核及外部存搭枠頓挤�桓鯠MA引擎,当USB接口运行在D

4、MA模式时,DMA引擎作为AHB总线上的主机,在ARM内部缓存和USB设备控制器缓存之间传递数据,传输过程不需要控制器内核程序的参与,所以能够达到较高的数据传输速度。图2USB高速设备控制器内部结构图1.2数据采集模块数据采集模块主要由信号调理电路、模数转换电路、触发控制电路和CPLD构成。模数转换器采用美国模拟器件公司(ADI)推出的快速12位双通道模数转换器AD9238。单双通道选择和采样频率控制通过CPLD控制逻辑来实现。2、数据传输过程DMA方式的设计与实现系统中数据传输过程包含两个环节,一个是从CPLD到LPC2888内部缓存,另一个是从LPC2888内部缓存通过US

5、B接口到计算机。两个环节都采用DMA方式传输数据,两个环节之间的协调通过GPDMA控制器产生的半满、全满中断来实现。整个数据传输过程完全采用DMA的传输方式,从而可以消除因微控制器固件程序执行较慢而造成的对数据传输速度的影响。2.1从CPLD到LPC2888内部缓存的DMA传输CPLD从AD9238获得两个12位的转换结果,经过位数变换后送到32位的数据信号线。数据信号线直接连接到LPC2888的P0口(32位)。由于CPLD内部没有数据缓存过程,所以为了保证不丢失采样点,从CPLD到LPC2888内部缓存的DMA传输必须保证连续性和实时性。为此,系统采取了如下解决方案:1)在

6、LPC2888内部RAM中开辟两块相同大小的缓存空间:buffer1和buffer2。将通用DMA控制器的通道3和通道5分别配置为搭枠頓挤�er2的DMA通道。2)配置DMA通道3和通道5为外部信号控制模式,由CPLD作为DMA数据传输过程的主机。3)DMA通道3和通道5采用交替工作的方式,由CPLD控制逻辑实现。CPLD与LPC2888之间的硬件连接如图3所示。其中DMAEn是DMA通道的外部使能控制信号,其上升沿启动一次DMA操作。DMAReq是DMA数据同步信号,该信号控制数据节拍,每次DMA操作传输4096个数据。IO口P2.0和P2.1分别为启动停止和采样模式选择控制

7、信号线,实现LPC2888对CPLD的控制。系统采用VerilogHDL语言描述CPLD控制逻辑,从CPLD到LPC2888内部缓存的DMA传输时序如图4所示。图3CPLD与ARM接口图4GPDMA传输时序图2.2USB高速设备接口的DMA传输USB高速设备控制器支持16个物理端点,其中4个端点支持DMA方式。本设计中选用三个端点:EP0、EP2和EP3。控制端点EP0工作在控制传输模式,用于接收USB主机的SETUP令牌包、响应主机的标准设备请求、完成USB设备的枚举过程。EP2配置为OU

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。