会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑零配件 / 数据总线 / 在串行通信网络上执行微处理器ALU完整性测试的方法

在串行通信网络上执行微处理器ALU完整性测试的方法

阅读:385发布:2021-02-25

IPRDB可以提供在串行通信网络上执行微处理器ALU完整性测试的方法专利检索,专利查询,专利分析的服务。并且本发明涉及在串行通信网络上执行微处理器ALU完整性测试的方法。一种系统包括车辆的第一和第二模块。该第一模块存储至少一个种子值、根据该至少一个种子值计算密钥,根据该计算的密钥和该至少一个种子值形成种子密钥对、产生包括该种子密钥对和与第一模块的操作对应的数据的数据总线信息以及在分布式车辆网络上传输该数据总线信息。该第二模块在该分布式车辆网络上接收该数据总线信息,从该数据总线信息检索该种子密钥对,确定计算的密钥是否匹配预期的密钥,以及根据对计算的密钥是否匹配预期的密钥的确定选择性地验证第一模块的完整性。,下面是在串行通信网络上执行微处理器ALU完整性测试的方法专利的具体信息内容。

1.一种用于车辆的系统,包括:

车辆的第一模块,其中,该第一模块存储至少一个种子值,根据该至少一个种子值计算密钥,根据该计算的密钥和该至少一个种子值形成种子密钥对,产生包括该种子密钥对和与该第一模块的操作对应的数据的数据总线信息,以及在分布式车辆网络上传输该数据总线信息;和车辆的第二模块,其中,该第二模块在该分布式车辆网络上接收该数据总线信息,从该数据总线信息检索该种子密钥对,确定计算的密钥是否匹配预期的密钥,以及根据对计算的密钥是否匹配预期的密钥的确定选择性地验证第一模块的完整性。

2.如权利要求1所述的系统,其中,该第一模块包括第一微处理器,其根据该至少一个种子值计算该密钥,并且其中,该第二模块包括第二微处理器,其根据对计算的密钥是否匹配预期的密钥的确定选择性地验证该第一微处理器的完整性。

3.如权利要求1所述的系统,其中,该种子密钥对包括种子索引值,该第二模块确定该种子索引值是否匹配预期的种子索引值,并且,该第二模块进一步地根据对种子索引值是否匹配预期的种子索引值的确定验证该第一模块的完整性。

4.如权利要求1所述的系统,其中,存储该至少一个种子值包括存储多个不同种子值的数组。

5.如权利要求4所述的系统,其中,计算该密钥包括根据该多个不同种子值计算密钥的数组。

6.如权利要求5所述的系统,其中,形成种子密钥对包括形成种子密钥对的数组。

7.如权利要求1所述的系统,其中,如果该第二模块根据对计算的密钥是否匹配预期的密钥的确定验证该第一模块的完整性,该第二模块就使用与该第一模块的操作对应的数据。

8.如权利要求7所述的系统,其中,与该第一模块的操作对应的数据对应于传感器输入数据。

9.如权利要求7所述的系统,其中,如果该第二模块根据对计算的密钥是否匹配预期的密钥的确定没有验证该第一模块的完整性,该第二模块就表明该第一模块中的故障并且不使用与该第一模块的操作对应的数据。

10.一种用于车辆的系统,包括:

车辆的第一模块,其中,该第一模块存储至少一个种子值,根据该至少一个种子值计算密钥,确定计算的密钥是否匹配存储在该第一模块内的预期的密钥,根据该确定和该至少一个种子值形成种子密钥对,产生包括该种子密钥对和与第一模块的操作对应的数据的数据总线信息,以及在分布式车辆网络上传输该数据总线信息;和车辆的第二模块,其中,该第二模块在该分布式车辆网络上接收该数据总线信息,从该数据总线信息检索该种子密钥对,确定种子密钥对是否包括计算的密钥匹配预期的密钥的指示,以及根据对种子密钥对是否包括计算的密钥匹配预期的密钥的指示的确定选择性地验证第一模块的完整性。

11.如权利要求10所述的系统,其中,该第一模块包括第一微处理器,其根据该至少一个种子值计算该密钥,并且其中,该第二模块包括第二微处理器,其根据对种子密钥对是否包括计算的密钥匹配预期的密钥的指示的确定选择性地验证该第一微处理器的完整性。

12.如权利要求10所述的系统,其中,该种子密钥对包括种子索引值,该第二模块确定该种子索引值是否匹配预期的种子索引值,并且,该第二模块进一步地根据对种子索引值是否匹配预期的种子索引值的确定验证该第一模块的完整性。

13.如权利要求10所述的系统,其中,存储该至少一个种子值包括存储多个不同种子值的数组。

14.如权利要求13所述的系统,其中,计算该密钥包括根据该多个不同种子值计算密钥的数组。

15.如权利要求14所述的系统,其中,形成种子密钥对包括形成种子密钥对的数组。

16.如权利要求10所述的系统,其中,如果该第二模块根据对种子密钥对是否包括计算的密钥匹配预期的密钥的指示的确定验证该第一模块的完整性,该第二模块就使用与该第一模块的操作对应的数据。

17.如权利要求16所述的系统,其中,与该第一模块的操作对应的数据对应于传感器输入数据。

18.如权利要求16所述的系统,其中,如果该第二模块根据对种子密钥对是否包括计算的密钥匹配预期的密钥的指示的确定没有验证该第一模块的完整性,该第二模块就表明该第一模块中的故障并且不使用与该第一模块的操作对应的数据。

19.一种使用车辆中的第二微处理器验证车辆中的第一微处理器的完整性的方法,该方法包括:在包括所述第一微处理器的第一模块中,

存储至少一个种子值,

根据该至少一个种子值计算密钥,

根据该计算的密钥和该至少一个种子值形成种子密钥对,

产生包括该种子密钥对和与第一模块的操作对应的数据的数据总线信息,以及在分布式车辆网络上传输该数据总线信息;和在包括该第二微处理器的第二模块中,

在该分布式车辆网络上接收该数据总线信息,从该数据总线信息检索该种子密钥对,确定计算的密钥是否匹配预期的密钥,以及根据对计算的密钥是否匹配预期的密钥的确定选择性地验证第一微处理器的完整性。

说明书全文

在串行通信网络上执行微处理器ALU完整性测试的方法

[0001] 相关申请的交叉引用
[0002] 本申请要求了2014年1月24日提交的美国临时申请号61/931,251的权益。 上述申请的公开内容通过引用并入本文。

技术领域

[0003] 本发明涉及用于ASIL - D级安全临界应用在分布式异步串行通信网络上执行微处理器ALU完整性测试的方法,
[0004] 确保用来监测汽车应用中的传感器数据的微处理器的安全完整性。

背景技术

[0005] 这里的背景资料描述是为了大概介绍本发明的背景。目前署名的发明人的工作,在背景资料章节做了一定程度的描述,还有那些在申请时不可称作现有技术的方面,这些都既不明显又不隐含地认作相对于本发明的现有技术。
[0006] 用于车辆的汽车电子控制系统控制车辆功能,包括但不限于,车辆推进、制动、转向和变速操作。 一个或多个主微处理器(例如,在电子控制器或ECU内)执行软件和/或进行与这些车辆功能的控制相关联的计算。 这些微处理器可以在分布式异步串行通信网络例如控制器区域网(CAN)总线上与电子控制系统的其它微处理器和部件通信。
[0007] 相应的ECU内的这些主微处理器在CAN总线上执行与各种车辆功能的控制相关的软件,并且,一个或多个微处理器可以监测CAN总线上的另一微处理器。 例如,主微处理器可以监测与车辆传感器相关联的另一微处理器。 因而,车辆性能取决于主微处理器的完整性。

发明内容

[0008] 一种系统包括车辆的第一和第二模块。 该第一模块存储至少一个种子值(seed value),根据该至少一个种子值计算密钥,根据该计算的密钥和该至少一个种子值形成种子密钥对,产生包括该种子密钥对和与第一模块的操作对应的数据的数据总线信息以及在分布式车辆网络上传输该数据总线信息。 该第二模块在该分布式车辆网络上接收该数据总线信息,从该数据总线信息检索该种子密钥对,确定计算的密钥是否匹配预期的密钥,以及根据对计算的密钥是否匹配预期的密钥的确定选择性地验证第一模块的完整性。
[0009] 在其它特征中,该第一模块存储至少一个种子值,根据该至少一个种子值计算密钥,确定计算的密钥是否匹配存储在该第一模块内的预期的密钥,根据该确定和该至少一个种子值形成种子密钥对,产生包括该种子密钥对和与第一模块的操作对应的数据的数据总线信息以及在分布式车辆网络上传输该数据总线信息。 该第二模块在该分布式车辆网络上接收该数据总线信息,从该数据总线信息检索该种子密钥对,确定种子密钥对是否包括计算的密钥匹配预期的密钥的指示,以及根据对种子密钥对是否包括计算的密钥匹配预期的密钥的指示的确定选择性地验证第一模块的完整性。
[0010] 一种使用车辆中的第二微处理器验证车辆中的第一微处理器的完整性的方法,包括,在包括所述第一微处理器的第一模块中,存储至少一个种子值,根据该至少一个种子值计算密钥,根据该计算的密钥和该至少一个种子值形成种子密钥对,产生包括该种子密钥对和与第一模块的操作对应的数据的数据总线信息,以及在分布式车辆网络上传输该数据总线信息。 该方法包括,在包括该第二微处理器的第二模块中,在该分布式车辆网络上接收该数据总线信息,从该数据总线信息检索该种子密钥对,确定计算的密钥是否匹配预期的密钥,以及根据对计算的密钥是否匹配预期的密钥的确定选择性地验证第一微处理器的完整性。
[0011] 本发明提供下列技术方案。
[0012] 技术方案1. 一种系统,包括:
[0013] 车辆的第一模块,其中,该第一模块存储至少一个种子值,根据该至少一个种子值计算密钥,根据该计算的密钥和该至少一个种子值形成种子密钥对,产生包括该种子密钥对和与该第一模块的操作对应的数据的数据总线信息,以及在分布式车辆网络上传输该数据总线信息;和
[0014] 车辆的第二模块,其中,该第二模块在该分布式车辆网络上接收该数据总线信息,从该数据总线信息检索该种子密钥对,确定计算的密钥是否匹配预期的密钥,以及根据对计算的密钥是否匹配预期的密钥的确定选择性地验证第一模块的完整性。
[0015] 技术方案2. 如技术方案1所述的系统,其中,该第一模块包括第一微处理器,其根据该至少一个种子值计算该密钥,并且其中,该第二模块包括第二微处理器,其根据对计算的密钥是否匹配预期的密钥的确定选择性地验证该第一微处理器的完整性。
[0016] 技术方案3. 如技术方案1所述的系统,其中,该种子密钥对包括种子索引值,该第二模块确定该种子索引值是否匹配预期的种子索引值,并且,该第二模块进一步地根据对种子索引值是否匹配预期的种子索引值的确定验证该第一模块的完整性。
[0017] 技术方案4. 如技术方案1所述的系统,其中,存储该至少一个种子值包括存储多个不同种子值的数组。
[0018] 技术方案5. 如技术方案4所述的系统,其中,计算该密钥包括根据该多个不同种子值计算密钥的数组。
[0019] 技术方案6. 如技术方案5所述的系统,其中,形成种子密钥对包括形成种子密钥对的数组。
[0020] 技术方案7. 如技术方案1所述的系统,其中,如果该第二模块根据对计算的密钥是否匹配预期的密钥的确定验证该第一模块的完整性,该第二模块就使用与该第一模块的操作对应的数据。
[0021] 技术方案8. 如技术方案7所述的系统,其中,与该第一模块的操作对应的数据对应于传感器输入数据。
[0022] 技术方案9. 如技术方案7所述的系统,其中,如果该第二模块根据对计算的密钥是否匹配预期的密钥的确定没有验证该第一模块的完整性,该第二模块就表明该第一模块中的故障并且不使用与该第一模块的操作对应的数据。
[0023] 技术方案10. 一种系统,包括:
[0024] 车辆的第一模块,其中,该第一模块存储至少一个种子值,根据该至少一个种子值计算密钥,确定计算的密钥是否匹配存储在该第一模块内的预期的密钥,根据该确定和该至少一个种子值形成种子密钥对,产生包括该种子密钥对和与第一模块的操作对应的数据的数据总线信息,以及在分布式车辆网络上传输该数据总线信息;和
[0025] 车辆的第二模块,其中,该第二模块在该分布式车辆网络上接收该数据总线信息,从该数据总线信息检索该种子密钥对,确定种子密钥对是否包括计算的密钥匹配预期的密钥的指示,以及根据对种子密钥对是否包括计算的密钥匹配预期的密钥的指示的确定选择性地验证第一模块的完整性。
[0026] 技术方案11. 如技术方案10所述的系统,其中,该第一模块包括第一微处理器,其根据该至少一个种子值计算该密钥,并且其中,该第二模块包括第二微处理器,其根据对种子密钥对是否包括计算的密钥匹配预期的密钥的指示的确定选择性地验证该第一微处理器的完整性。
[0027] 技术方案12. 如技术方案10所述的系统,其中,该种子密钥对包括种子索引值,该第二模块确定该种子索引值是否匹配预期的种子索引值,并且,该第二模块进一步地根据对种子索引值是否匹配预期的种子索引值的确定验证该第一模块的完整性。
[0028] 技术方案13. 如技术方案10所述的系统,其中,存储该至少一个种子值包括存储多个不同种子值的数组。
[0029] 技术方案14. 如技术方案13所述的系统,其中,计算该密钥包括根据该多个不同种子值计算密钥的数组。
[0030] 技术方案15. 如技术方案14所述的系统,其中,形成种子密钥对包括形成种子密钥对的数组。
[0031] 技术方案16. 如技术方案10所述的系统,其中,如果该第二模块根据对种子密钥对是否包括计算的密钥匹配预期的密钥的指示的确定验证该第一模块的完整性,该第二模块就使用与该第一模块的操作对应的数据。
[0032] 技术方案17. 如技术方案16所述的系统,其中,与该第一模块的操作对应的数据对应于传感器输入数据。
[0033] 技术方案18. 如技术方案16所述的系统,其中,如果该第二模块根据对种子密钥对是否包括计算的密钥匹配预期的密钥的指示的确定没有验证该第一模块的完整性,该第二模块就表明该第一模块中的故障并且不使用与该第一模块的操作对应的数据。
[0034] 技术方案19. 一种使用车辆中的第二微处理器验证车辆中的第一微处理器的完整性的方法,该方法包括:
[0035] 在包括所述第一微处理器的第一模块中,
[0036] 存储至少一个种子值,
[0037] 根据该至少一个种子值计算密钥,
[0038] 根据该计算的密钥和该至少一个种子值形成种子密钥对,
[0039] 产生包括该种子密钥对和与第一模块的操作对应的数据的数据总线信息,以及[0040] 在分布式车辆网络上传输该数据总线信息;和
[0041] 在包括该第二微处理器的第二模块中,
[0042] 在该分布式车辆网络上接收该数据总线信息,从该数据总线信息检索该种子密钥对,
[0043] 确定计算的密钥是否匹配预期的密钥,以及
[0044] 根据对计算的密钥是否匹配预期的密钥的确定选择性地验证第一微处理器的完整性。
[0045] 通过详细说明、权利要求和附图,本发明的更多适用领域将变得显而易见。应当理解,详细描述和特定例子仅仅意图用于说明而不意图限制发明范围。

附图说明

[0046] 通过详细描述和附图将更完整地理解本发明,其中:
[0047] 图1是根据本发明原理的发动机系统的原理框图;
[0048] 图2是根据本发明原理的示例微处理器验证系统的原理框图;和
[0049] 图3示出根据本发明原理的第一示例种子密钥对计算;
[0050] 图4示出根据本发明原理的第二示例种子密钥对计算;
[0051] 图5示出根据本发明原理的第一示例种子密钥对生成方法;
[0052] 图6示出根据本发明原理的第二示例种子密钥对生成方法;
[0053] 图7示出根据本发明原理的第一示例种子密钥对验证方法; 和
[0054] 图8示出根据本发明原理的第二示例种子密钥对验证方法。
[0055] 在这些图中,附图标记可以再用于表明类似和/或相同元件。

具体实施方式

[0056] 车辆可以包括一个或多个专用次微处理器,用于监测相应的主微处理器。 例如,电子控制器(ECU)或模块可以包括主微处理器和次微处理器以验证主微处理器的完整性。 该次微处理器可以验证该主微处理器的完整性,通过例如与该主处理器(仅仅举例来说,在全双工串行外围接口总线上)交换种子和密钥。 该车辆可以实施诊断以验证该主微处理器的完整性,例如,依照汽车安全完整性级别(ASIL)D标准验证主处理器的算术逻辑部件(ALU)的完整性。
[0057] 一些车辆控制零件,例如电子变速器范围换挡器(ETRS),会需要专用输入模块(例如,传感器输入模块或SIM),其具有关联的微处理器以高采样率处理传感器硬件输入。 处理后的传感器输入数据然后在控制器区域网(CAN)总线上传输至与ECU例如发动机控制模块(ECM)或变速器控制模块(TCM)相关联的主微处理器。 ECM(或TCM或其它主微处理器)可以监测CAN总线上的SIM的微处理器。ECM的次微处理器又可以验证主微处理器的完整性。
[0058] 一些系统会试图消除专用次微处理器并且替代地使用(例如第二ECU的)另一主微处理器验证CAN总线上的(例如第一ECU的)主微处理器的完整性。 然而,符合ASIL - D级标准的车辆系统会需要200毫秒的诊断时窗用于检测某些故障状态。 因此,使用另一主微处理器代替置于同一模块中的专用次微处理器验证主微处理器的完整性会需要大于200毫秒诊断时窗的时间。
[0059] 本发明的微处理器验证系统和方法在两个或多个ECU上(例如在不同的ECU中的两个主处理器之间)执行微处理器实施ALU完整性验证。例如,被监测的ECU在单向CAN总线信息中传输的种子-密钥对"(SKP)连同处理后的传感器输入数据给监测ECU。 因此,能够消除从一个ECU向另一个传输对SKP的请求的步骤。进一步地,这些系统和方法仍然在CAN总线上应用保护安全临界信号的策略,其包括主动滚动计数(ARC)、保护值(PV)和信息超时事件(故障弱化)实施。
[0060] 现在参照图1,给出示范性发动机系统100的原理框图。 发动机系统100包括发动机102,其根据来自驾驶员输入模块104的驾驶员输入(多个)燃烧空气/燃料混合物以产生用于车辆的驱动转矩。 驾驶员输入可以包括例如由APP传感器(未示出)测量的一个或多个加速踏板位置(APP)、由BPP传感器(未示出)测量的一个或多个制动踏板位置(BPP)和由巡航控制系统(未示出)提供的巡航转矩请求。 在不同的实施中,该巡航控制系统可以包括维持预定跟随距离的自适应巡航控制系统。
[0061] 经由节气门112可把空气吸入进气歧管110中。 仅仅举例来说,节气门112可以包括具有可旋转叶片的蝶形阀。 发动机控制模块(ECM)114控制节气门致动器模块116,其调节节气门112的开度以控制吸入进气歧管110中的空气的量。
[0062] 从进气歧管110把空气吸入发动机102的一个或多个气缸中。 虽然发动机102可以包括一个以上的气缸,但是为了图示目的,示出单个代表性气缸118。 仅仅举例来说,发动机102可以包括2、3、4、5、6、8、10和/或12个气缸。 ECM 114可以命令气缸致动器模块120选择性地停用一些气缸,这可以在一些情况下提高燃料经济性。
[0063] 发动机102可以使用四冲程发动机循环运转。 下面描述的四冲程可以命名为进气冲程、压缩冲程、燃烧冲程和排气冲程。 在曲轴(未示出)的每转期间,在气缸118内发生四冲程中的两个。 因此,曲轴的两转可以是气缸118经历单个发动机循环的全部四个冲程所必需的。
[0064] 在进气冲程期间,经由进气门122把空气从进气歧管110吸入气缸118中。 ECM 114控制燃料致动器模块124,其调节燃料喷射以获得期望空燃比。 燃料可以在中央位置或多个位置喷入进气歧管110,例如在每个气缸的进气门(多个)附近。 在不同实施中(未示出),燃料可以直接喷入气缸中或喷入与气缸相关的混合室中。 燃料致动器模块124可以中断向停用气缸的燃料喷射。
[0065] 喷射的燃料与空气混合并且形成空气/燃料混合物。 在压缩冲程期间,气缸118内的活塞(未示出)压缩空气/燃料混合物。 根据来自ECM 114的信号,火花致动器模块126给气缸118中的火花塞128通电,这点燃空气/燃料混合物。 可以相对于活塞处于其称作上止点(TDC)的最高位置时的时间规定火花正时。
[0066] 火花致动器模块126可以由规定TDC前或后多久产生火花的正时信号控制。 因为活塞位置直接与曲轴旋转有关,所以,火花致动器模块126的操作可以与曲轴角同步。 在不同实施中,火花致动器模块126可以中断向停用气缸的火花供应。
[0067] 空气/燃料混合物在气缸内的燃烧可以称为发火事件。 火花致动器模块126可以具有改变每个点火事件的火花正时的能力。 另外,火花致动器模块126可以具有改变指定发火事件的火花正时的能力,即使在指定发火事件之前不久的气缸的发火事件之后接收到正时信号的变化的时候。
[0068] 在燃烧冲程期间,空气/燃料混合物的燃烧驱动活塞离开TDC位置,由此驱动曲轴的旋转。 燃烧冲程可以定义为活塞到达TDC与活塞到达可以称作下止点(BDC)的最低位置时的时间之间的时间。
[0069] 在排气冲程期间,活塞开始再次移向TDC位置并且经由排气门130排出燃烧副产物。 燃烧副产物经由排气系统134从车辆排出。
[0070] 进气门122可以由进气凸轮轴140控制,而排气门130可以由排气凸轮轴142控制。 在不同实施中,多个进气凸轮轴(包括进气凸轮轴140)可以控制气缸118的多个进气门(包括进气门122)和/或可以控制多排气缸(包括气缸118)的进气门(包括进气门122)。 同样地,多个排气凸轮轴(包括排气凸轮轴142)可以控制气缸118的多个排气门和/或可以控制多排气缸(包括气缸118)的排气门(包括排气门130)。
[0071] 气缸致动器模块120可以通过禁止进气门122和/或排气门130的开启而停用气缸118。 在不同的其它实施中,进气门122和/或排气门130可以由除凸轮轴以外的装置例如电磁致动器控制。
[0072] 可以由进气凸轮相位器148相对于该TDC位置改变进气门122开启的时间。 可以由排气凸轮相位器150相对于TDC位置改变排气门130开启的时间。 相位器致动器模块158可以根据来自ECM 114的信号控制进气凸轮相位器148和排气凸轮相位器150。 当实施时,相位器致动器模块158也可以控制可变气门致动(VVA)技术(未示出)。
[0073] 发动机系统100可以包括向进气歧管110提供加压空气的增压装置。 例如,图1示出涡轮增压器,其包括由流过排气系统134的热排气供能的热涡轮机160-1。 该涡轮增压器还包括由涡轮机160-1驱动的冷空气压缩机160 - 2,其压缩引入节气门112的空气。 在不同实施中,由曲轴驱动的增压器(未示出)可以压缩来自节气门112的空气并且把压缩的空气输送给进气歧管110。
[0074] 废气门162(例如涡轮旁通阀)可以允许废气绕过涡轮机160 - 1,由此降低涡轮增压器提供的增压。 该增压可以包括例如,在相同运转条件下,进气歧管110内的压力与自然吸气发动机的进气歧管内的压力之间的差值。
[0075] ECM 114可以通过增压致动器模块164控制涡轮增压器。 增压致动器模块164可以通过控制废气门162的位置来调整涡轮增压器的增压。 在不同的实施中,可以通过增压致动器模块164控制多个涡轮增压器。 涡轮增压器可以具有可变几何形状,其可以由增压致动器模块164控制。
[0076] 中冷器(未示出)可以耗散压缩空气时产生的压缩空气充量中包含的一些热量。 压缩空气充量还可以具有来自排气系统134的部件的吸收热。 虽然为了图示目的示出涡轮160 - 1和压缩机160 - 2是分开的,但是它们可以在涡轮机160 - 1的位置附近彼此相连,使进气非常接近热排气。
[0077] 发动机系统100可以包括废气再循环(EGR)阀170,其选择性地使废气改道回至进气歧管110。 EGR阀170可以位于涡轮机160 - 1的上游。 EGR阀170可以由EGR致动器模块172控制。
[0078] 发动机系统100可以使用RPM传感器178测量曲轴的旋转速度,单位为转/分钟(RPM)。 发动机系统100可以使用车速传感器180测量车速。 车速可以根据例如变速器输出轴速度(TOSS)、一个或多个车轮转速、或对车速的另一合适测量得以确定。可以使用发动机冷却剂温度(ECT)传感器182测量发动机冷却剂的温度。 ECT传感器182可以位于发动机102内或冷却剂循环的其它位置例如散热器(未示出)处。
[0079] 可以使用进气歧管绝对压力(MAP)传感器184测量进气歧管110内的压力。 在不同的实施中,可以测量发动机真空,此处,发动机真空包括环境空气压力与进气歧管110内压力之间的差值。 可以使用质量空气流量(MAF)传感器186测量流入进气歧管110的空气的质量流量。 在不同的实施中,MAF传感器186可以位于也包含节气门112的壳体中。
[0080] 节气门致动器模块116可以使用一个或多个节气门位置传感器(TPS)190监测节气门112的位置。 可以使用进气温度(IAT)传感器192测量吸入发动机102中的空气的环境温度。 ECM 114可以使用来自这些传感器的信号为发动机系统100作出控制决策。
[0081] ECM 114可以与变速器控制模块194通信以协调发动机102与变速器(未示出)的操作。例如,ECM 114可以在换档期间减小发动机输出转矩。 发动机102可以通过转矩传递装置(未示出)例如变矩器和/或一个或多个离合器输出转矩至变速器。 变速器控制模块194还可以与ECM 114共享数据,例如由一个或多个齿轮传感器(未示出)表示的变速器内接合的当前传动比和转矩传递装置的状态。 仅仅举例来说,对于变矩器的情形,状态可以包括变矩器离合器(TCC)(未示出)的锁紧状态或解锁状态。
[0082] ECM 114可以与混合动力控制模块196通信以协调发动机102和电动机198的操作。 电动机198还可以用作发电机,并且可以用来产生供车辆电气系统使用和/或存储在电池中的电能。 在不同的实施中,ECM 114、变速器控制模块194和混合动力控制模块196的不同功能可以集成到一个或多个模块中。
[0083] 发动机致动器通过控制相关的致动器值改变一个或多个发动机参数。 仅仅举例来说,节气门致动器模块116可以称为发动机致动器,节气门开口面积可以称作相关的致动器值。 在图1的例子中,节气门致动器模块116通过调整节气门111的阀片的角度来获得节气门开口面积。
[0084] 同样地,火花致动器模块126可以称为发动机致动器,而相关的致动器值可以指的是相对于气缸TDC的火花提前量。 其它的发动机致动器可以包括气缸致动器模块120、燃料致动器模块124、相位器致动器模块158、增压致动器模块164和EGR致动器模块172。 对于这些发动机致动器,相关的致动器值可以分别包括在用气缸数、燃料供应速度、进气和排气凸轮相位器角度、增压压力和EGR阀开口面积。 ECM 114可以控制致动器值以便促使发动机102产生期望的发动机输出转矩并且获得期望的发动机参数。
[0085] 发动机系统100的各种控制模块(包括但不限于发动机控制模块114)可以包括一个或多个主微处理器(在例如车辆总线上通信)。 举例来说,分布式通信网络例如控制器区域网(CAN)可以促进车辆总线上微处理器之间的通信。这些模块中的一个的(例如发动机控制模块114)的微处理器(即监测微处理器)可以监测从另一模块(例如SIM)的微处理器(即被监测微处理器)接收到的传感器输入。
[0086] 现在参照图2,示出示例微处理器验证系统200。 虽然微处理器验证系统200示为包括控制模块204和传感器输入模块208,但是,本领域技术人员能够意识到,系统200能够包括对应于车辆控制模块的任何合适数量的模块。 仅仅举例来说,传感器输入模块208可以对应于与ETRS相关联的传感器输入模块。 相反地,控制模块204可以对应于发动机控制模块114并且包括主微处理器212和可选的次微处理器216。 虽然示为在控制模块204内,但是,主微处理器212(例如监测处理器)可以是在控制模块204外部的高完整性微处理器,其监测分布式网络(例如CAN总线224上)的主微处理器(例如传感器输入模块208的主微处理器220)及其它的车辆微处理器。 监测微处理器212可以自身被监测(例如通过车载监测硬件)以确保其自身的完整性。 仅仅举例来说,监测微处理器212可以在串行外围接口总线228上与可选的次微处理器216通信。
[0087] 通常,监测微处理器212可以周期地和/或有条件地挑战被监测微处理器220的完整性。 例如,监测微处理器212可以查询被监测微处理器220并且验证从被监测微处理器220得到的响应(例如使用包括SKP的交换)。 监测微处理器212根据该响应确定被监测微处理器220是否正确操作。 如果被监测微处理器220没有正确操作,监测微处理器212就可以开始补救措施。 例如,监测微处理器212可以表明被监测微处理器220处于故障模式,包括但不限于未能执行、不完全执行、不正确正时和/或错误执行。
[0088] 例如,监测微处理器212可以产生查询(例如种子)以传送到被监测微处理器220。 仅仅举例来说,该查询可以包括在0与15(即0000和1111)之间的4位数字,在CAN总线224上传送到被监测微处理器220。 监测微处理器212可以顺序地传送从0000至1111的多个(例如16个)查询给被监测微处理器220。
[0089] 监测微处理器212接收对传送给被监测微处理器220的查询的应答(例如密钥)并且确定对该查询的应答是否正确。 例如,每个查询可具有相应的期望应答。 监测微处理器212根据从被监测微处理器220得到的查询比较每个接收到的应答与相应的期望应答。 如果接收到的应答匹配预期的应答,就确认接收到的应答。 因此,不需要补救措施,因为,被监测微处理器220被认为是正确操作的。查询0000至1111的每一个都可具有独特的相应的应答。 例如,每个应答也可以是0与15之间的4位数字。
[0090] 如果接收到的应答不匹配预期的应答,那么,监测微处理器212可以采取一个或多个补救措施,这可以包括但不限于承担被监测微处理器220的处理功能、忽略从被监测微处理器220得到的输入、通知其它模块被监测微处理器220的故障状态、停用被监测微处理器220的输出、命令其它模块忽略从被监测微处理器220得到的输入。
[0091] 监测微处理器212可以检测影响应答确认的其它故障。 例如,监测微处理器212可以接收总线224上的通信丧失的指示(即通信丧失故障)、通信数据故障(例如基于主动股东计数的滚动计数误差)和/或"卡住的(stuck)"查询故障。 卡住的查询故障指的是在预定时段内在连续查询中不变化的查询值。 例如,传送的查询可以卡在0000,而不是在0000与1111之间按顺序增加。 当没有检测到其他故障或者仅仅检测到卡住查询时,无效应答表明被监测微处理器220没有正确操作。 相反地,当故障仅仅是卡住查询故障时,监测微处理器
212可能不能诊断故障的来源。 通信丧失或通信数据故障表明监测微处理器212不再能监测被监测微处理器220。
[0092] 相反地,被监测微处理器220通常从监测微处理器212接收查询(即种子),根据该种子产生应答(即密钥),并且传送该种子和该密钥(即SKP)到监测微处理器212。 如果被监测微处理器212没有正确操作,那么,被传输到监测微处理器212的与SKP对应的应答将不会匹配预期的应答。 因此,SKP验证被监测微处理器220的完整性。
[0093] 根据本发明的被监测微处理器220传送SKP,不论是否从监测微处理器212接收到查询。 例如,被监测微处理器220传送该SKP至监测微处理器212连同处理后的传感器输入数据一起。 例如,每当处理后的传感器输入数据被传输到监测微处理器212时,被监测微处理器220包括SKP。 通过这种方式,监测微处理器212不需要传送对SKP的请求给被监测微处理器220。 例如,SKP可以被打包在与处理后的传感器输入数据相同的信息中。 被监测微处理器220还可以在信息中包括主动滚动计数和/或保护值。 仅仅举例来说,单CAN信息可以包括8字节的数据。 该SKP可以是4-7位。 因此,单CAN信息可以既包括传感器输入数据,又包括SKP。
[0094] 现在参照图3,被监测微处理器220可以从选自16位、8元种子数组300的一个或多个16位密钥开始。 例如,传感器输入模块208可以存储(在只读存储器中)或产生种子数组300。 仅仅举例来说,种子数组300包括8个独特的16位常数(即种子),定义为具有从0到7的索引的数组。一旦在车辆上通电,种子索引可以初始化为0。 因此,与索引0对应的SKP可以首先被传送,然后是索引1、2、……和7。被监测微处理器220可以执行ALU检验程序,目的是练习被监测微处理器220的全部有关的ALU操作,其使用来自种子数组300的种子作为输入来计算8个相应的密钥。这8个计算的密钥还可以置于16位8元密钥数组304中,其具有从0到
7的索引。密钥数组304能被进一步地映射到8位8元密钥数组308,其中,仅仅这8位的低四位字节是重要的。 3位种子数组索引(0至7)及其相应的4位密钥被打包为SKP数组312中的7位SKP。 然后,这7位SKP能够都被插入单CAN信息中,连同处理后的传感器输入数据、主动滚动计数和保护值一起。
[0095] 例如,每当传感器输入数据被采样时,被监测微处理器220可以产生一个或多个SKP。 监测微处理器212接收SKP并且比较从被监测微处理器220得到的SKP与存储在控制模块204中(例如在只读存储器中)的正确(例如预定)SKP的预定组。 例如,监测微处理器212审查接收到的SKP以验证数组312的顺序(即如接收到的种子索引的顺序)和这7位SKP的内容是否都正确。 换句话说,第一4位对应于计算的密钥,而下一3位对应于从0到7的索引。 如果种子索引的顺序(例如,接收到的SKP具有未正确匹配期望顺序的索引)或者密钥的内容不正确(例如,通过比较每个密钥与由控制模块204存储的相应的预定密钥),那么,诊断计数器(例如复算计数器)就加1,并且丢弃相应的接收到的传感器数据。 当诊断计数器达到标定阈值时,监测微处理器212就在被监测微处理器220的ALU完整性中存储故障指示(例如,设置诊断故障代码组)并且可以采取一个或多个其它补救措施,如上所述。
[0096] 现在参照图4,示出从16位8元种子数组400计算SKP的另一例子。 被监测微处理器220在种子数组400上执行ALU检验程序以计算8个相应的密钥。 这8个计算的密钥也置于16位8元密钥数组404中,具有从0至7的索引。 代替如图3所示的映射密钥数组404为8位8元密钥数组,控制模块204计算1位Boolean正确性标记(例如,1或0分别表示真或假)并且把带有正确性标记的3位种子数组索引(0至7)打包成4位SKP,如SKP数组412(其中正确性标记=1)或SKP数组416(其中正确性标记=0)中所示。
[0097] 正确性标记对应于密钥数组404中的计算的密钥是否正确。 例如,代替监测微处理器212存储预定正确密钥组,传感器输入模块208可以存储预定正确密钥组在只读存储器中。 因此,由被监测微处理器220计算的密钥数组404中的密钥只是与传感器输入模块208中的预定正确密钥组作比较。如果密钥是正确的,那么这个密钥的相应的正确性标记就是1。 相反地,如果密钥是不正确的,那么,这个密钥的相应的正确性标记就是0。在一些实施中,被监测微处理器220可以被允许一个或多个复算以计算指定种子的正确密钥。
[0098] 如图3所示,7位SKP需要总数比图4的4位SKP多3位(CAN信息的64位数据带宽)。然而,7位SKP最大化被监测微处理器220与监测微处理器212之间的独立性,因为,存储在传感器输入模块208中的种子数组300与存储在控制模块204中的相应的预定数组是分开的。相反地,4位SKP减少了用于识别和/或证实计算的密钥故障的时间量,因为,传感器输入模块208自身核实计算的密钥的正确性。因此,消除了由于CAN总线224上的通信引起的任何延时。
[0099] 在一些实施中,图2的被监测微处理器220可以在两个不同的CAN总线上以不同的周期速率传送包括SKP在内的其中两个CAN信息。例如,被监测微处理器220可以在第一CAN总线上以25毫秒速率传送包括图3的7位SKP在内的CAN信息,并且以100毫秒速率传送包括图4的4位SKP在内的CAN信息。
[0100] 现在参照图5,被监测微处理器220所执行的示例SKP生成方法500(如图3中所描述的)开始于504。 在508,方法500确定种子索引是否小于7。如果为真,方法500继续到512。如果为假,方法500继续到516。在516,方法500重置该种子索引为零。在512,方法500从当前种子索引下的16位种子计算16位密钥。在520,方法500映射该16位密钥为8位密钥并且存储该8位密钥为8位8元数组。在524,方法500把3位种子索引和4位密钥打包成7位SKP。 在528,方法500使种子索引加1。方法500在532处结束。
[0101] 现在参照图6,由被监测微处理器220所执行的示例SKP生成方法600(如图4中所描述的)开始于604。 在608,方法600确定种子索引是否小于7。如果为真,方法600继续到612。如果为假,方法600继续到616。在616,方法600重置该种子索引为零。在612,方法600从当前种子索引下的16位种子计算16位密钥。在620,方法600确定计算的密钥是否匹配来自预定正确密钥组的相应的密钥。如果为真,方法600继续到624。如果为假,方法600继续到628。在
628,方法600确定是否复算密钥的计算。如果为真,方法600继续到612。如果为假,方法600继续到632。在632,方法600设置正确性标记为0(假)。 在624,方法600设置正确性标记为1(真)。 在636,方法600把种子索引和正确性标记打包成4位SKP。 在640,方法600使种子索引加1。方法600在644处结束。
[0102] 现在参照图7,监测微处理器212所执行的示例SKP验证方法700(如图3中所描述的)开始于704。在708,方法700接收CAN信息,包括传感器输入数据、SKP和其它数据(例如主动滚动计数和/或保护值)。 在712,方法700确定CAN信息是否表明非SKP故障(例如,主动滚动计数误差、保持值误差等等)。如果为真,方法700在716结束。如果为假,方法700继续到720。在720,方法700把来自CAN信息的7位SKP解包成种子索引和密钥。在724,方法700确定种子索引是否匹配预期的种子索引。如果为真,方法700继续到728。如果为假,方法700继续到732。
[0103] 在732,方法700使预期的种子索引加1。在736,方法700增加复算计数。在740,方法700确定复算计数是否小于阈值。如果为真,方法700在716结束。如果为假,方法700继续到
744。在744,方法700表明SKP故障并且在716结束。
[0104] 在728,方法700使预期的种子索引加1。在748,方法700确定预期的种子索引是否大于7。如果为真,方法700继续到752。如果为假,方法700继续到756。在752,方法700重置预期的种子索引为0。在756,方法700确定密钥是否匹配与种子索引对应的预期的密钥。如果为真,方法700继续到760。如果为假,方法700继续到736。在760,方法700使用包括在CAN信息中的处理后的传感器数据重置该复算计数为0,并且在716结束。
[0105] 现在参照图8,由监测微处理器212所执行的示例SKP验证方法800(如图4中所描述的)开始于804。在808,方法800接收CAN信息,包括传感器输入数据、SKP和其它数据(例如主动滚动计数和/或保护值)。 在812,方法800确定CAN信息是否表明非SKP故障(例如,主动滚动计数误差、保持值误差等等)。如果为真,方法800在816结束。如果为假,方法800继续到820。在820,方法800把来自CAN信息的4位SKP解包成种子索引和密钥。在824,方法800确定种子索引是否匹配预期的种子索引。如果为真,方法800继续到828。如果为假,方法800继续到832。
[0106] 在832,方法700使预期的种子索引加1。在836,方法800增加复算计数。在840,方法800确定复算计数是否小于阈值。如果为真,方法800在816结束。如果为假,方法800继续到
844。在844,方法800表明SKP故障并且在816结束。
[0107] 在828,方法800使预期的种子索引加1。在848,方法800确定预期的种子索引是否大于7。如果为真,方法800继续到852。如果为假,方法800继续到856。在852,方法800重置预期的种子索引为0。在856,方法800确定正确性标记是否为1(真)。如果为真,方法800继续到860。如果为假,方法800继续到844。在860,方法800使用包括在CAN信息中的处理后的传感器数据重置该复算计数为0,并且在816结束。
[0108] 通过上面在图2-8中描述的方式,消除了对监测和被监测微处理器(和相应的ECU)之间的双向种子和密钥信息交换的需求,提高了微处理器ALU完整性测试算法的稳固性,抵抗串行通信总线上的潜在的通信协议计时或噪声干扰。进一步地,能够消除了监测与被监测微处理器内独立运行的相应的实时操作系统任务之间的同步必要条件。 在一些实施中,微处理器ALU完整性测试算法通过不同的串行通信拓扑(例如不同数量的ECU、串行通信总线、CAN/LIN联合等等)可以在多个ECU中适用(即,算法不限于在单个ECU内执行,归因于串行外围接口总线)。
[0109] 上面的描述本质上仅仅是说明性的,并且决不意图限制本发明、其应用或用途。能够以多种形式实施本发明的宽泛教导。因此,尽管本发明包含特定例子,但是本发明的真实范围不应当受此限制,因为本领域技术人员一旦研读附图、说明书和下列权利要求,其它改型将变得显而易见。本文所用的措词"A、B和C中的至少一个"应当解释成意味着使用非专用逻辑"或"的逻辑(A或B或C)。应当理解,方法内的一个或多个步骤可以以不同顺序(或同时)执行,只要不改变本发明的原理。
[0110] 在本应用中,包括下面的定义,措词"模块"可以用措词"电路"代替。本文所用的术语"模块"可以指的是、属于或包括专用集成电路(ASIC);数字的、模拟的或混合的模拟/数字分立电路;数字的、模拟的或混合的模拟/数字集成电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器(共用的、专用的或组);存储由处理器执行的代码的存储器(共用的、专用的或组);其它的提供所述功能的适当硬件部件;或上述的一些或全部的组合,例如在单片系统中。
[0111] 上面所用的术语"代码"可以包括软件、固件和/或微代码,并且可以指的是程序、例行程序、函数、类和/或对象。术语"共用处理器"包括执行一些或全部来自多个模块的代码的单处理机。术语"组处理器"包括与更多处理器共同执行一些或全部来自一个或多个模块的代码的处理器。术语"共用存储器"包括储存一些或全部来自多个模块的代码的单存储器。术语"组存储器"包括与更多存储器共同储存一些或全部来自一个或多个模块的代码的存储器。术语"存储器"可以是术语"计算机可读介质"的子集。术语"计算机可读介质"不包括通过介质传递的暂时性电和电磁信号,并且因此可以认为是有形的且非暂时性的。非暂时性有形计算机可读介质的非限制性例子包括非易失性存储器、易失性存储器、磁存储器和光存储器。
[0112] 本应用中描述的装置和方法可以通过由一个或多个处理器执行的一个或多个计算机程序部分地或完全地实现。计算机程序包括存储在至少一个非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括和/或依赖存储数据。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用