您的位置 首页 分销

USB数据收集体系中DMA数据传输的完成

引言USB通用串行总线(Universal Serial Bus)是被PC机广泛采用的一种总线,目前已经在计算机主板上大量集成,成为一种标准配置接口。它的即插即用、真正的热插拔、可总线供电、高性能和系

导言

USB通用串行总线(Universal Serial Bus)是被PC机广泛选用的一种总线,现在已经在计算机主板上很多集成,成为一种规范装备接口。它的即插即用、真实的热插拔、可总线供电、高性能和体系造价低一级一系列的长处,使得USB接口得到了广泛的使用。特别是跟着USB2.0高速传输协议的呈现,其数据传输速度到达了480Mb/s,使得USB接口方法的虚拟仪器体系成为今日低成本虚拟仪器体系的干流。本文规划了根据USB2.0高速传输的数据收集体系,整个数据传输进程彻底选用DMA方法,到达了较高的数据传输速度。

1、体系介绍

体系整体结构如图1所示。选用Philips公司的微操控器LPC2888作为体系中心操控器。前端数据收集模块由一片CPLD完结对数据收集和触发操控的功用。当体系和计算机成功衔接进入作业状况后,LPC2888从USB接口接纳来自使用程序的操控指令,然后通过操控CPLD对数据收集模块采样通道、采样速率和触发形式进行装备后发动数据收集。CPLD操控模数转化器获取采样数据,一起合作LPC2888通用DMA操控器的接口时序将采样数据以DMA方法传输到LPC2888内部缓存。最后由USB高速设备接口将采样数据从LPC2888内部缓存传输到计算机,在计算机中完结数据记载、数据处理和波形显现等功用。

11.jpg

图1 体系整体结构图

1.1 LPC2888微操控器

LPC2888是一款根据ARM7TDMI内核的微操控器,带有8kB高速缓存,最高作业时钟频率60MHz。在结构上增加了多通道通用DMA操控器(GPDMA)。它支撑存储器到存储器,存储器到外设,外设到存储器和外设到外设的DMA传输。本体系选用GPDMA操控器完结数据从前端数据收集模块到内部缓存的DMA传输。一起,LPC2888集成有USB高速设备操控器。它彻底兼容USB2.0协议,支撑USB高速传输,理论最高传输速度480Mb/s,其内部结构如图2所示。USB设备操控器直接挂接在LPC2888体系内部中心总线AHB上,能够方便地与ARM操控器内核及外部存储器交流数据。其内部包括一个DMA引擎,当USB接口运行在DMA形式时,DMA引擎作为AHB总线上的主机,在ARM内部缓存和USB设备操控器缓存之间传递数据,传输进程不需要操控器内核程序的参加,所以能够到达较高的数据传输速度。

22.jpg

图2 USB高速设备操控器内部结构图

1.2 数据收集模块

数据收集模块主要由信号调度电路、模数转化电路、触发操控电路和CPLD构成。模数转化器选用美国模仿器材公司(ADI)推出的快速12位双通道模数转化器AD9238。单双通道挑选和采样频率操控通过CPLD操控逻辑来完结。

2、数据传输进程DMA方法的规划与完结

体系中数据传输进程包括两个环节,一个是从CPLD到LPC2888内部缓存,另一个是从LPC2888内部缓存通过USB接口到计算机。两个环节都选用DMA方法传输数据,两个环节之间的和谐通过GPDMA操控器发生的半满、全满中止来完结。整个数据传输进程彻底选用DMA的传输方法,然后能够消除因微操控器固件程序履行较慢而形成的对数据传输速度的影响。

2.1 从CPLD到LPC2888内部缓存的DMA传输

CPLD从AD9238取得两个12位的转化成果,通过位数改换后送到32位的数据信号线。数据信号线直接衔接到LPC2888的P0口(32位)。因为CPLD内部没有数据缓存进程,所以为了确保不丢掉采样点,从CPLD到LPC2888内部缓存的DMA传输有必要确保连续性和实时性。为此,体系采纳了如下解决方案:

1) 在LPC2888内部RAM中拓荒两块相同巨细的缓存空间:buffer1和buffer2。将通用DMA操控器的通道3和通道5别离装备为从P0口到buffer1和buffer2的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别离为发动中止和采样形式挑选操控信号线,完结LPC2888对CPLD的操控。体系选用Verilog HDL言语描绘CPLD操控逻辑,从CPLD到LPC2888内部缓存的DMA传输时序如图4所示。

44.jpg

图3 CPLD与ARM接口

44.jpg

图4 GPDMA传输时序图

2.2 USB高速设备接口的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取得的数据到达设定的巨细时将主动封包由EP3传输到PC机。一起,当FIFO中数据为空时,操控器将主动发动DMA引擎持续传输数据。该环节的DMA传输进程彻底由USB高速设备操控器硬件完结,程序中只需更改DMA源地址寄存器并设置使能操控寄存器即可发动一次DMA传输。

2.3 两个DMA传输环节的和谐

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/fenxiao/327312.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部