LabVIEWCompactRIO 开发指南第六章44 同步模块

news2024/11/15 9:40:21

同步模块

某些应用(如振动或声音测量)需要通道之间的高电平(低于100nS)同步。本节讨论基于增量Σ的模块和扫描(SAR)模块的时序和同步。任何未被归类为三角积分的NIC系列I/O模块都被归类为SAR。

同步增量西格玛模块

要同步CompactRIO硬件中的增量西格玛模块,需要物理共享过采样时钟并在所有模块之间启动触发。可以在许多模块的手册规格部分找到通道之间和模块之间的相位匹配规格。基于增量西格玛的模块可以同步,即使它们不是相同的型号。

1.       选择其中一个模块“主”,将时钟导出到背板。其他模块设置为从背板导入此时钟。无论选择哪个模块作为主模块,都会覆盖时基和可用速率。例如,如果系统需要51.2k速率,请选择NI9234或NI9232。如果想要50k速率,请选择NI9237。可以从LabVIEW项目探索器中模块的右键菜单访问的属性窗口修改导入/导出属性。无法以编程方式设置导入/导出设置,因为此信息已编译。

图6.11.从所选主模块导出时钟,然后从所有要同步的后续模块中选择时钟

2.在框图上,为每个I/O模块创建一个属性节点,并使用数据速率枚举指定速率,如图6.12所示。请注意,即使I/O模块共享相同的采样率,也必须为每个属性节点创建一个唯一的数据速率枚举(右键单击每个模块的属性节点并选择“创建常量”)。这可确保枚举整数与特定I/O模块的预期速率正确匹配。

3.为每个I/O模块创建一个启动触发器,并将它们放入同一I/O节点中。这可确保正确路由启动触发器。

4.将所有同步模块的所有通道读数放在同一个I/O节点中,如图6.12所示。使用此过程,可以混合和匹配任何现有的同步增量-Σ模块。

图6.12.Synchronizing NI9233 Modules.lvpj的框图

在LabVIEW FPGA中同步不同Δ-Σ模块的最佳方法是将每个模块的I/O节点放在同一个WhileLoop中。如果将不同模块的I/O节点并行放置While循环,则必须解决其他启动延迟问题。还需要考虑每个模块的群延迟,因为模块在同一循环中同时采集数据。查看知识库4DAEUNNQ:How to Compensate for Different Group Delays With C Series Modules in LabVIEWFPGA,了解有关此主题的提示。

同步按需模块

此过程比增量-Σ模块更容易,因为没有要共享的过采样时钟。这些模块由源自FPGA上编程I/O节点的转换脉冲计时。要同步转换脉冲,请将所有通道读取或更新放在同一个I/O节点调用中。可以在同一I/O节点中混合模拟输入、模拟输出和数字通道,且偏差最小。

同步多路复用模块

共享相同型号的多路复用模块在通道中移动时以“锁定步骤”运行。每个模块上的通道0与通道1到n同步。这比教学更具信息性,因为多路复用应用程序很少受到通道间延迟的影响。

同步三角积分和扫描(SAR)模块

将增量西格玛模块与SAR(非增量西格玛)模块同步稍微复杂一些。这是因为Δ-Σ模块有自己的时基,而SAR模块是FPGA时钟的从属模块。从编程角度来看,三角积分模块的环路时序由数据速率节点决定;而SAR模块的环路时序是使用FPGA环路定时器确定的。将增量-Σ与SAR模块同步的最佳方法是针对增量-Σ计时设计应用程序(类似于图6.13),然后将SAR模块的I/O块添加为单独的I/O节点,如图6.13所示。这需要将SAR模块同步到增量Σ模块时钟。

注意:基于Δ-Σ的模块和SAR模块不应共享相同的FPGAI/O节点,因为它们串联执行并限制系统的最大数据速率。

图6.13.用于混合应用的FPGAI/O节点(三角积分和SAR模块)

当应用需要三角积分和SAR模块之间的多速率同步时,应用变得更加复杂。由于这些模块具有不同的时基,因此当它们分成两个或多个以多个速率执行的循环时,它们无法共享时钟。最好的选择是将它们分成多个环路,然后预计时基之间会随着时间的推移而发生一些漂移,此外还有由不同的启动时间引起的相位偏移

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/594378.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ThreadLocal源码

介绍 ThreadLocal是一个线程的本地变量,也就意味着这个变量是线程独有的,是不能与其他线程共享的。这样就可以避免资源竞争带来的多线程的问题。 但是,这种解决多线程安全问题的方式和加锁方式(synchronized、Lock) 是有本质的区…

过来人建议:强烈安利本科生都去学Java编程!现在转行还不晚!

为什么标题这么说呢,因为Java的工资香啊,刚入门的小白就有 1w,转正后更多,而且越老越吃香! 我们学一门技术在身,走到哪里都不怕,java是技术岗,不带销售性质,加班要分公司…

unity与oculus quest开发设置流程

目录 预准备quest项目的构建PC运行参考文章 版本: unity:2021 adb(保证用USB连接PC和头显的时候能允许调试和数据访问) macOS 当USB连接之后,需要带上头显将是否允许数据调试和访问的对话框选择允许。 文件中assets放…

2.6 Hello World 及简单语法规则

2.6 Hello World 及简单语法规则 新建文件夹,用于存放代码 新建一个Java文件 早期我们只是会建立txt文本文件,或者word,Java文件的后缀名是.java 新建Hello.java文件 // 输入Java代码public class Hello{public static void main(String[…

Vue3 小兔鲜:Pinia入门

Vue3 小兔鲜:Pinia入门 Date: May 11, 2023 Sum: Pinia概念、实现counter、getters、异步action、storeToRefs保持响应式解构 什么是Pinia Pinia 是 Vue 的专属状态管理库,可以实现跨组件或页面共享状态,是 vuex 状态管理工具的替代品&…

PHP7 连接数据库 MySQL8.0 报错 Call to undefined function mysqli_connect() 的解决方法

前提 如题所示使用的是PHP7的版本,连接MYSQL8.0数据库遇到的问题,提供我个人的解决办法。 我的报错是:Call to undefined function mysqli_connect() 首先明确 保证PHP与MySQL可以正常使用 访问localhost:80【或者你设置的端口号】是有页面…

shell编程之SNAT与DNAT的应用

SNAT与DNAT的应用 一、SNAT的介绍1.SNAT概述2.SNAT源地址转换过程二、SNAT转换 三、DNAT的介绍1.DNAT概述2.DNAT转换前提条件 四、DNAT的转换五、防火墙规则的备份和还原六、tcpdump抓包工具的运用 一、SNAT的介绍 SNAT(SNAT)一般指源地址转换 1.SNAT概…

VMware安装Centos7图形化GUI系统全过程

1、打开vmware,点击文件然后新建虚拟机 2、然后自定义直接下一步 3、下一步 4、这里我们稍后安装操作系统,继续下一步 5、随后选择Centos7 64位,继续下一步 6、选择你所需要安装的虚拟机存放的位置,虚拟机名字看自己来设置&#x…

docker-安装minio集群

目录 1.服务器列表 2.NTP时间同步 1.服务端 minio_01配置 2.客户端配置-minio_02、minio_03、minio_04配置 3.Minio集群 1.在对应的主机执行对应的语句 2.创建文件夹 3.创建容器 4.访问 5.查看集群 4.nginx代理集群192.168.1.3 1.nginx安装 2.访问代理 1.服务器列…

[web]关于过滤器Filter

前言 为了避免在没有登录的情况下也可以通过路径访问到所有页面, 如果在每一个需要请求的资源里面都通过Session去判断有没有登录的用户对象就需要书写大量的判断代码,此时就可以用到Filter过滤器 作用 让请求的某些资源在之前或之后经过过滤器&#xff…

uni-app路由配置使用和页面跳转传参

uni-app路由配置使用和页面跳转传参 uni-app路由配置使用和页面跳转传参 文章目录 uni-app路由配置使用和页面跳转传参前言一、组件式路由跳转传参二、函数式路由跳转传参总结 前言 UNI-APP学习系列之路由配置使用和页面跳转传参 一、组件式路由跳转传参 组件式路由跳转 示例…

Java设计模式(一)

系列文章目录 单一职责原则 接口隔离原则 依赖倒转原则 文章目录 系列文章目录前言一、单一职责原则1.单一职责原则注意事项和细节 二、接口隔离原则1.接口隔离原则基本介绍(Interface Segregation Principle)2.应传统方法的问题和使用接口隔离原则改进 三、依赖倒转原则1.依赖…

【Linux】——调试器-gdb的使用

序言: 本期,我将带领大家学习的关于linux下的调试器gdb的使用,废话不多说跟着我一起去看看吧!! 目录 前言 (一)背景介绍 1、debug模式和release模式 2、为什么Release不能调试但DeBug可以调…

nDreams CEO:是时候打破市场对VR游戏的错误认知了

自Quest系列头显问世以来,VR游戏市场仿佛被注入了一剂强心针,发展速度远超Rift时代。从Quest 1到现在,已经过去4年左右,现在VR游戏市场又走到了哪呢?在GDC 2023上,资深VR游戏工作室和发行商nDreams公布了一…

django-vue-admin-pro 使用

地址: GitHub - dvadmin-pro/django-vue-admin-pro 一、准备工作 Python > 3.8.0 (推荐3.9版本) nodejs > 14.0 (推荐最新) Mysql > 5.7.0 (可选,默认数据库sqlite3,推荐8.0版本) Redis(可选,最新版)项目运行及部署 |…

Android crash 流程详解(一):JE

源码基于:Android R 0. 前言 App crash(全称为 Application crash),又分 java crash 和 native crash,又称 java layer exception(JE) 和 native layer exception(NE)。对于 crash 在开发过程中或多或少都会遇到,本文将整理总结 …

Shell脚本攻略:shell函数应用

目录 一、理论 1.shell函数 2.函数传参 3.函数变量的作用范围 4.递归 5.函数位置变量与脚本位置变量区别 6.创建库 二、实验 1.实验一 一、理论 1.shell函数 (1)概念 将命令序列按格式写在一起,可方便重复使用命令序列。 ① 避免…

JetBrains的Java集成开发环境IntelliJ 2023版本在Win10系统的下载与安装配置教程

目录 前言一、IntelliJ 安装二、使用配置总结 前言 IntelliJ IDEA Ultimate是一款功能强大的Java集成开发环境(IDE)。它提供了丰富的功能和工具,可以帮助开发人员更高效地编写、调试和部署Java应用程序。 IntelliJ IDEA Ultimate的主要特点…

Benewake(北醒) 快速实现TFmini-Plus-IIC与电脑通信的操作说明

目录 1. 概述2. 测试准备2.1 工具准备2.2通讯协议转换 3. IIC通讯测试3.1 引脚说明3.2 测试步骤3.2.1 TFmini-Plus-IIC 与 PC 建立连接3.2.2 获取测距值3.2.3 更改 slave 地址 1. 概述 通过本文档的概述,能够让初次使用测试者快速了解测试 IIC 通信协议需要的工具以…

48. 旋转图像

48. 旋转图像 C代码&#xff1a; void rotate(int** matrix, int matrixSize, int* matrixColSize){int m matrixSize;int n matrixColSize[0];int arr[m*n];int arrTop 0;memset(arr, 0, sizeof(int) * m * n);for (int i 0; i < m; i) {for (int j 0; j < n; j) …