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

合集下载

USB主机控制器在嵌入式数据采集系统中的实现

USB主机控制器在嵌入式数据采集系统中的实现
自的 中断请 求输 出管脚 和 独 立 的 DMA 通 道 。 电源 调 整和上 电复位 模 块 : 了可 以软 件复 位外 , 可 以 除 还 通过 R S E ET— 管脚 实 现 硬件 复位 。I P 1 1只 接 N S 16 受 5V 或 3 3V 的 电压 , . 当输 入 5V 电压 时 , 电源 调 整 器会将 其 调整 为 3 3V。 .
机 控制 器接 口) 标准 。 P LP HI I S公 司 的 IP1 6 S 1 1芯 片 支 持 OHC I标
现代 工业 生 产和科 学 研究 对数 据 采集 的要 求 日 益 提高 , 瞬 态 信 号测 量 、 在 图像 处 理 等 一 些 高 速 、 高
精 度 的测量 中 , 要进 行 高速 数 据采 集 。 在 通用 的 需 现
2 嵌 入 式 指 纹 验 证 系统 总 体 结 构
本文 中涉及 的嵌 入式 数 据 采集 系统 是 一个 由北 京 铱 波 电子 公 司 自主开 发 的指 纹 验 证 系统 , 由 硬 它
功 能 接 口的 计算 机 系 统 实 体 。US B主 机 硬 件 是 指
US B主机控 制 器 , 它规 定 了 US B主机 硬 件接 口, 因
I P 1 1内部可 分 为 四大 功能 模块 。 S 16 主机 控制 器模 块 : 实现 主 机控 制 器 的功能 。 供 提 两 个 下行 端 口 , 个 下 行端 口都 有 自己 的过 流检 测 每
种新 型 的通信 标 准 。 总线 接 口具 有简 单灵 活 、 该 高带 宽、 易于 扩展 和 即插 即用 等优 点 , 使其 自推 出 以后得
件平 台和软 件平 台 两部 分组 成 。其 中硬 件 平 台的 核
心 是 Itl 司 的 3 ne 公 2位 微 处 理 器 P A2 5 硬 件 平 X 5, 台还包 括 系统 存储 模 块 、 据 采 集 模 块 、 B模 块 、 数 US

dma传输基本原理

dma传输基本原理

dma传输基本原理DMA(Direct Memory Access)传输是一种计算机系统中常用的数据传输方式。

它通过绕过CPU,直接在外设和主存之间进行数据传输,提高了数据传输效率,减轻了CPU的负担。

DMA传输的基本原理是,在外设和主存之间建立一条专用的数据通路,通过DMA控制器来管理数据传输。

在传统的IO方式中,数据的传输需要通过CPU进行中转,即CPU从外设读取数据,然后再将数据写入主存。

这种方式效率较低,且占用了CPU的大量时间和资源。

而在DMA传输中,数据传输的过程可以分为三个步骤:首先,外设将数据传输请求发送给DMA控制器;然后,DMA控制器将请求转发给主存,并通过总线控制器将数据从外设读取到DMA缓冲区;最后,DMA控制器将数据从DMA缓冲区写入主存,或者从主存读取数据写入外设。

在这个过程中,CPU的作用主要是对DMA控制器进行初始化和设置,以及在数据传输完成后进行处理。

具体来说,CPU需要设置DMA控制器的起始地址、目的地址、传输长度等参数,然后启动DMA传输。

传输过程中,CPU可以自由进行其他任务,而不需要关注数据传输的具体细节。

使用DMA传输的好处有很多。

首先,它可以大大提高数据传输的效率。

由于数据传输直接在外设和主存之间进行,无需经过CPU的中转,减少了数据传输的延迟。

其次,DMA传输可以减轻CPU的负担,释放出更多的计算资源。

在大量数据传输的场景下,使用DMA传输可以提高系统的整体性能。

除了提高数据传输效率和减轻CPU负担外,DMA传输还具有其他一些特点。

首先,DMA传输是一种异步的传输方式,即外设和主存之间的数据传输可以独立于CPU的运行。

这意味着,在DMA传输过程中,CPU可以同时执行其他任务,提高了系统的并发性。

其次,DMA传输可以支持不同类型的外设,包括硬盘、网卡、显卡等。

这使得系统具有更好的扩展性和兼容性。

然而,DMA传输也存在一些限制和问题。

首先,DMA传输需要占用一部分内存空间作为DMA缓冲区,这会降低可用内存的大小。

基于STM32的USB数据采集器的设计

基于STM32的USB数据采集器的设计

基于STM32的USB数据采集器的设计李雪静;邓成中【摘要】随着计算机科学技术的快速发展,PC机作为控制平台的数据采集系统已经成为了当前发展的主要趋势.文章设计了基于微处理器平台STM32的USB数据处理采集系统,USB通信的方式实现和PC软件之间的数据交换,数据通过USB接口传输,并在PC机进行实时数据显示,给出了主要模块的具体的硬件电路设计和程序的设计模块.【期刊名称】《汽车实用技术》【年(卷),期】2018(000)017【总页数】5页(P172-176)【关键词】数据采;USB通信;STM32【作者】李雪静;邓成中【作者单位】西华大学机械工程学院,四川成都 610039;西华大学机械工程学院,四川成都 610039【正文语种】中文【中图分类】V557前言数据采集一般指的是将待测设备或传感器中的模拟和数字结构单元中自动的采集信号(包括电量和非电量),然后发送到远程的PC或服务器上再进行分析处理[1]。

数据采集器是一种能够对现场或远程采集的数据进行分析记录的设备。

其轻便的特性使其在多种场合适用。

数据采集器的输入源一般是以自带的过程传感器或震动传感器等的测量信号作为它的输入,在其内部搭载了十分复杂的测量分析技术和丰富多样化的显示系统,所有这些组成的检测系统能很方便的对机器设备进行周期性的故障排查和状态检测。

它同计算机一起构成了机器设备诊断主要的辅助手段[2]。

20世纪90年代至今,许多科技发达的国家已经广泛的推广使用这种数据采集技术。

而且随着集成电路制造技术的飞速发展,高性能,高可靠性的专业单片机数据采集系统(DAS)开始出现。

目前随处可见精度高达16位的DAS产品,其采集数据每秒就可以达到十万次以上。

至此数据采集技术已经逐渐发展成为了一门专门的技术。

目前,智能化的控制系统,模块化的接口是数据采集系统的主要发展方向[3]。

1 系统结构组成1.1 USB数据采集器硬件系统设计本设计是基于STM32F103主控器的硬件系统电路设计,其中包括电源管理电路、数据采集电路、控制电路三部分。

描述dma的数据传输过程

描述dma的数据传输过程

描述dma的数据传输过程
DMA(直接内存访问)是一种数据传输技术,能够在不需要CPU干预的情况下,快速传输大量数据。

其数据传输过程大致如下:
1. 用户进程调用read方法,向操作系统发出I/O请求,请求读取数据到自己的内存缓冲区中,进程进入阻塞状态。

2. 操作系统收到请求后,进一步将I/O请求发送给DMA,然后让CPU执行其他任务。

3. DMA进一步将I/O请求发送给磁盘。

4. 磁盘收到DMA的I/O请求,把数据从磁盘读取到磁盘控制器的缓冲区中,当磁盘控制器的缓冲区被读满后,向DMA发起中断信号,告知自己缓冲区已满。

5. DMA收到磁盘的信号,将磁盘控制器缓冲区中的数据拷贝到内核缓冲区中,此时不占用CPU,CPU可以执行其他任务。

6. 当DMA读取了足够多的数据,就会发送中断信号给CPU。

7. CPU收到DMA的信号,知道数据已经准备好,于是将数据从内核拷贝到用户空间,系统调用返回。

在整个数据传输的过程中,CPU不再参与数据搬运的工作,而是全程由DMA完成。

但CPU 在这个过程中也是必不可少的,因为传输什么数据、从哪里传输到哪里都需要CPU来告诉DMA控制器。

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

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

引言USB通用串行总线(Universal Serial Bus>是被PC机广泛采用的一种总线,目前已经在计算机主板上大量集成,成为一种标准配置接口。

它的即插即用、真正的热插拔、可总线供电、高性能和系统造价低等一系列的优点,使得USB接口得到了广泛的应用。

特别是随着USB2.0高速传输协议的出现,其数据传输速度达到了480Mb/s,使得USB接口顤橆D挤�为今天低成本虚拟仪器系统的主流。

本文设计了基于USB2.0高速传输的数据采集系统,整个数据传输过程完全采用DMA方式,达到了较高的数据传输速度。

1、系统介绍系统总体结构如图1所示。

采用Philips公司的微控制器LPC2888作为系统核心控制器。

前端数据采集模块由一片CPLD实现对数据采集和触发控制的功能。

当系统和计算机成功连接进入工作状态后,LPC2888从USB接口接收到来自应用程序的控制命令,然后通过控制CPLD对数据采集模块采样通道、采样速率和触发模式进行配置后启动数据采集。

CPLD控制模数转换器获取采样数据,同时配合LPC2888通用DMA控制器的接口时序将采样数据以DMA方式传输到LPC2888内部缓存。

最后由USB高速设备接口将采样数据从LPC2888内部缓存传输到计算机,在计算机中实现数据记录、数据处理和波形显示等功能。

b5E2RGbCAP图1 系统总体结构图1.1 LPC2888微控制器LPC2888是一款基于ARM7TDMI内核的微控制器,带有8kB高速缓存,最高工作时钟频率60MHz。

在结构上增加了多通道通用DMA控制器(GPDMA>。

它支持存储器到存储器,存储器到外设,外设到存储器和外设到外设的DMA传输。

本系统采用GPDMA控制器实现数据从前端数据采集模块到内部缓存的DMA传输。

同时,LPC2888集成有USB高速设备控制器。

它完全兼容USB2.0协议,支持USB高速传输,理论最高传输速度480Mb/s,其内部结构如图2所示。

请描述dma通道的工作模式和工作原理

请描述dma通道的工作模式和工作原理

DMA(直接存储器访问)通道是一种可以直接将数据从外设传输到内存或者从内存传输到外设的控制器,它可以在不占用CPU时间的情况下完成数据传输操作。

DMA通道的工作模式和工作原理对于理解系统性能和设计高效的数据传输具有重要意义。

下面将对DMA通道的工作模式和工作原理进行详细描述。

一、DMA通道的工作原理1. 初始化:DMA控制器根据软件设定的参数进行初始化,包括传输的起始位置区域、数据长度、传输方向、传输模式等。

2. 触发传输:一旦初始化完成,DMA通道就可以根据软硬件的触发信号开始数据传输操作。

这个触发信号可以是外部设备的中断请求、定时器溢出、特定的IO口输入等。

3. 数据传输:DMA通道根据初始化设置和触发信号,从外设或内存读取数据,然后通过总线传输到目标位置区域,完成数据的读取或写入操作。

4. 完成传输:当DMA通道完成数据传输后,会发出一个传输完成的信号,软件可以根据这个信号进行后续的处理。

二、DMA通道的工作模式1. 单次传输:DMA通道进行一次数据传输操作后即停止,需要重新初始化后才能进行下一次传输。

2. 循环传输:DMA通道可以根据设定的循环次数进行多次数据传输,适用于数据缓冲区的循环读写操作。

3. 自动请求:DMA通道可以根据外部设备的请求信号自动启动数据传输,无需CPU的参与,适用于实时数据采集等场景。

4. 块传输:DMA通道可以按照设定的块大小进行数据传输,可以实现高效率的大数据块传输。

5. 中断传输:DMA通道在传输完成后可以发出中断信号,通知CPU 进行进一步的处理。

三、DMA通道的工作流程1. 软件初始化:首先需要由软件对DMA通道进行初始化,在初始化的过程中设置传输的起始位置区域、数据长度、传输方向、传输模式等参数。

2. 触发传输:一旦初始化完成,DMA通道就可以通过外部触发信号或者自动请求机制开始数据传输操作,根据初始化设置和触发信号进行数据传输。

3. 数据传输:DMA通道进行数据传输的过程中,可以同时访问内存和外设,并且不需要CPU的干预,从而释放CPU的负担,提高系统性能。

基于DSP和USB的数据采集系统的设计

基于DSP和USB的数据采集系统的设计
c nv n e t n h lc rc fclte r c r e o e i n ,a d t e ee ti a ii sa e s a c . i Ke r s: DSP;d t c ii o y wo d aa a qust n; USB Ho t L i s ; ZW o r s in c mp e so
De i n o t qu sto S s e s d o sg f Da a Ac iii n y t m Ba e n DSP n a d USB
Z HANG F n — n ,ZHO o fn a gf g a U Hu — g,S e ONG L — u ,R i g n n i i EN N n — i g h
0 引 言
在工业控制领域 , 常需要 采集大量 的现 场数据 , 统 的数 传 据采集系统 以工控机为核心 , 现场信号通过 数据采集模块输 入 工控机进行处理 , 整个 系统体积大 、 功耗高 。在环境 恶劣 、 电力 设施 缺乏 的地 区, 如海上 和西 部沙漠地 区的油 气开采 现场 , 传
( ot ol eo eigUnvri f h mi l eh o g , a ga g0 50 , hn ) N rhC l g f in iesyo e c c n l y L n fn 6 2 1 C ia e Bj t C aT o
Ab ta t aa a q ii o y tm s d sg e a e n D P,c n i e ig te d f in i si rd t n ld t c u st n s r c :A d t c u st n s se wa e i n d b s d o S i o sd r h ei e ce n ta i o a aa a q ii o n c i i s s m.T e s se s l ce 5 0 st e c r rc s o ,u e yt e h y tm ee td VC 4 2 a h oe p o e s r s d DMA o t ld t c u st n,t e t c n r aa a q i i o o io h n DMA a d t eCP o l n h U c u d

STM32F4ADC采集数据的DMA数据传输【库函数操作】

STM32F4ADC采集数据的DMA数据传输【库函数操作】

STM32F4ADC采集数据的DMA数据传输【库函数操作】书接上⽂,开始折腾ADC的DMA传输。

因为⼤家都在说DMA,就连ST的例⼦⾥边也是使⽤DMA的。

ADC采集到的数据都存储在⼀个固定的寄存器中。

当常规采样⽅式采样多个通道时候,使⽤DMA可以较好地避免将采集到的数据丢失。

当ADC的DMA功能被使能的时候,每个通道转换完毕时都会发出⼀个DMA请求。

DMA⽅式也不能完全避免数据丢失问题,要实现数据不丢失需要在DMA的同时开启OVERRUN模式,当数据丢失时就停⽌数据转换。

我们只需要检测是否有OVR时间发⽣,就能解决采样数据丢失造成的问题。

⽐如,通道错位什么的。

在STM32F4的Reference manual中可以查到ADC1 的DMA映射在DMA1、CH0、Stream0上。

【实验1、DMA⽅式采集单⼀通道数据】配置ADC1的DMA初始化设置如下://DMA初始化DMA_InitStructure.DMA_BufferSize = 4;DMA_InitStructure.DMA_Channel = DMA_Channel_0;DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable;DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&adcvalue1; //⽬标数据位DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_BASE+0x4C; //ADC->DR地址DMA_InitStructure.DMA_PeripheralBurst =DMA_PeripheralBurst_Single;DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;DMA_InitStructure.DMA_Priority = DMA_Priority_High;DMA_Init(DMA2_Stream0,&DMA_InitStructure);DMA_Cmd(DMA2_Stream0,ENABLE);在ADC寄存器中开启DMA传输,使⽤两个函数⼀个是设置CR2的DDS位,使得每次ADC数据更新时开启DMA传输;另⼀个是设置ADC CR2的DMA位,使能ADC的DMA传输。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

引言USB通用串行总线(Universal Serial Bus)是被PC机广泛采用的一种总线,目前已经在计算机主板上大量集成,成为一种标准配置接口。

它的即插即用、真正的热插拔、可总线供电、高性能和系统造价低等一系列的优点,使得USB接口得到了广泛的应用。

特别是随着USB2.0高速传输协议的出现,其数据传输速度达到了480Mb/s,使得USB接口顤橆D挤�为今天低成本虚拟仪器系统的主流。

本文设计了基于USB2.0高速传输的数据采集系统,整个数据传输过程完全采用DMA方式,达到了较高的数据传输速度。

1、系统介绍系统总体结构如图1所示。

采用Philips公司的微控制器LPC2888作为系统核心控制器。

前端数据采集模块由一片CPLD实现对数据采集和触发控制的功能。

当系统和计算机成功连接进入工作状态后,LPC2888从USB接口接收到来自应用程序的控制命令,然后通过控制CPLD 对数据采集模块采样通道、采样速率和触发模式进行配置后启动数据采集。

CPLD控制模数转换器获取采样数据,同时配合LPC2888通用DMA控制器的接口时序将采样数据以DMA 方式传输到LPC2888内部缓存。

最后由USB高速设备接口将采样数据从LPC2888内部缓存传输到计算机,在计算机中实现数据记录、数据处理和波形显示等功能。

图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控制器内核及外部存搭枠頓挤� 桓鯠MA引擎,当USB接口运行在DMA模式时,DMA引擎作为AHB总线上的主机,在ARM内部缓存和USB设备控制器缓存之间传递数据,传输过程不需要控制器内核程序的参与,所以能够达到较高的数据传输速度。

图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分别配置为搭枠頓挤�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分别为启动停止和采样模式选择控制信号线,实现LPC2888对CPLD的控制。

系统采用Verilog HDL语言描述CPLD控制逻辑,从CPLD 到LPC2888内部缓存的DMA传输时序如图4所示。

图3 CPLD与ARM接口图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获得的暑枠頓挤� 远 獍 蒃P3传输到PC机。

同时,当FIFO中数据为空时,控制器将自动启动DMA引擎继续传输数据。

该环节的DMA传输过程完全由USB高速设备控制器硬件实现,程序中只需更改DMA源地址寄存器并设置使能控制寄存器即可启动一次DMA传输。

2.3 两个DMA传输环节的协调系统中利用GPDMA控制器产生的半满和全满中断信号协调两个DMA对同一个缓存空间的操作,实现了LPC2888对整个数据传输过程的协调控制。

当DMA通道3工作时,采样数据从CPLD传输到buffer1,同时USB高速设备控制器对buffer2中的数据进行DMA操作;当DMA 通道5工作时,采样数据传输到buffer2,USB高速设备控制器对buffer1中的数据进行操作。

如图5中LPC2888程序流程所示。

图5 LPC2888程序流程3、上位机软件设计系统上位机软件包括两个部分:设备驱动程序和系统应用程序。

开发USB设备的一个关键问题在于设备驱动程序的编写。

传统的开发工具是微软公司提供的设备驱动开发工具包:Windows DDK(Device Driver Kits),以及由第三方公司基于DDK开发的驱动程序开发工具包:WinDriver或DriverWorks。

DDK基于汇编语言的编程方式和内核模式的调用,对于没有深厚的操作系统原理和编程水平的人员来说,任务相当艰巨。

本文使用美国国家仪器NI (National Instruments)公司开发的NI-VISA(Virtual Instrument Software Architecture)顤橆D挤�肰ISA生成设备驱动程序,避开了以往开发USB设备驱动程序的复杂性,同时直接使用虚拟仪器软件设计平台LabWindows CVI开发系统应用程序,缩短了开发周期。

3.1 使用NI-VISA开发USB设备驱动程序NI-VISA是NI公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口。

VISA总线I/O软件是一个综合软件包,它不受平台、总线和环境的限制,可用来对USB、GPIB、串口、PCI、VXI、PXI和以太网系统进行配置、编程和调试。

使用VISA可以很容易地实现计算机应用程序和USB设备之间的连接,降低了设备驱动的开发难度。

VISA提供了两类函数供应用软件调用,USB INSTR设备与USB RAW设备。

USB INSTR设备是符合USBTMC(USB测试测量类)协议的USB设备,可以通过使用USB INSTR类函数控制,通信时无需配置NI-VISA;而USB RAW设备是指除了明确符合USBTMC规格的仪器之外的任何USB设备,通信时要配置NI-VISA。

经过配置后,VISA自动创建好设备驱动文件:inf文件和PNF文件。

当相应的USB设备连接到计算机时,操作系统将自动安装该设备驱动并识别该设备。

3.2 系统应用程序设计使用NI-VISA开发的USB设备可以在LabVIEW和LabWindows CVI中直接调用,其中有相应的VI子节点和库函数对设备进行操作。

本系统采用LabWindows CVI开发数据采集系统应用程序。

对设备的操作遵循顤橆D挤�设备,然后可以对设备进行读写、设置设备属性等操作,最后要关闭设备。

目前应用程序设置有两种工作模式:示波器模式和连续采集存储模式。

示波器模式每隔一定的时间间隔启动一次采集,采用模拟电平触发,采样长度固定,采样结果波形实时显示。

连续采集存储模式启动采集后,系统将采样结果实时地存储到数据文件中。

停止采集后,应用程序打开数据文件对采样结果进行波形显示、数据处理等操作。

系统应用程序界面如图6所示。

4、系统测试结果本文对该系统主要从以下四个方面进行了测试。

1)将CPLD内部逻辑设定为传输固定数据,如0xAA55。

系统在连续采集存储模式下工作,获得数据文件。

采用二进制文件编辑软件UltraEdit查看数据文件,其中所有采样点结果均为0xAA55。

验证了数据传输过程的正确性。

2)将CPLD内部逻辑设定为传输每次增1的数据,获得采样数据文件进行查看。

得到采样点结果为递增的数据,每次增量为1。

验证了数据传输过程没有丢失采样点,保证了数据传输过程的可靠性。

3)将CPLD内部逻辑设定为传输AD采样结果。

系统工作在示波器模式下,实时查看采样结果波形。

调整输入模拟信号幅值、频率和波形,分别得到相应的采样结果波形。

验证了AD 转换环节的正确性。

图6所显示被采样信号为250Hz正弦信号,峰峰值5V,采样速率1MS/s。

图6 系统应用程序界面4)USB接口数据传输速度测试。

这里采用总线分析测试软件Bus Hound测试系统的数据传输速度。

该软件可以观察USB设备的工作情况,读取当前USB设备输入输出数据量的大小、数据传输速度和设备属性等信息,并且灶枠頓挤�傅墓ぷ鞑 跋臁2馐允笔紫仍诵蠦us Hound软件,启动系统工作在连续采集存储模式,然后可以在Bus Hound中得到系统的数据传输速度。

经测试,系统最高数据传输速度为16MB/s(128Mb/s)。

图7所示为Bus Hound软件界面和数据传输速度测试结果。

图7 软件Bus Hound的界面与速度测试结果5、结论本文使用嵌入式微控制器LPC2888和CPLD成功地完成了基于USB高速传输的数据采集系统。

相关文档
最新文档