LabVIEW与Space Wire配合开发

news2024/10/5 18:34:38

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的一个简单应用,更多的开发案例,欢迎登录北京瀚文网星官,,了解更多信息。

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

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

相关文章

10 - 守护进程深度分析

---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接:(更新中)Linux系统编程训练营 - 目录 文章目录 1. 会话与终端的关联1.1 思考1.2 新会话关联控制终端的方法1.3 一些相关推论1.4 一些想法1.5 编程实验:会话与终端 2. 守护进程…

RK android13编译环境搭建与常用编译命令

RK android13编译环境搭建与常用编译命令 1 使用清华的源1.1 备份sources.list1.2 用下面的内容替换/etc/apt/sources.list里面的内容1.3 更新源 2 安装编译环境3 常用编译命令3.1 设置项目的编译命令,环境变量3.1 编译所有模块3.2 编译android3.2 编译kernel3.3 编…

linux驱动学习2-pinctrl子系统和gpio子系统

pinctrl子系统 pinctrl 子系统主要用于管理芯片的引脚。 iomuxc节点介绍 首先我们在/ebf-buster-linux/arch/arm/boot/dts/imx6ull.dtsi 文件中查找 iomuxc 节点&#xff0c;可以看到如下定义 iomuxc: iomuxc20e0000 {compatible "fsl,imx6ul-iomuxc";reg <…

【软件环境安装部署】Linux服务器下 Docker 安装 MongoDB 以及 SpringBoot 整合 MongoDB 开发使用

文章目录 安装测试 MongoDB拉取镜像创建和启动容器登录mongo容器&#xff0c;并进入到【admin】数据库创建一个用户&#xff0c;mongo 默认没有用户连接mongo数据库测试数据库&#xff0c;插入一条语句测试数据库&#xff0c;查询刚才插入的语句查看所有数据库开放指定端口navi…

【状态估计】基于线性卡尔曼滤波器和粒子滤波器无人机估计地形高度(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

python基础----11-----闭包、装饰器、单例、工厂、多线程、socket、正则表达式、递归

一 闭包 闭包&#xff1a;通过封装一个函数&#xff0c; 该函数内部又封装一个函数用于返回&#xff0c;使得得到一个无法直接修改值的临时变量&#xff0c;只能通过函数调用修改。闭包的作用&#xff1a;代替全局变量&#xff0c;避免全局变量的滥用。闭包的优缺点&#xff1…

华为荣耀系列uniapp无法USB连接手机调试问题解决方案汇总

华为荣耀系列是一个异常奇葩的手机&#xff0c;经常出现无法调试的问题。 目前我整理出一套完整的切实多次测试可行的解决方案。 一、打开手机的关于手机 设置里面-一直快速点击版本号&#xff0c;连续点10几下。 此时处于开发者模式。 二、打开开发者选项 1、打开开发者…

搭建一个定制版New Bing吧

项目介绍 项目地址&#xff1a;https://github.com/adams549659584/go-proxy-bingai 引用项目简介&#xff1a;用 Vue3 和 Go 搭建的微软 New Bing 演示站点&#xff0c;拥有一致的 UI 体验&#xff0c;支持 ChatGPT 提示词&#xff0c;国内可用&#xff0c;国内可用&#xff…

功能安全开发学习实践心得-概念篇

【写在前面】 记录功能安全开发学习&实践过程中遇到的坎&#xff0c;此篇为概念&#xff08;即行业/标准术语&#xff09;的梳理。实践过程中发现不清楚概念&#xff0c;交流即没法进行&#xff0c;反之&#xff0c;理清概念的过程&#xff0c;即是把整个开发过程串联的过…

50、基于51单片机NRF24l01无线寻物跟踪儿童防丢器系统(程序+原理图+PCB图+设计资料+参考论文+开题报告+元器件清单等)

摘 要 正现代城市生活节奏越来越快,在城市中生活的人们,由于工作、家庭、个人发展、孩子教育、职场竞争等诸多原因,大脑时刻处于紧张状态,容易产生紧张和焦虑情绪,生活压力也越来越大。长期处于这样的状态中,会导致记忆力下降、注意力不集中、容易丢三落四,比如人们常常会记不…

『DevOpse最佳实践』使用Jenkins和Harbor进行持续集成和交付的解决方案

&#x1f4e3;读完这篇文章里你能收获到 全文采用图文形式讲解学会使用Harbor配置项目学会在Jenkins中配置Harbor推送权限使用Jenkins和Harbor进行持续集成的实践感谢点赞收藏&#xff0c;避免下次找不到~ 文章目录 一、准备工作1. 环境准备2. 修改Docker配置文件3. Docker登陆…

Netty实战(十一)

预置的ChannelHandler和编解码器&#xff08;一&#xff09;HTTP和SSL/TLS的添加和使用 一、SSL和TLS添加二、基于Netty的HTTP程序2.1 HTTP解码器、编码器和编解码器2.2 聚合HTTP消息2.3 HTTP压缩 一、SSL和TLS添加 作为一个通讯框架&#xff0c;通讯数据的安全性也是不可或缺的…

LVS+KeepAlived集群

LVSKeepAlived集群 一.KeepAlived的原理 1.1基于什么协议 KeepAlived基于VRRP热备份协议# VRRP协议号112# VRRP组播地址224.0.0.18# VRRP通告报文的TTL值必须是2551.2如何选举Master 1&#xff09;初始化时根据state判断master和backup。 2&#xff09;最终根据优先级决定m…

【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

文章目录 1、简介2、安装3、创建测试工程4、项目文件结构5、编译为本地文件6、编译为http服务7、更改样式主题8、支持markdown9、修改文档显示结构10、项目托管到github11、部署到ReadtheDocs结语 1、简介 Sphinx 是一个 文档生成器 &#xff0c;您也可以把它看成一种工具&…

Win10开启混合现实模拟器

最近要做一个类似工业元宇宙的项目&#xff0c;准备先在Win10上先进行模拟&#xff0c;而Win10已经提供了混合现实模拟器&#xff0c;可以在没有头显的情况下进行模拟。本文讲解如何开启这个模拟器。 微软官方给了一个链接讲述如何开启混合现实模拟器&#xff0c;可以点击这里…

嘀嗒陪诊小程序v1.0.8+小程序前端

嘀嗒陪诊小程序功能相对简单&#xff0c;后台也简捷&#xff0c;如果只是做个陪诊服务的小程序也基本能满足了&#xff0c;整体测试了下海参崴发现BUG&#xff0c;小程序端也能正常为使用&#xff0c;唯一用户授权接口是老的。 应用背景&#xff1a;人口老龄化少子化&#xff…

【数据结构】--单链表力扣面试题⑦环形链表

注&#xff1a;本篇文章不含环形链表的数学推理证明&#xff0c;只提供图解等思路 环形链表是一个非常经典的问题 题述&#xff1a;给定一个链表&#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续追踪 next 指针再次到达&#xff0c;则链表中…

代码随想录算法训练营第五十三天|1143.最长公共子序列|1035.不相交的线|53. 最大子序和

LeetCode1143.最长公共子序列 动态规划五部曲&#xff1a; 1&#xff0c;确定dp数组&#xff08;dp table&#xff09;以及下标的含义&#xff1a;dp[i][j]&#xff1a;长度为[0, i - 1]的字符串text1与长度为[0, j - 1]的字符串text2的最长公共子序列为dp[i][j]。为什么要定…

【无功优化】“碳中和”目标下电气互联系统有功-无功协同优化模型(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

从零玩转系列之微信支付实战基础框架搭建

一、前言 halo各位大佬很久没更新了最近在搞微信支付,因商户号审核了我半个月和小程序认证也找了资料并且将商户号和小程序进行关联,至此微信支付Native支付完成.此篇文章过长我将分几个阶段的文章发布(项目源码都有,小程序和PC端) 在此之前已经更新了微信支付开篇、微信支付安…