ARINC818学习

这篇具有很好参考价值的文章主要介绍了ARINC818学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.相关标准

  1. FC-AV :Fiber Channel - Audio Vedio ,光前通道音频视频
  2. FC-FS:Fiber Channel - Framing and Signaling Interface,光纤通道 帧和信号接口
  3. FC-PI:Fiber Channel - Physical Interface

2. 结构

2.1 结构图:

ADVB:Avionics Digital Video Bus ,航空电子数字视频总线
ARINC818学习,学习

2.2 带宽范围

为了支持图1所示的设备,需要广泛的带宽范围。有些相机是低分辨率和低刷新率的设备,可能是单色的。它们需要低带宽传输路径。显示单元(DU)是航空电子系统中使用的大多数视频信息的最终目的地。最大带宽是支持信息内容所必需的。随着显示器的分辨率越来越高,就需要相应增加带宽。

下图是带宽和显示分辨率之间的关系
ARINC818学习,学习

2.3 可扩展性

FC-AV协议包括各种使用方法的规定。ADVB将允许用户选择最有效利用资源的标准实现。预期ADVB将支持从低分辨率到高分辨率的显示应用。

提供了在单个高速链路上复用多个视频流的能力,详情见第3.5节。

从两个链路驱动显示的能力是为单个链路没有足够速度的应用程序定义的。详情见第3.6节。

允许使用标准的灵活性还要求有责任记录特定的实现。例如,该标准为用户提供了提供辅助数据的能力。该标准将描述如何处理辅助数据,但不试图对辅助数据中特定信息的定义施加限制。鼓励用户在接口控制文件(ICD)中有效地记录这种性质的数据的具体细节。

2.4 integrity - 完整性

ADVB必须能够支持各种可能包含飞行关键数据的接口。

FC-AV协议定义了使用CRC来验证帧报头和数据字段的完整性。ADVB应遵循FC-AV根据Ref [2] Section 17.5定义的CRC使用。任何有CRC失败的行都应该被丢弃。例如,将“line”替换为“black”就是一种策略。

建议进行额外的完整性检查。例如,完整(重构)图像的嵌入式CRC应该包含在下一个容器的辅助数据中,或者完整图像CRC应该从显示单元传输出去以供使用外部验证(但不同时进行)。
如果显示器本身具有高完整性机制,用于比较和响应先前帧的计算CRC与当前报头中的新CRC之间的不匹配,则使用前者。将计算出的CRC报告给外部监视器通常是显示系统更灵活的机制。

**注:**需要谨慎地确保显示图像以某种最小速率(新CRC)更改,以确保显示处理单元不会重复发送具有该图像正确CRC的单个容器。这意味着实际的图像生成器需要具有每次更新都会更改的图像区域。这可以是屏幕上的一个小专用区域,也可以是屏幕外的测试区域。注意,监视器不会丢弃不良图像,而只是报告它。然后监视器必须确定这是否是一个持久的故障模式,并在它可能导致危险或误导性数据之前及时禁用违规通道。

2.5 视频连接

2.5.1 概述

视频连接由物理层和协议层组成,这些物理层和协议层是将系统中的一个设备连接到另一个设备所必需的。视频连接将只提供单向的信息传输。信息传输的方向永远是从视频源设备到目的设备。

该协议支持显示同步定时和非同步定时。后者通常涉及一个(或多个)帧缓冲区,用于将图像重新同步到刷新显示所需的时间。前者涉及将消隐信号插入数据流以匹配显示单元的水平和垂直消隐周期。请注意,显示单元可能包含行存储器,以便在ADVB和显示刷新像素时钟之间转换,但是每行时间与显示单元的水平定时要求相匹配。

在视频连接内,不会提供反馈以确认接收或重新传输信息。为总线质量保证或维护功能提供了一些检查,但不提供错误恢复。连接的基本错误率必须足以支持显示器上所需的错误率。

对ADVB内的命令或故障检测的任何响应都必须通过ADVB视频连接以外的方式传回源设备。

2.5.2 视频术语的定义

图3显示了视频参数的典型表示。它代表一个完整的视频帧。然而,在本文档后面,“帧”一词专门用于描述ADVB数据包内容。它需要多个“ADVB帧”来表示一个完整的视频帧。注意这个术语的用法是很重要的。

ARINC818学习,学习
“active image area” :包含所述总传输图像,所述总传输图像由观察者可见的区域和所述显示器可见区域之外的可选像素组成。

“row“:行,对应扫描时间段内高速部分的扫描方向。

“column” :列,对应于沿行存在的数据实体。

Vertical sync :垂直同步表示视频帧的开始。

Horizontal sync:水平同步表示视频帧内的行计时开始。

Frame width :帧宽度是活动图像的总宽度加上水平消隐宽度。

Frame heigth:帧宽度是活动图像的总高度加上水平消隐高度。

2.5.3 特定源参数

源特定参数定义为由于初始化、正确解释、定期验证或其他原因而必须在源和目的之间传输的信息。该ADVB协议将提供数据字段,以便源设备可以发送在活动图像区域内不可见的数据,以及视频流。

以下特定于源的参数是可以支持的数据示例:
• Gamma or palette tables :伽玛或调色板表
• Color format :颜色格式
• Image scaling :图像缩放
• Brightness and backlight control :亮度和背光控制
• Cockpit ambient light sensors :驾驶舱环境光传感器
• Integrity verification / test :完整性验证/测试
• Display unit active area mapping :显示单元活动区域映射
• Display unit sub-image mapping (multiple containers per update) :显示单元子图像映射(每次更新多个容器)
• Display unit enable / disable and source selection :显示单元启用/禁用和源选择
• Audio :音频
• HUD boresight values :HUD轴视值
• Cursor position :光标位置
• Cursor shape and control :光标形状和控制

2.5.4 Pixel Data Format - 像素数据格式

该信息由存在于帧的活动图像区域和空白区域中的像素数据组成。消隐(blanking,不确定翻译的对不对)既可以通过扫描图像和/或通过传输ADVB空闲来完成。过度扫描包括发送额外的(屏幕外)像素,这些像素在辅助数据中被识别出来。过度扫描通常用于完整性测试或从单个容器驱动多个显示。当显示器从总线提取时序时,通常使用消隐。

注:AVDB可以配置为发送单个大型活动区域图像来驱动多个显示单元,前提是每个显示单元可以通过预定义映射或通过辅助数据中指定映射来确定其活动区域。例如,可以从配置为2048 x 768(左/右)的单个容器驱动两个XGA显示器。

这将允许两个显示器从总线时序同步驱动,只有行存储器。不建议使用垂直映射(1024 x 1536,顶部/底部),因为只发送两个XGA容器会更合理。

ADVB协议规范

3.1

FC-AV描述了五个层次的结构,如图4所示。ADVB将利用这些水平的一部分。以下部分描述了ADVB下允许的功能。例外是FC-3。这一层通常处理与连接建立、协议转换、结构和交换技术相关的网络服务。在ADVB的单向点对点特性中,这是不相关的,并且FC-3不适用。
ARINC818学习,学习
在FC-4级别,ADVB协议使用FC-AV帧报头控制协议(FHCP)的配置版本,如FC-AV标准第7节所述。本文档详细介绍了在ADVB协议中使用的FHCP的细节。FHCP符合图1中描述的航空电子系统的架构需求,因为所有使用FHCP的设备都被指定为始终处于PLAY模式。

使用的具体对象类是视频未压缩类型,简单参数数字视频(SPDV)索引,它允许传输各种格式的视频。该映射记录在ANSI FC-AV标准的附录A,参考文档0中,除了辅助数据的定义可以与附录中指定的不同。

下面几节展示了ADVB提供的各种“光纤通道级别”如何应用于视频帧的分解、打包和传输。

图5提供了该结构的简单图形表示。

音频和辅助数据也包含在“容器”中,稍后将进行定义。
ARINC818学习,学习

ARINC818学习,学习
ADVB容器嵌入在一个光纤通道序列中。容器代表一个视频帧(典型的)作为一个FC序列传输。

容器以顺序形式传输,以提供显示图像的连续更新。容器被分解成FC帧。FC帧将表示视频线的某些部分。多少视频线表示,是依赖于系统级实现和最大FC帧数据字段2112字节的限制。

视频图像的像素数据位于FC帧的数据字段(或有效载荷)部分。注意,容器头和对象0通常是单个FC帧,对象1通常不存在(音频),对象3只存在隔行视频。图6并不打算显示对象帧是混合的,而是所有的对象1帧(如果有的话)被发送,然后是所有的对象2帧(如果有的话),然后是对象3帧(如果有的话)。

3.2 ADVB容器结构

ADVB协议将采用简单模式容器结构。

一个容器将包括传输一帧视频所需的所有视频、音频和辅助数据。一个完整的ADVB容器将由若干连续的FC帧组成。在最低级别,FC数据的传输被限制为每个FC帧最多2112字节的负载。单个容器精确地映射到单个FC序列。

每个容器由容器头和对象组成。Container Header将具有足够的信息,可以直接识别对象中数据的类型和位置,而不必解析各个对象以获取此类信息。这允许在容器级别对对象进行硬件处理。

在简单模式下,容器头是固定长度的。第一个数据对象紧接在Container Header的末尾。对象描述是排序的。对象按类型分类,并通过索引进一步定义。Simple Mode支持四个对象,每个对象描述一个特定的数据类型。对象类型的定义见表1:

ARINC818学习,学习注意:如果容器中没有使用Object,则Object的大小设置为0。

下面的图7描述了ADVB数据序列以及它与容器的关系。它演示了RGB XGA分辨率视频的容器示例,FC帧总数为1537:
[1 container Header/Object 0 + 1536 [768 * 2] Object 2]
单个FC帧内不能传输完整的XGA数据行,因为3072字节的RGB像素数据将超过FC帧数据字段允许的最大2112字节。为了缓解这个问题,每个FC帧可以传输半行。
ARINC818学习,学习

只有当视频源分辨率线尺寸超过FC帧标准允许的最大值时,才需要进行分线。

3.2.1 ADVB Container Header

标头组织是固定的,以适应硬件解码。每个字直接映射到一个32位的ADVB传输字。以下各节中提到的 “字” 都是指32位ADVB传输字。

每个ADVB容器将使用一个简单模式容器头。在ADVB协议中使用的容器头将符合下面的表2。集装箱标题应始终为22个字长,前6个字适用于整个集装箱。剩下的单词被分成结构相同的部分,分别对应四个对象。下表中条目的基数为二进制。

ARINC818学习,学习
ARINC818学习,学习

1: Container Count (Word 0)

容器计数是一个无符号整数,从0开始。对于每个后续容器,容器计数将增加一个LSB,当发生溢出时,容器计数将转到0。容器计数可用于识别一系列相同Clip ID中的容器。

2:Clip ID (Word 1)
作为一个选项,Clip ID字段可用于区分一组容器和另一组容器。该字应设置为与容器组对应的整数值。如果不使用Clip ID字段,则所有位设置为0。

3:Container Time Stamp (Words 2 and 3)

作为一个选项,可以使用容器时间戳字段。如果不使用Container Time Stamp字段,则所有位都设置为0。

4:Video Frame Rate (Word 4, Byte 0)

视频帧速率定义为传输完整视频帧的速率,无论是隔行还是非隔行。视频帧率字段设置如表3所示。
ARINC818学习,学习
5:Video Transmission Rate (Word 4, Byte 1)
8位整数,正值表示 n * Video Frame Rate,负值表示 Video Frame Rate / n。当视频传输速率字段设置为 01h(0000 0001)时,传输速率等于Video Frame Rate。

此规定适用于视频存储应用,其中视频可以以比视频更快或更慢的速度传输。

6:Reserved (Word 4, Bytes 2 and 3)
FC-AV章节5.4.1将这些字节定义为保留字节。ADVB要求将这些字节设置为0h

7:Mode (Word 5, Byte 0)

容器类型模式将指示简单模式,字节0应设置为00h(0000 0000)。

8:Number of Objects (Word 5, Byte 1)

字节1中的对象数应设置为04h(0000 0100)。

9:Reserved (Word 5, Byte 2)

FC-AV章节5.4.1将这个字节定义为保留字节。ADVB要求将该字节设置为0h。

10:Size of Extended Header (Word 5, Byte 3)

FC-AV章节5.4.1将这个字节定义为扩展报头字段的大小。

ADVB要求将该字节设置为0h。

11: Object Header Control (Word 6 through Word 21)
这些词控制四个ADVB对象。这些词在第3.2.2到3.2.4节中定义。

3.2.2 Object 0 – Ancillary Data (辅助数据)

ARINC818学习,学习
1. Object 0 Class (Word 6 of Container Header)

对象0类将被定义为辅助数据。

字节0将被设置为5xh (0101 xxxx)的值,表示辅助数据。

字节1链接指针在SPDV下是允许的。设备制造商应说明是否在其设备中使用它们。如果不使用,字节1应设置为00h(0000 0000)。

字节2和3将一起设置为D000h(1101 0000 0000 0000)表示SPDV索引类型。

2. Object 0 Size (Word 7 of Container Header)

对象0的大小将被设置为等于辅助数据的字节数。最小Object 0大小将被设置为10h(0001 0000)的值,以表示所需的16字节辅助数据。超过16个必需字节(以及1024字节的可选调色板数据和4字节的可选游标控制)的任何其他数据将由用户定义。所有附加的辅助数据应记录在每个显示单元的ICD中。

3. Object 0 Offset (Word 8 of Container Header)

Object 0偏移量将被设置为58h的值,以表示从ADVB容器头开始到辅助数据开始的88字节偏移量。

4. Object 0 Object Type Defined (Word 9 of Container Header)

ADVB允许使用Object Type Defined字段来标识用户特定的对象。为了标准操作,单词9的值应该设置为0000h。ADVB建议使用一个非零值来表示在预定义的object 0字之外存在用户定义的object 0数据。

4.1 Vendor Specific Objects

供应商特定对象(Vendor Specific Objects, VSO)旨在实现特定对象。这些对象不一定具有公共对象描述,甚至可能没有惟一的对象描述。供应商可以使用它们来区分自己产品线内或与合作伙伴之间的私有对象。

供应商特定的代码值不会成为分配的对象分类。作为供应商特定类型使用的对象,稍后可以在分配的类型代码范围内赋予不同的代码值。特定于供应商的类型不会注册到特定的供应商。唯一强制标识两个选择使用相同供应商特定代码值的供应商的机制是使用对象类型定义的针对供应商特定分类的单词需求。

4.2 Object Type Definitions

如果对象使用非零供应商特定对象类型或供应商特定对象索引,则对象类型定义字(D0000h除外)应定义为以下两个值之一。

4.2.1 Organization Unique Identifier (OUI)

组织唯一标识符对象类型定义的word在对象标头中提供了一个方法,用于在特定于供应商的分类中唯一标识对象。这些可通过向IEEE申请获得。

•MSB位31设置为1。

•7位,(比特30到24)可由供应商定义。

•24位(23到0位)是IEEE OUI公司ID。

4.2.2 Organization Unique Objects

组织唯一标识符对象类型定义的word在对象标头中提供了一个方法,用于在特定于供应商的分类中唯一标识对象。

•MSB位31设置为0。

•31位(位30到0)可以由供应商定义并设置为0以外的任何值。

5. Object 0 – Ancillary Data
辅助数据定义了从发送方传输到接收方的数据的特征。本节和图8定义了Object 0辅助数据的格式。
ARINC818学习,学习
ARINC818学习,学习
CI: Color Information Type :颜色信息类型
P: Prior CRC Valid Flag :优先 CRC 有效标志
PA: Pixel Aspect Ratio (Width: Height) :像素长宽比
PAO: Pixel Array Order :像素阵列顺序
PTN: Packing Table Number :包装表编号

5.1 Object 0 Word 0

5.1.1 Number of Rows

该字段为14位,表示整个视频帧内的总行数。000h代表null。最大行数为16383,用3FFFh表示。

5.1.2 Number of Columns

该字段为14位,表示整个视频帧内的总列数。000h代表null。最大列数为16383,用3FFFh表示。

5.1.3 Frame/Field Based Video

这个4位字段表示传输视频的格式。表4定义了基于帧和基于字段的表示。最高有效位(bit3)作为一个标志,向接收方表明该对象是基于字段的视频。
ARINC818学习,学习
注1:像素交织是指双链路系统,在一条链路流上传输偶数像素,在另一条链路流上传输奇数像素。参见第3.6节。

注2:基于字段的容器可以允许像素交错。对象2的存在表明该容器包含字段1,对象3的存在表明该容器包含字段2。这两个字段可以在同一容器内传输,也可以不传输。

5.2 Object 0 Word 1
5.2.1 Color Information

这个4位字段应该表示像素数据的格式,单色或彩色。表5定义了颜色信息(CI)编码。将CI码设置为8h(调色板-辅助数据表),则表示为了解释视频对象(即对象2和/或3),需要读取对象0 Words 4至259。

将CI码设置为9h(调色板-外部表)表示使用非ADVB传输的调色板。将CI代码设置为Ah表示使用之前由最后一个AVDB容器传输的调色板表,CI代码设置为8h。

打包版本的每个组件有多个子像素。未打包的颜色代码每个组件有一个子像素。例如,封装的RGB 565将占用单个16位组件,其中红色位于最重要的5位;而对于未打包的RGB 565,每个子像素将占用一个8位分量,其中红色是第一个分量中最重要的5位。在遗留系统中,如果子像素大小的总和小于或等于组件的大小,也可以推导出这种填充。其目的是将组件限制为一个完整像素或单个子像素,除了封装的YCbCr在单个组件中具有两个像素。请注意,使用RGB 888,最终比特流中的子像素的顺序在打包模式和解打包模式之间是相同的。

ARINC818学习,学习
5.2.2 Prior CRC Valid Flag

这个标志位指定Object 0 Word 2是否包含一个有效的CRC。

如果该位包含1,则Word 2将包含先前容器的CRC。如果该位包含0,则Word 2不包含CRC。

5.2.3 Pixel Aspect Ratio

这个3位字段表示整个像素的宽度与高度的像素长宽比。表6定义了像素宽高比编码。

ARINC818学习,学习
5.2.4 Pixel Array Order

这个4位字段表示视频数据在视频对象中按照其在视频帧(或字段)中的位置被打包的像素数组顺序。表7定义了像素数组顺序码。
ARINC818学习,学习

5.2.5 Packing Table Number

这个4位字段应该包含一个十六进制数字,表示中列出的打包表格式。与这些格式相关的组件的位和字节位置如图9所示。亚像素组件的大小定义见表9。
ARINC818学习,学习
所有组件首先以 MS-byte 传输,然后每个字节以 LS-bit 到 MS-bit 传输。对于未显示的n位组件(例如,14位或22位),显示的下一个更高的组件尺寸用作打包指南。未使用的位在ls位位置用零填充。
ARINC818学习,学习
5.2.6 Bits per Subpixel (n)

这四个字段,每个4位长,独立指定表示视频对象内每个子像素所需的位数。适用字段的数量由支持指定颜色信息格式所需的子像素的数量决定(参见3.2.2.5.2.1和表9),每个子像素的最小位数为1,用0h表示。每个亚像素的最大比特数是16,用Fh表示。表9中提供的信息并不意味着亚像素打包。亚像素包装顺序在表5 -颜色信息代码中定义。每个像素的子像素之和等于一个组件或适合于一个组件的每个子像素。
ARINC818学习,学习
5.3 Object 0, Word 2 – Prior Image CRC Word

对象0的字2包含可选的先验图像CRC字。CRC将只包含图像的视频数据。该数据字的有效性由Object 0, word 1的第27位的先验CRC无效标志§控制。当P=1时,该字必须包含先前容器的32位CRC。包含在此CRC中的像素数据默认为所有活动像素(图像的完整尺寸),除非通过在object0, word3中加载Off-Screen/CRC控制数据字来覆盖。当P=0时,该数据字应包含0000 0000h。注意,对于不需要CRC的系统和使用外部CRC包装的系统,应该设置P=0。另外,可以设置P=0来表示在需要嵌入式CRC的系统中传输的第一个容器。

CRC的计算应与FCAV帧相同的算法(和多项式),主动像素分量以与传输相同的顺序添加到CRC中。CRC多项式以LSbit到ms位的顺序应用于每个组件中的位。请注意,对于8位组件,这是传输的相同位顺序。所有其他尺寸通常需要在应用CRC多项式之前对组件进行重构。在计算CRC时应该忽略组件填充位(如章节3.2.2.5.2.5中定义的)。

CRC的目的是验证完整重构的映像,因此,在第3.2.2.5.4节中启用的增量映像传输模式将只在每个映像更新的第一个容器中存在CRC。此外,隔行视频格式8将按顺序计算两个字段的CRC(字段1紧跟着字段2),而不是对去隔行图像进行计算。隔行视频格式9和A将分别计算每个字段的CRC。

5.4 Object 0, Word 3 – Miscellaneous Control Word

对象0的词3被指定为一个杂项控制词。使用时,字3的每一半应包含一个6位参数类型和一个10位参数数据字。参数类型字段控制如何解释10位参数数据字。使用此构造的参数应该在显示中注册,这样它们就不需要随每个容器一起传输。当不使用时,该单词应设置为默认值0000 0000h。

6位参数类型字段应指定对应的10位参数数据字段所包含的数据类型,如表10所示:

ARINC818学习,学习
ARINC818学习,学习
CRC Enable
0 No CRC
1 CRC off-screen area :屏幕外区域
2 CRC on-screen area :屏幕上区域
3 CRC all areas

Off-Screen Enable
0 no off-screen areas (ignore Off-Screen Size Field)
1 off-screen area on left side
2 off-screen area on right side
3 off-screen area on left and right sides :左侧和右侧的屏幕外区域
4 off-screen area on all sides (window frame):所有侧面的屏幕外区域(窗框)
5 off-screen area on top
6 off-screen area on bottom
7 off-screen area on top and bottom

Off-Screen Size = Number of rows or columns in each off-screen area minus 1. 屏幕外大小=每个屏幕外区域的行数或列数减去1。
ARINC818学习,学习
The visible image area :显示表面上可见的区域

The active image area :活动图像区域包括CRC像素和可见像素,因为如果使用离屏CRC功能,两者都以ADVB帧发送。

Corner off-screen areas :角落的屏幕外区域只出现在模式4(窗口框架模式)。

5.5 Optional Object 0 Data Words

可选的数据字从字4开始。通过将AVDB容器头文件中word 7中的Object 0大小设置为大于4的值来指示可选单词的存在。如果Word 1中的Color Information字段设置为8 (CI=8),则前256个单词为辅助对象调色板。其他用户特定的目标词可以从单词4(当CI不等于8时)或单词260(当CI=8时)开始。如果额外的用户特定字被传输,第一个这样的字必须是在5.5.2中定义的光标控制字。所有用户定义的词都应记录在制造商的ICD中。

5.5.1 Object 0 Words 4 through 259 Ancillary Object Color Palette

只有当颜色信息字段Object 0 Word 1 Bits 28-31设置为8h(5.2.1中定义的调色板-辅助对象表的值)时,才会出现这些可选词。这些字应表示调色板到红、绿、蓝强度位的映射,并应由接收者用于显示/处理对象2和3中包含的视频数据。表11定义了Color Palette单词格式。

ARINC818学习,学习

5.5.2 Object 0, Word 4 / Word 260 – Cursor Control or User Defined Word

这是一个可选的数据字。但是,如果存在用户特定的Object 0数据字,则this必须是第一个这样的字。如果CI=8,则该对象将在Word 260中。

否则,它将在Word 4中。Object 0的这个字被指定为游标控件或用户定义的字。CE=1(位0被设置)用于游标控制,CE=0用于用户定义数据(或者如果游标被禁用)。当出现且未使用时,该单词应设置为默认值0000 0000h。

游标控制字(CE=1)应该被没有内部游标的显示单元忽略。光标焦点的位置应该在这个字中指定的列和行位置。用于定义光标形状、焦点和颜色的协议是用户定义的,但需要作为辅助对象0数据下载。光标控制字段是用户自定义的,用于控制光标的形状、颜色或闪烁等行为。

3.2.3 Object 1 – Audio Data

对象1 Audio Data定义如下:

3.1 Object 1 Class (Word 10)

对象1类将被定义为音频-未压缩。SPDV (Ref 0附录A)没有专门解决音频的使用。如果有系统需要,ADVB将允许使用音频。音频的格式应符合附件B.5参考0的规定。

字节0将被设置为40h(0100 0000) -表示对象类类型为audio - uncompressed。

字节1链接指针在SPDV下是允许的。设备制造商应说明是否在其设备中使用它们。如果不使用,则将字节1设置为00h(0000 0000)。

字节2和字节3将被设置为表示SPDV索引类型,其值为D000h(1101 0000 0000 0000)。

3.2 Object 1 Size (Word 11)

对于不使用音频的系统,对象1的大小将设置为0000h。对象1的大小将始终设置为10h(0001 0000)的值,以表示需要使用音频的系统的16字节报头值。

3.3 Object 1 Offset (Word 12)

Object 1偏移量将设置一个值,表示从ADVB容器开始到Object 1数据开始的字节数。对于默认的Object 0大小为16字节,Object 1 Offset将设置为68h(0110 1000)的值。

3.4 Object 1 Object Type Defined (Word 13)

ADVB将不利用对象类型定义字段。

单词13的值将被设置为0000h

3.5 Type 40h Table

ADVB将允许使用基于FC-AV型40h特性的音频数据。

类型40h数据表示未被压缩的音频对象。Type 40h Index值如表12所示。没有显示供应商特定的和协商的值。空白项是不使用的索引。

ARINC818学习,学习
3.6 Data Packing Guidelines

ADVB允许的封装如图12、图13所示。
ARINC818学习,学习

3.2.4 Object 2 and 3 - Progressive Scan and Interlaced Video (逐行扫描和隔行视频)

对象2将用于传输逐行扫描视频(全帧)或隔行视频的字段1。对象3将只用于传输隔行视频的字段2。

4.1 Object 2 Class (Word 14)

对象2类将被定义为视频-未压缩。

字节0将被设置为10h(0001 0000) -表示视频的对象类类型-未压缩。

字节1链接指针在SPDV下是允许的。设备制造商应说明是否在其设备中使用它们。如果不使用,字节1将被设置为00h(0000 0000)。字节2和3将被设置为表示SPDV索引类型,值为D000h(1101 0000 0000 0000 0000)。

4.2 Object 2 Size (Word 15)

Object 2 Size将设置为一个值,该值等于表示要传输的各自视频格式的字段或帧所需的亚像素字节数。

4.3 Object 2 Offset (Word 16)

Object 2偏移量将设置一个值,该值表示从ADVB容器开始到Object 2数据开始的字节数。

4.4 Object 2 Object Type Defined (Word 17)

ADVB将不利用对象类型定义字段。这个字的值应该设置为0000h

4.5 Object 3 Class (Word 18)

对象3类将被定义为视频-未压缩。

字节0将被设置为10h(0001 0000) -表示对象类类型为video - uncompressed。

字节1链接指针在SPDV下是允许的。设备制造商应说明是否在其设备中使用它们。如果不使用,字节1将被设置为00h(0000 0000)。字节2和3将被设置为表示SPDV索引类型,值为D000h(1101 0000 0000 0000 0000)。

4.6 Object 3 Size (Word 19)

对象3的大小将被设置为一个值,该值等于表示要传输的各自视频格式的字段或帧所需的亚像素字节数。

4.7 Object 3 Offset (Word 20)

object3偏移量将设置一个值,该值表示从ADVB容器开始到object3数据开始的字节数。

4.8 Object 3 Object Type Defined (Word 21)

ADVB将不利用对象类型定义字段。word 21的值将被设置为0000h

3.3 ADVB Frame Format (帧格式)

ARINC818学习,学习

表13包含典型的ADVB帧格式序列。
ARINC818学习,学习
*N根据传输的视频类型而不同。

然而,N不能允许ADVB帧负载和填充长度超过2112字节(528个字)。

3.3.1 Idle Words

源必须在ADVB帧之间插入至少6个空闲原始信号。

目的地应该能够在ADVB帧之前处理至少两个空闲原始信号。

ADVB不限制在ADVB帧之间的空闲原始信号有序集的最大数目。

3.3.2 Start of Frame

ADVB允许使用1类或3类有序集。ADVB容器传输序列的第一帧将使用帧开始初始化第1类SOFi1有序集或帧开始初始化第3类SOFi3有序集。

ADVB容器传输序列的后续帧将使用第1类SOFn1有序集开始帧或第3类SOFn3有序集开始帧。使用3类有序集的优点是与广泛使用的设备和开关兼容

3.3.3 Frame Header

每个ADVB帧的报头将采用表13和图16所示的格式。
图16ARINC818学习,学习

Frame参数的定义如表14所示:
ARINC818学习,学习

ARINC818学习,学习

3.3.4 Data Field

可选报头在ADVB中是不允许的。

可选报头是在光纤通道标准中定义的,用于支持fabric网络、fabric传输时间控制、桥接、网络id等。这些都不适用于ADVB,它被定义为单向点对点接口。

序列的连接有效负载由容器头、对象0数据、对象1数据、对象2数据和对象3数据组成。该数据的分割在第0节(附录C)中解决。数据字段的长度和Fill参数的使用在参考0中定义。

3.3.5 Cyclic Redundancy Check (CRC)

所有数据帧将包含一个基于帧头和有效载荷数据字段的四字节循环冗余校验码。为了CRC计算的目的,与传输的第一个比特相对应的字对齐的四字节字段的位是最高阶位。帧报头的第一个字符的最低有效位是传输字的第一个位。使用Image CRC(章节3.2.2.5.3)是可选的。

CRC计算将使用以下32位多项式:
ARINC818学习,学习

3.3.6 End of Frame

除了ADVB容器数据传输序列的最后一帧外,所有帧都将使用帧正常结束EOFn有序集,以RD负开始或RD正开始。

ADVB容器数据传输序列的最后一帧将采用以RD负开头或RD正开头的帧结束终止EOFt有序集。

3.3.7 Idle Fill

在完成当前ADVB容器的传输之后,在以保持适当刷新率所需的间隔开始传输下一个ADVB容器之前,设备应连续发送空闲原始有序集(如表15所定义)中的任意一个,以允许总线接收器保持同步。
ARINC818学习,学习

3.4 Transmission and Reception

对于FC-AV级别1,ADVB应匹配使用Ref0条款11中描述的8B10B传输编码。

ADVB应将原始信号有序集限制为表15所示的那些。
ARINC818学习,学习
这个item也被称为光纤通道ARB(ff),是空闲的另一种形式,使用结果在一个系统内的EMI最小化。

所有其他有序集应被接收方视为闲置。

3.4.1 Transmitter Operation

不需要FC-FS规范第6节的发射机状态图。发送器应在上电时和没有其他信息可发送时发送空闲有序集。

发射机在任何时候都将以完整的传输字进行传输,这样,一旦实现了同步,接收机就不必周期性地重新建立同步。

在安全关闭或故障情况下,发送器可以关闭光发送器,使光功率不发送。

3.4.2 Receiver Operation

接收方应在SOF Ordered Set之前的两个空闲上实现字同步,以便正确接收SOF。

如果接收方检测到字节或字编码中的错误(丢失同步),接收方应向接收控制硬件生成一个唯一的指示,表明检测到错误,并等待下一个SOF同步。

**注:**对该行数据的CRC检查通常也会失败。

如果在8B/10B解码期间检测到错误,接收器应向接收器控制硬件生成一个唯一的指示,表明检测到错误。

如果帧的CRC是坏的,接收器应该生成一个唯一的指示给接收器控制硬件,表示检测到错误。

如果上一帧没有以EOF终止结束,接收器将停止接收帧,直到下一帧带有SOFi1。

如果接收到的帧不在初始软帧和结束帧之间,它们将被忽略。

如果接收端在接收图像过程中检测到SOFi1帧,则放弃当前显示帧,开始显示新的显示帧。放弃的显示帧的任何辅助数据命令的结果都是未定义的。

**注:**预计接收器将接收并显示在垂直同步时间中开始的早或晚的帧。如果图形生成器必须与外部源同步,则通过在此间隔内添加或减去时间来完成。预计这种变化不会导致接收单元的错误操作。

如果ADVB中发生错误,所描述的接收器操作旨在防止du上的随机数据观察。一个有效的问题是,这种接收机操作是否也应适用于DVR。在某些情况下,DVR不会使用零,而是记录帧中接收到的内容。这就产生了一个问题,即记录的问题是发生在DU上还是发生在DU到DVR的连接上。

3.5 Support for Multiple Video Streams on a Single Link (支持单链路多视频流)

作为一种选择,可以通过为每个视频流分配唯一的源ID或目的ID参数来提供将多个视频流多路复用到单个高速链路上的能力。线路同步定时可以通过用线路时间的固定部分来抵消同步视频流的定时来维持,以最小化DU线路缓冲区的大小

3.6 Support for Dual Link ADVB 支持双链路ADVB

作为一种选择,可以为单链路速度不够的应用程序提供从两个链路驱动显示的能力。“双链路”实现应在一条链路上传输偶数像素,在另一条链路上传输奇数像素。“像素交错”视频格式代码定义见表4。

每个链接都期望使用一个完整的ADVB容器头,并复制辅助和音频数据。一行的第一个像素是奇数像素#1。

**注:**链路应该在最大FC-AV帧持续时间的1/5内同步,以最小化DU线缓冲大小。出于测试目的,单个链接DU可以接收并显示其中一个链接。这两条链路由它们分配的源ID或目的ID标识。

4.0 ADVB PHYSICAL INTERFACE

4.1 Data Transfer Rates

该标准规定了多个ADVB数据速率。应该为应用程序选择数据传输速率。速率公差应为±100ppm。

ARINC818学习,学习
**注:**下面的例子旨在帮助系统设计人员规范ADVB物理介质和数据传输速率。

示例1:对于NTSC摄像机,带宽计算将是:720像素/行x 480行x 16位(YUV 4:2:2) x 30 Hz刷新x 1.25 8b/10b x 1.05(典型的FC-AV协议开销)大约等于218 Mbps。

示例2:对于SXGA显示器,带宽计算将是:1280像素/行x 1024行x 8位/元灰度x 3个元素/像素x 60hz刷新x 1.25 8b/10b x 1.05(典型的FC-AV协议开销)大约等于2.5 Gbps。

典型的FC-AV协议开销基于FC-AV报头、最大帧大小和最小帧大小分离。

4.2 Physical Layer Medium – 物理层介质

本文档没有指定ADVB物理介质。ADVB物理层应符合为应用选择的介质的适当标准。

光纤安装可适用以下ARINC标准:ARINC规范801:光纤连接器ARINC规范802:光纤电缆ARINC报告803:光纤系统设计指南ARINC报告804:光纤有源设备规范ARINC报告805:光纤测试程序ARINC报告806:光纤安装和维护

5.0 TEST EQUIPMENT – 测试设备

ADVB测试设备将支持ADVB兼容硬件的工程开发、工厂测试和维护。

由于ADVB基于光纤通道(FC)并共享相同的物理介质、串行编码和解码规则以及相同的帧规则,因此ADVB设备制造商将受益于现有的FC测试和开发工具

这些工具包括:
•Protocol analyzers 协议分析器
•Traffic generators 流量生成器
•Bit error rate testers 误码率测试仪
•Optical power measurement devices 光功率测量设备
•Eye-pattern measurement devices 眼型测量装置

尽管误码率、光功率和眼纹测量设备处理的是ADVB和FC设备无法区分的底层特性,但它们将直接支持ADVB的开发和测试需求。

由于ADVB使用FC的FC-0、FC-1和FC-2层,现有的FC协议分析器和FC流量生成器将支持ADVB的大部分测试和验证需求。然而,ADVB确实具有独特的特性,这些特性将受益于这些测试仪器中扩展的特性集。

以下部分确定了FC协议分析器和流量生成器支持ADVB的最低要求集。它提出了添加功能的建议,以满足ADVB的独特需求。

**注:**使用FC连接服务器和存储设备是很常见的。FC已经发展成为许多存储区域网络(san)的首选介质。由于这个原因,有许多测试设备供应商支持FC存储和网络环境的设计、安装和维护。

5.1 Protocol Analyzers

5.1.1 Minimum Requirements for ADVB

由于ADVB的目的是比FC网络拓扑更简单,因此期望FC协议分析器足以支持ADVB的需求。

其他分析功能(例如,登录分析、序列和交换事件等)可以作为市场选项提供。至少,协议分析器应该提供对ADVB帧报头字段的解释,并验证FC-FS (ANSI / INCITS 373-2003)中定义的以下内容:
• 8b/10b编码
• 运行差异(RD)
• CRC计算
• 有序集
• 框架构建
• 序列管理

5.1.2 Recommendations for ADVB Protocol Analyzers

由于ADVB为现有的FC-AV协议分析仪引入了新的测试要求,因此建议使用以下功能

5.1.2.1 ADVB Container Header Analysis

建议从ADVB容器中提取并显示以下参数(如3.2节所定义):
• Container Count 容器计数(Word 0)
• Clip ID 剪辑ID (Word 1)
• Container Time Stamp 容器时间戳(Word 2和3)
• Video Frame Rate 视频帧率(Word 4,字节0)
• Transmission Rate 传输速率(Word 4,字节1)
这些数量也可以以十六进制形式显示,并带有相应的文本说明。

5.1.2.2 ADVB Object 0 Ancillary Data Analysis (辅助数据分析)

建议从ADVB Object 0辅助数据中提取并显示本文档3.2节中定义的ADVB参数。应该可以将所有Object 0数据提取为十六进制文件以进行存储和显示。这些数量可以显示为相应的文本描述。

5.1.2.3 Container Analysis

ADVB协议分析器应根据SOFi的检测报告ADVB容器的某些属性,包括平均、最小和最大检测到的容器速率。

因为ADVB允许行同步实现,协议分析器应该报告Object 2 FC帧定时,包括Object 2和Object 3 SOFn之间的最小和最大定时。

5.2 Traffic Generators

5.2.1 Minimum Requirements for ADVB

在某种程度上,现有的FC流量发生器可以作为ADVB接收机的测试输入源。这些设备可能没有更高级别的支持来创建视频负载、ADVB容器头数据和Object 0辅助数据。然而,这些发生器在ADVB接收装置的开发中可以作为有用的刺激源。

至少,用于ADVB的流量生成器应支持FC-FS (ANSI / INCITS 373-2003)中定义的以下内容:
• 有效的8b/10b编码
• 正确的运行差异
• CRC插入
• ADVB有序集(如上3.4节所定义)
• ADVB/FC帧报头字段
• ADVB /FC框架结构
• SEQ_CNT的自动递增(如表13所示)
• 自动断言F_CTRL第19位(如表13所示)
• 自动断言F_CTRL 位3,并自动更新参数字段(如表13所示)
• 自动断言F_CTRL位1和0(如表13所示)

5.2.2 Recommendations for ADVB Traffic Generators

由于ADVB引入了现有FC-AV流量生成器通常无法处理的新测试要求,因此建议使用以下功能。

5.2.2.1 ADVB Container Header Creation

建议ADVB流量生成器支持容器头数据的创建,其中通过GUI菜单输入上面第0节中定义的字段的默认值,或者在默认头文本文件中创建。此外,测试设备应支持自动更新集装箱计数(Word 0)。

5.2.2.2 ADVB Object 0 Ancillary Data Creation

建议ADVB流量生成器支持Object 0辅助数据的创建,其中3.2.2.5节中定义的字段的默认值以及来自ICD的用户定义数据可以通过GUI菜单输入或在默认头文本文件中创建。

5.2.2.3 Container Attributes

建议流量生成器提供在对象2和对象3 FC帧中加载视频有效载荷的方法。相关的软件可以提供从诸如位图文件的标准图像源自动提取数据,或者可以依赖反映图像分辨率和像素填充方法的预处理数据文件。

流量生成器应该提供一种控制FC帧大小的方法,并允许在FC帧中加载整数的视频线(或部分线)。

adb流量发生器应提供对传送集装箱费率的调整。这可以通过控制传出容器的启动时间(即SOFi速率)的内部计时器来实现。集装箱速率也可以通过可编程设置EOFt和SOFi之间的空闲有序集的数量来调整。(空闲填充)由于ADVB指定了线路同步显示时序,因此流量生成器应可编程以支持出站FC帧的时序要求。这可以通过控制输出FC帧的开始时间的内部计时器来完成(即,设置相对于SOFi的SOFn开始时间的能力)。这种定时也可以通过可编程设置对象FC帧之间的空闲有序集的数量来完成。文章来源地址https://www.toymoban.com/news/detail-827866.html

到了这里,关于ARINC818学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第13章 网络 Page818 UDP(和TCP的比较)

    TCP核心类 UPD核心类 UPD中没有acceptor(接收器)。 另外:address类,归属在ip下面,这意味着它即可用于TCP,又可用于UDP UDP协议也称为“无连接协议”,即通信之前不需要事先建立连接。 但逻辑上仍然可以区分出“客户端”和“服务端”,主动的那一端就是客户端。客户端也仍然

    2024年02月20日
    浏览(39)
  • ARINC429总线收发器 -- HI-3593调试记录

    ​ HI-3593是一款ARINC429协议收发器芯片,和之前介绍的HI-3582芯片功能一样,该芯片支持两路接收和一路发送,其中每个接收机具有标签识别、32×32 FIFO和模拟线路接收机。不同的是HI-3593通信接口为SPI总线,可以减少MCU的硬件管脚负担,而且HI-3593片内集成DC/DC 转换器用于产生双

    2024年02月12日
    浏览(40)
  • 基于FPGA的多通道ARINC429总线测试系统

            目前,有大量的机载设备在使用ARINC429总线进行数据交互,为提高具有ARINC429接口设备的测试效率,降低开发成本,本文基于FPGA强大的并行处理能力、丰富的I/O接口资源以及半定制化的设计理念,利用NIOS II软核处理器,结合FPGA的可编程逻辑端,设计了一款多通道

    2024年02月19日
    浏览(40)
  • 基于FT232HL的USB2.0转ARINC429板卡

    《USB2.0转ARINC429板卡》采用底板+子板,层叠安装的结构;使用同样的底板,变换不同功能的子板实现不同的功能版本。 a) 降低硬件设计复杂度:新板卡设计只需要设计子板,子板的功能相对简单; b) 缩短板卡研制周期:子板设计PCB层数少,功能简单、设计生产周期短; c) 设

    2024年02月16日
    浏览(46)
  • 【人工智能】— 学习与机器学习、无/有监督学习、强化学习、学习表示

    贝叶斯网络提供了一个自然的表示方式,用于描述(因果引起的)条件独立性。 拓扑结构 + 条件概率表 = 联合分布的紧凑表示。 通常易于领域专家构建。 通过变量消除进行精确推断: 在有向无环图上的时间复杂度是多项式级别的,但在一般图上为 NP-hard。 空间复杂度与时间

    2024年02月07日
    浏览(74)
  • 【零基础学机器学习 3】机器学习类型简介:监督学习 - 无监督学习 - 强化学习

    👨‍💻 作者简介:程序员半夏 , 一名全栈程序员,擅长使用各种编程语言和框架,如JavaScript、React、Node.js、Java、Python、Django、MySQL等.专注于大前端与后端的硬核干货分享,同时是一个随缘更新的UP主. 你可以在各个平台找到我! 🏆 本文收录于专栏: 零基础学机器学习 🔥 专栏

    2024年02月06日
    浏览(42)
  • 【机器学习】强化学习(四)-时序差分学习

    蒙特卡洛算法需要使用完整的片段进行计算,这在有些问题中是不现实的,尤其是对于没有终止状态的问题。时序差分算法对此进行了改进 蒙特卡洛控制和时序差分学习有什么区别? 四、时序差分算法(Temporal Difference Learning, TD 学习) 4.1 时序差分(0) 4.2 Sarsa算法 4.3 Q学习

    2024年01月21日
    浏览(39)
  • 机器学习指南:如何学习机器学习?

    机器学习         你有没有想过计算机是如何从数据中学习和变得更聪明的?这就是机器学习 (ML) 的魔力!这就像计算机科学和统计学的酷炫组合,计算机从大量信息中学习以解决问题并做出预测,就像人类一样。         可以这样想:想象一下,你想教你的电脑

    2024年01月21日
    浏览(55)
  • 【机器学习】强化学习 (一)强化学习简介

    一、强化学习简介 1.1 问题定义 1.2 马尔可夫决策过程 举例说明马尔可夫决策过程 例1: 例2: 执行动作的策略 强化学习的目标是让智能体通过不断尝试,找到最优的策略(policy),即在每个状态下选择什么动作,以最大化累积的奖励。强化学习的常见算法有: Q学习(Q-lea

    2024年01月20日
    浏览(42)
  • 机器学习、监督学习、无监督学习基本概念

    - 机器学习 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 机器学习有下面几种定义: (

    2024年02月12日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包