DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1346|回复: 0
打印 上一主题 下一主题

[待整理] USB接口的虚拟仪器设计与实现

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-13 11:57:16 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
 USB技术的先进性使得设计者在PC外设开发中首选USB接口,而在现有虚拟仪器开发平台如LabWindows/CVI中并没有提供直接支持USB接口的函数库,基于这种情况,笔者利用FTDI公司的FT232AM完成RS232和USB之间的接口转换,然后再对USB接口实现间接的数据读写。

  2 硬件设计

  2.1 FT232AM简介

  FT232AM是FTDI公司提供的USB-RS232转换器,它可以在RS232和USB接口之间非常容易地建立可靠连接。通过USB接口的即插即用和热插拔性能给RS232的外围设备提供非常容易使用的环境,并提供高达115 kb/s的传输速率(如果电平转换器选用MAX3245CAI,则传输速率可达1 Mb/s以上)。同时还提供USB-RS422/RS485口,这样就把RS422/RS485与USB两种通讯协议取长补短,使得设备既具有即插即用和热插拔性能又具有远距离传输和抗干扰性特性。

  2.2 硬件设计

  FT232AM的设计电路如图1所示,它向外提供标准的DB-9引脚信号线,当PC外设为RS232电平时,采用MAX3245CAI进行RS232/TTL电平转换。设计中还扩展了一片93C46。用于储存开发的PC外设的VID、PID、设备序列号等。
 
 2.3 驱动程序

  在Window 98/2000/XP系统下,用户级的应用程序必须通过驱动程序访问USB硬件设备,虽然目前有许多公司提供编写驱动程序的开发工具,但是相对来讲还是比较困难。使用FT232AM时,由于FTDI公司提供了一个虚拟串行口(VCP:virtualCOM port)的驱动程序,因而在安装了VCP设备驱动程序后,系统就将USB外设虚拟成一个串口设备(通常为COM3),这样应用程序访问USB口就像访问一个标准的串行口一样,而在LabWindows/CVI中提供了串口编程的函数库,这样就可以很方便地进行用户程序开发。

  3 LabWindows/CVI

  LabWindows/CVI是NI公司面向计算机测控领域的虚拟仪器软件开发平台,它提供了丰富的虚拟仪表控件,同时又具有很好的硬件接口功能,几乎为所有的数据卡、采集仪器之类的采集设备都提供了专门的驱动程序。其中RS232函数库提供了各种方式的串口通讯控制函数,根据实际串口通讯可分为打开,关闭串口函数、I/O读写函数、调制解调器控制函数、串口设置函数、寄存器状态函数和回调函数6类。其中部分较常用的函数如下:

  (1) 打开/关闭函数

 
(2) I/O读写函数
  I/O读写函数提供了多种读写方式,这里只介绍部分函数。


 (3) 调制解调器控制函数

  4 软件设计

  串口通讯的程序流程图如图2。由于不同的采集仪器具有各自不同的通讯协议,因此需要根据具体的仪器通讯协议编写PC的程序。本文中将以PC与USB的通讯为例,说明LabWindows/CVI中实现USB通讯的方法。图3是虚拟示波器的程序界面图。

  程序中部分代码如下:

  (1) 配置和打开串行端口

  通信端口的选择和通信参数配置面板如图3所示,在"配置"按钮的回调函数中,按所选的参数配置并打开串口。



 5 结束语

  在虚拟仪器的设计开发过程中,采用USB转RS232接口和LabWindows/CVI相结合的方式,一方面可以利用USB接口的方便性,使得虚拟仪器测试系统更为方便的实现和应用,另一方面由于Lab-Windows/CVI提供了很多专门针对测试程序开发的函数库,从而使得上位机用户程序开发变得非常容易得多,极大地提高了设计速度,具有很好的经济效益。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-5 17:24 , 耗时 0.095420 秒, 22 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表