跳过主要内容

使用LABVIEW的AN-1132 8通道数字输出数据采集卡

内容

参考文献

有关文件及软件,请浏览:

//www.xmece.com/亚博电竞菠菜products/greenpak

下载我们的免费GreenPAK设计软件[1],打开。gp文件[2],并使用GreenPAK开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。

yabo国际娱乐Dialog Semiconductor提供了一个完整的应用笔记[4]库,包括设计示例以及Dialog IC内的功能和模块的说明。

  1. GreenPAK设计软件,软件下载和用户指南,Dialog Semiconductoryabo国际娱乐
  2. 使用LABVIEW.gp的AN-1132 8路数字输出数据采集卡,绿派克设计文件,Dialog半导体yabo国际娱乐
  3. GreenPAK开发工具, GreenPAK开发工具网页,Dialog半导体yabo国际娱乐
  4. GreenPAK应用笔记,GreenPAK应用说明网页,对话框yabo国际娱乐
  5. SLG46620对话框数据表,半导体yabo国际娱乐
  6. 使用LabVIEW的优点:http://www.ni.com/white-paper/8534/en/#toc7
  7. 国家仪器签证:https://www.ni.com/visa/

介绍

数据采集(DAQ)硬件作为计算机和外部信号之间的接口。它将数据(数字和模拟)从计算机传输到安装在现场的设备。DAQ卡对于工业、研究和开发以及其他许多应用都具有基础性的重要性。亚博国际官网平台网址

本应用笔记展示了如何将数字数据从计算机(使用LabVIEW)传输到GreenPAK SLG46620V[5],然后驱动额定220VAC / 10A接点的继电器。采用GreenPAK SLG46620V的数据采集系统具有8个数字输出通道,成本低,效率高。

通过USB接口TTL模块(FT232RL)建立了LabVIEW和GreenPAK SLG46620V之间的接口。8个继电器通过LabVIEW GUI进行控制。小尺寸的GreenPAK4 SLG46620V为数据采集卡提供了便携的解决方案。

LabVIEW和NI-VISA简介

虚拟仪器

LabVIEW软件被广泛地了解并用于各种工业应用。亚博国际官网平台网址LabVIEW是一个高效的开发环境,用于创建与不同领域的真实数据或信号交互的定制应用程序。亚博国际官网平台网址

使用LabVIEW的好处是更短的编程和调试时间、图形化编程、广泛的承包商网络和高质量的结果。

在不同的行业中,不同项目所需的工具和组件差别很大,要找到并使用所有这些不同的项可能是一项具有挑战性的任务。

LabVIEW是独一无二的,因为它在单一环境中提供了各种各样的工具,确保了兼容性,就像在功能之间画线一样简单。

LabVIEW与大多数其他通用编程语言的区别主要体现在两个方面。

  1. 编程是通过将图表上的图形图标连接在一起来执行的,然后直接编译成机器代码,以便计算机处理器可以执行。虽然以图形方式而不是以文本表示,但它包含与大多数传统语言相同的编程概念。
  2. 第二个主要区别在于,LabVIEW代码是根据数据流规则执行的,而不是按顺序执行的命令。

这种区别使得程序不同部分之间的数据路径成为开发人员的主要关注点。LabVIEW程序中的不同函数有输入、处理数据和产生输出。一旦所有输入包含有效数据,函数就执行其逻辑,生成输出数据,并将该数据传递给数据流路径中的下一个函数。从另一个函数接收数据的函数只有在另一个函数完成执行后才能执行。

NI-VISA

虚拟仪器软件体系结构(VISA)是一种标准,用于配置、编程和故障诊断仪器系统,包括GPIB、VXI、PXI、串行、以太网和USB接口。VISA提供了硬件与LabVIEW之间的编程接口。NI-VISA是国家仪器实施的VISA I/O标准。NI-VISA包括软件库,交互实用工具和VISA交互控制,以及通过测量和自动化Explorer配置程序,以满足所有开发需求。

采集硬件设计

完整的8-Ch DO DAQ硬件原理图如图1所示。

图1所示。8-Ch DO DAQ原理图

FT232RL USB to TTL模块

图2。FT232RL USB to TTL模块

FT232RL USB to Serial Breakout for the FT232RL是一个内置USB到串行UART接口的小板。这个小小的突破是围绕FTDI的FT232RL IC构建的,带有一个内部振荡器。

板上有一个跳线,用于设置3.3V或5V电压水平。我们使用5V,并连接这个板的Tx引脚到GreenPAK开发工具包的pin 10。PIN 10将被编程为GreenPAK代码中的Rx PIN,以接收LabVIEW中的串行数据。

当模块插入PC的USB端口时,它会在设备管理器中被检测为COM端口。

配置COM端口

当在设备管理器中检测到模块为COM端口时,应通过NI MAX进行配置。

配置包括设置波特率、校验、数据位数和流量控制。我们使用COM端口的默认参数。这些参数也可以在稍后的LabVIEW编程中更改。

四通道5V继电器模块板

每个模块板有四个Songle继电器(SRD-05VDC-SL-C),每个继电器由817C光耦驱动。其优点是可以实现接地隔离。外部5V电源用于VCC和接地引脚。板上“IN”引脚处的SLG46620V数字引脚接口。

GreenPAK设计规范

写在COM口上的串行数据被GreenPAK SLG46620V的pin10接收,数据被发送到SPI块MOSI输入。

在GreenPAK设计器中,SPI块模式属性被设置为S2P, cpa和CPOL属性都被设置为' 0 '。字节选择属性为[7:0],串行数据设置为来自pin10。

现在,到达SPI块的串行数据(总共10位、一个起始位、8个数据位和一个停止位)需要转换为并行位。为此,我们需要设置SPI块的SCLK,使其匹配9600 bps的波特率(在LabVIEW中设置)。当串行数据通过LabVIEW传输时,需要启动SCLK。

图3。四通道5V继电器模块板

另外,启动位和停止位需要与数据位分开。开始位在包的第一个位置,停止位最后被SPI接收。而且,当没有接收到数据时,SPI上有一个连续的高信号。

捕获串行数据的起始位

当数据从LabVIEW发送到串口时,位于包开始位置的起始位是LOW,最先到达。因此,我们可以通过检测PIN 10输入数据的下降边缘来检测新数据包的到达。这是通过输入PIN 10到P DLY0块来完成的,该块被配置为检测输入的下降边。因此,每当数据包到达时,P DLY0块检测到下降沿(起始位),并将输出设置为一个周期的HIGH。

下一步是在P DLY0输出处锁存脉冲。信号发送到DFF 0的CLK输入端。D输入被VDD信号设置为高,所以当时钟(从P DLY0输出)的正边到达时,它将D输入的high存储到DFF 0的输出。

为存储下一个周期的开始位重置闩锁

为了在输入数据的第二个周期之前复位DFF 0, DFF 0锁存器输出被发送到延时CNT5/DLY5的输入端。该块被配置为924微秒的延迟时间。每个周期9600bps对应104微秒,所以在输入数据几乎9个周期后,延迟块将DFF重置为0。

图4。SPI块属性

CNT2/DLY2和DFF 0锁存器都通过相同的信号复位(串行数据结束)。Pipe Delay 0模块在重置DFF 0之前提供了3个2MHz时钟周期的额外延迟,这只是为了确保在重置CNT2/DLY2计数器之前,第9个数据位被加载到SPI块中。

串行数据结束信号LOW应该使SPI块nCSB输入,然后在传入数据的第9个周期后,信号变高,SPI块被禁用。

在SPI块中加载串行数据

图5。P DLY0块属性
图6。CNT5/DLY5和管道延迟0特性

锁存器(DFF 0)高输出也用于在SPI块的MOSI输入处加载串行数据。为了在SCLK中间存储串行数据,需要为SCLK输入9600bps半周期的延迟。9600bps的半周期对应的时间大约是52微秒。这个时间延迟是通过CNT6/DLY6将DFF 0的输出传递来实现的。block的输出与振荡器时钟out1信号并送至CNT2/DLY2 block的时钟信号。时钟使能信号确保计数器CNT2/DLY2在开始位到达之前不会开始计数。CNT2/DLY2输出是SPI块(SCLK)的时钟信号。它帮助加载串行数据到SPI块,一旦10位周期完成,SPI块转换串行数据到SPI并行输出块端口。

图7。CNT6 / DLY6块属性
图8。CNT2 / DLY2块属性

数字输出引脚的串口数据

串行8位数据(LabVIEW的D1、D2…D8按钮)将根据它们的加权顺序出现在SPI并行输出块的PAR输出引脚上。四个数据位直接发送到数字输出引脚,其他四个通过反相器和“与”门与数字输入引脚联锁。

因此,可以设置一个联锁与这四个数字输入和联锁条件将覆盖相应的数字输出命令从LabVIEW。例如,我们启动继电器按按钮' DO 1 '在LabVIEW,这将使PIN 12低。当我们停止继电器从相同的按钮在LabVIEW GUI, PIN 12走高。但这是可能的,只有当数字输入PIN 2保持低。如果PIN 12是高(由于一些过程条件,如高温等),从LabVIEW的DO 1命令将不会被执行。

运行LabVIEW GUI

现在插入FT232RL模块并进入前面板。单击“选择COM端口”下拉菜单,按“刷新”,选择COM端口。这里是COM6(在你的情况下可能是其他号码)。

选择COM端口后,连续按Run.它在面板的右上角。

图9。在LabVIEW中选择COM端口

必须注意的是,在按下“连续运行”键之前,必须选择COM端口,否则程序将出现错误,然后必须从任务管理器关闭它。

同时,模块的Tx引脚应连接到GreenPAK开发工具包的pin 10。通过在前面板上点击不同的按钮(DO 1, DO 2,…,DO 8), GreenPAK开发套件相应的LED将开关ON/OFF。

例子

重型交流负载可以通过将它们连接到5v继电器的接触端来控制。继电器触点将作为负载的“开关”,从LabVIEW GUI控制。

对应于LabVIEW中的DO ' x '按钮的SLG 46620V的数字输出将向下拉并吸收来自继电器板上的光耦合器的电流。因此,GreenPAK芯片的DO没有引出VDD电流。光耦开关为ON (GreenPAK开发板对应的LED为OFF),继电器板光耦对应的LED为ON。光耦合器接通后,由外部电源驱动相应的5V继电器。不要直接使用GreenPAK芯片的VDD驱动继电器,因为有可能超过最大电流和电压额定值。

继电器的触点侧可用于驱动220V及10A交流负载。如果甚至更大的负载需要驱动,然后连接接触面,以驱动线圈的一个更大的继电器作为所需。

一个视频是可用的,显示如何八个5v继电器开关ON/OFF从LabVIEW GUI按按钮D0 1, D0 2 ....做8。

限制

该设计提供了一个低成本的DAQ解决方案,仅限于DO通道,并且DO更新速率被限制在COM端口波特率9600bps(约9600bps)。10 khz)。

由于数字引脚的电流驱动能力有限,GreenPAK输出不能直接驱动这些继电器。它们需要一个光耦合器或继电器驱动器,以及一个外部电源来驱动继电器。

结论

本应用说明演示了专用DO通道仅用于工业控制的有用性。虽然它的更新速度不能超过10kHz,但Windows应用程序通常需要200毫秒来更新。亚博国际官网平台网址因此,COM端口的波特率为9600bps是比较合适的。

这种设计的成本优势使它成为专用控制的一个有吸引力的选择,允许更多的安装。此外,使用SLG46620V的设计可以非常紧凑,这允许放置一般DAQ简单不适合的地方。

附录:LabVIEW编程指南(用于本应用注意参考)

创建空白VI后,转到NI LabVIEW前面板并右键单击,控制窗口打开。选择Modern>>I/O>>VISA资源。

图10。在LabVIEW前面板中添加COM端口
图11。在LabVIEW前面板中添加按钮

现在为8个数字输出添加8个按钮,再次右击,选择快捷>>按钮和开关>>按钮。重复此过程8次,以添加8个按钮。

图12。在LabVIEW前面板中添加滑动开关

在LabVIEW前面板中再次右键,选择快捷>>按钮和开关>>滑动开关。

这些按钮、开关和COM端口的文本可以通过双击进行编辑。

LabVIEW编程的下一步是连接这些组件,将串行数据传输到GreenPAK SLG46620V。为此,转到框图(在前面板时按CTRL + E, CTRL + E将在前面板和框图之间切换屏幕)。

它显示8个按钮,一个滑动开关,和一个选择COM端口窗口。在框图中添加数字常量,乘法,布尔到整数,大小写结构,VISA串行,VISA写,VISA关闭,复合算术(加法),构建数组和字节数组到字符串。可以在右上角的搜索框中搜索这些组件,然后逐个添加到框图中。

首先,COM端口的配置如下图所示。只需将鼠标悬停在连接上,然后左键单击并向目标连接拖动鼠标,即可完成连接。

图13。LabVIEW中的COM端口配置

在这里,我们可以更改NI MAX中默认的COM端口设置。

启用DAQ操作按钮用于选择机箱结构。下一步是配置案例结构的真实窗口。当COM端口的连接建立后,控制转移到此窗口,并通过单击DO按钮将数据写入COM端口。

图14。LabVIEW中的COM端口配置

这里,当按下ON(从LabVIEW GUI运行时)给出布尔值1,当按下OFF(从LabVIEW GUI运行时)给出布尔值0。这个1或0被转换成整数,然后乘以一个加权数(对应于它在字节中的位置)。这里DO 1是LSB, DO 8是MSB。

这八次乘法的乘积相加。然后将该数字用作构建数组块的输入,然后通过字节数组到字符串函数将结果转换为字符串,然后将其输入到VISA write块。将整数数据转换为字符串的原因是VISA write仅在其输入端接受字符串数据。

将数据写入COM端口后,关闭COM端口,使其可以被其他应用程序使用而不退出LabVIEW。亚博国际官网平台网址