EDN China > 技术文章 > 测试与测量 > 虚拟仪器 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

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

来源:嵌入式开发网?? 2008年04月30日 ?? 收藏0

  表1 Usb.dll包含函数的功能说明

Control? 主机对USB设备的控制
ReadResult? 获取USB发送到主机的数据
StartIsoStream? 启动设备的同步传输流
StartThread? 得到标准设备的设备描述符
StopThread? 关闭设备的同步传输流

  其定义如下:

  LPSTR_declspec(dllexport)_stdcall Control(int input);

  int_declspec(dllexport)_stdcall ReadResult(void);

  int_declspec(dllexport)_stdcall StartIsoStream(void);

  int_declspec(dllexport)_stdcall StartThread(void);

  int_declspec(dllexport)_stdcall StopThread(void);

  开启设备和获取采集数据的过程如图2所示。它的主要功能有:开启或关闭USB设备、检测USB设备、设置USB数据传输管道(pipe)和端点(endpoint)、实时从USB接口采集数据、显示并分析数据。

开启设备和获取采集数据的流程图

  图2 开启设备和获取采集数据的流程图

  程序在VC++6.0环境下编制成功后自动生成DLL文件。调用时,在框图程序窗口打开FunctionPalette(功能模板),在Advanced模块包含有对库函数的调模块,即CallLibraryFunction。把编写好的DLLs放在当前目录或特定目录下。在功能模板放置函数调用模块,然后选Configure,出现对话框。根据LabVIEW与DLLs的参数对应关系填写好DLL文件的路径(DLL文件不在当前目录下)、被调用函数名、参数的类型及返回类型。需要注意的是,当调用多个函数时要分别填写参数的个数和对应的类型,而且在调用过程中应保持数据位的一致。填好选择OK按钮后, LabVIEW将自动生成各参数的入口及出口状态,这样就实现了LabVIEW与DLLs的调用。

  通过上述方法成功实现了 LabVIEW与USB驱动程序的数据交换,从而实现了以LabVIEW为应用程序的USB实时采集处理系统。将USB采集卡增加A/D或D/A并对电路作相应的改动后,即可实现传统采集卡的所有功能。很明显,这种集成了USB接口优点和LabVIEW图形化编程语言的采集处理系统与传统采集卡相比具有不可比拟的优势,不仅性价比高、通用性高、易于开发、数据处理简单,且可以大大缩短开发时间。


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

USB? LabVIEW? 数据采集?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈