范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

LabVIEW实现USB数据通信方案设计介绍图文

  1 引言
  LabVIEW 是一种基于图形程序的虚拟仪器编程语言,在测试与测量、数据采集、仪器控制、数字信号分析、工厂自动化等领域获得了广泛的应用。LabVIEW程序采用方框图编程,具有友好的人机界面,在前面板中有用于模拟真实仪器面板的控件可供调用,可用于设置输入数值、观察输出值以及实现图表、文本等显示。传统的用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 file directory"中选择存放这些文档的目录,然后点击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通信的设计方法,并给出具体的设计步骤和方框图程序。该方法具有硬件接口简单、软件编程方便、实用的特点,在实际数据采集过程中具有一定参考价值。

水泥发泡设备价格以及介绍详解水泥产品是至关重要的建材产品之一,与之相关的设备在市面上也十分受欢迎。对于有意向操作实践的朋友而言,我们可以参考实际具体情况入手分析,必要的时候结合品牌型号推荐筛选出具有实际效果优TDLTE多天线如何测试TDLTE多天线测试硬件要求介绍详解本文在介绍CATR联合CMCC进行的TDLTE实验室测试的基础上,着重介绍复杂信道模型的模拟。思博伦新一代信道模拟器VR5HD充分考虑了目前和未来的需求,支持所有TDLTE,及LTiQOO5音质怎么样iQOO5音质效果测试iQOO5系列新机同时带来了高动态HiFiHiRes认证双立体声扬声器等亮点配置,那么,iQOO5在音质体验究竟如何?下面就让小编给大家介绍一下。为什么坚持要做独立HiFi芯片HiOPPOAce2性能怎么样OPPOAce2性能测试参数配置如今,ldquoAcerdquo已经成为了OPPO一条全新的产品线,主打快速充电和极致的游戏体验,从配置到功能全面升级,再度诠释ldquoAcerdquo之名。历时半年时间打磨,O航嘉电器电源相关介绍大全导语不知你们是否有没有听说过航嘉电器,航嘉电器主要研发生产电脑电源,细小配套零部件和家用电器等电子类产品。随着社会的不断进步与发展,科技也在不断发展着,人们生活水平的提高了,人们的容声冰箱质量怎么样容声冰箱优点介绍详解容声冰箱是一家国产品牌冰箱,品质非常地好,一直以来受到了广大消费者的欢迎。近期90后女神高丽雯变身小小迷妹,来到了容声冰箱生产基地,领略容声冰箱的魅力,解开了容声傧相的神秘面纱。这美菱冰柜报价多少?有什么优缺点?美菱冰柜报价一直都是众多商户比较关注的问题,随着夏季快要来临了,冰柜成为了不少小卖部小商铺都必不可少的一个装备。美菱品牌的冰柜非常受大众的欢迎,因为性能比较出众,但是由于推出的型号漏氟怎么修漏氟维修方法有一种淡黄色有毒气体叫做氟,它是一种气体含有剧毒,其颜色是淡黄色。有很强的腐蚀性。氟是特种塑料,橡胶和冷冻机的关键元素。在生活中如果遇到漏氟,应该怎么维修呢?日常生活中最常见的是空特灵中央空调怎样特灵中央空调特点介绍详解现在我们家庭用到的中央空调跟之前我们传统的中央空调相比,早已经就摆脱了体积超大,运行费用比较高,安装不便等等一些特点。它跟传统的分体空调相比较的话,家用的中央空调已经满足了我们现在嵌入式空调怎么安装嵌入式空调安装步骤详细介绍嵌入式空调是目前众多的空调类型当中的一种,通常是安装在天花板之中,美观程度是比较高的。嵌入式空调安装当前受到了不少用户的喜欢,特别是户型面积比较大的用户当中,还有不少公共场所当中,嵌入式空调怎么安装嵌入式空调安装方法详细步骤嵌入式空调,它也不是站立式空调,它也不是悬挂式的空调。通常情况下它的制冷效果是比较好的,嵌入式空调他根本就不会比悬挂式空调和站立式空调的制冷效果差。它的特点就是占用的空间范围比较小
康佳50寸4k电视价格是多少康佳50寸4k电视功能介绍图文介绍不知道什么时候开始,电视进入了人们的视线,也正是有了电视,我们才可以看各种各样的节目,比如,新闻联播,天气预报,动物世界等一些有趣的节目。以前的电视是无声的,黑白的。但是人们依然非长虹49寸电视报价长虹49寸电视推荐图文说到电视机,就不得不说到康佳海信TCL长虹等大品牌。电视机这个行业可以说是一个寡头竞争行业,竞争很激烈,而且随着技术的发展,现在的电视机已经可以做到尺寸大屏幕分辨率高功能强大。以前康佳led55x8100pde怎么样康佳led55x8100pde报价与功能介绍图文随着科技的不断发展,电视已经从我特么家庭中有,到了现在几乎每一个家庭都有了,而且现在的电视都有了很多的功能,比如4k高清,3d画面,曲面电视等等电视的特点都渐入人世,康佳作为电器品康佳电视机怎么样康佳电视机热门产品报价详细介绍电视是居家必备的电器产品,也是人们休闲时候的一种打法时间的方法,电视可以带给人们更多的信息,也可以给人提供全身心的放松,所以电视的市场需求量是非常高的,更多品牌都在不断的更新电视产led液晶电视报价你了解多少?详解不知道有多少朋友家里有液晶电视,现在一般来说每个家庭都会有电冰箱空调还有电视机。而电视机的发展又十分迅速,黑白电视到彩色电视,然后到现在的led液晶电视,不知道大家对液晶电视的评价长虹电视3dtv43858评测及报价介绍对于电视机,大家都不陌生,商场上也有很多电视机品牌,如康佳乐视小米创维索尼夏普飞利浦等等。而长虹电视是我国知名的国产电视品牌,长虹电视3dtv43858是一款上市于2012年的4342寸创维云电视报价各种型号不同在电视机市场上,能够连接网络的云电视越来越受欢迎了。而市场上云电视的品牌有很多,如TCL康佳长虹海信清华同方等等,创维也是一个知名的云电视品牌。创维云电视的尺寸有大有小,有小至32Excel2016提示向程序发送命令时出现问题如何解决Excel2016提示向程序发送命令时出现问题如何解决?在你使用了网上大多数解决办法都没有作用之后,或许可以试试这个。1打开excel(不要管其它的打开就可以了)2打开任务管理器,打开Excel表格弹出向程序发送命令时出现问题的解决方法遇到该情况时Excel向程序发送命令时出现问题解决办法。网上已有的方法不能解决时(如method选项高级常规去掉ldquo忽略DDE前面的勾,)当我采用以上功能的方法时,那个选项前Excel表格提示向程序发送命令时出现问题怎么办有用户在电脑打开Excel表格文档时,系统弹出ldquo向程序发送命令时出现问题rdquo错误提示框(如下图所示),导致无法正常打开Excel文档,而出现这种故障提示有几种因素,如向程序发送命令时出现问题怎么办有的同学在使用office2007或者office2010打开Excel时会出现一个错误提示窗口,不能打开表格文件,只能从历史记录里打开,即使重装office也不能解决,那么问题出