实验十二 十六通道动态数字输入输出
目录
实验十二 十六通道动态数字输入输出
一、实验目标
1.调用逻辑动态采集vi采集16通道, 16通道高低状态通过逻辑图显示;
2.调用逻辑动态输出控制16个输出通道,16通道输出1KHz方波;
二、硬件介绍
数字通道介绍:
16路独立数字输入,采样率最高达100MSPS,可用作逻辑分析仪、虚拟数码管、LED等。
16路独立数字输出,刷新率最高达100MSPS,可用作16位脉冲序列、CP、单次边沿/脉冲,电平开关等。
2.1数字输出
数字输出 | 指标 | 最高采样率 | |
---|---|---|---|
DOUT0-15 | 16位并行逻辑输出,输出电平3.3V和5V可选;可用于脉冲信号发生器、连续脉冲, 单次脉冲,虚拟电平开关 | 10MSPS(204) | 100MSPS(304) |
2.2数字输入
数字输出 | 指标 | 最高采样率 | |
---|---|---|---|
DIN0-15 | 16位并行数字输入DIN0 – DIN15,可接受5V电平输 入,可用于逻辑信号分析仪、虚拟 LED和7段数码管 | 10MSPS(204) | 100MSPS(304) |
三、实验步骤
3.1 硬件电路连接
将DIN0..15连接到DOUT0..15,如图1.
图1 硬件连接 DIN0..15连接到DOUT0..15
下表列出EPI设备连接关系:
EPI对应接口 | EPI接口功能 | EPI对应接口 | EPI接口功能 |
---|---|---|---|
DOUT0 | 数字输出端口0 | DIN0 | 数字输入端口0 |
DOUT1 | 数字输出端口1 | DIN1 | 数字输入端口1 |
DOUT2 | 数字输出端口2 | DIN2 | 数字输入端口2 |
DOUT3 | 数字输出端口3 | DIN3 | 数字输入端口3 |
DOUT4 | 数字输出端口4 | DIN4 | 数字输入端口4 |
DOUT5 | 数字输出端口5 | DIN5 | 数字输入端口5 |
DOUT6 | 数字输出端口6 | DIN6 | 数字输入端口6 |
DOUT7 | 数字输出端口7 | DIN7 | 数字输入端口7 |
DOUT8 | 数字输出端口8 | DIN8 | 数字输入端口8 |
DOUT9 | 数字输出端口9 | DIN9 | 数字输入端口9 |
DOUT10 | 数字输出端口10 | DIN10 | 数字输入端口10 |
DOUT11 | 数字输出端口11 | DIN11 | 数字输入端口11 |
DOUT12 | 数字输出端口12 | DIN12 | 数字输入端口12 |
DOUT13 | 数字输出端口13 | DIN13 | 数字输入端口13 |
DOUT14 | 数字输出端口14 | DIN14 | 数字输入端口14 |
DOUT15 | 数字输出端口15 | DIN15 | 数字输入端口15 |
3.2 前面板界面
前面板显示十六个输入通道数据,数据长度位4000个点。采样率可以动态调整,。
图2 前面板界面
3.3 运行
运行程序后,DOUT0..15输出1khz方波信号,DIN0..15观察波形。
图3 运行状态 DOUT0..15输出,DIN0..15观察波形
四、LabVIEW程序解读
程序使用 EPI 提供的接口函数通过软件编程实现传感器控制/测量。主要使用“初始化.vi”
、“逻辑动态采集配置.vi” 、“逻辑动态输出.vi” 、“逻辑数据采集.vi”等。
程序采用事件结构,事件处理结构:“超时”中进行逻辑数据采集,并将数据显示在波形图。
4.1 整体框图
图4 运行界面
图5 整体程序框图
4.2 程序流程图
程序流程图如图6所示,先进行初始化,然后一直在while循环中采集数据,将采集到的数据计算得到当前重量值,在程序运行中,可以更改斜率k和常量b的值。
图6 实例流程图
4.3初始化设置
程序初始化设置状态,该状态完成E-PI
通信端口设置、逻辑输出采样率配置、初始化代码如图 7 所示:
图7 初始化
初始化.vi:该 VI 会自动查找 EPI 的通信端口,返回一个端口设置结果;
逻辑动态采集配置.vi:该 VI 设置EPI的逻辑采样率,通过前面板控制,无触发控制;
4.4 逻辑输出方波
初始化中还需配置逻辑动态输出1khz的方波,刷新设置为2khz,数据长度设为2,数据为“65536”和“0”.
逻辑16通道动态输出数据表对应码值。
码值 | 16通道对应值 | 说明 |
---|---|---|
65535 | 1111111111111111 | 16通道全为高电平 |
0 | 0000000000000000 | 16通道全为低电平 |
图8 逻辑动态输出1khz方波
4.5 While循环
While循环中放置事件结构,在超时事件结构中,设置“超时”事件为200ms,相当于每隔200ms空闲事件处理一次“超时”结构里面的程序。在该状态下主要进行逻辑输入采集和显示。该状态代码如图9所示:
图9 While循环 – 逻辑输入采集
4.6 输入动态配置
逻辑输入动态采样率配置,采用事件结构,代码如图10:
图 10
用户可以自己修改逻辑输出刷新率和数据数据,观察波形变化。