首页 > 应用 > 测试测量
[导读]
  1 引言
  虚拟仪器系统的硬件平台由i/o接口设备和计算机构成(如图1所示),i/o接口设备是对外获取信号的通道,为了能使计算机能够对i/o接口设备有效地进行控制,就要考虑系统中i/o接口设备的驱动问
  1 引言

  虚拟仪器系统的硬件平台由i/o接口设备和计算机构成(如图1所示),i/o接口设备是对外获取信号的通道,为了能使计算机能够对i/o接口设备有效地进行控制,就要考虑系统中i/o接口设备的驱动问题。

本文引用地址: http://www.21ic.com/app/test/201806/766396.htm

  

  图1 虚拟仪器的硬件构成

  在labview中,用软件驱动i/o接口设备,可分以下两种情况:

  (1) labview支持的io设备的驱动

  ni公司是以研制开发先进的i/o产品起家的,因此,ni在推出labview时已经考虑到了自家产品在labview中的的驱动问题,提供了专用的子vi形式的驱动程序库,图2是用作模拟输入的驱动程序。

  

  图2 模拟输入驱动程序

  labview提供了max(measurem -ent & automation)软件,只要计算机中安装了device driver,当i/o设备插入计算机时就能够被自动识别,并且可以用max工具对其进行配置。图3是在计算机中插入ni公司的板卡pci-6527后启动max的画面。

  

  图3 max自动识别ni的i/o设备

  对于这类labview直接支持的i/o设备,调用labview中的相应驱动程序模块就可以实现板卡的所有功能。

  (2) labview不支持的io设备的驱动

  ni的io产品由于有现成的驱动可供开发者使用,在使用中具有驱动方便的优势,但是价格昂贵,实际系统中很可能选择使用非ni的io设备,这类设备在ni提供的驱动程序库中没有相应的驱动程序。对于这类labview不直接支持的i/o设备,我们该如何实现对其驱动呢?

  一般i/o设备都带有dll驱动函数库以及相应的lib文件和.h头文件,而labview恰好提供了调用动态链接库的手段——clf节点(call library function,位于labview功能模板中的advanced子模板中)。基于这种状况,使用clf节点便是我们驱动此类设备的首选方法。下面以北京迪阳公司的任意波形发生卡lai200a2为例来说明clf在仪器驱动中的使用。

2 举例

  lai200a2是一款任意波形发生卡,该卡有一路波形输出,可实现正弦波、方波、三角波、锯齿波、ttl、白噪声、高斯噪声、梯形、指数、扫频等常规波形,用户可以设置波形的幅度、频率、偏置量等参数。lai200a2提供lai200.dll、lai200.lib、lai200.h文件供用户进行二次开发。以下简单介绍lai200.dll中的主要函数:

  (1) 板卡自检函数

  int lai200_autocheck(unsigned char *numbers,unsigned short int cardname);

  功能描述:初始化板卡

  入口参数:cardname: 卡地址

  出口参数:numbers isa卡保留,无用。

  函数返回:1,自检成功 2,自检失败

  (2) 计算规则波形数据函数

  void lai200_cacuwavepara(

  int wavetype,

  int cycles,

  double frequency,

  double amplitude,

  double offset,

  int duty,

  unsigned int *mdots,

  double *mdacclk,

  double *mwavedata

  );

  功能描述:计算规则波形数据函数

  入口参数:wavetype: 波形类型

  1正弦;

  2方波

  3 ttl

  4锯齿

  5三角

  6白噪声

  7高斯噪声

  8直流。

  frequency:波形频率

  amplitude:幅度,0-10vpp

  offset: 波形偏置量 0-2.0v

  duty: 方波的占空比1~99 (%)

  出口参数:

  mdots:波形时钟

  mdacclk:波形时钟

  mwavedata:波形数据 范围:–5.0v---+5.0v

  (3) 产生波形

  int lai200_genwave(

  int base,

  int loopmode,

  unsigned int dots,

  double dacclk,

  double *mwavedata,

  int fcidx

  );

  功能描述:生成自定义波形。

  入口参数:

  base 板卡的基地址

  loopmode 0,循环 1,单次

  dots: 波形的点数,0-32760点。

  dacclk: 刷新率,0.5hz-10mhz

  *mwavedata:波形数据

  fcidx 低通滤波,0=>1mhz 1=>100khz 2=>10khz 3=>1khz

  出口参数:无

  象上面这些函数声明我们可以在设备提供的.h文件中找到,这些信息对于我们正确配置clf是至关重要的,而对clf进行正确配置是使用clf的关键。下面以波形发生卡的初始化为例详细介绍clf节点的配置过程及注意事项。

  3 clf节点的配置过程及注意事项

  配置步骤:(须先添加clf节点)

  (1)在clf节点的右键菜单中选择“configure…”或直接双击节点,弹出clf节点配置对话框。点击“browse…”按钮找到动态链接库文件lai200.dll,选定后,labview会自动装载选定的dll文件,并检测dll文件中所包含的函数。按“function name”框的下拉按钮可以看到dll中所有的函数。但是labview不会自动检测函数中的参数和参数的数据类型,这需要用户根据函数的输入、输出参数手动设置。所以在调用dll文件时,要求用户对dll文件中的函数参数类型做到心中有数。

  (2) 在“function name”下拉框中选择初始化函数lai200_autocheck

  (3) “calling conventions”指的是调用dll遵从的规范,有stdcall和c两个选项,若所选函数是windows api函数,则选用stdcall;否则选用c选项。

根据.h文件中的函数声明中各参数的形态按顺序依次添加参数并进行配置。配置完成后再根据clf节点的端子在前面板上添加控制型和指示型控件。完成的虚拟波形发生器前面板和框图程序分别如图4、5所示。

  

  图4 波形发生器前面板

  

  图5 波形发生器程序框图

  4 结束语

  一般,i/o设备厂商都会为自己的产品提供dll形式的驱动库。通过clf节点在labview中调用动态链接库函数可以顺利解决非ni公司daq产品的驱动问题。

换一批

延伸阅读

[真心话] 李开复谈中美公司的区别,人工智能全面超越美国只需要五年

李开复谈中美公司的区别,人工智能全面超越美国只需要五年

昨日,富士康集团在深圳举办实体经济与数字经济融合发展高峰论坛,并庆祝富士康30周岁生日,创新工场董事长兼CEO李开复在《AI-工业互联网与消费互联网的融合发展》分论坛进行了主题分享。 他首先谈到了中美在人工智......

关键字:李开复 人工智能 AI

[新鲜事] 世界首富遛狗,都和我们不一样!

世界首富遛狗,都和我们不一样!

今日世界首富杰夫·贝索斯(亚马逊CEO),以“遛狗”的方式开启了亚马逊年度MARS年度机器人大会。......

关键字:贝索斯 SpotMini 机器狗

[新鲜事] 库克笑了,特朗普表示不会对中国组装的iPhone加征关税

库克笑了,特朗普表示不会对中国组装的iPhone加征关税

6月19日消息,据VentureBeat报道,随着美国计划对中国产品加征500亿美元关税,中美之间的贸易紧张局势继续升级,苹果担心中国将为其产品设置监管和出货障碍。苹果首席执行官蒂姆·库克(Tim Cook)正在与两国政......

关键字:特朗普 库克 iPhone

[真心话] PCB冷知识:红胶——你知道么?

PCB冷知识:红胶——你知道么?

在SMT和DIP的混合工艺中,为了避免单面回流焊一次,波峰焊一次的二次过炉情况,在PCB的波峰焊 焊接面的chip元件,器件的中心点点上红胶,可以在过波峰焊时一次上锡,省掉其锡膏印刷工艺。......

关键字:PCB SMT DIP 红胶

[新鲜事] 一颗小小的退耦电容,引发的纠结!

一颗小小的退耦电容,引发的纠结!

对于第一种情况,不一定非要经过电容后,才接到IC的电源或地引脚,但要尽量的靠近。典型的例子是BGA封的去耦合电容,一般都放在背面。尽量靠近的情况下,也要注意电容到电源和地平面的布线,越短、越粗越好;否则会引入布线电感。......

关键字:退偶电容 IC电源

[真心话] 一名IT工程师自述辛酸史

一名IT工程师自述辛酸史

做为技术人员,大家都觉得工资高,工作稳定,还能学到很多的东西。是大部份走出校门或性格内向,或希望过平静的人的必然选择。其实,你们有没有问过自己,这条路到底走对了吗?......

关键字:IT 工程师

[真心话] 英伟达发布的AI芯片 Jetson Xavier怎么样?看这里

英伟达发布的AI芯片 Jetson Xavier怎么样?看这里

早在GTC Taiwan 2018之前,国外媒体就有传出英伟达有意要在Computex发布新一代绘图处理器芯片,预计采用7nm制程,以便迎击AMD最新一代绘图处理器(同样也是采用7nm制程),以便固守英伟达在整体PC市场的占有率。而英......

关键字:英伟达 AI芯片

[真心话] 一位放弃上大学,毅然决然走上IT人生路的工程师自述

一位放弃上大学,毅然决然走上IT人生路的工程师自述

来自一位对高考结果不满意,选择放弃上大学,自学走上IT工程师道路的新人自述。......

关键字:IT工程师 编程 自学

[新鲜事] 谷歌曾秘密寻求与欧盟和解Android反垄断,仍被无情地处以50亿美元罚款...

谷歌曾秘密寻求与欧盟和解Android反垄断,仍被无情地处以50亿美元罚款...

据彭博社北京时间7月23日报道,上周,欧盟竞争事务专员玛格丽特·维斯塔格(Margrethe Vestager)无情地对谷歌公司处以43亿欧元(约合50亿美元)罚款,创下欧盟史上反垄断罚款纪录。但是,结果原本不需要这样。一......

关键字:谷歌 Android反垄断
条评论

我 要 评 论

网友评论

技术子站

更多

人才招聘

更多

项目外包

更多

推荐博客