应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

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

  1引言
  LabVIEW是一种基于图形程序的虚拟仪器编程语言,在测试与测量、数据采集、仪器控制、数字信号分析、工厂自动化等领域获得了广泛的应用。LabVIEW程序采用方框图编程,具有友好的人机界面,在前面板中有用于模拟真实仪器面板的控件可供调用,可用于设置输入数值、观察输出值以及实现图表、文本等显示。传统的用LabVIEW读写USB设备的方法是:先用VC或Delphi编写动态链接库DLL文件,在DLL中通过调用WINAPI函数读写USB设备的数据,并存在缓冲区中,在LabVIEW中通过对DLL文件的调用提取缓冲区中的数据。介绍了在LabVIEW下,通过调用NIVISA子程序控件,实现与USB设备的直接通信,避免了二次编程的麻烦和数据的中转。
  2USB底层驱动程序设计
  USB底层驱动开发工具有WindowsDDK和第三方开发工具,如Driverstudio和Windriver等,但是使用这些工具开发驱动难度大、效率底。在这里,介绍如何借用LabVIEW的NIVISA子程序控件作为USB的底层驱动。
  VISA(VirtualInstrumentSoftwareArchitecture,ni。cornvisa)是一个用来与各种仪器总线进行通讯的高级应用编程接口(API)。他不受平台、总线和环境的限制。通用串行总线(USB)是一个基于信息的通讯总线。这表示PC机与USB设备通过发送指令和数据进行通讯,而这些指令和数据是通过总线以文本或二进制数据的形式发送的。每个USB设备都有各自的指令集。可以使用NIVISA的读写功能向仪器发送这些指令,并读取仪器的反馈。
  NIVISA从3。0版开始支持USB通讯,他有2种VISA类函数(ResourceClass),可以控制2类USB设备:USBINSTR设备与USBRAW设备。符合USB测试和测量类(USBTMC)协议的USB设备可以通过使用USBINSTR类函数控制,他们使用488。2标准通讯。对于这些设备,只需以与GPIB仪器通讯同样的方式,使用VISAOpen,VISAClose,VISARead和VISAWrite功能。USBTMC设备符合VISAUSBINSTR类函数能够理解的协议。USBTMC设备相对来说控制较为复杂,因为每个设备可以使用各自的通信协议,而这些通信协议一般都是由设备的生产厂家自定的。
  为了使用NIVISA,必须先让Windows将NIVISA作为设备的缺省驱动程序使用。在Windows环境中,可以通过INF文档做到这一点。INF文件是系统硬件设备配置文件,USB驱动程序通过INF文件中的PID(产品识别号)和VID(厂商识别号)识别USB设备。NIVISA3。0中包含的VISADriverDevelopmentWizard(DDW)可以为USB设备创建一个INF文档。下面简单介绍创建INF文档的过程:
  (1)在安装了NIVISA后,启动VISADriverDevelopmentWizard程序,出现了为PXIPCI或USB设备创建一个INF文档的向导,选择USB设备,点NEXT,出现VISADDW基本设备信息窗口。
  (2)进行这一步时,需要清楚USB的PID和VID。这些数字可以在安装USB设备的时候对其进行确认,并在想要与设备通讯的时候,寻找他的地址。依据USB的规格,两个数字都是16位16进制数字,并应该由设备制造商提供。例如在后面介绍基于USB的虚拟示波器用到USB接口芯片PDIUSBD12的PID和VID分别是0x0471和0x0666;这一步设置完成后,点击NEXT,进行最后一步的设置。
  (3)USBInstrumentPrefix(USB仪器前缀)只是一个描述符,可以用他来识别本设备所用的相关文档。在USBInstrumentPrefix中输入相应信息,并在outputfiledirectory中选择存放这些文档的目录,然后点击Finish。INF文档就被建好并保存至指定的位置。
  这时候,只要复制生成的INF文件夹到系统盘Windows文件夹下INF文件夹,点击右键,安装即可。这时,插上USB设备,Windows系统就能探测到,并根据INF硬件配置文件选择NIVISA作为底层驱动程序。在LabVIEW中,只需调用NIVISA的相关控件,即可实现对USB设备的读写操作。
  3LabVIEW驱动程序编写
  强大、灵活的仪器控制功能是LabVIEW区别于其他编程语言的主要特点。LabVIEW不仅提供数百种不同接口测试仪器的驱动程序,而且还支持VISA,SCPI和IVI等最新的程控软件标准,为用户设计开发先进的测试系统提供了软件支持。VISA是用于仪器编程的标准IO函数库及相关规范的总称,一般称之为VISA库。VISA库驻留于计算机系统中,是计算机与仪器之间的软件层连接,用以实现对仪器的程控。对软件开发者来说,他是一个可调用的操作函数集,他本身不提供仪器编程能力,只是一个高层API(应用程序接口),通过调用底层的驱动程序来控制仪器设备。
  NIVISA支持3种类型的USB管道:控制、批量和中断。NIVISA探测到USB仪器时,他会对仪器进行自动扫描,寻找各种类型的最低可用端点。如使用NIVISA中的VISAUSBControlIn和VISAUSBControlOut来通过控制型管道传输数据,使用VISARead和VISAWrite来通过批量型管道传输数据。
  作为仪器IO函数库,VISA编程与传统的IO软件编程基本相同,主要通过设备IO端口的读写操作和属性控制,实现与仪器的命令与数据交换。LabVIEW中所有的VISA节点均在Function模板rarr;AllFunctions子模板rarr;InstrumentIO子模板rarr;VISA子模板中。在这里,只用到了VISAOpen,VISAClose,VISAWrite和VISARead四个节点即可实现和USB设备的双向通信。当完成对USB设备的INF硬件配置后,就可以用VISAOpen节点打开该资源,建立计算机与这些VISA资源的通信管道;与VISAOpen节点相反,VISAClose节点用于将打开的VISA资源关闭;VISAWrite节点的功能是将writebuffer端口输入字符串数据发送到仪器中;VISARead节点的功能是从仪器中读出数据;
  介绍完上面的4个节点,就可以用上面4个节点实现LabVIEW对USB批量数据收发,如图1所示。当然,这需要前述INF文件的支持和与USB接口的单片机程序的支持,在图1中VISAresourcename端口用于指定需要打开的VISA资源的名称,实际上就是前面生成INF配置文件中的VISA资源仪器描述符。这里,向USB发送字符串ldquo;connecttestrdquo;,连接测试,单片机通过USB接口芯片将发送过去的数据回传给LabVIEW。在前面板的readbuffer显示框中能显示出ldquo;connecttestrdquo;字符串。
  4基于IJSB的虚拟示波器的实现
  本系统为在LabVIEW中实现示波器的功能。单片机对向USB示波器调理电路输出的信号进行96k(多档可调)的高速连续AD采样,并将采样到的数据通过USB口传给PC机的LabVIEW,LabVlEW对USB口传来的数据进行处理、测量、波形还原和显示等相关操作。虚拟示波器的程序运行界面如图2所示,当前输入的是2。001kHz的正弦波信号,在软件中显示的波形以及测量结果与实际示波器上得到的结果基本无异。在该程序模块中,通过调用LabVIEW的相关控件,实现了对输入的模拟信号的波形还原显示、频率测量、峰值测量、直流漂移测量等操作。
  系统采用单片机和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通信的设计方法,并给出具体的设计步骤和方框图程序。该方法具有硬件接口简单、软件编程方便、实用的特点,在实际数据采集过程中具有一定参考价值。

sonyfz35笔记本怎么样?sonyfz35笔记本性能配置朋友们可能注意到,目前的智能手机大多有专属的女性定制版,这也是为了迎合女性朋友们的审美取向,而在笔记本领域也早早地掀起了女性笔记本的浪潮,在这其中,索尼公司绝对是先驱者。它为女……支付宝东莞银行储蓄卡快捷支付如何撤销支付宝东莞银行储蓄卡快捷支付的撤销流程同招商储蓄卡快捷支付一致。支付宝(中国)网络技术有限公司是国内领先的独立第三方支付平台,由阿里巴巴集团创办。支付宝致力于为中国电子商……苹果8怎么录制屏幕苹果8录制屏幕操作方法详细步骤有那么一部份多朋友还不熟悉苹果8如何录制屏幕的操作,下面小编就讲解苹果8中录制屏幕的简单方法,希望对你们有所帮助哦。苹果8中录制屏幕的简单方法苹果手机默认设置在控制……如何拍摄建筑物拍摄建筑物技巧如何拍摄建筑物?你并不需要一堆昂贵的设备来获得美丽而富有创意的建筑照片,只要光线充足,一个套机镜头就能为你提供广泛的焦距,成为完美的选择。照片中的主体并不一定是宏伟的大教堂或著……ipad3gpu是几核怎么样详细介绍苹果iPad3搭载A5X四核图形芯片,A5X处理器中的ldquo;Xrdquo;显然是代表了四核图形处理器,内置低耗电晶片系统,用以支持高分辨率的显示屏,性能是NVIDIATe……iPad个性配件有哪些详细介绍iPad个性配件有哪些?iPad在欧美称网络阅读器。具备浏览网页、收发邮件、普通视频文件播放、音频文件播放、一些简单游戏等基本的多媒体功能。很多朋友觉得iPad自带……iqoo8Pro支持双指验证吗在哪里设置iqoo8Pro这款手机为用户提供全新的骁龙888处理器,可以为用户提供全新的手机顶尖性能体验,同时为用户提供很好的手机顶尖的E5屏幕,可以为用户提供很好的手机屏幕性能体验,那……支付宝莱商银行储蓄卡快捷支付如何撤销支付宝莱商银行储蓄卡快捷支付的撤销流程同招商储蓄卡快捷支付一致。支付宝(中国)网络技术有限公司是国内领先的独立第三方支付平台,由阿里巴巴集团创办。支付宝致力于为中国电子商……集成灶如何清洗保养集成灶保养技巧详解集成灶的不同部位均采用不同的材质,因此在清理的时候要使用不同的方法,这样不但清理效果佳,而且对集成灶起到了很好的保护作用。污垢的清理烹饪过程中留下的残留食物或汤液经……美菱冰箱怎样美菱冰箱品牌特点介绍详解美菱集团是冰箱业的名牌企业,其旗下的冰箱质量都是很过硬的,不仅是,美菱冰箱由于其良好的质量和口碑越做越好,美菱冰箱的质量过硬,使用方便是很好的,小编就带大家认识美菱冰箱。……真我GTNeo2T支持NFC吗怎么添加门禁卡真我GTNeo2T这款手机可是一款可以为小伙伴们带来非常不错性能体验感受的手机哦,但是现在小伙伴们对于手机性能的需求可是越来越大哦,这款手机是否是有着可以带来便捷操作的NFC功……集成灶怎么保养集成灶保养方法详解很多用户在购买集成灶之后,除了日常烹饪时会对它进行简单擦拭,其余时间基本对它ldquo;不闻不问rdquo;,这样的集成灶使用寿命恐怖不会长,电器类的物件需要我们时时保养和维护……
怡口软水机好吗怡口软水机优势特点介绍饮用水的品质在中国来说,有很多人都表示觉得不安全,不敢直接饮用的。因为中国的水污染是越来越严重了,很多人都不相信中国的饮水质量有多好,所以有很多人家里都会买软水机去过滤食用水。……浴霸买什么品牌质量好浴霸优质品牌详细介绍详解在我们的生活中,相信浴霸的使用是十分的常见的,但是对于浴霸的品牌,大家又有多少了解呢?众所周知,一款好的品牌是好质量的保障,下面小编就为大家介绍几款深受大众喜爱的浴霸品牌,希望……电饼铛什么品牌好用电饼铛品牌推荐详解电饼铛现在已经是使用频率比较多日用电器。电饼铛使用方便,加热快,老人小孩都可以使用,受到很多人的喜爱。但是现在有很多电饼铛的品牌,什么品牌电饼铛好用呢?下面就来推荐一些品牌。……1000xm2音质什么水平索尼WH1000XM2是一款拥有降噪功能的头戴式耳机,很多朋友都在纠结这款耳机产品的音质表现,那么1000xm2音质什么水平,下面就为大家具体介绍一下。1000xm2音质……地暖疏通技术是什么地暖疏通技术介绍详解一般情况下,地热管路在运行一个采暖期之后会沉积11。5毫米厚的水垢、粘泥,并相应的使室内温度降低36度,水质差的地区更加严重。因此地暖疏通技术应用而生,地暖疏通方式方法还有设备……阿里斯顿电热水器怎么样阿里斯顿电热水器优势介绍随着科技不断进步,我们生活当中的热水器产品也越来越丰富了。大家在选购热水器的时候肯定会留意到市场上有很多不同的热水器种类了。一般我们可以看到电热水器、燃气热水器、太阳能热水器等……AirPods连不上手机怎么办无法连接手机解决方法AirPods这款耳机,在使用过程中会出现一些连接失误的问题,那么AirPods连不上手机怎么办,如何正确的连接手机,接下来小编就带来了相关操作步骤,不要错过哦!一、重置……家用吸尘器怎么选择家用吸尘器选择技巧详解选择购买家用吸尘器并不是为了能够偷懒,而是吸尘器比我们自己清洁卫生还要仔细到位,这样更加能够保证我们家庭环境的洁净程度。今天小编就来给大家介绍一下家用吸尘器选哪种,主要有卧式吸……光波炉有哪些品牌光波炉品牌介绍详解随着科技的发展,光波炉进入了大家的视野生活之中,光波炉的出现代替了很多炊具,也受到了众多家庭的喜爱。但因为光波炉品牌很多,很多用户不是很了解,那么光波炉品牌都有哪些呢?接下来我……电脑主机插孔没声音怎么办主机插孔没声音解决方法想必很多人都碰到过这样的状况,电脑(台式机)重做系统之后,前面板没有声音。那么台式电脑主机前面的插孔没声音怎么回事?如何解决?下面小编就为大家介绍一下,来看看吧!方法步骤……cad如何绘立体图从事制造业的工作人员都知道,cad是行家必备基础绘图软件,但是有很多初学者往往不太会用cad绘制不规则立体图,下面来为大家讲解一下其中最常用的一种:布尔运算差集。1、打开……PS怎么制作漂亮的竹简画方法漂亮的竹简画是怎么样做的呢,平时只知道是用竹子做的,现在,我教大家用ps做一个,很漂亮的哦,希望大家都来看看,学习制作一下方法1、新建一个空白文档,大小为80060……
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网