当前位置: 首页 > news >正文

LabVIEW与Space Wire配合开发

LabVIEW与Space Wire配合开发

Space Wire是欧洲航天局开发的一种高速、点对点、全双工的串行总线网络,以IEEE1355-1995和LVDS 两个商业标准为基础,汲取了1394技术、ATM技术、以太网技术的优点,同时考虑了空间应用的特点,在故障检测与时间确定性方面做了加强。Space Wire最高速度可以达到400Mbps,是目前在航天领域应用较广泛的高速数据总线,已成功应用于火星探测器“Mars Express”项目、彗星探测器“Rosetta Spacecraft”项目和地球环境遥感卫星“Cryosat”项目等。

Space Wire采用点到点连接的结构,在同一网络中可以同时使用多条总线,其网络拓扑具有很高的自由度。Space Wire得到较广泛的应用不仅是由于它是一种简单、可靠、低功耗数据传输技术,另外他也采用了符合当前数据传输发展方向的包交换技术。相比与CSMA/CD以太网、IEEE1394等总线型数据传输技术中数据速率不可能超过连接性能的情况,其优点是网络中节点的增加不会导致节点可用带宽的降低,为系统的扩展提供了充分的余地。

Space Wire网络是一种正在不断发展、完善中的高速数据传输技术,新的补充协议加入到协议簇中,新的应用产品也不断出现。这种采用交换机制的高速串行全双工技术为载荷数据处理系统向低功耗、可靠、可重用新结构的发展提供了有效的手段。

为了支持使用LabVIEW软件开发环境的客户,开发了LabVIEW库和驱动程序,允许将STAR-Dundee Space Wire接口设备快速集成到EGSE或测试和验证应用程序中。熟悉STAR-Dundee的STAR-SystemAPI套件的客户可以使用包装库来控制和配置Windows任何受支持的Space Wire接口设备。使用NI-VISA驱动程序,用户可以连接LabVIEW支持的任何平台上的STAR-Dundee Space Wire PCI和cPCI板。

Space Wire电子结账和地面支持设备的设计既昂贵又耗时。为了帮助缓解这个问题,提供了许多测试和开发设备,可用于传输和接收Space Wire流量,并在网络上配置和监控设备。用户可以使用提供的强大API编写自己的自定义应用程序。

软件将STAR-Dundee设备与LabVIEW相结合,可提供一种快速开发Space Wire测试应用程序的方法。

作为LabVIEW允许快速开发方式的一个例子,比较选择所需Space Wire设备所需的C代码量,并将其链接速度配置为使用STAR-DundeeVISA驱动程序执行相同操作所需的代码:

提供了两个独立的LabVIEW解决方案:一个LabVIEW封装围绕现有的STAR-系统库,另一个基于本地LabVIEWNI-VISA驱动程序,可用于LabVIEW支持的所有目标。

STAR-System是所有新的和未来的STAR-Dundee接口和路由器设备提供的驱动程序和API系统。STAR-System提供高带宽和低延迟的数据包传输和接收,以及适用于多种设备类型的一致API接口。支持的设备包括Space Wire USB Brick Mk2和Router Mk2s,以及PCI Mk2和PCIe板。

STAR-System LabVIEW封装提供了对STAR-System CAPI导出的每个函数的访问,并包含了许多示例VI,这些VI可实现常见的SpaceWire任务,例如设置路由表、发送和接收时间码以及配置链路速度和状态。还提供了RMAP数据包库以及RMAP目标和发起方的示例实现(如图2所示)。

使用STAR-System封装器,LabVIEW应用程序可以与主机上运行的其他STAR-系统进程共享数据。例如,使用STAR系统设备配置GUI设置的设备名称,可以通过在所有正在运行的进程中进行查看或修改。这可以帮助用户快速识别和选择要使用的所需设备,而无需查找序列号。

CAPI的复杂性已尽可能抽象化。无需手动分配内存即可发送和接收数据包;这由包装器处理,其中的分组数据缓冲器以LabVIEW字节数组形式提供。LabVIEW事件用于实现设备侦器和传输完成事件。

LabVIEW封装器的性能与未包装的STAR-系统性能相比具有优势,在发送和接收长度大于60字节的包时性能数据大致相同。这些数字是针对200Mbit/s的链路速度,表明性能接近最大理论数据速率(160Mbits/s)。

NI VISA在硬件和LabVIEW等开发环境之间提供了标准的编程接口。STAR-Dundee Space Wire NI-VISA驱动程序已作为本地LabVIEW驱动程序实现,为STAR-Dundee PCI系列设备提供支持。为控制这些设备而编写的软件可以部署在任何支持cPCI/PCI和NI-VISA的硬件平台上,包括基于Windows的主机和LabVIEW实时目标,而不需要修改源代码。该软件作为LabVIEW源提供,带有密码保护框图,可让用户针对任何目标进行编译。

该驱动程序允许使用NI MAX工具检测和控制STAR-Dundee Space Wire PCI卡。

该驱动程序设计为直观的LabVIEW用户。例如,设备访问遵循熟悉的“打开,执行操作,关闭”,LabVIEW阵列用于传递SpaceWire数据以发送和接收函数。示例实现软件环回设备:数据包在设备的一个端口上接收,然后从另一个端口环回。通过检查接收到的流量并以某种方式对其进行排列,可以轻松地将此示例扩展为有用的工具,例如在重新传输出另一个端口之前插入或删除时间码或注入错误。

LabVIEW的STAR-System封装器支持当前STAR-System库提供的所有功能。此包装器将不断升级以支持任何新功能,并与新的STAR系统版本同时发布。

NI-VISA驱动程序目前能够发送和接收Space Wire数据包,并配置Space Wire链路。RMAP数据包库 将移植到本地LabVIEW代码,从而可以与LabVIEW RT目标上的NI-VISA驱动程序一起使用。还将添加错误注入支持,允许用户在数据流中的给定字节上注入奇偶校验错误,以及STAR-SystemAPI提供的所有设备配置操作。目前,此驱动程序仅支持cPCI/PCIMk2卡,但可以通过重用现有的顶级API快速开发USB驱动程序。

LabVIEW是一个软件开发平台,可快速开发测试和测量应用程序。STAR-DundeeSpaceWire设备的用户可以使用现构建的Space Wire封装库和驱动程序,从而利用LabVIEW的功能,从而减少开发测试和验证工具的时间和成本。

这是LabVIEW的一个简单应用,更多的开发案例,欢迎登录北京瀚文网星官,,了解更多信息。

相关文章:

LabVIEW与Space Wire配合开发

LabVIEW与Space Wire配合开发 Space Wire是欧洲航天局开发的一种高速、点对点、全双工的串行总线网络,以IEEE1355-1995和LVDS 两个商业标准为基础,汲取了1394技术、ATM技术、以太网技术的优点,同时考虑了空间应用的特点,在故障检…...

开始使用chat-gpt4

目录 一、说明 二、安装步骤 三、测试效果咋样 (1)写代码能力 (2)回答问题能力 (3)写作能力 一、说明 参考(非常感谢这位博主的分享):http://t.csdn.cn/qypw9 注意&…...

算法之贪心算法

定义 总是做出当前最好的选择,期望通过局部最优选择得到全局最优的解决方案。 适用标准 贪心选择性质。 原问题的整体最优解可以通过一系列局部最优的选择得到。这种选择依赖于已做出的选择,不依赖于未做出的选择。贪心算法解决的问题,在程…...

Maven 基础

博文目录 文章目录 Maven基础概念生命周期 - Build Lifecycle阶段 - Build Phase目标 - Plugin goals默认目标绑定Clean 生命周期Default 生命周期Site 生命周期 插件 - Plugin POM(Project Object Model)Super POM项目继承 - Project Inheritance项目聚…...

算法刷题-哈希表-两数之和

两数之和 1. 两数之和思路总结其他语言版本 1. 两数之和 力扣题目链接 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中…...

kotlin学习(一)基本概念、数据对象类型、控制流程、空值检验、类与接口

文章目录 认识Kotlin跨平台特性语言类型java的语言类型kotlin的运行原理 hello world 基本概念程序入口数据与对象类型 和 显式数字转换浮点类型位运算AnyUnitNothing 声明变量只读变量 val与可变变量var查看Kotlin字节码 fun(方法 / 函数)函数参数默认值…...

【Linux】Docker部署镜像环境 (持续更新ing)

防火墙 1、查看防火墙状态 sudo systemctl status ufw 2、开启防火墙 sudo systemctl start ufw 3、关闭防火墙 sudo systemctl stop ufw 4、开机禁止开启防火墙 sudo systemctl disabled ufw 5、开启自启防火墙 sudo systemctl enabled ufw Elasticsearch 1、安装指定版本 比…...

Jtti:如何打开云服务器的8082端口

如何打开云服务器的8082端口? 第一步:登录云服务器 首先,我们需要登录到我们的云服务器。可以使用SSH、控制台等方式进行登录。登录成功后,我们可以在终端上看到服务器的控制台。 第二步:编辑防火墙规则 打开终端后,我…...

有关 string 类的练习(下)

目录 一、反转字符串 II 二、反转字符串中的单词 III 三、找出字符串中第一个只出现一次的字符 四、字符串相乘 五、把字符串转换成整数 一、反转字符串 II 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转…...

XuperChain搭建+报错+注意事项

安装依赖 golang 这里安装的是15-17版本 wget -c https://dl.google.com/go/go1.15.2.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local 添加环境变量 这个可以通过添加下面的行到/etc/profile文件(系统范围内安装)或者$HOME/.profile文件(当前用户安装 vim /etc…...

【伏羲八卦图】(PythonMatlab实现)

目录 1 与达尔文对话 2 与老子对话 2.1 Python实现 2.2 Matlab实现 1 与达尔文对话 140年前,1858年7月1日,达尔文在英伦岛发表了自己有关自然选择的杰出论文。他提出,生物的发展规律是物竞天择。经过物竞,自然界选择并存留最具…...

ruoyi数据权限学习

思路 用户关联了角色(用户可以关联多个角色),给角色设置数据权限分类,数据权限分类有如下5种: 全部数据权限 - DATA_SCOPE_ALL自定数据权限 - DATA_SCOPE_CUSTOM部门数据权限 - DATA_SCOPE_DEPT部门及以下数据权限 -…...

WPF中实现动态导航

主页面 <mah:MetroWindowx:Class"Kx.View.MyMainView"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/bl…...

day16 | 104.二叉树的最大深度、111.二叉树的最小深度、 222.完全二叉树的节点个数

目录&#xff1a; 链接 题目链接&#xff1a; https://leetcode.cn/problems/maximum-depth-of-binary-tree/ https://leetcode.cn/problems/maximum-depth-of-n-ary-tree/ https://leetcode.cn/problems/minimum-depth-of-binary-tree/description/ 解题及思路学习 104…...

Spring Boot + Vue3前后端分离实战wiki知识库系统<八>--分类管理功能开发二

接着上一次Spring Boot Vue3 前后端分离 实战 wiki 知识库系统&#xff1c;七&#xff1e;--分类管理功能开发的分类功能继续完善。 分类编辑功能优化&#xff1a; 概述&#xff1a; 现在分类编辑时的界面长这样&#xff1a; 很明显目前的父分类的展现形式不太人性&#xf…...

Python入门(十八)类(一)

类&#xff08;一&#xff09; 1.面向对象概述2.创建和使用类2.1 创建dog类2.2 根据类创建实例2.3 创建多个实例 1.面向对象概述 面向对象编程是最有效的软件编写方法之一。在面向对象编程中&#xff0c;你编写表示现实世界中的事物和情景的类&#xff0c;并基于这些类来创建对…...

c# 从零到精通-定义一个结构

c# 从零到精通-定义一个结构 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test01 { class Program { public struct Rect//定义一个矩形结构 { public double width;//矩形的宽 public double height;//矩形的高 /// …...

检信ALLEMOTION非接触式心理情绪测评系统

1 名称&#xff1a;检信ALLEMOTION多维度心理情绪测评系统 2 用途&#xff1a;用于群体性人群心理情绪早期筛查&#xff0c;以及个人心理障碍辅助诊断,同时传统心理量表诞生已经100多年历史&#xff0c;在人工智能及大数据推动下&#xff0c;必然推动心理健康行业的产业变革与…...

20道嵌入式经典面试题(附答案)

1.嵌入式系统中经常要用到无限循环&#xff0c;如何用C编写死循环 答&#xff1a;while(1){} 或者 for(;;) 2.程序的局部变量存在于哪里&#xff0c;全局变量存在于哪里&#xff0c;动态申请数据存在于哪里。 答&#xff1a;程序的局部变量存在于栈区&#xff1b;全局变量存在…...

python学习-代码调试器

目录 为什么学习调试器Pycharm Debugger示例所用代码布局调试工具栏 Debug Bar程序控制工具栏 pdb查看源代码 l list查看当前函数源代码 ll longlist打印变量 p查看调用栈w where向上移动当前帧 u up向上移动当前帧 d down运行当前行代码,在第一个可以停止的位置停下 s step继续…...

LiuJuan Z-Image Generator参数详解:CFG Scale=2.0与12步生成高质量人像

LiuJuan Z-Image Generator参数详解&#xff1a;CFG Scale2.0与12步生成高质量人像 想用AI生成一张惊艳的人像照片&#xff0c;却发现要么细节模糊&#xff0c;要么风格怪异&#xff0c;怎么调参数都达不到理想效果&#xff1f;如果你也遇到过类似问题&#xff0c;那今天这篇文…...

如何快速为Obsidian插件添加状态栏功能:完整指南与实用示例

如何快速为Obsidian插件添加状态栏功能&#xff1a;完整指南与实用示例 【免费下载链接】obsidian-sample-plugin 项目地址: https://gitcode.com/GitHub_Trending/ob/obsidian-sample-plugin Obsidian Sample Plugin是一个官方提供的插件开发示例&#xff0c;展示了如…...

避坑指南:HuggingFace本地数据集加载常见的5个报错及解决方法

HuggingFace本地数据集加载实战&#xff1a;5类典型报错深度解析与解决方案 当你第一次尝试将本地数据集加载到HuggingFace生态系统中时&#xff0c;可能会遇到各种令人困惑的错误信息。这些报错往往隐藏着数据格式、特征定义或路径处理等关键问题。本文将剖析开发者最常遇到的…...

Maccy剪贴板管理器:彻底改变你的macOS复制粘贴体验

Maccy剪贴板管理器&#xff1a;彻底改变你的macOS复制粘贴体验 【免费下载链接】Maccy Lightweight clipboard manager for macOS 项目地址: https://gitcode.com/gh_mirrors/ma/Maccy Maccy是一款专为macOS设计的轻量级剪贴板管理器&#xff0c;它彻底改变了你的复制粘…...

Android NDK开发从入门到实战:解锁应用性能的终极武器

引言 在Android应用开发领域&#xff0c;Java和Kotlin凭借其简洁的语法和强大的框架支持&#xff0c;成为了绝大多数开发者的首选。然而&#xff0c;当面对高性能计算、游戏引擎集成、硬件加速访问或核心算法保护等场景时&#xff0c;纯Java层的实现往往显得力不从心。这时&…...

进阶篇第5节:共享内存(三)——实战:优化矩阵乘法(Tiling技术)

第二篇进阶篇第5节:共享内存(三)——实战:优化矩阵乘法(Tiling技术) 从朴素到分块,从分块到极致——矩阵乘法的优化之路,就是CUDA性能优化的缩影 写在前面 矩阵乘法是CUDA优化中最经典的案例,没有之一。在筑基篇,我们实现了朴素版本和基础分块版本,性能从 252 GFLO…...

Python AI 工具不是越多越好!——3个被低估但日均调用量破50万的轻量级用例工具(附内部灰度测试报告)

第一章&#xff1a;Python AI 工具不是越多越好&#xff01;——轻量级用例工具的价值重估在AI工程实践中&#xff0c;开发者常陷入“工具堆砌陷阱”&#xff1a;为一个文本清洗任务引入 Transformers&#xff0c;为简单分类部署完整 FastAPI ONNX Runtime Redis 缓存栈。这种…...

OpenCore Configurator:革新性黑苹果配置工具,让复杂引导设置化繁为简

OpenCore Configurator&#xff1a;革新性黑苹果配置工具&#xff0c;让复杂引导设置化繁为简 【免费下载链接】OpenCore-Configurator A configurator for the OpenCore Bootloader 项目地址: https://gitcode.com/gh_mirrors/op/OpenCore-Configurator 价值定位&#…...

I2CLCD驱动库:HD44780字符屏的I²C轻量级嵌入式适配方案

1. I2CLCD库概述&#xff1a;面向嵌入式系统的字符型LCD IC适配驱动I2CLCD是一个轻量级、可移植的C语言驱动库&#xff0c;专为将标准HD44780兼容的字符型LCD&#xff08;如1602、2004&#xff09;通过IC总线接入MCU而设计。其核心价值在于消除并行接口对GPIO资源的高占用&…...

深度剖析:synchronized 底层实现原理(JVM 视角)

一、Java对象内存布局的深度拆解原文提到了对象头&#xff0c;这里补充64位JVM的完整对象布局和对齐填充的底层原因。1.1 64位JVM的完整对象结构text┌─────────────────────────────────────────────┐ │ 对象头…...