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.完全二叉树的节点个数
目录: 链接 题目链接: 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 知识库系统<七>--分类管理功能开发的分类功能继续完善。 分类编辑功能优化: 概述: 现在分类编辑时的界面长这样: 很明显目前的父分类的展现形式不太人性…...
Python入门(十八)类(一)
类(一) 1.面向对象概述2.创建和使用类2.1 创建dog类2.2 根据类创建实例2.3 创建多个实例 1.面向对象概述 面向对象编程是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对…...
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 名称:检信ALLEMOTION多维度心理情绪测评系统 2 用途:用于群体性人群心理情绪早期筛查,以及个人心理障碍辅助诊断,同时传统心理量表诞生已经100多年历史,在人工智能及大数据推动下,必然推动心理健康行业的产业变革与…...

20道嵌入式经典面试题(附答案)
1.嵌入式系统中经常要用到无限循环,如何用C编写死循环 答:while(1){} 或者 for(;;) 2.程序的局部变量存在于哪里,全局变量存在于哪里,动态申请数据存在于哪里。 答:程序的局部变量存在于栈区;全局变量存在…...

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

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...

QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...

基于stm32F10x 系列微控制器的智能电子琴(附完整项目源码、详细接线及讲解视频)
注:文章末尾网盘链接中自取成品使用演示视频、项目源码、项目文档 所用硬件:STM32F103C8T6、无源蜂鸣器、44矩阵键盘、flash存储模块、OLED显示屏、RGB三色灯、面包板、杜邦线、usb转ttl串口 stm32f103c8t6 面包板 …...
基于 HTTP 的单向流式通信协议SSE详解
SSE(Server-Sent Events)详解 🧠 什么是 SSE? SSE(Server-Sent Events) 是 HTML5 标准中定义的一种通信机制,它允许服务器主动将事件推送给客户端(浏览器)。与传统的 H…...

今日行情明日机会——20250609
上证指数放量上涨,接近3400点,个股涨多跌少。 深证放量上涨,但有个小上影线,相对上证走势更弱。 2025年6月9日涨停股主要行业方向分析(基于最新图片数据) 1. 医药(11家涨停) 代表标…...

设备健康管理的范式革命:中讯烛龙全链路智能守护系统
当工业设备的“亚健康”状态导致隐性产能损失高达23%时,中讯烛龙推出 “感知-诊断-决策-闭环”四位一体解决方案,让设备全生命周期健康管理成为企业增长的隐形引擎。 一、行业痛点:传统运维的三大断层 1. 健康感知盲区 某风电场因无法捕…...