LabVIEW与Space Wire配合开发

news/2025/3/19 23:47:25/

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.ppmy.cn/news/325423.html

相关文章

EPSON机器人建立TCP/IP通讯的简单demo

以下为我近期研究EPSON机器人通讯的经验总结,主要实现机械手接收相机发送过来的数据,从而达到对应的位置,及其简单demo。 欢迎加入知识星球【3D视觉工坊】,进行交流学习。

路由器漏洞的分类

在过去几年里,针对嵌入式设备的黑客攻击陆续进入人们的视野。2012 年,黑客攻击了巴西的450万台 DSL路由器,植入了恶意软件 DNS Changer 用以进行恶意劫持。2013 年,安全网站也报道了一种针对嵌入式设备的新型蠕虫。此外,针对嵌入式设备攻击的黑客工具也 逐步完善。国家互联…

【ChatGPT】数据科学 ChatGPT Cheat Sheet 书籍分享(阿里云盘下载)

封皮 以下为书中部分内容的机器翻译 我们的重要提示指南 1. 以 AI 角色的描述开始提示。 例如,“你是{x}”或“我希望你扮演{x}”。如果您不确定,请尝试“你是一个有帮助的助手”。 例如,您是 OpenAI 的数据科学家,您正在研究大型…

jenkins通过shell启动jar失败问题

网上提到了很多方法,试了都没有用,可能是jenkins版本问题,具体不清楚。 检查环境变量设置:确保在启动Jenkins时正确设置了BUILD_IDDONTKILLME环境变量。您可以通过在Jenkins启动脚本或命令行中添加-D选项来设置环境变量&#xff0…

STM32CubeMX | 44 - 使用GPIO点亮单总线RGBLED

一、单总线RGBLED 1. 硬件连接 在DragonFly上有四个全彩灯相连: 其中RGB_LED连接到STM32的PB9引脚。 2. 单总线通信协议 单总线通信协议中,表示bit0和bit1的码型如下: 时序值如下: 驱动一个单总线RGBLED只需要传输24bit颜色数据即可(MSB,高位优先),格式如下(注意…

iOS大屏手机 APP显示老年人模式如何适配

最近发现自己的APP在iPhone13ProMax上显示成了老年人模式。发现手机设置使用的是标准模式。然后入坑了,查阅各种分辨率和像素密度的文章,还自己搞了个函数去计算视图尺寸和手机的缩放关系。直到今天,突然灵光一闪,冲浪了一下&…

CSS灯光效果,背景黑金效果

先看效果 再看代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>灯光效果</title><link href"https://fonts.googleapis.com/css2?familyCinzel:wght700&amp;dis…

阿里巴巴中国站获得1688商品详情 API 返回值说明

onebound.1688.item_get 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;注册Key测试&#xff1a; https://o0b.cn/anzexi secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_s…