CN210310316U - 用于交通工具自主驾驶系统的自主驾驶控制器 - Google Patents
用于交通工具自主驾驶系统的自主驾驶控制器 Download PDFInfo
- Publication number
- CN210310316U CN210310316U CN201920578668.2U CN201920578668U CN210310316U CN 210310316 U CN210310316 U CN 210310316U CN 201920578668 U CN201920578668 U CN 201920578668U CN 210310316 U CN210310316 U CN 210310316U
- Authority
- CN
- China
- Prior art keywords
- subsystems
- autonomous driving
- scs
- sms
- security
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 claims description 130
- 230000004913 activation Effects 0.000 claims 2
- 238000012545 processing Methods 0.000 description 39
- 238000010586 diagram Methods 0.000 description 20
- 238000000034 method Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 239000004020 conductor Substances 0.000 description 8
- 230000000977 initiatory effect Effects 0.000 description 6
- 208000034188 Stiff person spectrum disease Diseases 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013480 data collection Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 230000002567 autonomic effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0055—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
- G05D1/0077—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements using redundant signals or controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/023—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0055—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/617—Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/80—Arrangements for reacting to or preventing system or operator failure
- G05D1/81—Handing over between on-board automatic and on-board manual control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R25/00—Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Mechanical Engineering (AREA)
- Stored Programmes (AREA)
- Traffic Control Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本公开的实施例涉及用于交通工具自主驾驶系统的自主驾驶控制器。自主驾驶控制器包括对公共输入数据进行操作的多个并行处理器。多个并行处理器中的每一个都包括通用处理器、安防处理器子系统(SCS)和安全子系统(SMS)。多个并行处理器的通用处理器、SCS和SMS被配置为:第一,从ROM启动多个SCS;第二,从RAM或ROM启动多个并行处理器的多个SMS;以及第三,从RAM启动多个并行处理器的多个通用处理器。在启动SCS和SMS之间,多个SCS中的至少一个可以将SMS启动代码加载到专用于多个SMS的RAM中。根据本公开的实施例,自主驾驶控制器的安防性和安全性得到了增强,并且能够抵抗在启动或重置时可能发生的恶意攻击。
Description
技术领域
本公开涉及交通工具的自主驾驶;更具体地涉及一种自主驾驶控制器并行处理系统。
背景技术
通常已知无人驾驶交通工具包括多个传感器,例如RADAR传感器和LIDOR传感器、摄像头和声波接近检测器等其他类型的数据采集部件。将由这些传感器采集到的数据传送给中央处理器,该中央处理器处理该数据,以帮助做出自主驾驶决策,例如刹车、加速、转向变化等。可以在交通工具无人驾驶时或者在交通工具的驾驶员得到辅助时执行这种自主驾驶决策,例如紧急刹车、驾驶员通知等。
为了确保自主驾驶系统的容错性,自主驾驶控制器通常包括对公共输入数据进行并行操作的多个处理器,例如从传感器接收的数据、驾驶员输入数据、车外输入数据等,以支持自主驾驶操作。并行处理器应该功能齐全,并且一致支持自主驾驶功能。当一个(或多个)并行处理器受到危害时,通常终止自主驾驶操作。然而,由于自主驾驶系统是较大的通信系统(例如车内、车外和车间通信系统)的一部分,例如所以存在可能以不期望的方式可操作地修改或控制并行处理器的风险,尤其是在启动或重置时。
实用新型内容
根据本公开的第一实施例,用于启动包括多个并行处理器的自主驾驶控制器的方法包括:按照以下顺序,从专用于多个SCS的只读存储器(ROM)启动多个并行处理器的多个安防处理器子系统(SCS)。该方法接下来包括启动多个并行处理器的多个安全处理器子系统(SMS)。该方法然后包括启动多个并行处理器的多个通用处理器。
通过按照该顺序启动并行处理器的部件,自主驾驶控制器的安防性和安全性得到了增强,并且能够抵抗在启动或重置时可能发生的恶意攻击。具体地,通过第一启动SCS、第二启动SMS并且第三启动通用处理器,可能存在于通用处理器的软件中的任何恶意软件都不会影响SCS和SMS的启动或重启。
根据第一实施例的第一方面,启动多个并行处理器的多个SMS包括从专用于多个SMS的ROM启动多个SMS。根据第一实施例的第二方面,启动多个并行处理器的多个SMS包括从专用于多个SMS的闪速随机存取存储器(RAM)启动多个SMS。这些不同的技术提供了不同的优点。从ROM启动SMS确保在提供时进行编码的SMS启动代码未被改变。然而,从RAM启动SMS允许SCS确定使用什么SMS启动代码来启动SMS。利用该第二场景,在启动多个SCS之后并且在启动多个SMS之前,至少一个SCS控制将SMS启动代码加载到专用于多个SMS的RAM。
根据第一实施例的另一方面,在启动多个SCS之后并且在启动多个SMS之前,SCS在多个SCS之间建立SCS加密通信。然后SCS加密通信用于使用SCS加密通信来验证多个SCS的成功启动。同样地,在启动多个SMS之后并且在启动多个通用处理器之前,SMS在多个SMS之间建立用于验证多个SMS的成功启动的SCS加密通信。
根据本公开的第二实施例,一种用于交通工具自主驾驶系统的自主驾驶控制器,该交通工具自主驾驶系统具有多个自主驾驶传感器,该自主驾驶控制器包括:多个并行处理器,对从多个自主驾驶传感器接收到的公共输入数据进行操作。多个并行处理器分别包括多个通用处理器、多个SCS和多个SMS。这些部件被配置为:第一,从专用于多个SCS的ROM启动多个SCS;第二,启动多个SMS;以及第三,启动多个通用处理器。该实施例提供了与参照第一实施例所讨论的优点相同/类似的优点。
根据第二实施例的第一方面,多个通用处理器、多个SCS和多个SMS被配置为从专用于多个SMS的ROM启动多个SMS。根据第二实施例的另一方面,多个通用处理器、多个SCS和多个SMS被配置为从专用于多个SMS的闪速RAM启动多个SMS。
根据第二实施例的另一方面,多个通用处理器、多个SCS和多个SMS被配置为:在启动多个SCS之后并且在启动多个SMS之前,使至少一个SCS将SMS启动代码写入到专用于多个SMS的RAM。
进一步地,根据第二实施例的又一方面,多个通用处理器、多个SCS和多个SMS被配置为:在启动多个SCS之后并且在启动多个SMS之前,在多个SCS之间建立SCS加密通信,并且通过至少一个SCS使用SCS加密通信验证多个SCS的成功启动。
根据第二实施例的再一方面,多个通用处理器、多个SCS和多个SMS被配置为:在启动多个SMS之后以及在启动多个通用处理器之前,在多个SMS之间建立SMS加密通信,并且通过至少一个SMS使用SMS加密通信验证多个SMS的成功启动。
本公开的实施例提供了一种用于交通工具自主驾驶系统的自主驾驶控制器。所述交通工具自主驾驶系统具有多个自主驾驶传感器,所述自主驾驶控制器包括:多个并行处理器,对从所述多个自主驾驶传感器接收的公共输入数据进行操作,所述多个并行处理器分别包括:多个通用处理器;多个安防处理器子系统;以及多个安全子系统,其中所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为:第一,从专用于所述多个安防处理器子系统的只读存储器启动所述多个安防处理器子系统;第二,启动所述多个安全子系统;以及第三,启动所述多个通用处理器。
在一些实施例中,所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为从专用于所述多个安全子系统的只读存储器启动所述多个安全子系统。
在一些实施例中,所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为从专用于所述多个安全子系统的闪速随机存取存储器启动所述多个安全子系统。
在一些实施例中,所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为:在所述多个安防处理器子系统的所述启动之后并且在所述多个安全子系统的所述启动之前,至少一个安防处理器子系统将安全子系统启动代码写入到专用于所述多个安全子系统的所述随机存取存储器。
在一些实施例中,所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为:在所述多个安防处理器子系统的所述启动之后并且在所述多个安全子系统的所述启动之前:在所述多个安防处理器子系统之间建立安防处理器子系统加密通信;以及通过至少一个安防处理器子系统,使用所述安防处理器子系统加密通信来验证所述多个安防处理器子系统的成功启动。
在一些实施例中,所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为:在所述多个安全子系统的所述启动之后并且在所述多个通用处理器的所述启动之前:在所述多个安全子系统之间建立安全子系统加密通信;以及通过至少一个安全子系统,使用所述安全子系统加密通信来验证所述多个安全子系统的成功启动。
本公开的实施例还提供了一种用于交通工具自主驾驶系统的自主驾驶控制器。所述交通工具自主驾驶系统具有多个自主驾驶传感器,所述自主驾驶控制器包括:多个并行处理器,对从所述多个自主驾驶传感器接收到的公共输入数据进行操作,所述多个并行处理器分别包括:多个通用处理器;多个安防处理器子系统;以及多个安全子系统,其中所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为:第一,从专用于所述多个安防处理器子系统的只读存储器启动所述多个安防处理器子系统;第二,使所述多个安防处理器子系统将安全子系统启动代码加载到专用于多个安全子系统的随机存取存储器中;以及第三,利用存储在专用于所述多个安全子系统的所述RAM中的所述安全子系统启动代码启动所述多个并行处理器的所述多个安全子系统;以及第四,启动所述多个并行处理器的所述多个通用处理器。
在一些实施例中,所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为:在所述多个安防处理器子系统的所述启动之后并且在所述多个安全子系统的所述启动之前:在所述多个安防处理器子系统之间建立安防处理器子系统加密通信;以及通过至少一个安防处理器子系统,使用所述安防处理器子系统加密通信来验证所述多个安防处理器子系统的成功启动。
在一些实施例中,所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为:在所述多个安全子系统的所述启动之后并且在所述多个通用处理器的所述启动之前:在所述多个安全子系统之间建立安全子系统加密通信;以及通过至少一个安全子系统,使用所述安全子系统加密通信来验证所述多个安全子系统的成功启动。
所公开的实施例的优点将通过读取下面参照附图的详细说明而变得清楚。
附图说明
图1A是图示了交通工具的组的示意图,这些交通工具中的至少一个根据所描述的实施例构造和操作,以支持自主驾驶。
图1B是图示了根据所描述的实施例构造和操作以支持自主驾驶的交通工具的示意图。
图2是图示了根据所描述的第一实施例构造和操作的自主驾驶控制器的框图。
图3A是图示了根据所描述的实施例构造的自主驾驶传感器的框图。
图3B是图示了根据所描述的实施例构造的自主驾驶控制器的框图。
图4A是图示了根据本公开构造和操作的自主驾驶并行处理系统的第一实施例的框图。
图4B是图示了根据本公开构造和操作的自主驾驶并行处理系统的第二实施例的框图。
图5A是图示了图4A和/或4B的自主驾驶并行处理器的部件之间的通信的框图。
图5B是图示了根据所描述的实施例的一个或多个方面的图4A和/或4B的自主驾驶并行处理器的并行处理器的部件的框图。
图6是图示了根据一个或多个所描述的实施例的启动或重置时的自主驾驶控制器的操作的流程图。
图7是图示了根据一个或多个所描述的实施例的启动或重置时的自主驾驶控制器的其他操作的流程图。
具体实施方式
图1A是图示了交通工具的组的示意图,这些交通工具中的至少一个根据所描述的实施例构造和操作,以支持自主驾驶。交通工具100A至100D在第一方向上行进,并且交通工具100E至100H在第二方向上行进。这些交通工具100A至100H中的至少一些支持根据本文随后描述的一个或多个实施例的自主驾驶。交通工具100A至100H支持车内通信、车外通信和车间通信。车内通信发生在特定交通工具内。车外通信发生在交通工具与交通工具外部的一个或多个装置之间,例如交通工具100A与无线接入点12(例如蜂窝基站、WiFi接入点或另一无线装置)之间。这种车外通信的示例是交通工具100A与自主驾驶服务器16之间的经由通信网络14的通信。这些通信可以关于当前的自主驾驶数据/情景,或者可以包括由交通工具100A采集以供自主驾驶服务器16后续使用的数据。
车间通信是车外通信的子集,并且是两个或更多个交通工具(例如100A、100B、100C和100F)之间的通信。这些通信可以关于自主驾驶,例如标识其他交通工具、数据交换、交通工具驾驶警告等。车间通信可以是交通工具之间(例如交通工具100A与100C之间)的直接通信或者由无线接入点12直接或经由通信网络14、自主驾驶服务器或另一服务器中继的间接通信。由于交通工具100A至100H支持各种操作,所以它们可能受到不需要和不期望的通信的影响。在特别糟糕的场景中,当交通工具(例如100F)自主驾驶时,它可能会从另一交通工具(例如100E)或经由无线接入点12接收到恶意通信,错误地通知交通工具100F即将发生的碰撞或其他自主驾驶事件。响应于该恶意通信,交通工具100E可能会自动采取导致碰撞或接近碰撞的防御策略。当然,这种类型的事件是非常不期望的。虽然从自主驾驶的角度来看接收尽可能多的输入数据来做出良好的自主驾驶决策是可取的,但是必须存在保障来保护交通工具100E免受恶意通信。
因此,根据本公开,交通工具(例如100E)包括具有多个并行处理器的自主驾驶控制器,该多个并行处理器对从多个自主驾驶传感器接收到的公共输入数据进行并行操作。多个并行处理器中的每一个并行处理器都包括通用处理器和安防处理器子系统(SCS)以及被配置为支持多个并行处理器之间的通信(包括多个并行处理器的通用处理器之间的通信以及由SCS密码术保护的多个并行处理器的SCS支架的通信)的通信电路系统。多个并行处理器中的每一个并行处理器还包括安全处理器子系统(SMS),通信电路系统还被配置为支持由不同于SCS密码术的SMS密码术保护的多个并行处理器的SMS之间的通信。由SCS、SMS和通信电路系统支持的该通信密码术能够抵抗恶意通信,否则会危害自主驾驶系统。自主驾驶控制器可以包括为通信密码术服务的SCS和/或SMS的专用硬件和/或存储装置。
根据本公开的另一方面,执行多个并行处理器的部件的特定启动顺序,以保障正确地对部件进行配置,以抵抗恶意干预并且确保部件正确运行。根据本公开的该方面,第一启动SCS,第二启动SMS,并且第三启动通用处理器。如本文将进一步描述的,可以在该启动顺序中包括附加保障,以提供对恶意干预的附加抵抗和操作的稳健性。
图1B是图示了根据所描述的实施例构造和操作以支持自主驾驶的交通工具的示意图。交通工具100包括自主驾驶控制器108,其具有车身102和接线系统104,接线系统104用于将具有单独传感器106a至106d的多个自主驾驶传感器106连接至自主驾驶控制器108。图1B的接线系统104是结构电缆112。自主驾驶控制器108可以驻留在信息娱乐装置110上、或在信息娱乐装置110中、或者与信息娱乐装置110位于相同位置。信息娱乐装置110可以用于控制存在于交通工具100中的各种部件的功能,例如接管对与交通工具100的转向系统(未示出)相关联的转向功能、刹车功能、加速功能或者与自主驾驶或防撞有关的交通工具100的另一功能的控制。基于与自主驾驶控制器108的交互来执行信息娱乐自主110的这些操作。
自主驾驶传感器106a至106d包括摄像头、RADAR传感器、LIDAR传感器、声波接近传感器或者收集与交通工具100的操作相关的信息的其他传感器。例如,自主驾驶传感器106a、106b可以是摄像头,同时自主驾驶传感器106c、106d可以是RADAR传感器。自主驾驶传感器106a至106d经由结构电缆112被通信地连接至自主驾驶控制器108。结构电缆112可以包括单个导体或导体对,并且可以是绞合接线对、同轴接线、单导体接线、电源总线或接线、条形接线或其他接线。
图2是图示了根据所描述的实施例构造和操作的自主驾驶系统200的框图。自主驾驶系统200包括总线、被耦合至总线的自主驾驶控制器108以及被耦合至总线的多个自主驾驶传感器212A至212F。在图2的实施例中,总线包括通过部分205相互耦合的两个主要部分204A和204B。总线可以是绞合导体对、条形导体对、同轴导体、携带DC电源的双导体电源总线或者具有一个或两个导体以支持通信的另一结构。
多个装置经由总线通信。这些装置包括自主驾驶控制器108、多个自主驾驶传感器212A至212F、信息娱乐装置214、存储器216、气候控制装置218、电池控制器220(当交通工具是电动车或混合动力汽车时)、引擎/电机控制器222、转向控制器224、刹车控制器226和无线接口228,该无线接口228包括多个无线接口,例如蜂窝、WiFi、蓝牙和/或其他标准。多个自主驾驶传感器212A至212F可以包括一个或多个RADAR单元、一个或多个LIDAR单元、一个或多个摄像头和/或一个或多个接近传感器。多个自主驾驶传感器212A至212F收集自主驾驶数据,并且经由总线将收集到的自主驾驶数据传输给自主驾驶控制器108。然后自主驾驶控制器108处理该数据,并且基于该处理,经由控制器222、224和226完全地或在驾驶员的辅助下控制交通工具的驾驶。
图3A是图示了根据所描述的实施例构造的自主驾驶传感器的框图。自主驾驶传感器300包括被配置为收集自主驾驶数据的数据收集部件306。数据收集部件306可以是RADAR传感器、LIDAR传感器、声波接近传感器或另一类型的传感器。自主驾驶传感器300还包括处理电路系统302、存储器304和收发器311,该收发器311经由总线被耦合至处理电路系统302、存储器304和数据收集部件306。处理电路系统302执行存储在存储器304中的程序,例如自主驾驶紧急操作,从存储器读取数据并且将数据写入到存储器,例如用于支持自主驾驶操作、与数据收集部件306交互以控制自主驾驶数据的收集、处理自主驾驶数据以及与收发器311交互以经由总线通信等其他操作的数据和指令。
作为示例而非限制,处理电路系统302可以是中央处理单元、微控制器、数字信号处理器、专用集成电路、判断单元、确定单元、执行单元、前述的任何的组合或者适合于执行计算机程序的任何其他装置。作为示例,存储器304可以是动态存储器、静态存储器、(多个)磁盘驱动器、(多个)闪存驱动器、前述的任何的组合或者任何其他形式的计算机存储器。存储器304存储用于本公开的操作的计算机程序,还可以存储其他计算机程序、配置信息和实施本公开的实施例所必需的其他短期和长期数据。
收发器311包括发射器308、接收器310和介质I/F 312。介质I/F 312可以是发射/接收(T/R)开关、双工器或者支持所图示的耦合的其他装置。在其他实施例中,发射器308和接收器310直接耦合至总线或者经由介质I/F 312耦合至总线。收发器311支持经由总线的通信。处理电路系统302和收发器311被配置为在总线上将自主驾驶数据传输给自主驾驶控制器108。
图3B是图示了根据所描述的实施例构造的自主驾驶控制器的框图。自主驾驶控制器108包括通用处理电路系统352、存储器354和收发器361,该收发器361被耦合至通用处理电路系统352并且被配置为经由总线与多个自主驾驶传感器通信。自主驾驶控制器108还包括自主驾驶并行处理系统364,该自主驾驶并行处理系统364对从自主驾驶传感器接收的自主驾驶数据进行操作并且支持自主驾驶操作。收发器361包括发射器358、接收器360和经由总线组合支持通信的介质I/F 362。
通用处理电路系统352的构造可以类似于自主驾驶传感器300的处理电路系统302的构造。在本文中还将参照图4至7描述自主驾驶并行处理系统364。存储器354可以具有与自主驾驶传感器300的存储器304类似的结构,但是具有支持自主驾驶控制器108的功能所需的能力。
图4A是图示了根据本公开构造和操作的自主驾驶并行处理系统400的第一实施例的框图。并行处理系统400可以是图3B的并行处理系统364。备选地,并行处理系统400可以是为交通工具的自主驾驶需要服务的单独构造。并行处理系统400包括对从多个自主驾驶传感器212A至212N接收到的公共输入数据进行操作的多个并行处理器402A、402B、…、402N。多个并行处理器402A至402N中的每一个都包括多个部件,在图4A中图示了多个部件中的一些而非全部。通信电路系统412为多个并行处理器402A至402N之间的通信服务。
例如,未在图4A(和图4B)中图示的另外的部件可以包括内部通信电路系统(例如片上网络(NoC)通信电路系统)、存储器控制器、并行处理器通用接口通道(GIC)电路系统、一个或多个网络接口、只读存储器(ROM)(例如系统ROM和安防ROM)、随机存取存储器(RAM)(例如通用RAM、缓存存储器RAM和安防RAM)、看门狗定时器和其他通信接口。
第一并行处理器402A包括一个或多个通用处理器404A、一个或多个卷积神经网络(CNN)引擎406A、安防处理器子系统(SCS)408A和安全处理器子系统(SMS)410A。同样地,第二并行处理器402B包括一个或多个通用处理器404B、一个或多个CNN引擎406B、SCS 408B和SMS 410B。最后,第N并行处理器402N包括一个或多个通用处理器404N、一个或多个CNN引擎406N、SCS 408N和SMS 410N。
通常,SCS 408A至408N负责相应的多个并行处理器402A至402N的安防性。由SCS408A至408N执行的安防功能可以包括授权固件更新、限制对存储器的访问、授权/取消与多个并行处理器402A至402N外部的部件通信的权限以及其他安防功能。安防操作可以作为组来执行,以为多个并行处理器402A至402N的操作提供安全防护,即,启动操作、重置操作、验证软件/固件更新、监测对多个并行处理器402A至402N的访问等。SCS 408A至408N的组可以一起工作,以第一独立地确定是否授权操作,以及第二在授权之前做出需要SCS 408A至408N的所有或子集一致的组决策。
SMS 410A至410C负责通过自主驾驶控制器的自主驾驶的安全性。由于多个并行处理器402A至402N基本上对公共输入数据进行操作并且产生相应输出,所以SMS 410A至410N的作用是确定并行处理器402A至402N的相应输出是否一致,如果一致,则确定是否授权开始或继续自主驾驶。
根据本公开,按照特定顺序启动多个并行处理器的部件。利用该启动顺序,第一启动多个SCS 408A至408N,第二启动多个SMS 410A至410N,并且最后启动多个通用处理器404A至404N。根据一个方面,利用从专用于SCS 408A至408N并且仅可以由SCS 408A至408N访问的ROM检索的启动代码来启动多个SCS 408A至408N。然后利用被存储在可以专用于多个SMS 410A至410N的闪速RAM中的SMS启动代码,来启动多个SMS 410A至410N。然后利用存储在闪速RAM(可以是通用闪速RAM)中的启动代码,来启动多个通用处理器404A至404N。
根据本公开的另一方面,多个SCS 408A至408N在其间建立保密通信,特别以验证它们已经正确启动。为了支持这些保密通信,通信电路系统412被配置为支持由SCS密码术保护的多个并行处理器402A至402N的SCS 408A至408N之间的通信。通信电路系统412还可以被配置为支持由SMS密码术保护的多个并行处理器402A至402N的SMS 410A至410N之间的通信,SMS密码术不同于SCS密码术。多个SMS 410A至410N之间的保密通信也可以用于确保SMS 410A至410N已经正确启动并且执行其他安全操作。
例如,SCS和SMS密码术可以是任何数量的不同密码术,例如公钥密码术、密钥密码术或散列密钥密码术。读者要理解,可以使用许多不同类型的密码术来实现本公开的原理。由于通常已知不同密码术的结构和操作,所以在本文中将不会进一步描述这些结构和操作,除非它们关于本公开的原理和教导。本文描述的SCS和SMS密码术(和其他密码术)将参照公钥密码术完成,其中SCS私钥用于对SCS之间的通信进行加密,以及其中SMS私钥用于对SMS之间的通信进行加密。私钥密码术还可以用于保护多个并行处理器402A至402N的通用处理器404A至404N之间、交通工具100A的部件之间、交通工具之间(例如交通工具100A与100D之间)以及交通工具(例如100A)与自主驾驶服务器16之间的通信。
可以从专用于第一SCS 408A的本地存储器(例如ROM)或者从第一SCS 408A的电阻晶体管逻辑(RTL)检索SCS私钥。备选地,可以基于从专用于第一SCS的本地存储器检索到的数据由第一SCS 408A生成SCS私钥。生成SCS私钥或者检索SCS私钥可以由第一SCS 408A的专用硬件执行。
同样地,可以从专用于第一SMS 410A的本地存储器(例如ROM)或者从第一SMS410A的RTL检索SMS私钥。备选地,可以基于从专用于第一SMS 410A的本地存储器检索到的数据由第一SMS 410A生成SMS私钥。生成SMS私钥或者检索SMS私钥可以由第一SMS 410A的专用硬件执行。
根据本公开的方面,多个并行处理器402A至402N可以被配置为使得第二SCS 408B被配置为将从另一SCS 408A接收到的SCS私钥存储在专用于SCS 408A的本地存储器中。同样地,第二SMS 410B可以被配置为将从另一SMS 410A接收到的SMS私钥存储在专用于SMS410B的本地存储器中。
根据本公开的另一方面,多个并行处理器402A至402N中的每一个并行处理器都包括对应于其SCS 408A至408N的专用SCS密码硬件。根据本公开的又一方面,多个并行处理器402A至402N中的每一个都包括对应于其SMS 410A至410N的专用SMS密码硬件。
根据略微不同的方面,第一并行处理器402A可以包括SCS 408A,该SCS 408A包括专用SCS存储器和/或SCS密码硬件。在这种情况下,SCS 408A从其专用存储器检索SCS私钥或者生成SCS私钥,并且将SCS私钥分发给其他SCS 408B至408N。在这种情况下,其他SCS408B至408N中的一个或多个不具有专用SCS存储器或SCS密码硬件。这些相同方面可以应用于多个并行处理器402A至402N的SMS 410A至410N。
在建立SCS密码术时,多个并行处理器402A至402N中的第一并行处理器402A的第一SCS(例如408A)可以被配置为建立与多个并行处理器402A至402N中的第二并行处理器402B的第二SCS 408B的私有通信链路,并且使用该私有通信链路来将SCS私钥传输给第二并行处理器402B的第二SCS 408B以在由SCS密码术保护的通信中进行后续使用。在建立与多个并行处理器中的第二并行处理器402B的第二SCS 408B的私有通信链路时,第一并行处理器402A的第一SCS 408A可以使用第一SCS 408A的专用SCS密码硬件,并且第二并行处理器402B的第二SCS 408B可以使用第二SCS 408B的专用SCS密码硬件。在建立与多个并行处理器中的第二并行处理器的第二SCS的私有通信链路时,第一SCS可以使用Diffie-Hellman算法和/或Rivest-Shamir-Adleman(RSA)算法中的一种或多种算法。
自主驾驶并行处理系统400可以具有多种不同的物理构造。根据一种构造,多个并行处理器402A至402B形成在单个片上系统集成电路(SOC)上。利用该构造,通信电路系统412也可以形成在SOC上。利用另一构造,多个并行处理器形成在不同的相应集成电路上。进一步地,利用又一构造,多个并行处理器402A至402N中的第一组形成在第一集成电路上,并且多个并行处理器402A至402N中的第二组形成在第二集成电路上。当然,在不偏离本公开的范围的情况下可以形成其他物理构造。
根据本公开的另一方面,通信电路系统使用不同于SCS密码术和SMS密码术的车内密码术来支持多个自主驾驶传感器212A至212N和自主驾驶控制器202之间的车内通信。进一步地,根据本公开的又一方面,其中通信电路系统使用不同于车内密码术和SCS密码术和SMS密码术的车外密码术来支持车外通信。
图4B是图示了根据本公开构造和操作的自主驾驶并行处理系统450的第二实施例的框图。自主驾驶并行处理系统450可以是图3B的自主驾驶并行处理系统364或者可以是单独构造。当被构造为图4A的结构时,图4B的自主驾驶并行处理系统450包括用于每个并行处理器452A至452N的SOC。进一步地,通信电路系统453A至453N分别驻留在多个并行处理器452A至452N中。并行处理系统可以为交通工具的所有自主驾驶需要加以服务。
并行处理系统450包括对从多个自主驾驶传感器212A至212N接收到的公共输入数据进行操作的多个并行处理器452A、452B、…、452N。并行处理系统450还将输出数据提供给交通工具控制器220、222、226和224。该输出数据可以由多个并行处理器452A至452N之间的协定或者由多个并行处理器452A至452N中的指定并行处理器来提供。
例如,多个并行处理器452A至452N中的每一个并行处理器都可以包括未在图4A中图示的部件,这些部件可以包括内部通信电路系统(例如片上网络(NoC)通信电路系统)、存储器控制器、并行处理器通用接口通道(GIC)电路系统、一个或多个网络接口、只读存储器(ROM)(例如系统ROM和安防ROM)、随机存取存储器(RAM)(例如通用RAM、缓存存储器RAM和安防RAM)、看门狗定时器和其他通信接口。
第一并行处理器452A包括通信电路系统453A、一个或多个通用处理器454A、一个或多个CNN引擎456A、SCS 458A和SMS 460A。同样地,第二并行处理器452B包括通信电路系统453B、一个或多个通用处理器454B、一个或多个CNN引擎456B、SCS 458B和SMS 460B。最后,第N并行处理器452N包括通信电路系统453N、一个或多个通用处理器454N、一个或多个CNN引擎456N、SCS 458N和SMS 460N。
根据本公开,按照特定顺序启动多个并行处理器的部件。利用该启动顺序,第一启动多个SCS 458A至458N,第二启动多个SMS 460A至460N,并且最后启动多个通用处理器454A至454N。根据一个方面,利用从专用于SCS 458A至458N并且仅可以由SCS 458A至458N访问的ROM检索到的SCS启动代码来启动多个SCS 458A至458N。然后利用从可以专用于多个SMS 460A至460N的闪速RAM检索到的启动代码来启动多个SMS 460A至460N。然后利用从闪速RAM(可以是通用闪速RAM)检索到的启动代码来启动多个通用处理器。
根据本公开的另一方面,多个SCS 458A至458N在其间建立保密通信,以特别验证它们已经正确启动。为了支持这些保密通信,通信电路系统453A至453N被配置为支持由SCS密码术保护的多个并行处理器452A至452N的SCS 458A至458N之间的通信。通信电路系统453A至453N还可以被配置为支持由SMS密码术保护的多个并行处理器452A至452N的SMS460A至460N之间的通信,SMS密码术不同于SCS密码术。多个SMS 460A至460N之间的保密通信也可以用于确保SMS 460A至460N已经正确启动并且执行其他安全操作。
根据本公开的另一方面,SCS密码术用于将来自一个SCS的SMS启动代码和/或通用处理器启动代码传递给另一SCS。然后SCS将SMS启动代码写入到SMS闪速RAM和/或将通用处理器启动代码写入到通用闪速RAM。
图4B的并行处理系统450的SCS和SMS密码术可以与参照图4A描述的SCS和SMS密码术类似或相同。进一步地,图4B的并行处理系统450的SCS和SMS的特定结构和操作可以与图4A的特定结构和操作相同或类似。而且,公钥密码术还可以用于保护多个并行处理器452A至452N的通用处理器454A至454N之间、交通工具100A的部件之间、交通工具之间(例如交通工具100A与100D之间)以及交通工具(例如100A)与自主驾驶服务器16之间的通信。
利用图4B的构造,多个并行处理器452A至452N形成为多个SOC。根据本公开的另一方面,通信电路系统使用不同于SCS密码术的车内密码术来支持多个自主驾驶传感器212A至212N和并行处理系统450之间的车内通信。进一步地,根据本公开的又一方面,其中通信电路系统使用不同于车内密码术和SCS密码术的车外密码术来支持车外通信。
图5A是图示了图4A和/或4B的自主驾驶并行处理器(400和500)的部件之间的通信的框图。示出了以不同方式为其通用处理器404A至404C之间、其SCS 408A至408C之间及其SMS 410A至410C之间的通信服务的三个并行处理器402A、402B和402C。从一个角度看,在部件的不同集合之间建立不同信任根。在并行处理器402A、402B和402C的通用处理器404A、404B和404C之间建立第一信任根。可以在通用处理器404A、404B和404C之间建立该信任根,使得其间的通信未被加密。备选地,可以基于交通工具宽度在通用处理器404A、404B和404C之间建立信任根,使得共享公钥/私钥对由交通工具内的所有部件使用,以保护例如通用处理器404A、404B和404C与自主驾驶传感器212A至212N之间的车内通信。然后第一信任根用于支持通用处理器404A、404B和404C之间的通用处理器通信502。
进一步地,在使用SCS公钥/私钥对(SCS密码术)的SCS 408A、408B和408C之间建立另一信任根。SCS私钥(和SCS公钥)可以在SCS 408A、408B或408C中的一个中硬连接,例如ROM或RTL。然后在并行处理系统的其他SCS 408B和408C之间分发SCS私钥,其随后用于SCS408A至408C之间的所有SCS通信504。
另外,在使用不同于SCS公钥/私钥对的SMS公钥/私钥对(SMS密码术)的SMS 410A、410B和410C之间建立另一信任根。SMS私钥(和SMS公钥)可以在SMS 410A、410B或410C中的一个中硬连接,例如ROM或RTL。然后在并行处理系统的其他SMS 410B和410C之间分发SMS私钥,其随后用于SMS 410A至410C之间的所有SMS通信506。
相同或不同的加密类型可以用于不同的信任根。例如,弱加密可以用于通用处理器通信502,而较强的加密用于SCS通信504和SMS通信506。进一步地,利用一些方面,最强的加密用于SCS通信504,因为SCS是并行处理系统中最安全的部件。
利用首先启动多个SCS 408A至408C,可以启用它们以在SMS 410A至410C或通用处理器404A至404C已经启动之前建立其信任根和对应的SCS密码术。因此,在SCS 408A至408C已经启动之后,但是在启动SMS 410A至410C之前,SCS 408A至408C可以使用SCS密码术通信以验证它们已经正确启动。这种验证可以是简单的过程(诸如交换特定SCS状态),或者需要多个SCS 408A至408C之间的多个通信的更复杂的验证过程。在启动SMS 410A至410C之后,SMS 410A至410C可以使用SMS加密的通信来验证它们也已经正确启动。
图5B是图示了根据所描述的实施例的一个或多个方面的图4A和/或4B的自主驾驶并行处理器的并行处理器的部件的框图。并行处理器550包括一个或多个通用处理器552、通信电路系统558、一个或多个CNN引擎560、SCS 562和SMS 576。通用处理器包括本地RAM554和本地ROM 556。通信电路系统558被配置为支持并行处理器550与其他并行处理器之间以及并行处理器550与并行处理器550外部的其他部件之间的通信。RAM 590为并行处理器550服务,并且存储可以包括公钥/私钥和通用处理器启动代码592的数据。ROM 594为并行处理器550服务,并且存储可以包括公钥/私钥和/或通用处理器启动代码595的数据。
并行处理器550还包括(多个)CNN引擎560、SCS 562和SMS 576。SCS 562包括可以用于存储公钥/私钥的专用RAM 564。进一步地,SCS 562还包括可以分别存储公钥/私钥或SCS启动代码570和574的专用ROM 568和RTL 572。SCS 562还可以包括专用SCS密码硬件573,该专用SCS密码硬件573支持根据本公开的SCS密码操作,并且其可以包括密钥生成、通信加密和通信解密操作。
同样地,SMS 576还包括可以用于存储SMS启动代码580的专用RAM 578。进一步地,SMS 576还包括可以存储SMS启动代码583的专用ROM 582以及可以存储公钥/私钥的RTL586。在制造并行处理器550期间对RTL 572和586进行硬编程,并且可以在提供并行处理器550期间对ROM 568和582进行编程。SMS 576还可以包括专用SMS密码硬件577,该专用SMS密码硬件577支持根据本公开的SMS密码操作,并且其可以包括密钥生成、通信加密和通信解密操作。
根据本公开,通用处理器552、SCS 562和SMS 576被配置为:第一,使用SCS启动代码570来从ROM 568启动SCS;第二,使用存储在专用于SMS 576的RAM 578中的SMS启动代码580来启动SMS 576;以及第三,使用通用处理器启动代码592来从RAM 590启动(多个)通用处理器552。备选地,SMS 576可以使用SMS启动代码583来从专用于SMS的ROM 582启动。
根据可选方面,SCS 562被配置为:在SCS 562启动之后以及在启动SMS 576之前,将SMS启动代码580写入到专用于SMS 576的RAM 578。根据另一可选方面,在启动SCS 562之后并且在启动SMS 576之前,SCS 562进行操作,以建立与至少一个其他SCS的SCS加密通信,并且利用至少一个其他SCS验证SCS 562和至少一个其他SCS已经成功启动。同样地,在启动SMS 576之后并且在启动通用处理器552之前,SMS 576进行操作,以建立与至少一个其他SMS的SCS加密通信,并且利用至少一个其他SMS验证SMS 576和至少一个其他SMS已经成功启动。
并行处理器550支持可能与参照图4A、4B和5A描述的SCS和SMS密码术相同/类似的SCS和SMS密码术。进一步地,并行处理器550还支持本文先前参照(多个)其他结构描述的通用处理器552的通信。
与先前描述的操作一致,可以从ROM 568或RTL 572检索SCS私钥。备选地,可以基于从ROM 568或RTL 572检索到的数据由SCS 562生成SCS私钥。生成SCS私钥或者检索SCS私钥可以由SCS 562的专用硬件573执行。
同样地,可以从ROM 582或RTL 586检索SMS私钥。备选地,可以基于从ROM 582或RTL 586检索到的数据由SMS 576生成SMS私钥。生成SMS私钥或者检索SMS私钥可以由SMS576的专用SMS密码硬件577执行。
图6是图示了根据一个或多个所描述的实施例的启动或重置时的自主驾驶控制器的操作的流程图。启动或重置时的操作600开始于首先使用被存储在专用于多个SCS的ROM中的SCS启动代码来启动多个并行处理器的多个SCS(步骤602)。接下来,操作600继续于SCS可选地控制将SMS启动代码加载到SMS闪速RAM中(步骤604)。接下来,操作600继续于使用存储在SMS闪速RAM中的SMS启动代码来启动多个并行处理器的多个SMS(步骤606)。在备选操作中,SMS启动代码存储在ROM中,并且SMS使用存储在ROM中的SMS代码来启动。接下来,操作600继续于SCS可选地控制将通用处理器启动代码加载到通用处理器闪速RAM中(步骤608)。然后,操作600继续于启动多个并行处理器的多个通用处理器(步骤610)。然后多个并行处理器完全启用并且可操作,直到存在重置事件(在步骤612中),并且在重置时,操作600返回到步骤602。
图7是图示了根据一个或多个所描述的实施例的启动或重置时的自主驾驶控制器的其他操作的流程图。启动或重置时的操作700开始于首先从专用于多个SCS的ROM启动多个并行处理器的多个SCS(步骤702)。操作700继续于SCS在其间建立SCS加密通信(步骤704)。然后SCS确定是否所有SCS都已经成功启动(步骤706)。如果不是,则操作返回到步骤702。如果是的话,则一个或多个SCS可选地控制将SMS启动代码加载到SMS闪速RAM中(步骤708)。
接下来,操作700继续于从存储在SMS闪速RAM中的SMS启动代码启动多个并行处理器的多个SMS(步骤710)。在备选操作中,SMS启动代码存储在ROM中,并且SMS从存储在ROM中的SMS代码启动。操作700继续于SMS在其间建立SMS加密通信(步骤712)。然后SMS确定是否所有SMS都已经被成功启动(步骤714)。如果不是,则操作返回到步骤702。如果是的话,则一个或多个SCS可选地控制将通用处理器启动代码加载到通用处理器闪速RAM中(步骤716)。
然后,操作700继续于启动多个并行处理器的多个通用处理器(步骤718)。然后通用处理器确定是否所有通用处理器都已经成功启动(步骤720)。如果不是,则操作返回到步骤702。如果是的话,那么多个并行处理器完全启用并且可操作,直到存在重置事件(在步骤722中),并且在重置时,操作700返回到步骤702。
在前述说明书中,已经参照特定实施例描述了本公开。然而,如本领域技术人员将了解的,在不脱离本公开的精神和范围的情况下,可以以各种其他方式修改或以其他方式实施本文公开的各种实施例。因此,该描述被认为是说明性的,并且是为了教导本领域技术人员制造和使用所公开的系统、方法和计算机程序产品的各种实施例的方式。要理解,本文所示出和描述的公开内容的形式将被视为代表性实施例。等效元件、材料、过程或步骤可以代替在本文中代表性地图示和描述的那些元件、材料、过程或步骤。而且,本公开的某些特征可以独立于其他特征的使用而被利用,所有这些对于本领域技术人员来说在受益于本公开的描述之后是显而易见的。
本文描述的例程、方法、步骤、操作或其部分可以使用软件和固件指令通过电子设备(例如一个或多个处理器)来实施。“处理器”或“处理电路系统”包括处理数据、信号或其他信息的任何硬件系统、硬件机制或硬件部件。处理器可以包括具有用于实现功能的中央处理单元、多个处理单元、专用电路系统的系统或者其他系统。一些实施例可以通过使用一个或多个数字计算机或处理器中的软件编程或代码,通过使用专用集成电路(ASIC)、可编程逻辑装置、现场可编程门阵列(FPGA)、光学、化学、生物、量子或纳米工程系统、部件和机制来实施。基于本文代表性地提供的公开内容和教导,本领域技术人员将了解实施本实用新型的其他方式或方法。
如本文所使用的,术语“包括”、“包括有”、“包含”、“包含有”、“有”、“具有”或其任何上下文变型旨在涵盖非排他性的包含。例如,包括元素列表的过程、产品、物品或设备不一定仅限于这些元素,而是可以包括未明确列出的或者这种过程、产品、物品或设备固有的其他元素。进一步地,除非有相反的明确说明,否则“或”是指兼或而不是异或。例如,条件“A或B”由以下中的任何一个满足:A为真(或存在)且B为假(或不存在),A为假(或不存在)且B为真(或存在),A和B都为真(或存在)。
尽管可以按照特定顺序来呈现步骤、操作或者计算,但是可以在不同实施例中改变该顺序。在一些实施例中,到了在本说明书中按顺序示出多个步骤的程度,可以同时执行备选实施例中的这种步骤的一些组合。本文描述的操作顺序可以由另一过程中断、暂停、反转或以其他方式控制。
还要了解,附图/图中描绘的元件中的一个或多个也可以以更分离或集成的方式实施,甚或在某些情况下被移除或呈现为无法操作,如根据特定应用有用的。另外,除非另有具体指出,否则附图/图中的任何信号箭头应仅被视为示例性而非限制性的。
Claims (9)
1.一种用于交通工具自主驾驶系统的自主驾驶控制器,其特征在于,所述交通工具自主驾驶系统具有多个自主驾驶传感器,所述自主驾驶控制器包括:
多个并行处理器,对从所述多个自主驾驶传感器接收的公共输入数据进行操作,所述多个并行处理器分别包括:
多个通用处理器;
多个安防处理器子系统;以及
多个安全子系统,其中所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为:
第一,从专用于所述多个安防处理器子系统的只读存储器启动所述多个安防处理器子系统;
第二,启动所述多个安全子系统;以及
第三,启动所述多个通用处理器。
2.根据权利要求1所述的自主驾驶控制器,其特征在于,所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为从专用于所述多个安全子系统的只读存储器启动所述多个安全子系统。
3.根据权利要求1所述的自主驾驶控制器,其特征在于,所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为从专用于所述多个安全子系统的闪速随机存取存储器启动所述多个安全子系统。
4.根据权利要求3所述的自主驾驶控制器,其特征在于,所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为:在所述多个安防处理器子系统的所述启动之后、并且在所述多个安全子系统的所述启动之前,至少一个安防处理器子系统将安全子系统启动代码写入到专用于所述多个安全子系统的所述随机存取存储器。
5.根据权利要求1所述的自主驾驶控制器,其特征在于,所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为:在所述多个安防处理器子系统的所述启动之后、并且在所述多个安全子系统的所述启动之前:
在所述多个安防处理器子系统之间建立安防处理器子系统加密通信;以及
通过至少一个安防处理器子系统,使用所述安防处理器子系统加密通信来验证所述多个安防处理器子系统的成功启动。
6.根据权利要求1所述的自主驾驶控制器,其特征在于,所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为:在所述多个安全子系统的所述启动之后、并且在所述多个通用处理器的所述启动之前:
在所述多个安全子系统之间建立安全子系统加密通信;以及
通过至少一个安全子系统,使用所述安全子系统加密通信来验证所述多个安全子系统的成功启动。
7.一种用于交通工具自主驾驶系统的自主驾驶控制器,其特征在于,所述交通工具自主驾驶系统具有多个自主驾驶传感器,所述自主驾驶控制器包括:
多个并行处理器,对从所述多个自主驾驶传感器接收到的公共输入数据进行操作,所述多个并行处理器分别包括:
多个通用处理器;
多个安防处理器子系统;以及
多个安全子系统,其中所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为:
第一,从专用于所述多个安防处理器子系统的只读存储器启动所述多个安防处理器子系统;
第二,使所述多个安防处理器子系统将安全子系统启动代码加载到专用于多个安全子系统的随机存取存储器中;以及
第三,利用存储在专用于所述多个安全子系统的所述随机存取存储器中的所述安全子系统启动代码启动所述多个并行处理器的所述多个安全子系统;以及
第四,启动所述多个并行处理器的所述多个通用处理器。
8.根据权利要求7所述的自主驾驶控制器,其特征在于,所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为:在所述多个安防处理器子系统的所述启动之后、并且在所述多个安全子系统的所述启动之前:
在所述多个安防处理器子系统之间建立安防处理器子系统加密通信;以及
通过至少一个安防处理器子系统,使用所述安防处理器子系统加密通信来验证所述多个安防处理器子系统的成功启动。
9.根据权利要求7所述的自主驾驶控制器,其特征在于,所述多个通用处理器、所述多个安防处理器子系统和所述多个安全子系统被配置为:在所述多个安全子系统的所述启动之后、并且在所述多个通用处理器的所述启动之前:
在所述多个安全子系统之间建立安全子系统加密通信;以及
通过至少一个安全子系统,使用所述安全子系统加密通信来验证所述多个安全子系统的成功启动。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862663498P | 2018-04-27 | 2018-04-27 | |
US62/663,498 | 2018-04-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN210310316U true CN210310316U (zh) | 2020-04-14 |
Family
ID=68291173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201920578668.2U Active CN210310316U (zh) | 2018-04-27 | 2019-04-25 | 用于交通工具自主驾驶系统的自主驾驶控制器 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11593119B2 (zh) |
CN (1) | CN210310316U (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2564878B (en) * | 2017-07-25 | 2020-02-26 | Advanced Risc Mach Ltd | Parallel processing of fetch blocks of data |
US11005649B2 (en) * | 2018-04-27 | 2021-05-11 | Tesla, Inc. | Autonomous driving controller encrypted communications |
US11593119B2 (en) | 2018-04-27 | 2023-02-28 | Tesla, Inc. | Autonomous driving controller parallel processor boot order |
IT202100012395A1 (it) * | 2021-05-13 | 2022-11-13 | St Microelectronics Srl | Circuito controllore, sistema e procedimento corrispondenti |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070288740A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for secure boot across a plurality of processors |
US20150294119A1 (en) * | 2014-04-10 | 2015-10-15 | International Business Machines Corporation | Booting a multi-node computer system from a primary node dynamically selected based on security setting criteria |
US9529601B1 (en) * | 2015-07-15 | 2016-12-27 | Dell Products L.P. | Multi-processor startup system |
US10089116B2 (en) * | 2016-03-18 | 2018-10-02 | Uber Technologies, Inc. | Secure start system for an autonomous vehicle |
US10311236B2 (en) * | 2016-11-22 | 2019-06-04 | Advanced Micro Devices, Inc. | Secure system memory training |
US11214273B2 (en) * | 2017-06-23 | 2022-01-04 | Nvidia Corporation | Method of using a single controller (ECU) for a fault-tolerant/fail-operational self-driving system |
US10768626B2 (en) * | 2017-09-30 | 2020-09-08 | Tusimple, Inc. | System and method for providing multiple agents for decision making, trajectory planning, and control for autonomous vehicles |
US11644834B2 (en) * | 2017-11-10 | 2023-05-09 | Nvidia Corporation | Systems and methods for safe and reliable autonomous vehicles |
DE112017008211T5 (de) * | 2017-11-17 | 2020-08-06 | Intel Corporation | Techniken für die Initialisierung einer Computerplattform |
US11354449B2 (en) * | 2018-04-27 | 2022-06-07 | Tesla, Inc. | Secure initial provisioning of a system on a chip |
US11005649B2 (en) * | 2018-04-27 | 2021-05-11 | Tesla, Inc. | Autonomous driving controller encrypted communications |
US11593119B2 (en) | 2018-04-27 | 2023-02-28 | Tesla, Inc. | Autonomous driving controller parallel processor boot order |
US11423178B2 (en) * | 2018-04-27 | 2022-08-23 | Tesla, Inc. | Isolation of subsystems on a system on a chip |
US11803643B2 (en) * | 2020-02-07 | 2023-10-31 | Intel Corporation | Boot code load system |
-
2019
- 2019-04-18 US US16/388,541 patent/US11593119B2/en active Active
- 2019-04-25 CN CN201920578668.2U patent/CN210310316U/zh active Active
-
2023
- 2023-02-23 US US18/173,656 patent/US11960901B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20190332390A1 (en) | 2019-10-31 |
US11960901B2 (en) | 2024-04-16 |
US20230281017A1 (en) | 2023-09-07 |
US11593119B2 (en) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN210310316U (zh) | 用于交通工具自主驾驶系统的自主驾驶控制器 | |
CN210310317U (zh) | 用于交通工具自动驾驶系统的自动驾驶控制器 | |
US11314661B2 (en) | Hardware security for an electronic control unit | |
CN107729757B (zh) | 软件更新之前的软件认证 | |
KR101527779B1 (ko) | 효율적인 차량용 리프로그래밍 장치 및 그 제어방법 | |
US10353692B2 (en) | Method for updating a control unit for an automotive vehicle, control unit for an automotive vehicle, and computer program product | |
CN210324199U (zh) | 片上系统 | |
CN210136494U (zh) | 片上系统 | |
CN112532574A (zh) | 车辆数据验证 | |
US11182485B2 (en) | In-vehicle apparatus for efficient reprogramming and controlling method thereof | |
JP7176488B2 (ja) | データ保存装置、及びデータ保存プログラム | |
CN113885907A (zh) | 一种固件升级系统及方法 | |
CN112242903A (zh) | 混合设备以及针对混合设备执行安全引导过程的方法 | |
US12058517B2 (en) | Vehicle system, server, and vehicle communication security method | |
JP7533379B2 (ja) | センタ、otaマスタ、方法、プログラム、及び車両 | |
US20220239472A1 (en) | Service-oriented architecture in a vehicle | |
CN115248696A (zh) | Ota主机、方法及非暂时性存储介质 | |
WO2022055486A1 (en) | Vehicle bootloader authentication system | |
JP7464013B2 (ja) | センタ、otaマスタ、方法、プログラム、及び車両 | |
US20230015693A1 (en) | Restoration of corrupted keys in a secure storage system | |
US20230087521A1 (en) | Computing device verification | |
US20240354394A1 (en) | Signature verification device, signature verification method, storage medium storing signature verification program, and encryption processing device | |
CN113536280B (zh) | 认证设备、方法和系统 | |
US20240275581A1 (en) | Data storage system, mobile object, and non-transitory computer readable storage medium | |
EP4220461A1 (en) | Accelerated secure boot for embedded controllers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: Texas, USA Patentee after: TESLA, Inc. Address before: California Patentee before: TESLA, Inc. |
|
CP02 | Change in the address of a patent holder |