用于防止和检测安全关键型显示器上的危险误导信息的方法和系统与流程
本发明涉及安全关键型显示器的应用,特别是用于防止和检测安全关键型飞机驾驶舱显示器上的危险误导信息(hmi)的方法和系统。
背景技术:
主飞行显示器(pfd)是驾驶舱中的一种现代飞机仪表。pfd在一个集成显示屏上向飞行员提供最关键的飞行信息,如姿态、空速、高度、垂直速度和航向。驾驶舱中还有多功能显示器(mfd)用于导航、天气、地形避开、发动机显示和机组人员警报系统。图1显示了一个在典型的商用飞机上经过简化了的驾驶舱乘员站10。主飞行显示器(pfd#1)12和多功能显示器(mfd#1)14安装在驾驶舱左侧的机长面前。多功能显示器(mfd#2)18和主飞行显示器(pfd#2)20安装在驾驶舱右侧的副驾驶面前。待命飞行仪表16安装在两个多功能显示器mfds14和18之间。
在一个主飞行显示器pfd发生故障的情况下,上述pfd屏幕可以通过一个回归方案显示在相邻的多功能显示器mfd的屏幕上。这种多冗余显示器的架构可确保关键飞行信息始终提供给机组人员使用。但是,在实行这一回归方案之前,系统或机组人员必须检测到故障情况。如果错误信息在给定的情况下看起来是正确且可信的,则机组人员可能无法检测到这些错误信息。这种不正确的信息变得具有误导性,并可能产生危险后果,取决于其性质和给定的飞行状况。
美国联邦航空管理局(faa)在其咨询通告(ac)文件ac25-11b的第4.7.4节中提供了一系列故障状况、相关危险分类和有关的安全目标。例如,在单一主飞行显示器上显示误导性飞行姿态信息被归类为危险,其定性概率为“极遥远”。根据faa文件ac25-19a中确定的概率定义,在单一主飞行显示器pfd上显示危险误导飞行姿态信息的概率必须在1×10-7等级或更低。危险误导性信息的示例包括(但不限于)过时的飞机信息、冻结的显示屏、缺失的符号或图形被显示在不正确的位置,授予错误的颜色或亮度。
大多数航空电子设备系统使用商用现成(cots)图形处理单元(gpu)来生成驾驶舱显示屏。正如faa认证机构软件团队(cast)cast-29号立场文件指出的,cots图形处理器(cgp)最初是为非安全关键型和非航空航天应用设计的,通常不遵循rtcado-254中指定的设计保证指南。因此,使用供应商的设计保证流程作为可接受的验证手段将是非常困难,也不实际。即使驾驶舱显示软件是基于rtcado-178开发的,而且复杂电子硬件(ceh)是根据rtcado-254流程开发的,驾驶舱显示系统仍必须包含体系结构缓解措施,以确保防止因使用cgp而显示有害误导性信息。系统还必须评估检测到的任何故障的可信性和严重性,以避免任何虚假、不必要、分散注意力、混乱和恼人的警报。
虽然主飞行显示器的细节因飞机和制造商情况有很大差异,但绝大多数主飞行显示器pfd都遵循一种类似的布局,称为基本-t排列。图2描绘了一个有基本-t布局安排的典型的商业主飞行显示器。根据此布局安排,姿态指示器(ai)120位于pfd显示屏100的中心,提供有关飞机的俯仰、滚动和转向特性的信息。空气速度指示器(asi)110位于姿态指示器120的左侧,用于显示指示空速(ias)、真实空速(tas)、地面速度(gs)和校准空速(cas)。高度表130和垂直速度指示器(vsi)140位于姿态指示器120的右侧,分别用来描绘飞机的高度和垂直速度。航向指示器150位于姿态指示器120下方,用于显示飞机航向和导航信息。沿pfd屏幕顶部的模式指示器160指示飞机当前的操作模式。
图3描绘了在飞机转弯时pfd100的姿态指示器200。l形符号210l和210r描绘了飞机的左右两个机翼,并被涂为白色边框和黑色内部。两个机翼符号之间的小盒子220是飞机鼻子的符号,并被涂为白色边框和黑色内部。机翼符号210l和210r以及机鼻符号220保持在姿态指示器视窗200中的固定位置,并且始终可见。它们可能部分地被飞行指导符号或飞行路径符号覆盖,图3中未启用这些符号。人造地平线230被描绘为一条白线穿过姿态指示器200。人造地平线230的一侧被涂成蓝色,表示蓝天240。人造地平线230的另一边被涂成棕色,表示棕色地面250。飞机的俯仰角是用一个白色俯仰刻度尺(或俯仰梯)260描绘的。俯仰刻度尺260含有一组等间距的白色平行线。在此示范设计中,每个俯仰线(或阶梯)表示2.5度的俯仰角增量。
在图3中,飞机相对于人造地平线230有5度的仰角。每10度俯仰角的变化,就加有白色俯仰标记270标注在俯仰阶梯的每一端。倾斜或滚动角度由位于姿态指示器上部的白色倾斜刻度尺292显示。实心白色倒置的三角形294是指示零倾斜位置的倾斜指示器。沿倾斜刻度尺292标有白色分割线,用来表示每个方向的倾斜角度为10°、20°、30°、45°和60°。沿俯仰刻度尺中心线的白色三角形280是倾斜指针。当倾斜指针280与白色倾斜指示器294(如图2所示)对正时,飞机的机翼与人造地平线230完全平行。白色矩形滑/移指示符290位于倾斜指针280下方。当滑/移指示符290与倾斜指针280对正时,表明飞机正在协调飞行。当滑/移指示符290达到全位移时,它变为实心矩形。当倾斜角度在任何一个方向大于35°时,倾斜指针280和滑/移指示符290将从白色变为琥珀色。俯仰刻度尺260和人造地平线230可部分被飞机机翼和机鼻符号210l、210r和220所覆盖,并被倾斜刻度尺292(如俯仰标记293所示)和姿态显示视窗200的边界所截断,如图3所示。图3中未显示的其他符号包括俯仰限制指示器、飞行指导符和飞行路径矢量。图3显示,飞机向上仰起5°,并作出协调的右转,倾斜角度为右30°。状态指示器296表示自动驾驶仪命令模式已激活。
arinc661标准已广泛应用于驾驶舱显示系统(cds)和用户应用(ua)软件的设计。图4展示了arinc661规范的显示屏设计理念。根据arinc661规范,显示屏幕300可能有一个或多个非重叠矩形显示区域,称为窗口。如图4所示,显示屏幕300包含四个窗口304、306、308和310。窗口由cds拥有和管理。每个窗口可以有多个分离的或重叠的图层。如图4所示,窗口#2、306有三个图层312、314和316。每个图层都有一个图层id,并由某一个ua软件或cds拥有和管理。每个图层都分配有一个静态优先等级,用于定义其可见性的顺序。每个图层可以有多个图形用户界面对象,在arinc661规范中称为小部件。如图4所示,图层3包含两个图形用户界面对象,或小部件。它们是三角形320和文本字符串318。多个小部件可以分组在一起,并放置在一个容器小部件中,称为亲体小部件。如果移动或旋转一个亲体小部件,则容器中的所有小部件将同时被移动或旋转。每个小部件都有自己的小部件id和一组参数。一些常见的小部件参数是可见性(可见/不可见)、功能(启用/禁用)、x/y位置、x/y维度和颜色标识代码。每个参数也具有参数id。因此,cds可以通过窗口的名称、图层id、小部件id和参数id来标识每个参数。在运行时,ua更新自己的小部件的参数。
如上一节所述,cotsgpu通常不按照rtcado-254标准进行设计。它们可能包含数百万甚至数十亿个晶体管和数百个处理器内核。它们可能由于设计缺陷、外部事件或其他原因而失败。如果此类故障对任何安全关键型小部件的可见性、形状、位置或颜色产生影响,则可能会导致屏幕上显示危险的误导性信息。因此,系统必须验证每个安全关键对象(小部件),以便检测显示屏上潜在的危险误导性信息。系统还必须评估检测到的故障的可信性和严重性,以便及时采取措施,而不会触发错误的、不必要的和恼人的警报。
人们提出了若干种方案来检测显示器上故障。一种方法利用图像比较器来检查从一个主gpu生成的视频输出与一个监视gpu生成的视频输出之间的一致性。如果这两个视频输出之间的差别大于预定阈值,则检测到故障并激活警告信号。但是,如果两个gpu都是cots部件,则监视gpu发生故障的概率与主gpu发生故障的概率是相同的。因此,有50%检测到的故障可能是由监控硬件故障引起的误报。一个不必要的、烦人或虚假的警报会误导和分散驾驶员的注意力,而且其本身就可能会成为危险的误导性信息。
某些监控系统仅验证显示器的一个预先选择的可见或不可见小区域。如果这一选定区域渲染的正确,则整个视频显示输出将被视为可接受。然而,由于cotsgpu和相关内存设备的复杂性,人们很难假设gpu始终具有一致的性能和可预测的故障模式。某些故障可能只发生在图像的一部分,而不会影响图像的其他部分。因此,这种只测试一个小图像样本的策略可能使危险误导性信息无法被发现。
一些监控系统使用相同的gpu来生成视频输出图像和验证参考图像。由于这一共模设计,使得软件和制造故障会出现在同样的gpu和驱动软件中。除非上述验证参考图像的完整性得到了独立验证,否则此方法无法防止危险误导性信息被显示在所需要的概率级别。
一些监控系统执行简单的图像比较,以检测视频输出图像与验证参考图像的区别。如果图像差别超过阙值,将激活报警信号。然而,这种监测策略无法确定图像的哪个部分超差;它不能根据《联邦法规法典》第14章,第25部分,第25.1322(a)(1)节的要求“向机组人员提供所需的信息:(i)鉴别非正常操作或飞机系统状况,以及(ii)确定适当的操作(如果有)”。
如图3所示,许多图形对象动态地改变其位置。它们可能以不同的颜色显示,也可能被其他图形对象覆盖。为了正确识别和分析任何检测到的故障状况,一种能跟踪这些图形对象位置和可见性的方法成为需要。
技术实现要素:
本发明克服了现行技术相关的缺点,通过提供一个改进的完整性验证系统和必要的程序,来防止和检测安全关键型显示器上的危险误导性信息,以实现所需的安全目标。
本发明的冗余显示系统包括多个的计算机、图形处理单元、显示单元和基于对象的完整性验证系统。这些计算机通过通信网络互连,用于数据共享和运行状况检查。每台计算机接收多个传感器输入,并托管一个用户应用程序软件,用于生成至少一个图形命令序列。每个图形处理单元从至少一台计算机接收图形命令,用于渲染至少一个视频输出信号。每个显示单元至少显示一个,由至少一个图形处理单元渲染出来的视频输出。还有用于将图形命令从计算机传输到图形处理单元的命令链接,以及用于将视频输出从图形处理单元传输到显示单元的视频链接。每个基于对象的完整性验证系统都包含一个基于对象的完整性验证处理器,上述处理器可识别多个安全关键图形对象,监控视频输出信号中包含的每个安全关键图形对象的形状、位置和颜色,跟踪安全关键图形对象之间的可见性和重叠属性,检测和分析安全关键图形对象的故障,并通告检测到的故障。
本发明的一特征在于,提供冗余系统架构,以确保在单点故障情况下安全关键显示系统的可用性。
本发明的再一特征在于,提供系统级别的完整性验证流程,用于防止和检测安全关键显示器上的危险误导性信息,以实现需求的安全目标。
本发明的另一特征在于,提供了一种基于对象的完整性验证系统和流程,用于跟踪和验证描绘在安全关键显示器上的每一个安全关键图形对象的完整性,以检测图形处理单元产生的任何危险误导性信息。由于验证是在显示屏幕本身上执行的,并且监控所有安全关键图形对象,因此可确保检测到任何潜在的危险误导性信息。
本发明的又一特征在于,是提供使用编码方法,包括对象识别代码、单色参考id代码图像和基于页面的对象验证数据库,以跟踪显示屏上所描绘的每个安全关键图形对象的可见性、形状、位置和颜色信息。因此,即使显示屏中有重叠的多个图形对象,系统也可以精确定位有问题的图形对象。
本发明的又一特征在于,根据不同安全关键图形对象各自的关键性和特性,对它们使用不同的故障检测阈值。此功能可提高检测灵敏度并避免不必要的报警。
本发明的又一特征在于,提供有故障的图形对象的准确位置,以便提供适当的纠正措施。
本发明的又一特征在于,提供适当级别的警告显示,提供适当的纠正措施,并防止虚假、不必要、分散注意力和恼人的警报,来避免因对虚假警报做出反应而引发的危险的误导性后果。
本发明的又一特征在于,提供将图形处理单元和基于对象的验证系统集成到计算机之中。
本发明的又一特征在于,将图形处理单元和基于对象的验证系统集成在显示单元之中。
进一步的功能将在以下发明实施例的描述和所附的发明要求保护范围中变得更加明显。
附图说明
图1描绘了一个典型的商用飞机上的简化过的驾驶舱乘员站。
图2描述了一个具有基本t布局的典型的商业主飞行显示器。
图3描绘了当飞机作右转时,主飞行显示器上的典型的姿态指示器。
图4描述了arinc661标准的显示屏设计理念。
图5描述了本发明示范性的基于对象的完整性验证程序的流程图。
图6描绘了本发明示范性的基于对象的完整性验证系统的框图。
图7描绘了本发明示范性的驾驶舱显示系统的框图。
图8描绘了本发明的冗余驾驶舱显示系统的第一实施例的框图。
图9描述了本发明示范性的系统层次的完整性验证程序的流程图。
图10描述了本发明含有集成gpu和基于对象完整性验证系统的edu实施例的框图。
图11描绘了本发明冗余驾驶舱显示系统的第二实施例的框图。
图12描绘了本发明驾驶舱系统第二实施例中示范性edu的框图。
具体实施方式
本发明人提供了一种独特的方法和系统,用于防止和检测安全关键显示器上的危险误导性信息。此新系统集成了基于对象的完整性验证系统,用于监控显示器上所有的安全关键图形对象。以下示例用于介绍本发明的详细信息,并可描述本发明的多个实施例。
图5描述了本发明示范性的基于对象的完整性验证程序的流程图。基于对象的完整性验证程序330包括以下处理步骤。
如步骤332所示,第一步骤是选择多个安全关键图形对象(小部件)和要在视频帧中验证的矩形验证区域,验证区域涵盖要验证的视频帧的全部或一部,并包含所有选定的安全关键图形对象。参考图2和图3,比如验证区域可选为仅涵盖主显示屏100中的姿态指示器120。每个选定对象可能表示一个独别的功能,如姿态指示器200中的倾斜指针280或飞机鼻子的符号220。根据屏幕设计,某些对象可能仅有单一的颜色表示,如白色俯仰标记270;而其他物体可能包含多种颜色,如飞机机翼210l和210r的黑白颜色。
如果使用验证子步骤342t或342c,则必须同时选择验证区域内的所有图形对象,除非不选择的对象不会覆盖在任何其他被选择对象的上部。换句话说,如果取消一个选择对象,则必须取消选择它所覆盖的所有对象。这是为了正确表示对象的可见性和重叠属性。
如果使用验证子步骤342s,则可以在验证区内独立选择或取消选择任何对象。当使用验证子步骤342s时,可以为一个视频帧选择某一对象子集,也可以为下一个视频帧选择不同的对象子集。这是为了平衡核查工作量和总验证覆盖率。为了提供更快的错误检测时间,应选这样择对象子集,以便可以在0.1秒的时间里不少于一次地验证关键图形对象。由于典型的视频帧速率为每秒60帧,因此应该定期验证每个安全关键图形对象,每六(6)帧中至少验证一次。多个小部件可以组为一个对象,尤其是当它们在所有视频帧中保持不变的时候,例如倾斜刻度尺292。
第二步骤是为每个选定的安全关键图形对象分配一个唯一的非零对象标识(id)代码,如步骤334所示。根据屏幕中包含的安全关键图形对象的数量,id代码的大小可以是八(8)、十二(12)或十六(16)位宽。在验证子步骤342c中,如果需要将24位红、绿、蓝(rgb)数据和8位id代码数据放入常见的32位内存配置中时,则应首选八位id代码。
对象id代码零(0)保留给不被选择的对象。具有id代码为零(0)的对象不会被渲染,也不会在验证步骤342中被验证。建议将小的id代码分配给较低图像图层中的对象(远离观察人)和将大id代码分配给较高图像图层中的对象(更接近于观察人)。这样一来,id代码表示距离图像背景的高度信息。换句话说,id代码代表对象距离一个遥远背景的z-坐标。对象id代码可用来确定对象之间的可见性或重叠属性。id代码还可用作跟踪工具,以确保正确地显示每个关键图形对象。
如步骤336所示,第三步骤是为当前视频帧创建一个对象验证数据库。此数据库包括从一组中选出的多个参数,上述组包括顺序帧计数器,用于标识监视器屏幕上显示的当前视频帧;查找表,可以把至少每个非零对象标识代码映射到其相应的arinc661规范中定义的窗口编号、图层id和小部件id;包含有所有选定对象的验证区域的x-y坐标;每个对象中包含的像素总数;每个对象的几何边界;每个对象中包含的rgb或色相、饱和度、值(hsv)颜色的列表以及相应的颜色容差;每个线段图型对象的顶点x-y坐标列表;每个字母数字字符串对象的文本内容;与俯仰刻度尺有关的每个对象的像素平移和俯仰角度之间的换算关系;飞机的倾斜角度;滑/移屏幕偏移量;存储每个对象的中间和最终验证结果的内存结构;故障处理规则列表;预先计算的对象图像以及在不同旋转角度下的字体图案,用于模式匹配。还可以在验证数据库中增加其他信息,以满足处理过程的需求。
如步骤340所示,接下来要做的事情是渲染视频输出rgb图像。这可以通过基于定义文件(df)和基于arinc661规范的小部件库使用cotsgpu完成。渲染的图像可能包括抗锯齿、alpha混合和高频振动处理功能。在gpu的绘图缓冲区中嵌入顺序帧id号,用于检测可能发生的帧缓冲区交换失败。在相应视频帧的不可见区域(最好是垂直同步后区)中包括此顺序帧id号,用于检测冻结屏幕故障。在每个视频行的末尾嵌入错误检测代码,如循环冗余检查(crc)代码。上述错误检测代码分别计算每个颜色图层,并嵌入图像的水平消隐期间。步骤332中选择的验证区域和对象以及步骤334中分配的id代码对输出rgb图像没有影响。
下一步是扫描和验证输出rgb图像,如步骤342所示。步骤342包括三个可选子步骤,包括步骤342s、步骤342t和步骤342c。根据显示图像的复杂程度和可用系统资源的多少,一次只需要一个验证子步骤。验证子步骤342t利用一个单通道参考id代码图像来区别和识别输出rgb图像中的对象,适用于大多数pfd显示屏幕。验证子步骤342c使用四通道rgb+id参考图像,最适合具有更多符号、更多颜色内容和视频背景(如相机图像或合成视觉背景)的复杂pfd显示屏。验证子步骤342s可用于验证具有较少选定对象和较少重叠图层的简单显示屏幕。验证子步骤342s不需要额外的图形引擎支持。因此,在子步骤342t或342c监视器硬件发生故障的情况下,验证子步骤342s可用作备份验证过程。
验证子步骤342s的第一个任务是从输出rgb图像的不可见垂直同步后区中提取嵌入的帧id号。如果帧id号与验证数据库中存储的帧计数器值不匹配,则检测到帧错误;同时验证子步骤342s将中止。
验证子步骤342s的第二个任务是在输出rgb图像中按行扫描并验证crc代码。在验证区域内,根据像素rgb或hsv值将每条视频线分隔成连接的线段。每个线段的颜色内容以及起始和结束像素坐标值被记录在验证数据库的内存结构中。扫描视频线后,将处理并确定当前视频线与前一行之间的线段连接。在验证区域的末尾,确定验证区中的所有线段及其连接性。
验证子步骤342s的第三个任务是根据存储在验证数据库中的颜色、顶点坐标、形状和几何边界信息定位每个对象。如果验证数据库中有预先存储的对象图像和字符字体,则可以使用图像处理和模式识别方法定位验证区域中的每个对象。识别对象后,扫描的线段信息会根据相应的对象id代码进行排序并存储在内存结构中。
验证子步骤342s的第四个任务是验证线图对象的颜色、位置、旋转角度、连通性以及字母数字对象的颜色、位置、旋转角度和文本内容。例如,对验证俯仰刻度尺中的每个阶梯,要验证其颜色、顶点坐标和两个顶点之间的像素位置。上述阶梯的旋转角度和中心位置也会根据验证数据库中存储的数据进行验证。俯仰刻度标记也验证标记的正确性。通过比较机鼻符号220的位置与俯仰刻度尺260的位置之间的关系来验证俯仰角度。如果是根据对象的高度来分配对象id代码的,则可以使用id代码来验证对象之间的重叠性。
在验证子步骤342t中,第一个任务是渲染一个单通道单色参考id代码图像。参考id代码图像的x-y坐标尺度可以与输出rgb图像的可见区域一样大,也可以与验证数据库中指定的验证区域一样小。此参考id代码图像的像素深度可以是八(8)、十二(12)或十六(16)位,具体取决于验证区域中包含的最多的对象数。在生成此参考id代码图像时,首先用零(0)值将绘图区域清零,然后使用它的id代码作为它的颜色成分来绘制每个选定的对象。绘制顺序对于保持与输出rgb图像相同的可见性优先级非常重要。如果对象id代码是根据步骤334中的对象图层的高度(即较小的id码对映下部对象图层,较大id码对映上部对象图层)来分配的,则必须根据一个“低层对象先画”的绘图顺序,先绘制具有较小id代码的对象。在绘图过程中,必须禁用抗锯齿、alpha混合和高频振动功能。因此,较低层中对象的id代码将被较高层中重叠对象的id代码所替换。此参考id代码图像表示在输出rgb图像中所有选定对象的形状、位置和重叠优先级别。此参考id代码图像可以由生成输出rgb图像的同一个cotsgpu、不同的cotsgpu、中央处理器或经do-254认证的ceh设备渲染。错误检测代码(如crc代码)可以嵌入在id代码图像的每个水平消隐期间。
验证子步骤342t的第二个任务是从输出rgb图像的不可见垂直同步后区中提取和验证嵌入的帧id号。如果帧id号与验证数据库中存储的帧计数器值不匹配,则检测到帧错误;验证子步骤342t将被中止。
验证子步骤342t的第三个任务是扫描输出rgb和id代码图像,并按逐行方式来验证其错误检测代码。
验证子步骤342t的第四个任务是根据验证区域上同一x-y坐标上的id码对rgb像素值进行分类。与相同id代码关联的rgb像素由一个事件计数程序(如直方图)处理,以基于此特定对象id的验证数据库中列出的颜色区间来计算颜色分布。如果检测到容差异常的rgb像素,它将被积累在直方图中的带外颜色区间中。作为一个选项,rgb值可以在直方图程序处理之前转换为hsv值。如果id代码图像是由生成输出rgb图像的同一个cotsgpu生成的,则要验证id代码图像的完整性。扫描并定位id代码视频行中对象的每个线段的位置。每个线段的视频行号(y坐标)以及起始和结束像素的x坐标要记录在验证数据库中每个id代码的内存结构中。此过程将重复于每条视频行。在验证区域的末尾,所有对象都根据其id代码进行排序。
验证子步骤342t的第五个任务是验证直方图的结果,以验证输出rgb图像中每个对象的颜色,以及id码图像中每个对象的形状和位置。检查直方图程序的结果,以确定每个对象id代码的每个预期颜色的累积像素数是否都在容差范围内。
审查id代码线段及其相邻视频线之间的连接,以确定每个对象的形状、大小和位置是否在每个对象id代码的容差范围内。例如,对俯仰刻度尺的每个阶梯进行验证,以验证其颜色、顶点坐标、旋转角度和两个顶点之间的像素位置。每个俯仰标记也要验证其位置、旋转角度和数字内容。由于rgb输出图像和id代码图像是由相同的cotsgpu生成的,上述验证过程是需要的以便防止它们共同的故障模式。
如果上述参考id代码图像是由不同的cotsgpu或由经do-254级别c或更高认证级别的硬件设备渲染的,则仅需对未通过直方图测试的对象进行上述id代码图像完整性验证。这是为了验证检测到的故障不是由参考id代码图像中的故障引起的。有关子步骤342t的更详细的操作将在图6中描述。
在验证子步骤342c中,第一个任务是渲染一个四通道参考rgb+id代码图像。上述参考rgb+id代码图像的x-y尺寸可以与输出rgb图像的可见区域一样大,也可以与验证数据库中定义的验证区域一样小。三个参考rgb通道的像素深度与输出rgb图像的像素深度相同。上述参考id代码图像像素深度可以是八(8)、十二(12)或十六(16)位。如果上述四通道rgb+id参考图像要用于标准的32位内存配置,则首选八(8)位id代码。参考图像中的三个参考rgb通道的渲染方式必须与生成输出rgb图像的渲染方式相同,并且具有相同设置的抗锯齿、alpha混合和高频振动功能。
参考id代码图像是先用零(0)值对的绘图区域进行清零,然后使用其id代码作为它的颜色成分绘制每个选定对象来生成的。
绘图次序对于保持与参考rgb通道的可见性优先级别的一致性是非常重要。如果上述对象id代码是根据对象图层的高度在步骤334中分配的(较低对象图层中的对象有较小id代码,以及较高对象图层中的对象有较大id代码),则必须按照“低层对象先画”的绘图次序先绘制具有较小id代码的对象。在绘图过程中,必须禁用抗锯齿、alpha混合和高频振动特征。因此,较低对象图层的id代码将被覆盖着的较高对象图层的id代码所替代。此参考id代码图像表示所有选定对象的形状、位置和重叠优先级。
最好能够使用一个单独的验证cotsgpu来生成此参考rgb图像,并使用相同的验证cotsgpu或一个通过do-254认证的ceh设备来生成上述参考id代码图像。
验证子步骤342c的第二个任务是从rgb输出图像的不可见垂直同步后区中提取和验证嵌入帧id号。如果帧id号与验证数据库中存储的帧计数器值不匹配,则检测到帧错误。验证子步骤342c将中止。
验证子步骤342c的第三个任务是扫描参考rgb+id代码图像,验证错误检测代码,将图像保存到内存中供以后使用。
验证子步骤342c的第四个任务是在验证区域上,一个像素一个像素地比较输出rgb图像和参考rgb图像。
验证子步骤342c的第五个任务是根据参考id代码对上述差异图像进行分组,并为每个参考id代码的色差进行单独的直方图处理。
验证子步骤342c的第六个任务是验证图像之间的颜色差异,以及每个选定对象的形状和位置。检查每个对象的差值图像的直方图。如果所有对象的颜色差异都在容差范围内,就没有检测到任何故障。否则,保存在上述第三个任务中的参考rgb+id代码图像将从内存中取出。如果id代码图像不是由do-254级别b或更高认证级别的硬件设备生成的,则将在id代码图像上进行模式识别处理,来检查每个失败对象的形状、大小和位置是否生成的正确。如果id代码图像生成正确或是由do-254级别b或更高认证级别的硬件生成的,则每个失败对象都将进行两个直方图处理,一个在参考图像上,另一个在输出rgb图像上。将两个直方图的结果与存储在验证数据库中的预期值进行比较,以确定哪个图像超差。
验证步骤342的结果在步骤346中评估。根据验证步骤342中使用的子步骤,可能的故障包括从一个组中选择的失败模式,上述组包括失败的参考id代码图像、失败的rgb参考图像、失败的rgb输出图像或颜色差直方图的容差设置不当等等。通过应用验证数据库中列出的故障处理规则,可以识别出真正的故障。
将在步骤348中作出决定。如果未检测到任何故障,进程将转移到步骤352,否则进程将转移到步骤350。
在步骤350中,根据故障情况的严重程度,故障持续的时间以及飞行环境对故障状况进行分类。原始的显示窗口id、图层id、对象id和参数id可以根据失败对象的id代码从验证数据库中查出。因此,可以确定此故障与滚动、俯仰和滑/移参数相关的影响性和严重性。可以及时启动正确的警告信号(如警告、警钟或小心)来提醒驾驶员故障位置和状况的详细情况。也可以根据飞机的程序向飞行员提供适当的纠正措施。
在步骤352中,设置好了为下一个视频帧的处理程序。如果当前步骤未检测到任何故障,则下一个视频帧将重复相同的验证过程。如果故障条件是由失败的参考id/rgb图像触发的,则有可能使用备份验证子步骤来验证后续的视频帧。将启动计时器或计数器以监视故障条件的持续时间。在步骤352结束时,过程控制将转移到步骤332,用于下一个视频帧。
由于此完整性验证程序330是基于对象的,它可以根据不同对象的关键性和特征设置不同的检测阈值。因此,它可以有效地检测到发生在较小的安全关键图形对象上仅仅几个像素的故障,例如飞机鼻符号220。它还可以防止从低优先级别部件上触发不必要的报警,例如在大面积棕色地球符号250上由于高频振动效果导致的颜色均匀性。因此,完整性验证程序330可以有效地检测到危险误导性信息,以实现验证机构设定的所需安全目标。程序330还可以防止和检测监控硬件中的故障。这可确保显示由监控硬件故障导致的误导性信息的概率也符合证书颁发机构设定的要求的安全目标。因此,它可防止飞行员在处理虚惊警报时引发危险的误导性后果。
验证步骤342包含三个监视硬件体系结构。如果子步骤342c中的监视硬件系统发生了故障,则验证子步骤342t或342s可作为备份。这是非常有价值的,尤其是当回归方案因为缺乏第二个显示单元而不能被实施时。
图6显示了具有示范性的基于对象的完整性验证系统400的框图。如图5所示,本系统采用基于对象的完整性验证程序330和验证子步骤342t。此验证系统是围绕着可认证的ceh硬件平台构建的,上述平台使用具有集成处理器(如xilinxzynq-7000)或任何其他合适的现场可编程门阵列(fpga)设备。基于对象的完整性验证处理器450、rgb缓冲器、crc检查器和彩色空间转换器415以及三重直方图处理器420都可以在同一选定的fpga设备中实现。参考图像缓冲器440和验证内存470可以使用所选fpga支持的内存设备来实现。
基于对象的完整性验证处理器450从外部主机处理器(图6中未显示)接收到控制和数据信息460。按照过程步骤332,验证处理器450在要验证的视频帧中选择对象和验证区域;并按照流程步骤334分配id代码。对象验证数据库495是按照流程步骤336创建的,并存储在验证内存470中。
验证处理器450用来渲染参考id代码图像。尽管市场上有具有嵌入式gpu引擎的fpga,但建议首选使用硬核cpu或fpga逻辑单元来渲染id代码图像,以减少认证工作量并降低成本。
首选验证位于同一视频帧内验证区域中所有对象,如整个姿态显示器。还倾向于以每个对象仅包含一种标称颜色的方式定义对象。例如,机翼符号210l可以拆分为一个黑色内对象和一个白色外部对象,以便每个对象仅包含一种标称颜色。如果需要同时验证的对象太多,可以使用12位或16位id代码。根据距离远背景的距离,将id代码分配给每个选定对象。蓝天240和棕色地面250更接近遥远的背景,因此,它们应该得到较小的id号。飞机机翼符号210l和210r,机鼻符号220和倾斜刻度尺292在俯仰刻度尺260的上方,应给予更大的id代号。还有其他符号可以覆盖在机翼符号的上方,如飞行指导(未显示)。因此,应该为这些对象保留一些id号。其他详细信息,请参阅步骤332和步骤334。
验证处理器450通过验证内存控制和数据总线492来更新验证数据库495,根据步骤336对视频帧进行验证。如果id代码图像是由具有所要求的设计保证级别(dal)的级别(如b或a)的ceh硬件渲染,则无需在以下验证过程中验证id代码图像的完整性。验证数据库495包括从一个组中选择的参数,上述组包含顺序帧计数器来表示嵌入在视频帧中的帧序列号;用于检索每个对象定义文件中的相应窗口、图层和小部件id的查找表;验证区的x-y坐标;每个对象中包含的标称hsv颜色和相关容差的列表;在输出rgb图像410中在抗锯齿或高频振动操作中可能产生的hsv明暗层次颜色列表,以及相关的容差;在输出rgb图像410中,在alpha混合操作时,由于每个对象在叠加或被叠加时可能产生的hsv混合颜色列表;以及故障处理规则的列表。其他详细信息,请参阅步骤336。
外部gpu根据验证步骤340来渲染输出rgb图像410。
作为示例,验证子步骤342t被选为此实现。此示例验证处理器450根据子步骤342t中描述的第一个任务来渲染单色id代码参考图像。应首先绘制id号较小的对象。例如,对于姿态指示器200,应先绘制蓝天240和棕色地面250,然后绘制人造地平线230,然后绘制俯仰刻度尺260、俯仰标记270、倾斜指针280和滑/移指示符290。倾斜刻度尺292、倾斜指标器294、两翼符号210l和210r、和机鼻符号220应该是在画图序列中的最后一批对象。对象编号应用作绘图操作的颜色成分,而不进行抗锯、alpha混合或颜色高频振动操作。id代码图像本质上是二进制的。因此,如果对象在此像素上的覆盖百分比小于某一预定的阈值(如50%),则上述像素将不被着色。此阈值越大,在顶层对象中检测到的颜色混合误差就将越小,而在底部被叠加的对象中检测到的颜色混合误差就将越大。剪裁属性也需要解决,以便俯仰刻度尺的延伸部分不会干扰倾斜刻度尺,如图3所示的俯仰标记293。完成的参考id代码图像通过参考图像控制数据总线490存储在参考图像缓冲器440中。
输出rgb图像是由一个外部cotsgpu渲染的(图6中未显示)。输出rgb图像的垂直同步后区中嵌入顺序帧id号,水平空白期间中嵌入行错误检测代码crc。输出rgb图像发送到显示设备以与飞行员沟通。此输出rgb图像也循环回到完整性验证处理器系统400。此rgb图像410存储在rgb缓冲器、crc检查器和颜色空间转换器415中的一个临时rgb缓冲区中。在上述处嵌入的顺序帧id号被取出来,以检测可能的冻结屏幕故障。crc代码也在每条视频线计算出来,并和存储在水平消隐区域中的crc值进行验证,以确保接收的rgb图像410被正确地传输。crc代码在整个视频帧中进行验证,与所选验证区域的大小无关。然后将rgb数据转换为hsv数据进行处理,因为hsv颜色空间比rgb颜色空间能更好地表示人类视觉。顺序帧id号和crc校验结果通过数据总线435报告给验证处理器450。
除非检测到错误的帧序列id号,否则验证处理器450会生成时间信号438,来扫描和分析从功能块415中的颜色空间转换器生成的hsv输出信号430。在验证区域内,三重直方图处理器420根据从参考图像缓冲区440收到的参考id代码425对hsv信号430进行分类。三重直方图处理器420通过三重直方图处理器的控制/数据总线475在直方图数据库482中更新并保存直方图程序的中间事件计数结果。直方图数据库482包含一个分页结构,其中每个页面仅用于存储一个对象id的直方图。例如,在8位id代码模式下,直方图页480用于存储对象id代码为255的所有像素的直方图;而直方图页485用于存储对象id代码为2的所有像素的直方图。每个直方图页包含验证数据库中指明的多个标称、明暗层次和混合hsv颜色。每个直方图页还包括多个颜色组。对象中包含的每个标称颜色和每个明暗层次颜色都有一个组。还有一个混合颜色组用于在alpha混合操作中可能生成的颜色,以及一个附加组用于超容差颜色。当三重直方图处理器420收到一个新的hsv值430时,参考id代码425被作为索引来选择其对应的直方图页面。如果此hsv值在选定页面中标称颜色组或明暗层次颜色组的容差范围内,则相应颜色组的计数器将增加1。否则,如果hsv值可以解释为标称颜色和某一混合颜色之间的正确混合颜色时,则混合颜色组的计数器将增加1。如果此hsv值不属于上述任何颜色组,则超差组的计数器将增加1。此超差hsv值以及上述像素的x-y坐标将保存在所选直方图页面的单独区域中,供以后评估使用。
扫描整个验证区后,上述验证过程完成。如果所有标称、明暗层次和混合颜色组的像素计数与预期相符,并且没有从任何选定对象中检测到的超差像素,那么当前视频帧将被视为可以接受(除非在其他区域检测到crc错误)。否则,就必须检查结果,以确定此故障情况的原因和影响。基于存储在验证数据库中的故障处理规则,即可采取正确的措施。
由于id码图像是经dalb级或a级验证过的ceh设备生成的,因此可确保显示危险误导性信息的概率是在1×10-7数量级或更低。此外,由于没有使用抗锯齿、alpha混合或高频振动等功能来渲染参考id代码图像,因此降低了认证的成本和工作量。
虽然基于对象的完整性验证系统400主要是在dalb级或更高认证级别的ceh设备的基础上进行设计,但验证系统400也可以支持其他配置,如验证程序330所述。例如,如果id代码图像仅在dal级别c(失败率为1×10-5或更少)上进行了认证,则必须验证id图像中未通过直方图测试的对象的完整性。例如,如果人造地平线230失败了,则将在id图像中验证其顶点位置和线段角度。有关详细信息,请参阅子步骤342t中的说明。这一个附加id代码图像完整性验证操作应在dal级别b或更高的级别上进行认证,以确保由于监控系统硬件故障而导致误报警率是1×10-7或更少。如果id代码图像验证操作是在dal级别b或更高级别进行认证的,则子步骤324c中使用的rgb参考图像可由在dal认证级别c的gpu上渲染。这就减少了认证的工作量,特别是当基于对象的完整性验证处理器450已经包含gpu时(如xilinxzynq-mpsoc)。根据系统体系结构,可以选择将渲染id代码图像的处理过程,或者将验证id代码图像的处理过程,在dal级别b或更高级别上进行验证。这是为了确保误报警率能够达到所要求的1×10-7或更少的安全目标。
如前几节所述,驾驶舱显示系统必须包括结构上的缓解措施,以确保防止显示有害误导性信息。尽管上述基于对象的验证程序可以有效地检测与cotsgpu相关的故障,但还有其他故障源也可能导致显示危险误导性信息。这些故障源包括传感器故障、用户应用程序向显示系统发送了错误的图形命令,以及用户界面上的错误的键盘输入。图7显示了本发明的一个示范实例的功能框图,其中包括了防止在驾驶舱显示屏上显示有害误导性信息的结构上的缓解措施。
如图7所示,本发明的示范驾驶舱显示系统500包括一个传感器输入和空气数据计算机(adc)功能块505、一个中央处理器单元(cpu)功能块515、一个gpu功能块540和一个显示器和键盘功能块560。
传感器数据输入和adc功能块505包括由adc来处理的空速、高度、空气温度、垂直速度、迎角和气压传感器等信号源;以及来自从姿态和航向参考系统(ahrs未显示)的转向协调器,航向指示器和姿态指标器的信息。机长和副驾驶各自使用独立和冗余的传感器。传感器输入功能块505还包括导航和发动机的信息。传感器输入和adc功能块505通过冗余的传感器通讯通道510与cpu功能块515进行通信。传感器通讯通道510是用从一个组中选择出来的合适协议来实现的,上述组包含arinc429、arinc629、mil-std-1553、arinc664和其他协议。
cpu功能块515包括一个传感器接口和验证部分520,用于接收和验证传感器输入数据。如果检测到传感器故障,上述传感器接口和验证部分520将自动切换到一个工作的传感器源并通告此纠正措施。这样可以防止驾驶舱显示屏上显示危险的误导性传感器信息。cpu功能块515还托管一个cpu和用户应用程序(ua)软件部分530。ua根据从传感器接口和验证部分520传来的选择好的传感器输入525来生成图形命令。在530功能块中的用户应用软件优先选用基于arinc661或类似的规范来实现。cpu功能块515通过cpu通信链接535与gpu功能块540通信,上述链接使用从包含arinc629、mil-std-1553、arinc664等协议的组中选择出来的协议来实现。功能块530中的ua还负责处理从cpu通信链接535接收的用户输入和状态报告。
gpu功能块540包括一个本地cpu和gpu单元545和一个本发明的基于对象的验证过程单元550。单元545中的本地cpu监视通过cpu通信链接535接收到的图形命令,并在图形命令缺失、不一致或无效时向驾驶员发出警报。它还执行内置测试(bit),并验证从显示器和键盘功能块560接收到的驾驶员的输入信号。单元545中的gpu根据经过验证的图形命令来渲染屏幕显示。位于单元545中gpu的视频输出通过视频和通信链接555发送到显示和键盘功能块560,上述链接使用从一个组中选择的协议来实现,上述组包扩lvds、dvi、hdmi、displayport、panellink、rs232、rs422等协议。错误检测代码(如crc)被嵌入在视频输出中以进行完整性验证。
从单元545的gpu中生成的视频输出也通过验证数据总线546传送到本发明的基于对象的验证处理单元550来检查图像的完整性。在单元545中的gpu渲染出来的视频帧参数和多个安全关键图形对象,经过验证以便检测任何图像故障,比如图像冻结、安全关键图形对象的形状、大小、颜色、定向和可读性问题。根据图形对象的关键程度、故障的严重性、故障持续的时间和飞行状况来对检测到的故障进行分类。基于对象的验证处理程序550决定需要的警报级别,例如警告、小心和建议。本发明的基于对象的验证过程550旨在检测有害误导性信息,而不会触发虚假、不必要、分散注意力和恼人的警报。
显示器和键盘功能块560包括平板显示器和用户输入设备,如键盘或触摸设备。显示器和键盘功能块560可能包含用于处理接收对的图像的小型临时内存缓冲区,但不包含一个的完整帧缓冲区,以防止可能发生的帧冻结的问题。其他显示故障,比如在功能块560的显示装置里发生的显示屏幕丢失或显示抖动等故障,可以很容易地被驾驶员识别,也将不列为误导性信息。
根据系统架构,gpu功能块540可以与电子显示单元(edu)中的显示和键盘功能块560集成在一起,也可以与飞行管理系统(如集成模块化航电(ima)计算机或任务计算机)中的cpu功能块515集成在一起。
图8显示了本发明的第一个冗余系统实施例。此例把gpu功能块集成到显示单元中。驾驶舱显示系统600包括四个基本相同的电子显示单元(edu)602、604、606和608。每个edu都有一个内置的gpu和一个如图6所示的本发明的基于对象的验证系统。edu602和604由机长使用,而edu606和608由副驾驶使用。在正常工作条件下,edu602和608用于pfd功能;而edu604和606用于导航和mfd功能。由于这四个edu基本相同,因此如果edu602和608不可用,那么edu604和606就可用于pfd功能。
为冗余的目的,驾驶舱显示系统600包括两台独立的ima计算机650和660,以及两个独立的命令/数据总线670和680。命令/数据链接672、674、676、678和679分别将四个edu602、604、606、608和ima计算机650连接到命令/数据总线670。命令/数据链接682、684、686、688和689分别将四个edu602、604、606、608和ima计算机660连接到命令/数据总线680。命令/数据总线670和680使用从一个包含arinc429、arinc629、arinc664、mil-std-1553或其他适当协议的组中选择出来的协议来实现。每个ima计算机650和660都有两个独立的传感器输入源692和694。每个独立的传感器输入源692和694由一组传感器输入组成。这些传感器输入选自一组,上述组中包括空速、高度、空气温度、垂直速度、迎角、气压、转弯协调器、航向指示器、姿态指示器、导航、发动机数据和其他飞机信息。每个传感器输入源还包括双冗余或三重冗余传感器。每台ima计算机选择一个传感器源作为其默认输入源。ima计算机通信链接690连接在ima计算机650和660之间,用于数据共享和运行状况检查。通信链接690使用arinc664或其他合适的通信协议实现。两个独立的冗余电源696和698分别用于为ima计算机650和660供电。
每台ima计算机650和660都托管一个用户应用程序(ua)软件。基于所选的传感器输入源,上述ua软件为每个edu生成图形命令。上述ua软件使用arinc661或其他合适的协议来实现。
此冗余驾驶舱显示系统实施例600旨在耐受单点故障。例如,如果传感器输入源692发生故障,ima计算机650将从传感器源694获取所需的传感器信息。如果ima计算机650或关联的命令/数据链接679发生故障,所有四个edu602、604、606和608将由ima计算机660通过命令/数据总线680驱动。如果edu602失败,pfd屏幕将通过回归方案显示在附近的edu604上。
此冗余驾驶舱显示系统实施例600也旨在检测和防止在edu上显示危险误导性信息。图9显示了为驾驶舱显示系统600设置的本发明的一个示范性系统级别的完整性验证程序的流程图。
示范性系统级别的完整性验证程序700是一种系统化方法。它用于检测和防止危险误导性信息,并在ima计算机和edu两端同时实施。
如步骤720所示,在ima计算机650和660中验证了传感器输入源的完整性。这包括验证传感器数据范围、过时性和相同类型的传感器之间的一致性。多数投票方法也可用于三重冗余传感器系统。如果检测到传感器数据缺失、不一致或无效,如步骤722所示,ima计算机将切换到备用传感器源,并相应地通告此故障情况,如步骤724所示。
在每个edu内部,完整性验证程序包括三个相关过程。如步骤730所示,评估并比较从ima计算机650和660收到的图形命令。如果所选图形命令源缺失、不一致或无效,如步骤732所示,edu将切换到备用命令源,并通告此故障条件,如步骤734所示。如果适用的话,edu还验证来自键盘和触摸屏的本地用户输入的完整性,如步骤740所示。edu监控本地用户输入,以检测步骤742中所示的不一致(如过度抖动)或无效(如过长时间的开关弹跳)输入。如果检测到故障,edu将防止任何可能造成危险误导动作的操作(如快速更改高光显示的开关选择),并将故障报告给ua软件,如步骤744所示。
在验证图形命令和本地输入之后,edu渲染屏幕显示。本发明的基于对象的验证程序用于验证视频输出的完整性,如步骤750所示。edu监控视频输出的故障状况,如冻结帧或不正确的安全关键图形对象,如步骤752所示。检测到的故障状况根据图形对象的关键性、故障的严重性和持续时间进行分类,以确定正确的报警级别,如警告、小心和建议,如步骤754所示。这是为捕捉真正的危险误导信息,避免虚假,不必要和恼人的警报。有关本发明基于对象的验证程序的更多详细信息,请参阅图5和图6。
图10显示了电子显示单元(edu)800实施例的框图。edu800详细介绍了图8所示的edu602、604、606和608。edu800包括两个命令/数据端口810和812。命令/数据端口#1(810)连接到命令数据总线670,并由ima计算机650驱动,如图8所示。命令/数据端口#2(812)连接到命令数据总线680,并由ima计算机660驱动。如图8所示,每个ima计算机650和660都托管一个arinc661用户应用程序(ua)软件。此ua软件根据arinc661协议向edu发送图形命令,并管理在edu键盘上接收的驾驶员的输入。
如图10所示,从端口810和812接收的图形命令由命令和输入验证功能块804进行验证,以检测任何缺失、不一致或无效的图形命令。功能块804也显示为图9中的步骤732。命令和输入验证功能块804还验证从键盘802接收的键盘输入826,以检测任何不一致或无效的键盘输入。此功能也显示为图9中的步骤742。有效的键盘输入事件将转发给负责的ua进行处理。
如图10所示,命令和输入验证功能块804将经过验证的命令和键盘输入828传递到edu处理器806。edu数据总线830用于将系统组件连接在一起。
如果驾驶舱显示系统是按照arinc661协议设计的,则edu处理器806会根据图形用户界面(gui)屏幕定义文件(df)和存储在系统内存808中的图形库来配置显示屏幕。基于df文件,edu处理器806生成验证数据库,并将其发送到基于对象的完整性验证处理器816。然后,验证数据库存储在验证内存814中。
在运行时,edu处理器806给gpu818发送图形绘图命令,以便根据验证过的命令和键盘输入828在视频内存820中渲染显示输出。edu处理器806还将图形绘图命令发送到基于对象的完整性验证处理器816,以渲染所需的参考图像,如图6所示的参考id代码图像425。视频输出图像822发送到lcd面板824进行显示。视频输出822也循环回到基于对象的完整性验证处理器816。基于对象的完整性验证处理器816使用图5中描述的验证程序以及存储在验证存储器814中的验证数据库来验证任何无效的视频帧或有故障的安全关键图形对象,以验证视频输出822。此过程也显示为图9的步骤752。
图11显示了本发明的第二个冗余系统实施例,将gpu功能块集成到ima计算机中。驾驶舱显示系统900包括四个基本相同的电子显示单元(edu)902、904、906和908,以及两台独立的集成模块化航电(ima)计算机950和960。每台ima计算机950和960,由多个cpu、gpu、用户应用程序(ua)软件和本发明的基于对象的完整性验证系统组成。每台ima计算机950和960都有两个独立的传感器输入源992和994。每个输入源992和994由一组传感器输入组成,这些传感器输入选自一个组,组中包括空速、高度、空气温度、垂直速度、迎角、气压、转弯协调器、航向指示器、姿态指示器、导航、发动机数据和其他飞机信息。每个传感器输入源还包括双冗余或三重冗余传感器。每台ima计算机选择一个传感器源作为默认输入源。在ima计算机950和960之间设有通信链接990用于数据共享和运行状况检查。通信链接990使用arinc664或其他合适的通信协议来实现。两个独立的冗余电源996和998分别用于为ima计算机950和960供电。
两台ima计算机950和960各有多个视频/通信链接。视频/通信链接912、914、916和918分别将ima计算机950连接到edu902、904、906和908。视频/通信链接922、924、926和928分别将ima计算机960连接到edu902、904、906和908。每个视频/通信链接都包括一个单向的视频通道和一个双向的通信通道。单向的视频通道将显示图像从ima计算机传输到edu,并可使用arinc818光纤、dvi屏蔽双绞线、3ghdsdi同轴电缆或任何其他合适的协议来实现。显示图像嵌入错误检测方法,如顺序帧计数器和crc代码,用于传输完整性验证。双向通信通道将命令从ima计算机发送到edu,并将飞行员的输入和显示器状态从edu返回到ima计算机。
这种冗余驾驶舱显示系统实施例900旨在耐受单点故障。例如,如果传感器输入源992发生故障,则ima计算机950将从传感器源994获取所需的传感器信息。如果ima计算机950发生故障,则所有四个edu902、904、906和908将由ima计算机960驱动。在正常工作条件下,edu902和908用于pfd功能;而edu904和906用于导航和mfd功能。由于这四个edu基本相同,因此,如果edu902和908不可用,则edu904和906可以通过回归方案用于pfd功能。
图12展示了显示系统900中示范性的edu的框图。edu1000包括本地处理器和lcd控制器功能块1004、键盘功能块1018、lcd面板功能块1006和视频输入和通信接口功能块1002。视频输入和通信接口1002具有两个视频/通讯端口1010和1012。这两个端口中的每一个都包括一个单向视频输入链接和一个双向通信链接。如图11所示,每个端口都连接到一台ima计算机。
功能块1004中的本地处理器选择其中一个端口作为其主要输入和输出端口。功能块1002中的视频输入部分,如果适用的话,提供从光纤到铜线信号的转换,并通过数据链接1014将数字视频信号发送到功能块1004。功能块1004中的本地处理器使用嵌入式顺序帧计数器和crc代码来验证主视频输入信号的信号完整性。如果主视频输入丢失或无效,将激活第二个视频输入通道,并将向驾驶员发出通报。经过验证的视频输入则被传递给功能块1004中的lcd控制器,那里视频信号被格式化,以便可以显示在lcd面板1006上。格式化的视频和lcd定时信号通过视频链接1016发送到lcd面板1006。
功能块1004中的本地处理器读取和去弹开关输入,并更新键盘1018的指示器输出。功能块1004中的本地处理器还管理本地内置测试(bit)以监视edu1000的状态。键盘输入和edu状态报告回关联的ima计算机。
虽然在优选实施例中使用了飞机、pfd、姿态指示器、ima计算机、arinc661协议和zynqfpga等描述,但应当理解,这些只是示例,而不是限制。上述详细描述仅供读者明白理解,不应理解不必要的限制,因为修改对本领域技术人员来说是显而易见的。熟练的技术人员也会明显地发现,上述实施例是单一更广泛发明的具体例子,其范围可能大于所教授的任何单一描述。虽然可以对本说明进行许多改更,但都不偏离本发明的精神和范围。