少两个核心6-9所共享的存储器11 ;以及管理器13,连接到对称 多处理器14,并且配置成组织检查/诊断安全关键系统的至少诊断应用12对至少两个核心 6-9的访问。在使用期间,诊断应用12配置成从/向共享存储器11进行读取/写入,以及 管理器13配置成仅从共享存储器11进行读取。
[0031] 安全关键系统、特别是工业机器人配备有多核处理器布置的健康检查模块,其运 行诊断功能等等,其能够全动态运行,以检查安全关键系统的所有安全关键组件。健康检查 模块提供安全关键系统的实际健康状态,并且促成工业安全系统中的高安全性和可用性。
[0032] 在本发明的这个第一实施例中,第一应用2是包括OS的安全应用,以及第二应用 3也是包括OS的安全应用。第三应用12是具有包括OS的诊断的健康检查模块,以及第四 应用5是包括OS的另一个应用。对称多处理器14具有第一核心6、第二核心7、第三核心 8和第四核心9,其全部是相同核心并且共享同一内置存储器11。
[0033] 安全和非安全应用均将运行于同一系统但是完全分离,使得安全功能性没有受到 损害。只有健康检查模块12才具有对存储器11的写访问。按照安全标准、例如IEC61508, 必须证明,非安全应用不能以使得安全功能性被阻碍的方式影响安全功能,以便正确运行。 这能够通过空间的分离(例如安全和非安全应用的分离存储器)或者时间的分离(例如安 全数据作为分组通过总线发送并且此后非安全数据通过同一总线发送)。
[0034] 为了阻止安全关键系统不必要的失误,管理器13优选地配置成为健康检查模块 的诊断应用12提供对多处理器布置14的优先化访问。在安全关键系统例如不能诊断它在 预设时间段中正监测的组件/资源的情况下,安全关键系统将失误。但是,通过使健康检查 模块利用对安全关键系统的资源的优先化访问的可能性,健康检查模块将能够忽略运行的 其他应用,以及安全关键系统的不必要失误的可能性降低。有利地,健康检查模块仅在需要 时才利用其优先化访问,以使系统不失误。
[0035] 当例如软差错已经发生时,例如如果电子碰击总线并且消息被破坏,并且系统检 测到它向健康检查模块报告的这个差错,则健康检查模块不会立即失误转到安全状态,而 是通过运行小总线检查进行进一步差错调查,其在本例中通常应答"没有找到总线的差 错"。因此,健康检查模块假定软差错而不是永久差错,并且请求安全核心再发送同一消息。 这通过核心进行,并且同一差错没有发生,因此系统能够继续进行安全功能,而没有使系统 失误进入安全状态。
[0036] 检查安全关键系统(通常是机器人)的方法包括下列步骤:通过安全关键系统的 诊断应用12向/从对称多处理器14的四个核心6-9所共享的存储器11进行写入/读取; 以及通过管理器13来组织利用安全关键系统的所有应用/资源对于对称多处理器14的四 个核心的访问,并且管理器13配置用于只从四个核心所共享的存储器11进行读取。诊断 应用12配置成检查安全关键系统的一个或多个资源(例如RAM、闪存、总线、核心等)的状 O
[0037] 诊断应用12是在运行时作为后台任务来检查硬件的软件,其因而将不会降低系 统性能。
[0038] 进一步捆绑在所谓的健康检查模块(HCM)中的诊断软件将作为安全关键系统中 的自身应用运行,使得它能够作为MPU上的任何其他应用来访问所有资源,如图2所示。此 外,HCM有权访问共享存储器11,以通知其他应用关于系统健康状态。这个共享存储器对于 HCM处于读/写模式,而对于所有其他应用仅处于读模式,使得它们不能改变数据。首先管 理器需要对此的读访问,但是安全应用也可为其目的而对它进行访问。
[0039] 健康检查模块12优选地配置成在存储器11中更新存储器11中为它通过诊断应 用正监测的各资源更新健康状态指示符。
[0040] 健康状态指示符(HIS)对于被监测的各资源优选地包括:被运行的诊断测试的状 态、运行时的时间戳以及自上一次检查以来的时间。健康状态指示符还可包括使用、估计平 均故障时间(MTTF)、关键性等,其在下表1中示出。
[0041] 对于安全关键系统的各资源、即RAM、闪存、总线、核心等,HCM将创建指示各组件/ 资源的安全完整性的HSI值。HSI值包括被运行的诊断测试的状态、运行时的时间戳以及作 为组件的使用的其他因素(影响平均故障时间以及软或瞬时差错的可能性)。确定HSI值 的一种方式例如可能来自量化每个值(例如关键性高为I、中等为2,依此类推,以及对于其 他,诊断状态〈33% = 1、> 33%和〈66% = 2、>66% =3)的表。所有值则能够共同倍增,并且 高值是良好健康,而小值是不良健康。
[0042] 表1一一健康检查模块的共享表,保持通过诊断应用所监测的各组件/资源的健 康状态
【主权项】
1. 一种用于安全关键系统的对称多核处理器布置,包括: -对称多处理器(14 ;30),具有至少两个核心(6-9 ;39-46)和所述至少两个核心所共 享的存储器(11 ;48);以及 -管理器(13 ;47),连接到所述对称多处理器,并且配置成组织检查所述安全关键系 统的至少诊断应用(12 ;37, 38)对所述至少两个核心的访问; 其中,在使用期间,所述诊断应用配置成从所述存储器读取和向所述存储器写入,并且 所述管理器配置成只从所述存储器读取。
2. 如权利要求1所述的对称多处理器布置,其中,所述管理器配置成为所述诊断应用 提供对所述多处理器的优先化访问。
3. 如权利要求1至2中的任一项所述的对称多处理器布置,其中,所述安全关键系统在 使用期间包括至少两个诊断应用(37, 38),以获得诊断冗余度。
4. 一种安全关键系统、例如机器人,包括如权利要求1至3中的任一项所述的对称多处 理器布置。
5. -种用于安全关键系统、例如机器人的诊断检查的方法,包括下列步骤: -通过所述安全关键系统的诊断应用(12 ;37, 38)向存储器(11 ;48)写入和从存储 器(11 ;48)读取,所述存储器(11 ;48)由对称多处理器(14 ;30)的至少两个核心(6-9 ; 39-46)所共享;以及 -通过管理器(13 ;47)来组织对所述安全关键系统的所述对称多处理器的所述至少 两个核心的访问,并且所述管理器配置用于只从所述至少两个核心所共享的所述存储器读 取; 其中所述诊断应用配置成检查所述安全关键系统的一个或多个资源的状态。
6. 如权利要求5所述的方法,包括下列步骤: -在所述存储器中为所述诊断应用通过所述诊断应用正监测的各资源更新健康状态 指示符。
7. 如权利要求6所述的方法,其中,所述健康状态指示符对于被监测的各资源包括:被 运行的诊断测试的状态、运行时的时间戳以及自上一次检查以来的时间。
8. 如权利要求5至7中的任一项所述的方法,其中,所述诊断应用具有对所述多处理器 的优先化访问,当被监测资源由所述安全关键系统的另一个应用连续使用时所利用。
9. 如权利要求5至8中的任一项所述的方法,包括下列步骤: -动态地重新配置所述诊断应用的表决方案。
10. 如权利要求5至9中的任一项所述的方法,包括下列步骤: -通过所述安全关键系统的第二诊断应用(37, 38)向所述存储器写入和从所述存储 器读取。
11. 一种计算机程序产品,包括用于执行如权利要求5至10中的任一项所述的方法的 计算机程序。
【专利摘要】本发明涉及一种用于安全关键系统的对称多核处理器布置,包括:对称多处理器(14;30),具有至少两个核心(6-9;39-46)和至少两个核心所共享的存储器(11;48);以及管理器(13;47),连接到对称多处理器,并且配置成组织检查安全关键系统的至少诊断应用(12;37,38)对至少两个核心的访问;其中,在使用期间,诊断应用配置成从/向存储器进行读取/写入,并且管理器配置成仅从存储器读取。
【IPC分类】G06F11-07
【公开号】CN104798046
【申请号】CN201280076192
【发明人】T.洛克斯塔德, F.雷辰巴奇
【申请人】Abb 技术有限公司
【公开日】2015年7月22日
【申请日】2012年10月1日
【公告号】EP2904492A1, US20150254123, WO2014053159A1