LabVIEW与USB的直接数据通信

合集下载

基于Labview的USB接口上位机设计

基于Labview的USB接口上位机设计

基于LabVIEW的USB接口上位机设计一、数据传输USB模块1.1概述CH375是一个 USB总线的通用接口芯片,支持USB-HOST 主机方式和 USB-DEVICE/SLAVE 设备方式。

在本地端,CH375 具有 8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU 等控制器的系统总线上。

在USB 主机方式下,CH375还提供了串行通讯方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU/MPU 等相连接。

CH375 的 USB 设备方式与 CH372 芯片完全兼容,CH375 包含了 CH372 的全部功能。

本手册中没有提供CH375在USB设备方式下的说明,相关资料可以参考 CH372 手册CH372DS1.PDF。

CH375的 USB主机方式支持常用的USB全速备,外部单片机可以通过CH375按照相应的 USB 协议与 USB 设备通讯。

CH375 还内置了处理 Mass-Storage 海量存储设备的专用通讯协议的固件,外部单片机可以直接以扇区为基本单位读写常用的USB 存储设备。

1.2特点●低速和全速USB-HOST 主机接口,兼容USB V2.0,外围元器件只需要晶体和电容。

●低速和全速USB设备接口,完全兼容 CH372 芯片,支持动态切换主机与设备方式。

●主机端点输入和输出缓冲区各64字节,支持 12Mbps 全速 USB 设备和 1.5Mbps 低速设备。

●支持USB 设备的控制传输、批量传输、中断传输。

●自动检测USB设备的连接和断开,提供设备连接和断开的事件通知。

●内置控制传输的协议处理器,简化常用的控制传输。

●内置固件处理海量存储设备的专用通讯协议,支持 Bulk-Only传输协议和 SCSI、UFI、RBC 或等效命令集的USB存储设备(包括 USB 硬盘/USB 闪存盘/U 盘/USB 读卡器)。

●通过U 盘文件级子程序库实现单片机读写USB 存储设备中的文件。

LabVIEW与USB的直接数据通信

LabVIEW与USB的直接数据通信

万方数据i班岱里圣燕苤2;QQ!至苤垫翘基蓥!盟翘E堑型五置缍g于这些设各,只需以与GPlB仪器通讯同样的方孟,使用“VTSAOpen”,“VISAClose”,。

VISARend”和“VISAWrite”功能。

UsBTMc设备符台VISAUSBINSTR类函数能够理解的协议。

USBTMC设备相对来说控制较为复杂,因为每个设备可以使用各自的通信协议,而这些通信协议一般都是由设备的生产厂家自定的。

为了使用NI—VISA,岿须先让Windows将NI—VI-SA作为设备的缺省驱动程序使用。

在Windows环境中,可以通过INF文档做到这一点。

INF文件是系统硬件设备配置文件,USB驱动程序通过INF文件中的PID(产品识别号)和VID(厂商识别号)识别USB设备。

N1一VISA3.0中包古的VISADriverDevelopmentWizard(DDW)可以为USB设备创建一个INF文档。

下面简单介绍创建INF文档的过程;(1)在安装了NI—VISA后,启动VISADriverDevel—opmentWizard程序,出现了为PXI/PCI或USB设备创建一个INF文档的向导,选择USB设备,点NEXT,出现VI—SADDW基本设备信息窗口。

(2)进行这一步时.需要清楚USB的PID和VID。

这些数字可以在安装USB设备的时候对其进行确认,并在想要与设备通讯的时候,寻找他的地址。

依据USB的规格,两个数字都是16位16进制数字,并应该由设备制造商提供。

侧如在后面介绍基于USB的虚拟示渡器用到USB接口芯片PDlUSBDl2的PID和VID分别是0x0471和0x0666;这一步设置完成后,点击NEXT,进行最后一步的设置。

(3)USBInstrumentPrefix(USB仪器前缀)只是一个描述符,可以用他来识别本设备所用的相关文档。

在USBInstrumentPrefix中输入相应信息,并在“outputfiledirectory"中选择存放这些文档的目录,然后点击Finish。

最新-基于LabVIEW的USB实时数据采集处理系统的实现 精

最新-基于LabVIEW的USB实时数据采集处理系统的实现 精

基于LabVIEW的USB实时数据采集处理系统的实现摘要介绍了以图形化编程语言为应用程序开发平台的数据采集处理系统的设计,并给出了对外部动态链接库的调用方法以及驱动程序的设计方法。

关键词数据采集通用串行总线作为一种新型的数据通信接口在越来越广阔的领域得到应用。

而基于接口的数据采集卡与传统的卡及卡相比具有即插即用、热插拔、传输速度快、通用性强、易扩展和性价比高等优点。

的应用程序一般用++编写,较为复杂,花费的时间较长。

由美国国家仪器公司开发的语言是一种基于图形程序的编程语言,内含丰富的数据采集、数据信号分析分析以及控制等子程序,用户利用创建和调用子程序的方法编写程序,使创建的程序模块化,易于调试、理解和维护,而且程序编程简单、直观。

因此它特别适用于数据采集处理系统。

利用它编制应用程序,把语言和总线紧密结合起来的数据采集系统将集成两者的优点。

总线可以实现对外部数据实时高速的采集,把采集的数据传送到主机后再通过的功能模块顺利实现数据显示、分析和存储。

1及其在数据采集设备中的应用自1995年在上亮相以来,已广泛地为各厂家所支持。

现在生产的几乎都配置了接口,的98、以及、等流行操作系统都增加对的支持。

具有速度快、设备安装和配置容易、易于扩展、能够采用总线供电、使用灵活等主要优点,应用越来越广泛。

一个实用的数据采集系统硬件一般包括微控制器、通信接口以及根据系统需要添加的转换器和、等。

为了扩展其用途,还可以加上多路模拟开关和数字端口。

系统的、数字的设计可沿用传统的设计方法,根据采集的精度、速率、通道数等诸元素选择合适的芯片,设计时应充分注意抗干扰性,尤其对采集更是如此。

在微控制器和接口的选择上有两种方式一种是采用普通单片机加上专用的通信芯片;另一种是采用具备通信功能的单片机。

的另一大优点是可以总线供电,在数据采集设备中耗电量通道不大,因此可以设计成总线供电。

一个设备的软件一般包括主机的驱动程序、应用程序和写进里面的。

再谈USB开发:LabVIEW调用DLL文件实现STM32+USB+HID双向通信

再谈USB开发:LabVIEW调用DLL文件实现STM32+USB+HID双向通信

4、结尾
到了这里,我们可以看到,LabVIEW 调用 DLL 文件是很简单的,关键是我们要知道 DLL 文件中的函数原型! 我们也可以比较一下通过 VISA 和通过 LabVIEW 调用 DLL 文件实现 USB HID 双向通 信的的优缺点。 1、通过 VISA,我们可以简单和快速地开发 STM32 USB HID 通信,不必了解底层函 数的原型,系统稳定可靠。但需要我们安装庞大的 VISA 驱动程序,而且硬件需要被 MAX 识别。 2、通过 LabVIEW 调用 DLL 文件,我们不需要安装任何驱动程序,发挥 USB HID 免 驱动的优点,但需要我们了解 DLL 文件中的函数原型,而且如果 DLL 文件做得不好的话, 有可能引起程序崩溃。 其 实 我 们 也 可 以 调 用 windows 系 统 自 带 的 hid.dll 文 件 的 , 一 般 在 以 下 路 径 : C:\WINDOWS\system32。现在的 USB HID 上位机软件,一般都是调用微软的 hid.dll 来实现 的。这个留给用户去完成了(不难的,只要知道函数原型就可以了) 。 其实 LabVIEW 作为一种通用的编程语言, 和 VC++一样, 也可以封装和创建 DLL 文件 的,有兴趣的用户可以了解一下,这里就不详细介绍了。
ห้องสมุดไป่ตู้
2、LabVIEW调用我们创建的DLL文件
LabVIEW 的“调用库函数节点”在以下路径: “互连接口”“库与可执行程序” “调用库函数节点”
我们把这个控件放在 VI 的程序框图中:
双击控件后,可以打开如下配置窗口:
“库名/路径”比较简单,就是 DLL 文件的路径了。而“线程” ,一般都是选择“在 UI 线程中运行” 。在“调用规范”中,因为是调用我们写的 DLL 文件,所以选择“C” 。如果 是调用 windows 系统中的 DLL 文件,那么选择“stdcall(WINAPI) ” 。 我们把 DLL 文件装进来之后, 就可以看到 DLL 文件中包含的所有函数了, 在 “函数名” 下拉列表中可以看到。

LabVIEW-USB 通信简单教程

LabVIEW-USB 通信简单教程

:文件类型技术指南VISA是一个高 级API用来与仪器 控制总线进行通信。

它是平台独立、总线 独立、环境独立的。

也就是说,无论是使 用LabVIEW编 程在一台运行 Windows 2000的机器上与 USB设备进行通 信,还是使用C编程 在一台运行Mac OS X的机器上与 GPIB设备进行通 信,都可以使用同样 的API。

图1:VISA DDW硬件总线窗口您可以使用这个向导 创建供 PXI/PCI、 USB或IEEE 1394设备使用的 INF文件。

由于您 在为USB设备创建 驱动程序,选择 USB并点击下一 步。

VISA DDW基本设备信息 窗口打开,如图2所 示。

图2:VISA DDW基本设备信息 窗口2、在这个步骤 中,您必须知道 USB仪器所使用的 USB厂商ID和产 品ID。

这些数字在 您安装的时候能够识 别USB设备,在您 希望进行通信的时 候,可以对设备进行 寻址。

根据USB规范,所有数字必须是 16位的十六进制数 字,必须由设备制造 商提供。

如果您不知道USB 厂商ID和产品 ID,您可以将设备 插入计算机,让计算 机识别新设备得到这 些ID。

如果找到新 硬件向导打开,选择 取消。

打开控制面板 中的设备管理器,在 列表中找到您的设备,通常它在“其他 设备”中。

可能它会 带有黄色惊叹号标 记,表示这是一个未 知设备。

双击这个设 备打开属性。

选择详 细标签,确保“设备 实例ID”显示在属 性的下拉框中。

这样将会显示类似于图3 的字符串。

“VID_”和 “PID_”右边的 四个字符分别是您的 厂商ID和产品 ID。

写下设备的字 符串,关闭设备管理 器,从计算机上拔下 设备。

或者您还可以 联系您的设备厂商获得这些信息。

1.2. 3. 图3:从设备管理器 中找到厂商ID和产 品ID对于DAQPad- 6020E而言,厂 商ID和产品ID分 别是0x3923和 0x12C0。

如果 您的设备不是NI DAQPad- 6020E,厂商 ID和产品ID对于 您的设备而言是不同 的。

基于LabVIEW与USB2

基于LabVIEW与USB2

GPIF单字节写通过通道0向DSP中写入32 bit控制数据,本设计中GPIF单字节写分为Sngwr1和Sngwr2,其中Sngwr1的数据波形图。在SngWr1中HR/W在S0~S2状态保持0以描述该操作为向HPI写数据,HHWIL在S0~S2状态保持为0表示传输的数据为第一半字。在SngWr2中数据波形图与SngWr1中基本一致,只是HHWIL在S0~S2状态保持为1表示传输的数据为第二和USB2.0的DSP数据采集与处理系统,通过LabVIEW上位机可以实现DSP复位、DSP程序HPI引导及数据的显示、存储和处理;同时采用USB接口设计,使得该系统简单方便,能更好地适应野外数据采集环境。该系统性能稳定可靠,实用方便,操作简单,可以很好地完成数据处理任务。
GPIF FIFO写操作通过通道2向HPI RAM中写入数据,通过该操作可向DSP中写入DSP程序;GPIF FIFO读操作通过通道6读取HPI RAM中数据,然后在LabVIEW上位机显示、存储。当波形图设计完成后,生成相应的波形描述文件gpif.c,加入到Keil工程中。在Keil工程中同时加入Cypress提供的基本固件框架结构,其中主函数文件主要执行USB设备的各种初始化及其他自定义操作,功能实现文件进行USB上电初始化和GPIF数据传输。然后将Keil的?滋Vision编译环境下生成的hex文件转换为USB上电自动加载的程序文件,这样当USB设备连接到主机后,将自动从主机下载固件程序。2.2 USB驱动程序设计 为了能够在LabVIEW中识别该USB设备,本系统使用NI-VISA创建USB设备驱动程序。虚拟仪器软件架构VISA(Virtual Instrument Software Architecture)是一种编程接口(API),基于它可以实现与各种仪器总线进行通信。针对USB通信,VISA有两种类函数,可以分别控制 USB INSTR和USB RAW设备。符合USB测试与测量类(US-BTMC)协议的 USB 设备可以通过使用USB INSTR类函数来控制,USB RAW 则是除 USB INSTR 之外的所有 USB 设备。在该设计中,采用的USB是一种USB RAW设备。 利用Driver Wizard工具创建USB设备的驱动程序,需要注意安装顺序。首先修改Cyload.inf文件,将VID和PID改为所用USB设备的VID和PID;待下载完固件程序后,系统会提示安装驱动程序,此时采用NI-VISA来创建驱动程序;完成USB驱动程序安装后,便可以在计算机的设备管理器中查看到安装后的USB设备,。

基于FPGA和LabVIEW的USB数据采集与传输系统

基于FPGA和LabVIEW的USB数据采集与传输系统
Ab s t r a c t : T h i s p a p e r d e s i g n e d a k i n d o f d a t a a c q u i s i t i o n a n d t r ns a mi s s i o n s y s t e m c o n s t i t u t i n g b y E P 2C 8 mi c r o p r o c e s s o r nd a C H3 7 5 c h i p a s t h e h a r d w a r e. a n d N i o s I I a n d L a b VI E W a s t I l e s o f t w re a . T h e h a r d w a r e s c h e ma t i c W a S p r e s e n t e d a n d a d e mi l e d d e . s c r i p t i o n o f d e v e l o p me n t p r o c e s s i n g i n c l u d i n g t h e I P c o r e , t h e i f r mwa r e nd a u n d e r l y i n g d i r v e r s o t f wa re w s s g i v e n . 8 e x t e r n a l na a lo g nd a 1 t e mp e r a t u r e d i g i t l a w a ¥a c c o mp l i s h e d .
串行 接 口和其他外 围 电路 的工作 。但 由于单 片 机本 身的指 令
机与设备 之间的 U S B通 信必须经 由设备 的驱动程序 来传输 , 传 统 的开发 U S B应 用系统的步骤是先用 Wi n d o w s D D K ( 设备驱动 程 序开 发包 ) 或第三方开 发工具 ( 如D i r v e r S t u d i o ) 开发 U S B驱 动程序 , 然后用 V i s u l a C+ +编写 D E E ( 动并 实现 了对 8路 外部模拟 量和 1 路 温度数 字量的采集和传输 。

LabVIEW串口通信详解

LabVIEW串口通信详解

LabVIEW串口通信详解串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通信的。

论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友,文章请勿转载到其它地方,谢谢。

论坛上早先发布过一个贴子,叫《串口WORD资料》,里面有一些中英文的串口的资料,这个文章是对那个资料的补充,如果是初接触串口的朋友建议先看一下上一个贴子先。

上一个贴子中提到过的内容这里不再进行补充首先补充一个比较重要的问题,就是在LabVIEW中使用串口的话一定要先安装VISA 这个驱动,然后生成的EXE运行时也需要在目标机上安装VISA Runtime Engine,可以在打包时一起打包。

VISA的驱动可以在NI网站上下载到:/nidu/cds/view/p/id/1605/lang/zhs1,串口扩展的问题先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。

PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。

PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。

转接线和扩展卡一般是要装驱动的。

2,串口功能的确认在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。

检查的方法很简单,就是将串口的2、3脚短接起来,脚是发送数据,2脚接收数据,就是这个串口自发自收。

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

LabVIEW与USB的直接数据通信廖传书,黄道斌,孙旦均,李素芬(武汉理工大学信息工程学院湖北武汉430070)引言LabVIEW是一种基于图形程序的虚拟仪器编程语言,在测试与测量、数据采集、仪器控制、数字信号分析、工厂自动化等领域获得了广泛的应用。

LabVIEW程序采用方框图编程,具有友好的人机界面,在前面板中有用于模拟真实仪器面板的控件可供调用,可用于设置输入数值、观察输出值以及实现图表、文本等显示。

实现LabVIEW对数据的采集和处理,传统的是采用数据采集卡,但是这些数据采集设备存在安装不便、价格昂贵、受计算机插槽数量、地址、中断资源的限制,可扩展性差,同时在一些电磁干扰性强的测试现场,可能无法专门对其做电磁屏蔽,从而导致采集的数据失真。

在LabVIEW下使用USB总线,可以同样实现数据采集,并且弥补了采集卡的不足。

传统的用LabVIEW读写USB设备的方法是:先用VC++或Delphi编写动态链接库DLL文件,在DLL中通过调用WIN API函数读写USB设备的数据,并存在缓冲区中,在LabVIEW中通过对DLL文件的调用提取缓冲区中的数据。

介绍了在LabVIEW下,通过调用NI-VISA子程序控件,实现与USB设备的直接通信,避免了二次编程的麻烦和数据的中转。

2 USB底层驱动程序设计USB底层驱动开发工具有Windows DDK和第三方开发工具,如Driver studio 和Win driver等,但是使用这些工具开发驱动难度大、效率底。

在这里,介绍如何借用LabVIEW的NI-VISA子程序控件作为USB的底层驱动。

VISA(Virtual Instrument Software Architecture,ni.corn/visa)是一个用来与各种仪器总线进行通讯的高级应用编程接口(API)。

他不受平台、总线和环境的限制。

通用串行总线(USB)是一个基于信息的通讯总线。

这表示PC机与USB设备通过发送指令和数据进行通讯,而这些指令和数据是通过总线以文本或二进制数据的形式发送的。

每个USB设备都有各自的指令集。

可以使用NI-VISA的读写功能向仪器发送这些指令,并读取仪器的反馈。

NI-VISA从3.0版开始支持USB通讯,他有2种VISA类函数(Resource Class),可以控制2类USB设备:USB INSTR设备与USB RAW设备。

符合USB测试和测量类(USBTMC)协议的USB设备可以通过使用USB INSTR类函数控制,他们使用488.2标准通讯。

对于这些设备,只需以与GPIB仪器通讯同样的方式,使用"VISA Open","VISA Close","VISA Read"和"VISAWrite"功能。

USBTMC设备符合VISA USB INSTR类函数能够理解的协议。

USBTMC设备相对来说控制较为复杂,因为每个设备可以使用各自的通信协议,而这些通信协议一般都是由设备的生产厂家自定的。

为了使用NI-VISA,必须先让Windows将NI-VI-SA作为设备的缺省驱动程序使用。

在Windows环境中,可以通过INF文档做到这一点。

INF文件是系统硬件设备配置文件,USB驱动程序通过INF文件中的PID(产品识别号)和VID(厂商识别号)识别USB设备。

NI-VISA 3.0中包含的VISA Driver Development Wizard(DDW)可以为USB设备创建一个INF文档。

下面简单介绍创建INF文档的过程:(1)在安装了NI-VISA后,启动VISA Driver Devel-opment Wizard程序,出现了为PXI/PCI或USB设备创建一个INF文档的向导,选择USB设备,点NEXT,出现VI-SA DDW基本设备信息窗口。

(2)进行这一步时,需要清楚USB的PID和VID。

这些数字可以在安装USB设备的时候对其进行确认,并在想要与设备通讯的时候,寻找他的地址。

依据USB 的规格,两个数字都是16位16进制数字,并应该由设备制造商提供。

例如在后面介绍基于USB的虚拟示波器用到USB接口芯片PDIUSBD12的PID和VID 分别是0x0471和0x0666;这一步设置完成后,点击NEXT,进行最后一步的设置。

(3)USB Instrument Prefix(USB仪器前缀)只是一个描述符,可以用他来识别本设备所用的相关文档。

在USB Instrument Prefix中输入相应信息,并在"output filedirectory"中选择存放这些文档的目录,然后点击Finish。

INF文档就被建好并保存至指定的位置。

这时候,只要复制生成的INF文件夹到系统盘Win-dows文件夹下INF文件夹,点击右键,安装即可。

这时,插上USB设备,Windows系统就能探测到,并根据INF硬件配置文件选择NI-VISA作为底层驱动程序。

在Lab-VIEW中,只需调用NI-VISA的相关控件,即可实现对USB设备的读写操作。

3 LabVIEW驱动程序编写强大、灵活的仪器控制功能是LabVIEW区别于其他编程语言的主要特点。

LabVIEW不仅提供数百种不同接口测试仪器的驱动程序,而且还支持VISA,SCPI和IVI等最新的程控软件标准,为用户设计开发先进的测试系统提供了软件支持。

VISA是用于仪器编程的标准I/O函数库及相关规范的总称,一般称之为VISA库。

VISA库驻留于计算机系统中,是计算机与仪器之间的软件层连接,用以实现对仪器的程控。

对软件开发者来说,他是一个可调用的操作函数集,他本身不提供仪器编程能力,只是一个高层API(应用程序接口),通过调用底层的驱动程序来控制仪器设备。

NI-VISA支持3种类型的USB管道:控制、批量和中断。

NI-VISA探测到USB 仪器时,他会对仪器进行自动扫描,寻找各种类型的最低可用端点。

如使用NI-VI-SA中的VISA USB Control In和VISA USB Control Out来通过控制型管道传输数据,使用VISA Read和VISAWrite来通过批量型管道传输数据。

作为仪器I/O函数库,VISA编程与传统的I/O软件编程基本相同,主要通过设备I/O端口的读写操作和属性控制,实现与仪器的命令与数据交换。

LabVIEW 中所有的VISA节点均在Function模板→All Functions子模板→Instrument I/O子模板→VISA子模板中。

在这里,只用到了VISA Open,VISA Close,VISA Write和VISARead四个节点即可实现和USB设备的双向通信。

当完成对USB 设备的INF硬件配置后,就可以用VISA Open节点打开该资源,建立计算机与这些VISA资源的通信管道;与VISA Open节点相反,VISA Close节点用于将打开的VISA资源关闭;VISA Write节点的功能是将writebuffer端口输入字符串数据发送到仪器中;VISA Read节点的功能是从仪器中读出数据;介绍完上面的4个节点,就可以用上面4个节点实现LabVIEW对USB批量数据收发,如图1所示。

当然,这需要前述INF文件的支持和与USB接口的单片机程序的支持,在图1中VISA resource name端口用于指定需要打开的VISA 资源的名称,实际上就是前面生成INF配置文件中的VISA资源仪器描述符。

这里,向USB发送字符串“connect test”,连接测试,单片机通过USB接口芯片将发送过去的数据回传给LabVIEW。

在前面板的read buffer显示框中能显示出“connect test”字符串。

4 基于IJSB的虚拟示波器的实现本系统为在LabVIEW中实现示波器的功能。

单片机对向USB示波器调理电路输出的信号进行96 k(多档可调)的高速连续AD采样,并将采样到的数据通过USB口传给PC机的LabVIEW,LabVlEW对USB口传来的数据进行处理、测量、波形还原和显示等相关操作。

虚拟示波器的程序运行界面如图2所示,当前输入的是2.001 kHz的正弦波信号,在软件中显示的波形以及测量结果与实际示波器上得到的结果基本无异。

在该程序模块中,通过调用Lab-VIEW的相关控件,实现了对输入的模拟信号的波形还原显示、频率测量、峰值测量、直流漂移测量等操作。

系统采用单片机和Philip公司生产的PDIUSBD12芯片构成USB设备。

由单片机实现AD采样,经USB接口完成采样数据的传输。

单片机的电路设计和软件构成在这里就不做详细介绍。

此系统硬件部分USB接口芯片采用的PDIUSBD12,他支持批量数据的长度为64B,所以就以64B为一帧进行数据和命令的收发。

在系统启动即检测USB设备是否连接正常,正常才启动检测,否则提示连接不正常。

当启动检测时,USB 总线上的数据的传输过程遵循以下步骤:(1)LabVIEW向USB设备发送启动控制命令帧,其中包含采样频率、存贮深度、持续时间等相关内容。

由于控制命令字不满64B,其他部分进行比特填充。

(2)单片机通过USB接口芯片接收到控制命令,即按要求开始启动采样。

若为大于8k高速采样命令,则进行连续采样,将采样的数据存贮在数据缓冲区中,采样结束后,将数据缓冲区中的数据进行60B每帧的拆分,并在60B数据的前面加上4个字节的数据帧编号等相关内容,通过USB总线将这些数据帧批量传输给LabVIEW。

(3)若为小于8k的低速采样命令,则进行中断采样,将采样的数据存储在一个队列中,在采样过程中,若采样的数据多于60B,即在主程序中取出队列中60个字节数据并封装成数据帧,启动USB数据的传输过程。

采样过程直至LabVIEW 向USB设备发送停止命令帧。

(4)在一次数据采样结束后,LabVIEW向USB设备发送启动控制命令帧即可马上进行再次采样。

5 结语用户可以根据不同的环境和要求选择不同的通信方式,在低速的情况下可以采用串口,并口等方式,高速数据采集可以采用USB口,专用数据采集卡等,使用USB2.0协议的芯片支持的批量的数据帧长度可以达到512B,并且有更高的数据传输速度。

介绍了在LabVIEW中实现USB通信的设计方法,并给出具体的设计步骤和方框图程序。

该方法具有硬件接口简单、软件编程方便、实用的特点,在实际数据采集过程中具有一定参考价值。

本文摘自《现代电子制作》。

相关文档
最新文档