新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > LabVIEW与USB的直接数据通信

LabVIEW与USB的直接数据通信

作者:时间:2011-05-26来源:网络收藏

介绍完上面的4个节点,就可以用上面4个节点实现批量数据收发,如图1所示。当然,这需要前述INF文件的支持和与接口的单片机程序的支持,在图1中VISA resource name端口用于指定需要打开的VISA资源的名称,实际上就是前面生成INF配置文件中的VISA资源仪器描述符。这里,向发送字符串“connect test”,连接测试,单片机通过USB接口芯片将发送过去的数据回传给。在前面板的read buffer显示框中能显示出“connect test”字符串。

1.jpg


4 基于IJSB的虚拟示波器的实现

本系统为在中实现示波器的功能。单片机对向USB示波器调理电路输出的信号进行96 k(多档可调)的高速连续AD采样,并将采样到的数据通过USB口传给PC机的LabVIEW,LabVlEW对USB口传来的数据进行处理、测量、波形还原和显示等相关操作。虚拟示波器的程序运行界面如图2所示,当前输入的是2.001 kHz的正弦波信号,在软件中显示的波形以及测量结果与实际示波器上 得到的结果基本无异。在该程序模块中,通过调用Lab-VIEW的相关控件,实现了对输入的模拟信号的波形还原显示、频率测量、峰值测量、直流漂移测量等操作。

2.jpg


系统采用单片机和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通信的设计方法,并给出具体的设计步骤和方框图程序。该方法具有硬件接口简单、软件编程方便、实用的特点,在实际数据采集过程中具有一定参考价值。

数字通信相关文章:数字通信原理


通信相关文章:通信原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭