LXI总线学习

LXI

LAN extensions for Instrumentation

LXI 为所有连接到LAN网络的仪器建立一个统一的行为标准

LAN——Local Area Networks (LANs)

LXI Device Specification 2016 Revision 1.5.01 14 March 2017
https://lxistandard.org/

规范

背景

官方网站

In 2005, Keysight Technologies (formerly Agilent Technologies) and VXI Technology, Inc. (Now VTI) introduced LXI;

LXI Device Specification 2016 Version 1.5

LXI设备规范2016版 V1.5种,LXI设备被定义为一组核心特性和可选扩展功能,取代了之前版本中的类模型(Class A,Class B,Class C)

LXI设备规范=核心特性+扩展功能
在这里插入图片描述
在这里插入图片描述

用户需求
  • 缩短测试系统的建立时间
  • 重复使用现有仪器和软件
  • 提高系统的速度和产能
  • 减小系统尺寸
  • 满足未来需求的通用系统

具体的:

  • 远程接入:远程编程、控制、测试测量、故障诊断、获取数据等
  • 去除昂贵的其实起始费用:机箱、0槽控制器、GPIB/MXI卡
  • 利用标准和简单的方式将系统链接到PC
  • 更小的接口:但要保证速度、分辨率、精度、带宽
  • 相应的软件、驱动,简单化系统的建立和应用
  • 简化测试系统的研发与生产,并保证测试完整性和连贯性
  • 解决背板和接口技术寿命周期的问题,保证长期的延续性
总线对比
GPIB
  • 成本太高,需要昂贵的IO卡和线缆
  • 速度太慢
  • 最多链接14台仪器
VXI
  • 结构太贵
  • 非标准IO(MXI)
  • 模块数量收到限制
  • 射频和微波应用受到限制
  • 插卡的应用必须受限于机箱
PXI
  • 昂贵的起步成本
  • 非标准IO(MXI)
  • 尺寸/功率/EMI限制了仪器的性能和指标
  • 射频和微波应用受到限制
  • 插卡的应用必须受限于机箱
LXI
  • 基于以太网
  • 利用IVI驱动
  • 提供网络界面
  • 可选触发(LAN,IEEE1588,Trigger Bus)
对比汇总
GPIBVXIPXIPXIExpressLXI
成本中上中下中下较低
速度(bps)8M160M264M6G10G
应用受限受限受限受限广
负载能力15256256256不限
通信方式主从主从主从主从多主
传输方式并行并行并行并行并行
同步技术异步异步同步同步同步
连接方式电缆背板背板背板背板或电缆
触发同步
同步精度中上
体积中小中小较小
远程不支持不支持不支持不支持支持

特性

LXI设备规范 = 3个核心特性 + 8个扩展功能

优势
  • LAN的优势

    • 普遍存在性
    • 高性能数据传输10/100/1000Mbps,甚至更高10Gbps
    • 低成本,随时可用的基础设施
    • 有线或无线通信的灵活性
    • 本地和远程访问
    • 丰富的,针对各种功能的多种协议
    • 在仪器内嵌Web服务器的可行性
  • 简化系统集成

  • 标准化外观

  • 标准化编程

  • 可远程操控

核心特性

3个核心特性:Ethernet、Web、IVI

基于开放的工业标准:TCP/IP Ethernet, IPv4/IPv6, Web browsers and IVI drivers.

Ethernet

高速以太网接口

Web

内建Web接口

  • W3C规范
  • 设备功能展示
  • 简单的图形化配置与操作
  • 无需软件编程的采集与数据分析
  • 远程操作
IVI

可互换的虚拟仪器(IVI)驱动程序

Interchangeable Virtual Instrument (IVI) drivers

所有LXI设备都包含可互换的虚拟仪器(IVI)驱动程序,用于提供统一的编程控制接口。

保证驱动在各种编程环境中良好工作,提供高性能接口,简化程序开发和维护。

LXI仪器可选地提供IVI类兼容的驱动程序,并简化了仪器的互换性。
在这里插入图片描述

  • 提供标准API(Application Programming Interfaces),快速使用驱动函数,减少学习成本
  • 提供仪器仿真功能,简化测量应用程序的测试
  • 增强了主流开发环境中易用性
  • 提供互换性,减少系统集成成本
扩展功能

8个扩展功能

通过扩展功能,使用硬件触发器、LAN数据包、或基于时钟同步可以实现各个LXI设备之间的数据通信。

LXI Wired Trigger Bus(硬件触发总线)

[LXI Wired Trigger Bus ](https://lxistandard.org/Documents/Specifications/LXI Wired Trigger Bus Cable and Terminator Specifications rev 2.0.pdf )
LXI硬件触发总线是一个硬连线接口,用于指定可配置的输入或输出、线或、屏蔽和布线,适用于要求最高的触发应用。这种触发方式把精度提高到ns级别,而通过LAN的软件触发只有ms级别的精度。

LXI Event Messaging(事件消息)

使用LXI事件消息传递,包含触发信息(包括时间戳)的LXI事件消息可以通过LAN直接从一个设备发送到另一个设备,而不需要计算机干预,从而提高了执行速度。通过从控制器到LXI设备的驱动命令或通过LXI设备之间的消息交换,基于LAN的触发器可编程提供触发事件。这种方式模拟传统的硬件触发器,但可以携带硬件触发器无法携带的信息,例如:触发器斜率和基于同步系统时钟的时间戳。

LXI Clock Synchronization(时钟同步)

LXI时钟同步机制继承了 IEEE 1588-2008协议,一种为网络分布系统设备提供us精度的同步实时时钟。这种功能允许将普通计时器事件绑定到绝对时间,以实现非常精确的触发和同步。同时也允许仪器之间的相关调整,来帮助实现监控和调试。

LXI Timestamped Data(时间戳数据)

时间戳为LAN事件(例如:触发、测量、通道连接)提供了具体的时间标记,这样可以清楚地知道在测试程序按事件顺序发生了什么。

LXI Event Logs(事件日志)

LXI事件日志实用程序包含已经发生的LAN事件的记录,允许观察正在运行的仪器或整个系统。事件日志帮助我们了解仪器或系统中正在发生的事情。

LXI VXI-11 LAN Discovery and Identification Extended Function(发现和识别)

[LXI VXI-11 LAN Discovery and Identification Extended Function](https://lxistandard.org/members/Adopted Specifications/Latest Version of Standards_/LXI Standard 1.5 Specifications/LXI VXI-11 Discovery and Identification Extended Function.pdf)

发现功能能够帮助仪器的使用者快速地了解到一个测试系统中存在设备,并且获取设备的相关信息:包括它们的名称、功能、 IP 地址、设备号和厂商号等。

HiSLIP

HiSLIP 扩展功能利用IVI基金会创建的HiSLIP标准创建一个快速控制界面,扩展VXI-11提供的功能,并模拟GPIB设备的功能。HiSLIP也通过IPv6网络运行。

IPv6

由于IPv4地址空间已经用完,世界正被迫采用IPv6。 IPv6 Extended Function 已被LXI联盟引进,确保IPv6在仪测试系统内广泛使用之前,LXI产商能以一致的方式方法使用IPv6,保证产品能符合政府要求。

其他
LXI 发现工具

LXI发现工具用于帮助查找和识别网络上计算机可用的LXI仪器。美国国家仪器公司(National Instruments)的Measurement and Automation Explorer和安捷伦技术公司(Agilent Technologies)的安捷伦连接专家,可以很容易地发现LXI设备、连接到它们的Web界面,并为VISA或IVI通信配置。

如果您只打算通过LXI设备的Web接口与它通信,那么还可以使用LXI协会开发的免费LXI系统发现工具。关于LXI发现工具的更多信息,点击这里

IVI 驱动支持

IVI标准是由IVI基金会定义的一组仪器类的开发驱动架构集和共享软件组件。

IVI驱动程序为测试仪器应用程序提供了更高的性能和灵活性,并定义了高级特性,如仪器模拟、状态缓存、自动范围检查和多线程安全性。

好处
  • 提供标准的应用程序编程接口(API),实现对驱动程序的快速访问,减少学习成本

  • 提供仪器的模拟功能,简化应用程序的测试

  • 增强了在主流的应用程序开发环境中的易用性

  • 通过提供互换性,减少将测量设备集成到新系统或现有系统所需的时间和精力

架构

The IVI Specifications define two types of drivers, class-compliant drivers and custom drivers. Class-compliant drivers comply with one of the eight instrument classes currently defined by the IVI Foundation (DMM, oscilloscope, arbitrary waveform/function generator, DC power supply, switch, power meter, spectrum analyzer, and RF signal generator) and share a common application-programming interface (API). Custom drivers comply with the IVI architecture but implement a custom API for an instrument that does not fit within one of the instrument classes specified by the IVI Foundation. IVI drivers can be implemented based on one of two architectures – IVI-C (based on the industry-proven VXIplug&play specifications) and IVI-COM.

IVI 规范定义了两种类型的驱动程序:类兼容驱动程序和自定义驱动程序。符合类别的驱动器符合IVI基金会目前定义的八个仪器类别之一(DMM、示波器、任意波形/函数发生器、直流电源、开关、功率计、频谱分析仪和射频信号发生器),并共享一个通用的应用程序编程接口(API)。自定义驱动程序遵循IVI体系结构,但是为不适合IVI基金会指定的某个仪器类的仪器实现自定义API。IVI驱动程序可以基于两种体系结构之一实现——vi - c(基于业界证明的VXIplug&play规范)和vi - com。在这里插入图片描述

相关标准及规范

ANSI/TIA/EIA-568-B.2, Commercial Building Telecommunications Cabling Standard - Part 2: Balanced Twisted Pair Cabling Components

ANSI/TIA/EIA-899, Electrical Characteristics of Multipoint-Low-Voltage Differential Signaling (M-LVDS) Interface Circuits for Multipoint Data Interchange

IEEE Std 802.3™ IEEE Standard for Information Technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Specific requirements—Part 3: Carrier Sense Multiple Access with Collision Detection (CSMA/CD) access method and physical layer specifications Section

Type 10 BASE-T Section 
Type 100 BASE-TX Section 
Type 1000 BASE-T

IEEE Std 802.3af, Specified in IEEE 802.3-2005 Section 2, Clause 33

IEEE Std 1588™ IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems

标准基础
  • 以太网标准

    (TCP/IP,DHCP,URL/IP,Dynamic DNS,Auto-MDIX)

  • 接口标准

    IVI driver,VXI-11 discovery,Device locking,Security

  • 仪器网页

    Information,Set-up,Control,and Data Access From a web browser

  • 物理标准

    IEC Sizes,Power,Colling,Front panel Indictators,Reset Button

  • 触发标准

    LAN triggers,IEEE 1588 time synchronization, Trigger bus

物理规范

描述连接器、开关、状态指示器及相关组件的类型位置
在这里插入图片描述

电气标准
LAN 配置初始化
  • LAN Configuration Initialize (LCI),LXI设备必须提供LCI机制,用于复位网络配置

  • 不需要手动输入数据

  • 不能作为其他功能使用

  • 必须有防误操作机制(延时、用户查询、机械保护等)

  • 推荐位于后面板电源开关附近

  • LCI机制应通过延时、用户查询或机械保护功能进行保护,以防止误操作

  • 推荐标签:LAN RST / LAN RESET

LAN 连接器
  • 必须兼容 IEEE 802.3 ,推荐RJ-45、M12
LAN 状态指示
电源指示LAN状态IEEE 1588时钟状态
LED颜色双色(橙色/绿色)双色(红色/绿色)双色(红色/绿色)
前面板位置前面板的左下角电源指示灯右边LAN状态指示右边
标签Power、PWRLAN1588
启动顺序首先启用电源然后获取LAN IP配置最后获取IEEE 1588时钟

水平排布:

位置
指示灯PowerLAN1588

垂直排布:

位置指示灯
1588
LAN
Power
电源指示

电源指示灯必须放置在前面板

推荐三态双色(橙/绿)LED

情形状态必须解释
没有电源未通电
橙色待机电源为了安全起见,处于上电状态的设备自身关闭电源
绿色电源开启通电
LAN状态指示

必须放置在前面板,提供LAN故障指示和设备识别

可以是任意形式的指示方式,例如文字、数字指示或图形指示

推荐三态双色LED(红/绿)

情形状态解释
绿色常亮正常运行正常运行
绿色闪烁设备识别在网页或驱动接口上激活设备标识命令时持续绿色闪烁,直到状态改变
红色常亮局域网故障

时钟同步

同步是基于一个共同的时间标准,对准多个动作,如测量序列、信号激励序列、时钟等

LXI 时钟同步方案继承于IEEE1588-2008(为分布式系统提供亚微妙精度的实时同步时钟)

具体同步方法要参看IEEE1588规范文档

1588-2008 - IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems

IEEE1588-2008网络测控系统精确时钟同步协议(中文行标)

[IEC 61588:2009 IDT 网络测量和控制系统的精确时钟同步协议](IEEE1588/GBT 25931.pdf)

同步与触发方案精度
硬件同步1ns
网络时间协议(NTP)1ms
IEEE1588精确定时与同步协议100ns

IEEE1588为测试测量系统定义了精准时钟协议PTP(Precision Time Protocol),相比于网络时钟协议(Ntework Time Protocol——NTP)、全球定位卫星(Global Positioning Satellite——GPS)和分布式参考晶振的方案,IEEE1588提供了更高的精准度(0.1us精度)同时又能提供以太网的优势

IEEE1588将分散在测量和控制系统内的分离节点上独立运行的时钟,同步到一个高精度和准确度的时钟,为系统提供一个系统级通用精度的时基,基于此可以实现:

  • 带时间戳的数据,加速采集后的分析与排序
  • 在设备之间或整个系统范围内提供精确的触发和同步事件
  • 生成事件日志,以允许在系统的所有部分中对事件进行总体排序
  • 在多个设备间产生同步信号
基本原理
简要说明

IEEE1588的方法就是在所有联网的LXI设备中,找一个时钟质量最好的LXI设备,把他的时钟作为主时钟,其他的LXI设备作为从时钟,主从时钟之间通过同步报文交互并记录各自的收发时间(依靠软件+硬件),然后通过计算报文往返的时间差来计算主、从时钟之间的报文往返总延时,如果网络是对称的(即两个方向的传输延时相同),则往返总延时的一半就是单向延时,这个单向延时便是主、从时钟之间的时钟偏差,从时钟按照该偏差来调整本地时间,计算出时间偏差,然后从时钟把自身的时钟调整到与主时钟一致。

  • 拓扑结构

    从通信关系上把时钟分为主时钟从时钟

    理论上任何时钟都能实现主时钟和从时钟的功能

    一个通信子网内只能有一个主时钟,可以有多个子时钟

    主时钟要求具有高稳定性和精确性

  • 前提假设

    • 网络节点之间的传输延时在两个方向上对称

    • 假设网络节点的时钟频率相同且无漂移

  • 通过交换包含时钟信息的报文进行时钟偏移测量传输延时测量,获取:

    • 主时钟与从时钟的时间偏移量offset
    • 主时钟与从时钟的传输延时delay
  • 从时钟根据时钟偏移时间与传输延时时间调整自身本地时间

操作原理

以上是基本简要的基本原理说明,其核心在于时钟便宜测量与传输延时测量,这在实际操作上是使用带时间戳的数据报文交互实现的。具体的,主时钟周期性地在总线上通过广播方式发送同步报文给每个节点进行时钟同步在这里插入图片描述

首先,测量主时钟到从时钟方向上的偏差

  1. 主时钟发送Sync报文,并把自己的发送时间t1告诉从时钟

    t1可以在Sync报文中,也可以再发一个Follow_Up报文告诉从失踪

  2. 从时钟接收Sync报文,并记录自己的接收时间t2

由此从时钟可获得数据传输由主时钟到从时钟的两个时间:发送时间t1,接收时间t2
t 1 + o f f s e t + d e l a y 主 从 = t 2 t1+offset+delay_{主从}=t2 t1+offset+delay=t2
然后,测量从时钟到主时钟方向上的偏差

  1. 从时钟发送Delay_Req报文,并记录自己的发送时间t3
  2. 主时钟接收Delay_Req报文,并把自己的接收时间t4通过Delay_Res报文告诉从时钟
  3. 从时钟接收Delay_Res报文,获取到t4

由此从时钟可获得数据传输由从时钟到主时钟的两个时间:发送时间t3,接收时间t4

t 3 + o f f s e t + d e l a y 从 主 = t 4 t3+offset+delay_{从主}=t4 t3+offset+delay=t4
最后,假设两个方向上的传输路径一致(即传输延时相同: d e l a y 主 从 = d e l a y 从 主 delay_{主从}=delay_{从主} delay=delay),计算offset:
o f f s e t = ( t 2 − t 1 ) + ( t 4 − t 3 ) 2 offset=\frac{(t2-t1)+(t4-t3)}{2} offset=2(t2t1)+(t4t3)

以上的操作计算称为本地时钟同步算法(Local Clock Synchronization 简称 LCS),是PTP对时的核心原理


理论上主从时间可以绝对同步,实际应用中,两个前提假设条件是无法满足的,因此误差来源是:

  • 本地时钟精度

    主从时钟自身晶振频率漂移引起的误差

  • 网络延时对称误差

    网络链路上各个相关的传输因素,都有可能影响,例如两个方向上的物理介质、PHY解析延时、MAC解析延时、系统中断、系统调度延时等等都会影响时延偏差

要提高精度主要就是考虑如何降低这两个误差,保证数据报文中的时间戳是精准的,这就是精度保证的核心

  • 针对本地时钟精度

    提高本地时钟质量,选用优质晶振等

    利用最佳主时钟算法(Best Master Clock——BMC)选择一个最好的时钟源

  • 针对网络延时对称性误差

    两个方向使用相同传输介质,减少软件处理上的耗时偏差,时间戳的标记使用硬件实现

    IEEE1588完全可以使用软件实现,但是无法保证精度,只有硬件加入才能保证时间戳的准确度

标准规范
相关定义
PTP域

应用了PTP协议的网络称为PTP域。PTP域内有且只有一个同步时钟,域内的所有设备都与该时钟保持同步

一个网络可以有多个PTP域

PTP时钟节点在这里插入图片描述
图 2 基本时钟节点示意图

PTP域中的节点(设备)称为时钟节点(设备),协议定义了三种类型的基本时钟节点:

  1. OC(Ordinary Clock,普通时钟)

    在同一个PTP域内只有一个PTP端口参与时间同步,并通过该端口从上游时钟节点同步时间,如OC1

    当时钟节点作为时钟源时,可以只通过一个PTP端口向下游时钟节点发布时间,我们也称其为OC。

  2. BC(Boundary Clock,边界时钟)

    该时钟节点在同一个PTP域内拥有多个PTP端口参与时间同步

    当作为时钟源时,可以通过多个PTP端口向下游时钟节点发布时间,如BC1

    它通过其中一个端口从上游时钟节点同步时间,并通过其余端口向下游时钟节点发布时间,如BC2

  3. TC(Transparent clock,透明时钟)

与BC/OC相比,BC/OC需要与其它时钟节点保持时间同步,而TC则不与其它时钟节点保持时间同步。

TC有多个PTP端口,但它只在这些端口间转发PTP协议报文并对其进行转发延时校正,而不会通过任何一个端口同步时间。

TC包括以下两种类型:

  • E2ETC(End-to-End Transparent Clock,端到端透明时钟)

    直接转发网络中非P2P(Peer-to-Peer,点到点)类型的协议报文,并参与计算整条链路的延时

  • P2PTC(Peer-to-Peer Transparent Clock,点到点透明时钟)

    只直接转发Sync报文、Follow_Up报文和Announce报文,而终结其它PTP协议报文,并参与计算整条链路上每一段链路的延时。

除了上述三种基本时钟节点以外,还有一些混合时钟节点:

  • TC+OC

    融合了TC和OC各自特点的,它在同一个PTP域内拥有多个PTP端口,其中一个端口为OC类型,其它端口则为TC类型。一方面,它通过TC类型的端口转发PTP协议报文并对其进行转发延时校正;另一方面,它通过OC类型的端口进行时间的同步。

    与TC的分类类似,TC+OC也包括两种类型:E2ETC+OC和P2PTC+OC。

PTP端口

设备上运行了PTP协议的端口称为PTP端口。PTP端口的角色分为三种:

  • 主端口(Master Port) :发布同步时间的端口,可存在于BC或OC上
  • 从端口(Slave Port) :接收同步时间的端口,可存在于BC或OC上
  • 被动端口(Passive Port):既不接收同步时间、也不对外发布同步时间的端口,只存在于BC上
主从关系

主从关系(Master-Slave)是相对而言的,对于相互同步的一对时钟节点来说,存在如下主从关系:

  • 发布同步时间的节点称为主节点,而接收同步时间的节点则称为从节点。

  • 主节点上的时钟称为主时钟,而从节点上的时钟则称为从时钟。

  • 发布同步时间的端口称为主端口,而接收同步时间的端口则称为从端口。

最优时钟

如图 2 <基本时钟节点示意图>所示,PTP域中所有的时钟节点都按一定层次组织在一起,整个域的参考时间就是最优时钟(Grandmaster Clock,GM),即最高层次的时钟。通过各时钟节点间PTP协议报文的交互,最优时钟的时间最终将被同步到整个PTP域中,因此也称其为时钟源。

最优时钟可以通过手工配置静态指定,也可以通过BMC(Best Master Clock,最佳主时钟)协议动态选举,动态选举的过程如下:

  1. 各时钟节点之间通过交互的Announce报文中所携带的最优时钟优先级、时间等级、时间精度等信息,最终选出一个节点作为PTP域的最优时钟,与此同时,各节点之间的主从关系以及各节点上的主从端口也确定了下来。通过这个过程,整个PTP域中建立起了一棵无环路、全连通,并以最优时钟为根的生成树。

  2. 此后,主节点会定期发送Announce报文给从节点,如果在一段时间内,从节点没有收到主节点发来的Announce报文,便认为该主节点失效,于是重新进行最优时钟的选择。

设备类型

PTP设备有5种类型:

  • 普通时钟
  • 边界时钟
  • 透明时钟
    • 端到端透明时钟
    • 点到点透明时钟
  • 管理节点
时钟基准

IEEE1588 标准中规定 PTP 可以使用三种时钟基准:

  1. 用户自定义时钟基准:

    以用户定义的时间为基准,记录当前时间与定义初始时间之间的时间差。

  2. UTC 时钟基准:

    以 UTC(世界协调时间)时间为计时基准,该时间为一九七零年一月一日零点整

  3. PTP 时钟基准:

    以 TAI(国际原子钟时间)时间为计时基准,该时间与 UTC时间计时时间起点相同,但由于闰秒的存在, UTC 时钟基准晚于 PTP 时钟基准 33 秒。

时钟状态

PTP 协议中规定时钟端口有9 种状态,并以数据集的形式存储在 PTP 时钟中:

序号状态描述
1初始化状态
(INITIALIZING)
当端口处于初始化状态时,端口会初始化硬件系统,数据集和通信设备。任意状态接到初始化命令都会转化成此状态。初始化完成前,该端口连接的路径上不会传送任何报文。且对于边界时钟来说,且对于边界时钟来说,所有端口会同时进行初始化。
2故障状态
( FAULTY)
当网内运行出现故障时,故障端口将处于此状态。故障状态下,不能发送与最佳主时钟算法以及主从时钟同步算法相关的任何报文,只能对管理报文进行回应。
3无效状态
( DISABLED)
本地时钟失效,端口处于停用状态,只能对管理报文进行回应。该端口连接的路径上不会传送任何其它报文。对于边界时钟来说,多个端口中其中一个端口处于无效状态不会影响其他端口。
4侦听状态
( LISTENING)
初始化结束后进入该状态,此时时钟正在等待声明报文或是等待超时。侦听状态下,允许在域内有序加入其它时钟。
5预备主时钟状态
(PRE_MASTER)
主时钟状态前的过渡时期,不能发送与主从时钟同步算法相关的报文,其余功能与主时钟一致
6主时钟状态
( MASTER)
端口处在主时钟状态。
7被动状态
( PASSIVE)
运行最佳主时钟算法时,潜在主时钟可能会进入该状态。只能发送或接收对等延迟机制中的相关报文。
8未校准状态( UNCALIBRATED)此时端口处于一个短暂的过渡状态,此状态下,最佳主时钟算法已经正常循序运行,此时区域内选定了新的主时钟,正在建立新的时钟同步系统的架构。
9从时钟状态
( SLAVE)
端口处于从时钟状态
数据集

PTP 时钟的所有状态序号和属性均以数据集的形式存储

普通时钟和边界时钟都含有五种数据集 :

  • 缺省数据集( defaultDS)

    包含多个子数据集,用于存储本地时钟的 ID,时钟端口数、时钟优先级、时钟域名、报文标志域等属性

  • 默认数据集( currentDS)

    用来表明与主时钟的逻辑关系

  • 双亲数据集( parentDS)

    用于存储与本地时钟进行时钟同步的上级主时钟或超主时钟的时钟属性,包括主时钟的ID、时钟精度稳定性等

  • 时间数据集( timePropertiesDS)

    用来表示与时钟运行状态相关的属性,包含 8 个变量,均为动态变量

  • 端口数据集( portDS)

    主要用来表述时钟的端口特性,为报文的传输打下基础

透明时钟不单独设定数据集,只为每个缺省数据集和端口数据集建立副本,存储透
明时钟的基本信息

按照数据集是否可更改又可分为三种:

  • 静态数据集

    系统初始化后,数据集不发生任何变化。

  • 动态数据集

    初始化以后,数据集会发生动态变化,例如某些数据集会因为时钟内部性质的变化或外部 PTP 相互作用而改变,但用户没有权限直接修改

  • 可配置数据集

    用户可以使用管理报文或协议指定的专门用于修改可配置数据集的方式人为修改。

报文类型

依据是否标记时间戳,PTP 报文分为两类:

  • 通用报文:其收发时不需要标记时刻值,亦称作普通报文

    序号报文名称相关说明
    1Announce携带有发送节点的优先级等信息,经过最佳主时钟算法,可以构造分层结构的对时系统
    2Follow_up也称跟随报文,由主时钟发送,内含有 Sync同步报文发出时刻的时间标记,只存在于两步对时模式下。在一步对时模式下,时间戳信息直接加载进 Sync 报文内(这样 Sync 报文会变得冗长,不利于收发 Sync 报文时标记时刻值)
    3Delay_resp由主时钟在收到从时钟的请求报文后发出,包括了请求报文的接收时间
    4Pdelay_resp_Follow_up该报文由主时钟或从时钟在向透明时钟发出响应报文之后发出,同样不需要标记发送及接收时刻值,其作用与 Follow_up 报文类似,作用是传递请求报文接收时刻值与响应报文发出时刻值。
    5Management该报文由管理节点发出,其内包含管理信息,如更新数据集、系统初始化等操作信息
    6Signaling也称信号报文,主要对时钟起到辅助作用,如设定节点间通信速率
  • 事件报文:当主、从时钟发生对时报文的接收或发送事件时,必须要记录下事件的发生时刻信息

    序号报文名称相关说明
    1Sync也称同步报文。 在整个网络完成最佳主时钟算法,确立分层级结构的时钟系统后,系统内的主时钟节点发出 Sync 报文开始进行时间同步操作,由广播的方式发送至从时钟端,一般每隔两秒广播一次, 发送端口要标记下报文发送时刻值,并将该值加载于随后要发出的跟随报文中
    2Delay_req也称延时请求报文,在从时钟正确接收到主时钟的同步报文与跟随报文后,标记同步报文进入的时刻,接着向主时钟发出延时请求报文, 同时标记延时请求报文离开从时钟时刻值
    3Pdelay_req用于透明传输过程中,由从时钟向点对点透明时钟发出,报文的工作过程与延时请求报文相似
    4Pdelay_resp用于透明传输过程中,与普通时钟对时过程不同,点对点延时应答报文也需要标记其发送及被接收时刻值,以用于计算时钟间的网络延时量
报文格式

PTP 报文由两个部分组成 :报文头、报文实体

所有 PTP 报文的报头格式相同,实体部分根据不同报文类型稍有差异

在这里插入图片描述

  • 报文头

    报文头长度为 34 字节,包含传输协议等信息。其中报文头所含有的报文类型、区域号、源端口号与 ID 等时钟属性

  • 报文实体

PTP规定了固定的报文格式,但其通信媒体并没有强制,可以在不同的网络传输协议上实现PTP的功能,可通过networkProtocol设定:UDP/IPv4、UDP/IPv6、IEEE802.3、DeviceNet、ControlNet、Profinet、未知协议等

总体架构

在这里插入图片描述

PTP对时系统总体架构
基于 PTP 协议的同步系统架构由上图所示, 整个系统分为三大层次:
  • 应用层

    应用层由 PTP 协议来实现,完成各个报文数据的处理,实现时钟同步功能。

  • 网络层

    由 TCP/IP 协议栈(UDP)实现,主要完成逻辑地址寻址、定义协议端口号及差错校验等功能

  • 物理层

    完成时间戳打印功能(TSU),以及常规的建立、维护物理连接及硬件寻址等功能

    时间戳的打印,可以有有不同的位置,位置越靠近底层硬件远离应用层,就越可以减少网络抖动的影响

LXI要求

精度要求:40 ns

IEEE1588可以完全软件实现,但是精度较低

系统的时间精度将受限于网桥的质量

推荐使用IEEE边界时钟(Boundary Clocks)和透明时钟(Transparent Clocks)

如果没有边界时钟或透明时钟,使用为UDP数据包提供低延迟的LAN交换机可能会产生可接受的计时精度。

LXI系统的时基应该可以追溯到UTC

对UTC的可追溯性是通过实现IEEE中定义的时间标度PTP来实现的

任何实现IEEE 1588功能的LXI设备都应该能够被追踪到UTC,如果它被IEEE 1588协议选为master时钟。

通过IEEE1588管理信息可以手动设置UTC时钟

建议具有主时钟功能的设备提供电池备份时钟,以便在电源故障时保持时钟

在系统运行期间对LXI时间基数进行大的更改可能会导致意外的故障,时钟重新同步可能需要一些时间(一分钟左右)

所有LXI系统应该至少包括一个专门设计的模块,以提供非常稳定的时基。

LXI系统中与LXI设备通信或从LXI设备通信的所有时间引用应基于每个设备中的IEEE 1588时钟建立的全系统IEEE 1588时间标度。LXI设备中的IEEE 1588时基和UTC之间的转换只发生在与系统部分完全或部分按时运行的外部子系统的接口处(例如用户界面或数据库)。所有需要进行这种转换的LXI设备都应该使用IEEE 1588协议发布的currentUtcOffset信息

IEEE 1588标准要求驱动IEEE 1588时钟的振荡器的绝对精度为0.01%。这种规格是必要的,以限制时钟的最大频率调整范围,以确保它可以同步到任何主机。

实现者可能希望使用精度更好但跟踪范围更小的振荡器。如果他们这样做,他们应该确保其余的实现也足够高精度的IEEE 1588时钟特性参数会确保(1)选定主时钟,或(2)任何其他系统设备,可以选择作为一个主时钟(基于时钟特性)也有相同或更好的准确规范。

触发和事件

触发:启动一个动作的执行,如测量、输出、开关合并、仪器程序执行,基于一个以部的事件

通过触发和同步,可以控制LXI设备或系统的状态序列、事件的产生和处理时间、根据时间戳对测量数据和时间进行排序关联

同步和事件包括四种扩展功能

  • LXI 事件消息传递
  • LXI 硬件触发总线
  • LXI 时钟同步
  • LXI 事件日志

三种模式的模块间的事件通信:

  • 驱动命令:控制器——> LAN ——> LXI设备

  • 事件消息:LXI设备<——> LXI设备

  • 硬件触发:LXI设备<——>LXI设备

五种触发模式:

  • 基于驱动命令的触发方式
  • 基于LAN消息的触发方式
  • 基于时间事件的触发方式
  • 基于LXI 硬件触发总线
  • 可选用的供应商特定的硬件触发方式
事件处理

任何由控制器驱动控制的(IVI)测试测量相关的功能,都应该能够由其他事件机制启动执行,即测试测量功能都应该支持五种触发方式

控制计算机并不需要实现IEEE1588,他可以从任何一个具有IEEE1588设备那里获取到当前的精确时间。

建议一次触发可执行多个动作,且可编程配置

要以95%的置信区间标注最小/最大/典型的触发响应时间(不包括网络或其他LXI设备以外的时间延迟)

驱动命令

控制器 ——> LAN ——>LXI设备,传递仪器指令

基于驱动命令的触发方式是经 LAN 接口实现,控制计算机通过 IVI驱动程序将命令通过网络传送给仪器模块,实现对模块动作的控制。

这种触发方式属于 LXI 仪器基类功能之一,也是控制仪器动作最简单最直接的一种方式。

一般使用TCP进行连接,例如在IVI驱动中封装一个"TRIGger:STARt "字符串命令通过TCP发送到设备即可

这种触发方式对仪器的响应速度没有什么要求,并且只支持单点对单点的控制

事件消息

LXI设备<——>LAN<——>LXI设备,传递包含触发信息(包括时间戳)的事件消息,毫秒级精度

基于 LAN 消息的触发方式也是经 LAN 接口实现的,所有 LXI 仪器以及若干控制器通常使用交换机相连。一台 LXI 仪器可以通过网络向其它一个或者多个仪器发送包含有触发信息的数据包以使其它仪器产生动作

通过事件消息传递,LXI设备的事件消息(包含触发信息)可以通过网络直接在设备间传递,无需计算机参与

  • 使用UDP多播TCP单播进行事件消息的发送、监听、响应
  • 必须实现UDP端口监听和TCP Socket监听以接收事件消息
  • 使用224.0.23.159作为UDP广播地址
  • TCP监听器必须支持8个以上的并发连接,默认使用5044端口
  • 事件消息必须使用指定的数据格式
  • 使用”域“字节实现事件消息的设备间区分
  • 所有的事件消息(标准、厂商定义、用户定义)都必须可配置为发送或不发送
  • 每个消息都带有时间戳并标志LXI事件的产生
事件消息
  • 事件消息必须单包,即数据包长度不能大于单个UDP数据包长度

    以实现最小的延迟和避免UDP多播使用不可接受的复杂性

    常用值:1400,最小值512

  • 事件ID可任意:

    • 标准事件:LAN0~LAN7
    • 产商事件:厂商自定义事件
    • 用户事件:应用程序自定义
  • 发生事件T1:事件发生的时间(基于本地时钟)

  • 数据域:默认为空,但可增加数据

    • 标准事件ID:
    • 厂商定义数据:
    • 用户定义数据:
事件响应

事件的响应应该可由用户自己编程设定

  • 默认不响应
  • 基于事件ID进行响应
    • 用户可配置。默认响应可有厂商或用户自定义。
    • 未知ID不响应,可记录
  • 动作时间T2:T1+Dt
    • T2可以是过去时间或将来时间
    • T2与LXI事件消息接收者的本地时钟匹配,精度由IEEE1588和设备时钟保证
    • T2为将来时间时,LXI设备需要内部定时响应
    • T2为过去时间时,LXI设备默认立即响应,也可由用户自定义(不响应或发送过去数据)
    • 默认Dt=0
  • 数据域由用户自定义。产商可指定为默认的事件ID
  • 可使用标准的Trigger/Arm状态机模型响应事件(非必须)
    • T1: WaitingForTrigger to Wait:trigger delay
    • Dt: Wait:trigger delay
    • T2: Measure layer is enter
通信时间
  • 接收时间

    接收到LXI事件消息的时间点。这个时间通常记录在LXI事件日志中。

  • 触发时间

    对事件消息响应开始的时间点。这是LXI事件消息的时间戳字段。此时间点后开始执行仪器操作

  • T1:触发时间

    • LXI时间消息的时间戳字段
    • 如果T1为0(now,当前时间,立即执行),将被接收时钟替换为当前时间
    • 只有以下情况才发送0
      • 未实现IEEE1588
      • LXI设备过载,无法足够快地捕获时间戳。这种情况被视为严重或致命的错误。
      • 用户自定义的基于now的消息
  • Dt:偏置时间,可正可负

  • T2:动作起始时间

在这里插入图片描述

事件插入

当传递无状态事件时(Flag4为0):

  • 当发送配置为线或模式的LXI事件消息时,设备应仅发送硬件值(标志位2)单一值
  • 否则,设备将以硬件值的形式发送事件的两种值(Flag2)
  • 当无状态事件(Flag4)的值为0时,需要事件的接收者将传入事件的值与该事件的当前状态进行比较。如果接收到的事件感知(硬件值-Flag2)与事件的当前状态相同(真或假),则接收方必须在接收事件之前插入一个相反的感知事件,并相应地进行操作
  • 注意: LXI事件的线或传输模式不像LXI硬件触发总线那样实现真正的线或逻辑。线或模式没有检测信号缺失的机制(假状态),因为缓存所有数据包不切实际。
消息格式

多字节:大端模式

单字节:LSB

数组段:Index 0 First

HW DetectDomainEvent IDSequenceTimestampEpochFlagsData Fields0X0000
Length(Byte)311641022
TypeArrayU8ASCII ArrayU32StructU16U16
HW Detect

​ 有效包标志、硬件包检测用。长度为3的字符串,设置为“LXI”,I为版本号

​ 如果消息值与设备LXI版本规范定义的值不匹配,则忽略消息

Domin

​ UINT8,默认为0

​ 设备自带可配置Domain字段,如果消息与设备的Domain不匹配,则忽略消息

​ 为多测试系统在同一个子网中共存提供解决方案,通过Domain来识别系统

Event ID

​ 事件名称(16字节ASCII字符串),不足用0填充

​ 专用事件和“LXI”开头的事件被保留,其余用户可自定义

​ Null Event,值为0的情况,除了用于调试需要记录日志,设备需要忽略此消息

Sequence

​ 通信序列号,每次数据传输进行自加(UDP、TCP独立)

可用于实现重复包检测等功能(重复包可用于增强数据可靠性)
Timestamp

​ 时间戳结构体,指定时间发生的时间

struct TimeRepresentation
{
	UInteger32 seconds;		// IEEE1588 秒字段低字节
	UInteger32 nanoseconds:	// IEEE1588 纳秒字段<10^9
	UInteger16 fractional_nanoseconds:// IEEE1588 纳秒分数字段
}

例:
+2.0 seconds : seconds = 0x00000002 and nanoseconds = +0x00000000
-2.0 seconds : seconds = 0x00000002 and nanoseconds = 0x80000000
+2.000000001 : seconds = 0x00000002 and nanoseconds = 0x00000001

0:now,接收器处理消息的时间

Epoch

IEEE1588 秒字段高字节,不用时置零

Epoch为IEEE1588-2002的参数

IEEE1588-2008合并IEEE1588-2002中的epoch和seconds字段为U48,并且不支持负数

Flags

U16,包相关的标志位

BitFlag说明
0ErrorMessage1:错误消息
1Reserved0
2Hardware Value硬件值,描述触发事件的特性,特别是硬件事件
3Acknowledgement1:确认包。在高负载UDP中实现握手协议提高可靠性。非必须,可忽略
4Stateless无状态的事件。LXI V1.2版本前,0表明接收模块必须监视硬件值(Flag2)的内容,1表明事件是无状态的,需要忽略Flag 2
5~15Reserved0
Data Fields

​ 变长数据字段,小于事件消息容量的任意长度(允许未来字段扩展)

​ 一个LXI事件消息可包含多个数据字段。

​ 包结尾连续两个字节0,即下一包的长度为0(两个字节)或达到最大数据负载时,包结束

包含几个字段:

字段长度说明
Data LengthU16User Data的长度(不计Identifier)
IdentifierI8User Data的类型;0~127:用户自定义类型;负数:LXI标准类型;需忽略未知类型
User DataData Length 中定义长度的任意数据

LXI标准数据类型

ValueData TypeLen gth (Oct ets)Notes
-1 (0xFF)ASCII Data1ASCII Character String; not null-terminated
-2 (0xFE)int81Two’s-complement
-3 (0xFD)uint81
-4 (0XFC)int162Two’s-complement; multi-octet fields are big-endian
-5 (0XFB)uint162Multi-octet fields are big-endian
-6 (0XFA)int324Two’s-complement; multi-octet fields are big-endian
-7 (0xF9)uint324Multi-octet fields are big-endian
-8 (0xF8)int648Two’s-complement; multi-octet fields are big-endian
-9 (0xF7)uint648Multi-octet fields are big-endian
-10 (0xF6)float324IEEE 754 Format; multi-octet fields are big-endian
-11 (0xF5)float648IEEE 754 Format; multi-octet fields are big-endian
-12 (0xF4)float12816IEEE 754 Format; multi-octet fields are big-endian
-13 (0xF3)UTF-8 Data1Unicode String Data encoded in UTF-8; not null-terminated
-14 (0xF2)UTF-8 JSON1JSON encoded in UTF-8; not null-terminated
-15 (0xF1)UTF-8 XML1XML encoded in UTF-8; not null-terminated
-16 (0xF0)OctetnUninterpreted octet
预定义的错误消息

事件消息的Flag字段的Bit1:Error Flag用于设置错误信息包,错误ID可以在数据字段中通过ID号/描述字符串来定义,以进一步区分错误类型。

LXI事件ID为“LXIError”的事件为预定义的错误事件,其数据字段包含一个错误码或特定的错误数据。每个错误码必须是I8类型,负值为LXI联盟保留

错误码错误定义错误数据
-1复位时间,由主时钟偏移UTC并调整时发出偏移时间
时间事件

LXI设备内部,基于IEEE 1588的时间触发器,结合事件消息衍生出来的事件机制

基于同步时钟的触发方式必须在仪器间通过 LAN 接口运行 IEEE1588 精密时钟协议。

同步时钟触发也称为定时触发,是指在各个 LXI 仪器内部运行一个时钟,所有时钟的时间和速率都始终保持一致,然后操作者依据时钟为仪器设定一个时间执行相应的触发动作,这就好比闹钟一样,到了预定的时间闹钟就会响,设定了定时触发的设备到了预定的时间就会产生时间事件,然后执行一定的动作

硬件触发

LXI设备<——>LXI设备,基于LXI硬件触发总线上的电平触发

LXI Wired Trigger Bus Extended Function:详细描述了硬件触发总线相关的信息介绍,包括原理、电气规格、物理规格(连接器类型、位置、方向等等)

LXI Wired Trigger Bus Cable and Terminator Specifications

LXI设备的硬件触发总线(Wired Trigger Bus)不依赖于LAN接口,而是实现了一个基于M-LVDS物理接口标准(TIA/EIA-889 Multipoint Low Voltage Differentia Signaling Standard)的电缆系统来互连多个LXI设备,所有接入的 LXI 设备能够连接成菊花链结构或者是星形结构,也可以是两个混合的结构。

被配置为发送硬件触发信号的LXI设备,在仪器内部检测到满足发送触发信号条件时,由LXI仪器内部的控制器(MCU、MPU、FPGA等)发出硬件触发信号(LXI0~LXI7,可以是电平触发或沿触发),并通过M-LVDS驱动器发送到总线上。其他被配置为接收硬件触发信号的LXI设备,则通过M-LVDS接收器捕获该信号,继而产生控制仪器动作的触发信号。

在这里插入图片描述

应用特性

不同形式的触发应用场景:

  • 内部或外部事件产生一个启动操作的触发信号
  • 计算机发送一个触发器信号事件来启动操作
  • 一个设备发送一个基于事件的触发器信号给一个或多个设备
  • 硬件触发器信号由设备加入时间戳并同步其他操作
  • 一个使用硬件触发线缆的通用参考时钟,在多个设备之间同步操作

对比事件消息:

硬件触发总线与事件消息在性能上有较大区别,事件消息是基于网络的,其性能取决于网络驱动、网络速度、软件中断和处理器速度,而硬件触发总线是基于M-LVDS硬件总线接口,具有以下特性:

  • 精度和抖动小于30ns(相关论文数据,有距离限制)
  • LXI0 ~ LXI7与LAN0 ~ LAN7(标准事件)可互换
  • 总线线缆上的硬件延迟和相关的路由逻辑控制着一个事件与另一个节点上的动作启动之间的触发延迟
  • LXI设备尽可能直接地将触发总线信号从接口连接到执行任务的硬件
  • 一旦设置,几乎没有软件或固件相关的反应时间延迟
  • 具有较低的触发延迟和较低的触发抖动
  • 可以在LXI设备之间交换时钟信号或其他数据信号

每个通道支持两种模式的配置:

  • 驱动模式

    单点对多点,单个设备向多个设备启动一个触发事件。每个LXI设备的每个通道使用一个驱动器

  • 线或模式

    多点对多点,多个设备向多个设备启动一个触发事件。

    线或模式要求设备支持线或偏置能力,为总线通道提供偏置

    其他参与线或触发的LXI设备,每个通道需要两个驱动,以便同时发送或接收信号

M-LVDS

M-LVDS物理接口标准(TIA/EIA-889 Multipoint Low Voltage Differentia Signaling Standard),该标准使用差分电流驱动信号来改变半导体器件之间的数据,相对于LVDS,其主要用于优化多点互联应用,即有多个驱动器或者接收器共享单一的物理链路,这种应用要求驱动器件有足够的驱动能力来驱动多路负载,同时要求驱动器件与接收器件都能承受由于单板热插拨所引起的物理总线上负载变化。

标准可以支持高达500Mbps的数据速率和较宽的共模电压范围(±2V),并具有强大的ESD保护特性,从而支持热插拨功能。通过控制输出数据的压摆率和输出幅度来解决电磁干扰问题,另外M-LVDS还保留有LVDS低压差分信号特性,可以更进一步减小电磁干扰。

M-LVDS是针对物理层的,其网络结构与RS-485相似,但通信速率更快,功耗更低

负载数差分电压范围共模电压范围最大传输速率接收门槛电压
RS-485321.5~5 V-7~12V50Mbps±200mV
M-LVDS32480V~650 mV-1~3.4V500Mbps±50mV

优点:差分传输、多点传输、速率高、抗干扰强、功耗低、成本低、接入方便、体积小
在这里插入图片描述

电气规范

在这里插入图片描述
在这里插入图片描述

  • 每个设备两个连接器

    每个支持硬件触发总线的设备至少提供两个触发连接器(各引脚直连的两个接插件),实现信号透传

  • 末端使用终端连接器连接

    对于任意一个LXI 仪器,不使用的触发连接器端口必须使用端接器连接以保证信号在传递时的阻抗匹配,防止信号反射。

  • 通道数量:8

    8个独立的触发器通道,对应逻辑上的LXI事件消息LXI0 ~ LXI7

  • 信号标准: TIA/EIA-899. 半双工, M-LVDS,Type-1 接收器

    1:[5mV,650mV]

    0:[-650mV,-5mV]

    未定义:[-5mV,5mV]

  • 总线缓冲:每个通道在外部线对于内部信号之间实现半双工缓冲

  • 收发器:TI SN65MLVD080(8通道)、SN65MLVD201 (单通道)

  • 可配置:使能、输入、输出、双向、驱动模式

  • 默认状态:上电禁用

  • 收发并行

驱动模式

每个设备的每个通道上电默认为禁用状态,同时要求提供两种工作模式:驱动模式和线或模式

每个硬件触发总线包含两个输出并联的M-LVDS驱动器:

注意这里是驱动器,非连接器

每个设备至少两个连接器,两个驱动器

两个连接器是为了总线信号透传,即信号有输入输出

两个M-LVDS驱动器是为了满足线或模式的驱动要求

在这里插入图片描述

驱动模式

单点对多点,单个设备向多个设备启动一个触发事件

  • 每个通道只有一个驱动器被使能
  • 触发器信号连接到使能驱动器的输入端
  • 未使能的驱动器输入可以是高或低
  • 差分触发驱动器通过驱动电流经过终端电阻实现正负电平变化
  • 输出两种状态:高电平、低电平
线或模式

多点对多点,多个设备向多个设备启动一个触发事件。

  • 每个驱动器都可配置使能

  • 触发器信号连接到两个驱动器的使能端,且驱动器的输入保持高电平

  • 通过正向电流或关闭通向终端电阻的电流,来驱动差分触发线上的高低状态

  • 输出三种状态:高电平、低电平、禁用

  • 要求设备支持线或偏置能力,为总线通道提供偏置

    为改善噪声容限,某个LXI设备的一个驱动器配置输出为负电平,使触发线处于低电平状态(其他LXI设备都是都是禁用的),这种设备称之为线或偏置设备。这种情况就需要两个并行的驱动器来克服负电流实现正电流。线或偏置设备同样可以参与线或逻辑,但是他是操作在驱动模式下,而不是线或模式。

  • 其他参与线或触发的LXI设备,每个通道需要两个驱动,以便同时发送或接收信号

  • 应用

    多个点同时触发总线所有节点,执行触发事件

    • 应用一:第一个触发,由第一个满足条件的LXI设备触发总线上的其他设备

    • 应用二:最后一个触发,当最后一个满足条件的LXI设备触发总线上的其他设备

      当一个节点未“准备好”时,输出高电平,等“准备好”以后发送低电平。

      当总线上最后一个“准备好”的点也发送低电平时,总线的状态就变为低电平。

      而只要有一个节点未“准备好”则一直是高电平。

      节点检测到总线的低电平以后,认为所有的节点都已“准备好”,从而执行规定的操作。

物理规格
  • 需要明确最小触发脉冲

  • 25针Micro-D连接器,推荐ITT Cannon MDSM-25PE-Z10-VR17 (单连接器) 或 Molex 83619-9011 (双连接器)

  • 至少一个硬件触发总线端口(由一对并行连接的总线连接器组成,即相同引脚电气连接)

  • 100Ω(±10%)差分特性阻抗

  • 最长走线长度63.5mm

  • 通道走线差距最大25mm

  • 通道偏差200ps

  • 连接器需提供+3.3V(±0.2V),两个连接器最小提供100mA的总拉电流

  • 连接器上的电源输出需要提供短路保护,推荐独立的自愈合保险丝
    在这里插入图片描述

参考文献

基于Cortex-A8的LXI触发盒硬件设计

厂商触发

可选的厂商自定义的硬件触发器

事件日志

LXI设备能够响应或产生的事件都应该可被记录到内部的事件日志中,包含时间戳和事件ID,最少容纳256条记录(经验值),条件允许下尽可能详细,便于调试定位问题

事件记录可以通过驱动命令进行使能配置,且其时间戳:

  • 如果可以,基于IEEE1588时钟
  • 0或者与当前系统IEEEE1588时基一致的时间

需要提供以下日志相关的API:

  • 日志的访问由API以字符串数组的形式返回

  • 一个布尔属性来使能日志记录

  • 一个无参方法用于清除日志

  • 一个字符串返回一个或多个日志条目

  • 日志以FIFO形式存在,大小由设备自行决定

  • 日志溢出时,必须记录丢失情况,新日志可以覆盖或丢弃,由配置决定

  • 日志被读取时被删除

触发模型

在这里插入图片描述

整个 LXI 同步触发模型以等待-触发状态机为核心,将三个主要的子系统联系起来,分别是:

  • 等待逻辑
  • 触发逻辑
  • 事件逻辑

其中等待逻辑和触发逻辑模块负责接收来自 LXI 触发总线和 LAN 输入寄存器的输入, LXI 硬件触发总线上的信号(LXI0~LXI7)、 LXI 定义的 LAN 事件( LAN0~LAN7)和自定义的 LAN 事件都可以驱动等待逻辑和触发逻辑。

而等待逻辑和触发逻辑进一步驱动等待-触发状态机。

事件逻辑负责控制从 LXI 设备发出的信号。它规定每一个 LXI 设备在什么情况下发出什么类型的触发事件。事件逻辑能够驱动任意 LXI 触发总线上的信号(LXI0~LXI7)、任意 LXI 定义的 LAN 事件( LAN0~LAN7)和自定义的 LAN 事件。

对于同步时钟的触发信号则直接由 硬件逻辑内部运行的同步时钟来产生。

LXI模块设计

根据LXI规范的描述,对LXI模块简单描述如下:

  • LXI总线核心是利用网络(Ethernet)进行数据传输
  • 为规范仪器操作,规定了一些操作接口(Web和IVI驱动)
  • 为规范仪器通信,规定了事件消息、硬件触发、时间戳数据据、事件日志、发现识别机制
  • 为规范仪器兼容性,规定了HiSLIP、IPV6等功能
  • 为确保仪器同步,规定了两种同步方式:IEEE1588或硬件触发

结合数据采集系统的应用需求(高同步的数据传输),可以主要关注LXI的以下核心功能:

  • Ethernet
  • IEEE1588
  • Wired Trigger

其余的功能为LXI的标准化定义,如果要设计开发LXI设备,则可以遵守实现。如果是自定义的总线设备,则可以借鉴LXI总线的这三个主要核心功能。

开发步骤

在进行LXI模块开发时,可分阶段实现

第一阶段

实现基于以太网的数据通信,同时支持IEEE1588和硬件触发总线,完成此阶段基本可以实现高同步的数据采集,但需要自定义数据格式。

  • Ethernet通信的设计开发(MAC+PHY+TCP/IP+UDP)

    基于UDP,控制器(PC)跟仪器之间基本可以进行正常的数据通信

  • 完成基于IEEE1588的时钟同步机制(us级别的同步要求)

  • 完成硬件触发总线(ns级别的同步要求)

第二阶段

实现LXI协议的IVI驱动与基本事件消息机制

  • 完成IVI,规范控制驱动
  • 完成事件消息机制
  • 完成事件日志机制
  • 完成时间戳数据
第三阶段
  • 完成Web开发
  • 完成VXI-11发现与识别
  • HiSLIP和IPv6可基本不用实现

硬件结构

在这里插入图片描述

  • MCU/MPU
    • TCP/IP协议栈
    • LXI协议
    • PTP协议
  • FPGA
    • 时钟管理
    • 1588时钟戳捕获标记
    • 硬件触发总线
  • MAC+PHY
    • Ethernet
  • MLVDS

软件结构

  • 仪器控制端
    • 客户端应用程序
    • IVI网络驱动
    • VXI-11函数接口,RPC客户端
  • 仪器端
    • 仪器硬件操作函数
    • VXI-11函数接口,RPC客户端
关键技术
  • IEEE 1588 协议的实现
  • LXI消息机制
  • IVI驱动的开发
  • VXI-11发现协议的开发

名词

名词解释
LAN-Local Area Network局域网
LXI Wired Trigger BusLXI 有线触发总线
LXI Event MessagingLXI 事件消息
LXI Clock SynchronizationLXI 时钟同步
LXI Time Stamped DataLXI 时间戳数据
LXI Event LogsLXI 事件日志
IANAThe Internet Assigned Numbers Authority,互联网数字分配机构
Reception Time接收时间
Trigger Time触发时间
T1 Trigger Time触发时间
T2 Action Time响应时间
Dt = Offset偏移
Sourcing Current拉电流
Sink Current灌电流
  • 5
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值