掌桥专利:专业的专利平台
掌桥专利
首页

基于PCIe的车载通信系统及车辆

文献发布时间:2024-01-17 01:19:37


基于PCIe的车载通信系统及车辆

技术领域

本申请总体上涉及通信技术领域,并且更具体地涉及一种基于PCIe(PeripheralComponentInterconnectexpress)的车载通信系统及车辆。

背景技术

随着汽车“新四化”(电动化、智能化、网联化、共享化)尤其是智能化的高速发展,构建松耦合、高内聚、算力可扩展的智能化中央电脑算力平台已成为未来汽车发展的主要趋势。智能化中央电脑算力平台以实现算力共享、动态负载均衡、算力可扩展、同构级联等为主要目标,实现了从分立零件开发向面向客户的软件服务转变,结合算力可扩展软硬件架构与负载均衡技术,支撑“软件定义汽车”战略实施。

数据如何在智能化中央电脑算力平台上的多个系统级芯片SOC(SystemonChip)间高速有效的通信,已成为限制智能化中央电脑算力平台实现算力共享、动态负责均衡等核心目标的主要技术瓶颈。目前,系统级芯片SOC之间的通信方式主要有SPI(SerialPeripheral Interface)和车载以太网通信。然而,SPI由于受制于有限的传输距离和通信速率,无法满足智能化中央电脑算力平台对大数据的高速传输要求。车载以太网虽然能够达到千兆的通信速率,但是随着自动驾驶的发展,对智能化中央电脑算力平台提出了更高的计算能力和通信速率要求,使得本已满负载运行的以太网也难以解决多个系统级芯片SOC间更高速率的数据通信问题。

因此,如何实现智能化中央电脑算力平台上多个系统级芯片SOC间的高效快速的数据通信成为亟待解决的技术问题。

发明内容

为了解决或至少缓解以上问题中的一个或多个,提供了以下技术方案。

按照本申请的第一方面,提供一种基于PCIe的车载通信系统,所述车载通信系统包括:多个系统级芯片SOC,所述多个系统级芯片SOC被划分为根复合体和多个端点设备;以及PCIe交换设备,所述PCIe交换设备耦合至所述根复合体和所述多个端点设备,以用于在所述根复合体和所述多个端点设备之间以及在所述多个端点设备之间执行通信操作。

根据本申请一实施例所述的基于PCIe的车载通信系统,其中所述通信操作包括读操作和写操作。

根据本申请一实施例或以上任一实施例的所述的基于PCIe的车载通信系统,其中所述根复合体配置成:通过枚举PCIe树获得所述多个端点设备的状态;以及基于所述多个端点设备的状态分别在所述根复合体和所述多个端点设备上实现各自CPU域与PCIe域的映射,以实现CPU操作PCIe域地址的功能。

根据本申请一实施例或以上任一实施例的所述的基于PCIe的车载通信系统,其中所述PCIe交换设备配置成通过下列方式执行所述根复合体对所述多个端点设备中的一个端点设备的读操作:从所述根复合体接收读操作请求并将所述读操作请求发送至所述多个端点设备中的一个端点设备,使得所述端点设备响应于所述读操作请求而从用户空间读取相应的数据并将所述数据写入PCIe域,并触发写完成中断;以及从所述端点设备接收所述写完成中断并将所述写完成中断发送至所述根复合体,使得所述根复合体响应于所述写完成中断而将所述PCIe域中的所述数据传回到用户空间进行保存。

根据本申请一实施例或以上任一实施例的所述的基于PCIe的车载通信系统,其中所述PCIe交换设备配置成通过下列方式执行所述根复合体对所述多个端点设备中的一个端点设备的写操作:从所述根复合体接收写操作请求并将所述写操作请求发送至所述多个端点设备中的一个端点设备,使得所述端点设备响应于所述写操作请求而获取PCIe域的相应数据以触发写完成中断,并将所述数据传回到用户空间进行保存。

根据本申请一实施例或以上任一实施例的所述的基于PCIe的车载通信系统,其中所述PCIe交换设备配置成通过下列方式执行所述多个端点设备中的一个端点设备对所述根复合体的写操作:从所述多个端点设备中的一个端点设备接收写操作请求和写完成中断并将所述写操作请求和写完成中断发送至所述根复合体,使得所述根复合体响应于所述写完成中断而获取PCIe域的相应数据并将所述数据传回到用户空间进行保存。

根据本申请一实施例或以上任一实施例的所述的基于PCIe的车载通信系统,其中所述PCIe交换设备配置成通过下列方式执行所述多个端点设备中的一个端点设备对所述根复合体的读操作:从所述多个端点设备中的一个端点设备接收读操作请求和读中断并将所述读操作请求和读中断发送至所述根复合体,使得所述根复合体响应于所述读中断而从用户空间获取相应的数据并将所述数据写入PCIe域,并设置根复合体数据处理完成标识;以及从所述根复合体接收所述根复合体数据处理完成标识并将所述根复合体数据处理完成标识发送至所述多个端点设备中的一个端点设备,使得所述端点设备响应于所述根复合体数据处理完成标识而将所述PCIe域中的所述数据传回到用户空间进行保存。

根据本申请一实施例或以上任一实施例的所述的基于PCIe的车载通信系统,其中所述PCIe交换设备配置成通过下列方式执行所述多个端点设备之间的写操作:从所述多个端点设备中的一个端点设备接收写操作请求和写完成中断并将所述写操作请求和写完成中断发送至所述根复合体,使得所述根复合体响应于所述写完成中断而获取PCIe域的相应数据并将所述数据传回到用户空间;从所述根复合体接收写操作请求并将所述写操作请求发送至所述多个端点设备中的另一个端点设备,使得所述端点设备响应于所述写操作请求而获取PCIe域的相应数据,并将所述数据传回到用户空间进行保存。

根据本申请一实施例或以上任一实施例的所述的基于PCIe的车载通信系统,其中所述PCIe交换设备配置成通过下列方式执行所述多个端点设备之间的读操作:从所述多个端点设备中的一个端点设备接收读操作请求和读中断并将所述读操作请求和读中断发送至所述根复合体,使得所述根复合体响应于所述读中断而获取所述多个端点设备中的另一个端点设备的相应的数据并将所述数据写入所述多个端点设备中的一个端点设备的PCIe域,并设置根复合体数据处理完成标识;以及从所述根复合体接收所述根复合体数据处理完成标识并将所述根复合体数据处理完成标识发送至所述多个端点设备中的一个端点设备,使得所述端点设备响应于所述根复合体数据处理完成标识而将所述PCIe域中的所述数据传回到用户空间进行保存。

按照本申请的第二方面,提供一种车辆,所述车辆包括根据本申请第一方面所述的基于PCIe的车载通信系统。

根据本申请的一个或多个实施例的基于PCIe的车载通信系统能够以PCIe通信为基础,多个系统级芯片SOC通过更高效的PCIe进行通信,有助于解决或缓解汽车中央电脑平台以太网负载率过高的问题,从而实现多个系统级芯片SOC间更高效的大数据通信。

附图说明

本申请的上述和/或其它方面和优点将通过以下结合附图的各个方面的描述变得更加清晰和更容易理解,附图中相同或相似的单元采用相同的标号表示。在所述附图中:

图1示出了按照本申请的一个或多个实施例的基于PCIe的车载通信系统的框图。

图2示出了按照本申请的一个或多个实施例的基于PCIe的车载通信系统的框图。

图3示出了按照本申请的一个或多个实施例的基于PCIe的车载通信系统的框图。

图4示出了按照本申请的一个或多个实施例的基于PCIe的车载通信系统的框图。

图5示出了按照本申请的一个或多个实施例的基于PCIe的车载通信系统的框图。

图6示出了按照本申请的一个或多个实施例的基于PCIe的车载通信系统的框图。

图7示出了按照本申请的一个或多个实施例的基于PCIe的车载通信系统的框图。

具体实施方式

下文详细描述了本申请的示例实施例,附图中图示了这些实施例的示例。应注意的是,下文的描述是为了解释和说明,因此不应视为对本申请的限制。在不背离本申请的原理的前提下,本领域技术人员可以根据实际需要对这些实施例进行电、机械、逻辑和结构方面的更改,而不脱离本申请的范围。此外,本领域技术人员可以理解,针对任何具体的应用场景或实际需要,可以将下文描述的不同实施例的一个或多个特征进行组合。

诸如“包含”和“包括”之类的用语表示除了具有在说明书中有直接和明确表述的单元和步骤以外,本申请的技术方案也不排除具有未被直接或明确表述的其它单元和步骤的情形。诸如“第一”和“第二”之类的用语并不表示单元在时间、空间、大小等方面的顺序而仅仅是作区分各单元之用。

在以下描述中,阐述了许多具体细节,诸如具体部件、电路和过程的示例,以提供对本申请的透彻理解。如本文中所使用的术语“耦合”意指直接连接到或通过一个或多个中间部件或电路连接。此外,在以下描述中并且出于解释的目的,阐述了具体命名法以提供对本申请的各个方面的透彻理解。然而,对于本领域技术人员将显而易见的是,可以不需要这些具体细节来实践示例实现方式。在其他实例中,以框图形式示出了公知的电路和设备,以避免使本申请不清楚。

图1示出了按照本申请的一个或多个实施例的基于PCIe的车载通信系统的框图。

如图1中所示,基于PCIe的车载通信系统100包括多个系统级芯片SOC-1110、SOC-2110、SOC-3110、SOC-4110和PCIe交换设备120,其中多个系统级芯片SOC-1110、SOC-2110、SOC-3110、SOC-4110可以被划分为根复合体(例如,图1中所示的系统级芯片SOC-1110,也可以称为RC(RootComplex))和多个端点设备(例如,图1中所示的系统级芯片SOC-2110、SOC-3110、SOC-4110,也可以称为EP(EndPoint))。PCIe交换设备120耦合至根复合体SOC-1110和多个端点设备SOC-2110、SOC-3110、SOC-4110,以用于在根复合体SOC-1110与多个端点设备SOC-2110、SOC-3110、SOC-4110之间以及在多个端点设备SOC-2110、SOC-3110、SOC-4110之间执行通信操作。可选地,通信操作可以包括读操作和写操作。

可选地,可以采用中断触发、轮询和系统调用等策略实现用户态上层应用与内核态驱动程序的数据交互功能,以实现在根复合体SOC-1110与多个端点设备SOC-2110、SOC-3110、SOC-4110之间以及在多个端点设备SOC-2110、SOC-3110、SOC-4110之间通过PCIe进行高速数据通信。

可选地,根复合体与多个端点设备之间的通信策略以及多个端点设备之间的通信策略可以包括:(1)多个端点设备端在用户空间实现请求发送、数据处理和轮询功能,调用系统函数与内核态进行数据交互;(2)多个端点设备端内核态,实现读写命令的响应、数据的复制和触发中断,通知根复合体进行数据的处理;(3)根复合体端的内核态中断轮询模块检测到中断被置位后,处理数据并通过系统调用与根复合体的用户态进行数据交互;(4)根复合体的用户态同样实现请求发送、数据处理和轮询功能,用以实现主动发起请求和响应多个端点设备的数据请求的功能。

可选地,根复合体SOC-1110可以配置成通过枚举PCIe树获得多个端点设备SOC-2110、SOC-3110、SOC-4110的状态,以及基于多个端点设备SOC-2110、SOC-3110、SOC-4110的状态分别在根复合体SOC-1110和所述多个端点设备SOC-2110、SOC-3110、SOC-4110上实现各自CPU域与PCIe域的映射,以实现CPU操作PCIe域地址的功能。

根据本申请的一个或多个实施例的基于PCIe的车载通信系统能够以PCIe通信为基础,多个系统级芯片SOC通过更高效的PCIe进行通信,有助于解决或缓解汽车中央电脑平台以太网负载率过高的问题,从而实现多个系统级芯片SOC间更高效的大数据通信。

以下将结合图2-7详细阐述照本申请的一个或多个实施例的根复合体与多个端点设备之间的通信策略以及多个端点设备之间的通信策略。

图2示出了按照本申请的一个或多个实施例的基于PCIe的车载通信系统的框图。

如图2中所示,基于PCIe的车载通信系统200包括系统级芯片SOC-1210、SOC-2210和PCIe交换设备220,其中系统级芯片SOC-1210实现为根复合体以及系统级芯片SOC-2210实现为端点设备,PCIe交换设备220耦合至根复合体SOC-1210和端点设备SOC-2210,以用于实现根复合体SOC-1210对端点设备SOC-2210的读操作。

可选地,PCIe交换设备220可以配置成从根复合体SOC-1210接收读操作请求并将所述读操作请求发送至端点设备SOC-2210,使得所述端点设备SOC-2210响应于所述读操作请求而从用户空间读取相应的数据并将所述数据写入PCIe域,并触发写完成中断;以及从所述端点设备SOC-2210接收所述写完成中断并将所述写完成中断发送至根复合体SOC-1210,使得所述根复合体SOC-1210响应于所述写完成中断而将PCIe域中的数据传回到用户空间进行保存。

如图2中所示,首先,根复合体SOC-1210的用户空间的读app模块发起读操作请求,然后通过系统调用到内核的读处理函数,进行PCIe域与CPU域映射后,置相应的寄存器(例如,读的基地址,数据大小等),经由PCIe交换设备220发送读操作请求至端点设备SOC-2210,等待端点设备SOC-2210写完成的中断触发。

接着,端点设备SOC-2210侧的写轮询模块收到来自根复合体SOC-1210的读操作请求后,写app模块从用户空间读取相应的数据,然后通过系统调用写数据到PCIe域,并触发写完成中断。根复合体SOC-1210经由PCIe交换设备220收到来自端点设备SOC-2210的写完成中断后,读取PCIe域的数据到dma(directmemoryaccess)后,通过系统调用传回用户空间,通过用户空间的保存数据模块来保存数据。

图3示出了按照本申请的一个或多个实施例的基于PCIe的车载通信系统的框图。

如图3中所示,基于PCIe的车载通信系统300包括系统级芯片SOC-1310、SOC-2310和PCIe交换设备320,其中系统级芯片SOC-1310实现为根复合体以及系统级芯片SOC-2310实现为端点设备,PCIe交换设备320耦合至根复合体SOC-1310和端点设备SOC-2310,以用于实现根复合体SOC-1310对端点设备SOC-2310的写操作。

可选地,PCIe交换设备220可以配置成从根复合体SOC-1310接收写操作请求并将所述写操作请求发送至端点设备SOC-2310,使得所述端点设备SOC-2310响应于所述写操作请求而获取PCIe域的相应数据以触发写完成中断,并将所述数据传回到用户空间进行保存。

如图3中所示,首先,根复合体SOC-1310的用户空间的写app模块发起写操作请求,然后通过系统调用到内核的写处理函数,进行PCIe域与CPU域映射后,置相应的寄存器(例如,读的基地址,数据大小等),经由PCIe交换设备320发送写操作请求至端点设备SOC-2310,等待端点设备SOC-2310读完成的中断触发。

接着,端点设备SOC-2310侧的读轮询模块收到来自根复合体SOC-1310的写操作请求后,读取PCIe域的相应的数据后,触发写完成中断,且通过系统调用将数据传到用户空间,用户空间的保存数据模块来保存数据。

图4示出了按照本申请的一个或多个实施例的基于PCIe的车载通信系统的框图。

如图4中所示,基于PCIe的车载通信系统400包括系统级芯片SOC-1410、SOC-2410和PCIe交换设备420,其中系统级芯片SOC-1410实现为根复合体以及系统级芯片SOC-2410实现为端点设备,PCIe交换设备420耦合至根复合体SOC-1410和端点设备SOC-2410,以用于实现端点设备SOC-2410对根复合体SOC-1410的写操作。

可选地,PCIe交换设备420可以配置成从端点设备SOC-2410接收写操作请求和写完成中断并将所述写操作请求和写完成中断发送至根复合体SOC-1410,使得所述根复合体SOC-1410响应于所述写完成中断而获取PCIe域的相应数据并将所述数据传回到用户空间进行保存。

如图4中所示,首先,端点设备SOC-2410的用户空间的写app模块发起写操作请求,然后通过系统调用到内核的写处理接口,进行CPU域与PCIe域映射后,置相应的寄存器(例如,写的基地址,数据大小等),触发写完成中断。

接着,根复合体SOC-1410侧的轮询app模块经由PCIe交换设备420收到来自端点设备SOC-2410的写完成中断后,从PCIe域复制数据后,传到用户空间,用户空间的保存数据模块来保存数据。

图5示出了按照本申请的一个或多个实施例的基于PCIe的车载通信系统的框图。

如图5中所示,基于PCIe的车载通信系统500包括系统级芯片SOC-1510、SOC-2510和PCIe交换设备520,其中系统级芯片SOC-1510实现为根复合体以及系统级芯片SOC-2510实现为端点设备,PCIe交换设备520耦合至根复合体SOC-1510和端点设备SOC-2510,以用于实现端点设备SOC-2510对根复合体SOC-1510的读操作。

可选地,PCIe交换设备520可以配置成从端点设备SOC-2510接收读操作请求和读中断并将所述读操作请求和读中断发送至根复合体SOC-1510,使得所述根复合体SOC-1510响应于所述读中断而从用户空间获取相应的数据并将所述数据写入PCIe域,并设置根复合体数据处理完成标识;以及从所述根复合体SOC-1510接收所述根复合体数据处理完成标识并将所述根复合体数据处理完成标识发送至端点设备SOC-2510,使得所述端点设备SOC-2510响应于所述根复合体数据处理完成标识而将所述PCIe域中的所述数据传回到用户空间进行保存。

如图5中所示,首先,端点设备SOC-2510的用户空间的读app模块发起读操作请求,通过系统调用到内核的读处理接口,进行CPU域与PCIe域映射后,置相应的寄存器(例如,读的基地址,数据大小等),触发读中断,并等待根复合体数据处理完成标识。

接着,根复合体SOC-1510侧的用户空间的轮询app模块经由PCIe交换设备520接收到来自端点设备SOC-2510的读中断后,从用户空间读取数据,将数据写到相应的PCIe域中,并设置根复合体数据处理完成标识。端点设备SOC-2510经由PCIe交换设备520接收到根复合体数据处理完成标识后,提取相应PCIe域中的数据,传到用户空间,用户空间的保存数据模块来保存数据。

图6示出了按照本申请的一个或多个实施例的基于PCIe的车载通信系统的框图。

如图6中所示,基于PCIe的车载通信系统600包括系统级芯片SOC-1610、SOC-2610、SOC-3610和PCIe交换设备620,其中系统级芯片SOC-1610实现为根复合体以及系统级芯片SOC-2610、SOC-3610实现为端点设备,PCIe交换设备620耦合至根复合体SOC-1610和端点设备SOC-2610、SOC-3610,以用于实现端点设备SOC-2610与SOC-3610之间的写操作。

可选地,PCIe交换设备620可以配置成从端点设备SOC-2610接收写操作请求和写完成中断并将所述写操作请求和写完成中断发送至根复合体SOC-1610,使得所述根复合体SOC-1610响应于所述写完成中断而获取PCIe域的相应数据并将所述数据传回到用户空间;从根复合体SOC-1610接收写操作请求并将所述写操作请求发送至端点设备SOC-3610,使得所述端点设备SOC-3610响应于所述写操作请求而获取PCIe域的相应数据,并将所述数据传回到用户空间进行保存。

图6示例性地示出了从端点设备SOC-2610向端点设备SOC-3610的写操作。首先,端点设备SOC-2610的用户空间的写app模块发起写操作请求,通过系统调用,发送数据到内核的写处理接口,进行CPU域与PCIe域映射后,置相应的寄存器(例如,写的基地址,数据大小等),触发写完成中断。

接着,根复合体SOC-1610经由PCIe交换设备620接收到写完成中断后,从相应PCIe域复制数据后,传到用户空间,根复合体SOC-1610的用户空间的数据转发模块检测到此数据为发送到端点设备SOC-3610的,于是转发到端点设备SOC-3610相应的驱动处理接口中,后续写操作可以参见根复合体SOC-1310对端点设备SOC-2310的写操作过程,在此不再赘述。

图7示出了按照本申请的一个或多个实施例的基于PCIe的车载通信系统的框图。

如图7中所示,基于PCIe的车载通信系统700包括系统级芯片SOC-1710、SOC-2710、SOC-3710和PCIe交换设备720,其中系统级芯片SOC-1710实现为根复合体以及系统级芯片SOC-2710、SOC-3710实现为端点设备,PCIe交换设备720耦合至根复合体SOC-1710和端点设备SOC-2710、SOC-3710,以用于实现端点设备SOC-2710与SOC-3710之间的读操作。

可选地,PCIe交换设备720可以配置成从端点设备SOC-2710接收读操作请求和读中断并将所述读操作请求和读中断发送至根复合体SOC-1710,使得所述根复合体SOC-1710响应于所述读中断而获取端点设备SOC-3710的相应的数据并将所述数据写入端点设备SOC-2710的PCIe域,并设置根复合体数据处理完成标识;以及从根复合体SOC-1710接收所述根复合体数据处理完成标识并将所述根复合体数据处理完成标识发送至端点设备SOC-2710,使得所述端点设备SOC-2710响应于所述根复合体数据处理完成标识而将所述PCIe域中的所述数据传回到用户空间进行保存。

图7示例性地示出了端点设备SOC-2710从端点设备SOC-3710的读数据操作。首先,端点设备SOC-2710的用户空间的读app模块发起读操作请求,通过系统调用,到内核的读处理接口,进行CPU域与PCIe域映射后,置相应的寄存器(例如,读的基地址,数据大小等),触发读中断,并等待根复合体数据处理完成标识。

接着,根复合体SOC-1710侧的轮询app模块经由PCIe交换设备720收到来自端点设备SOC-2710的读中断后,用户空间检测到读操作请求为从端点设备SOC-3710读取数据的请求,于是调用到端点设备SOC-3710相应的驱动处理接口中。后续读操作可以参见根复合体SOC-1210对端点设备SOC-2210的读操作过程,在此不再赘述。根复合体SOC-1710读取到端点设备SOC-3710的数据后,写入与端点设备SOC-2710相应的PCIe域中,并设置根复合体数据处理完成标识。最后,端点设备SOC-2710经由PCIe交换设备720接收到根复合体数据处理完成标识后,提取相应PCIe域中的数据,传到用户空间,用户空间的保存数据模块来保存数据。

根据本申请的一个方面的基于PCIe的车载通信系统能够运用PCIe通信技术实现汽车中央电脑平台上多个系统级芯片SOC间的高速数据通信,有效解决汽车中央电脑平台上传统通信方式无法满足算力SOC因实现算力共享、动态负载均衡、算力可扩展、同构级联等任务所带来的高速通信需求问题,为汽车智能化的高速发展提供重要技术支撑。此外,通过PCIe实现汽车中央电脑平台多个系统级芯片SOC间的通信,降低了中央电脑平台车载以太网目前的高负载率,有效缓解汽车中央电脑平台多个系统级芯片SOC间通信对车载以太网和SPI的高度依赖。同时,充分利用了Linux系统驱动开发架构以及系统调用接口函数,开发量少、可移植性强,可以传输各种数据,例如包括图像、视频流等。

另外,本申请也可以被实施为一种车辆,该车辆包括按照本申请的一个方面的基于PCIe的车载通信系统。

提供本文中提出的实施例和示例,以便最好地说明按照本申请及其特定应用的实施例,并且由此使本领域的技术人员能够实施和使用本申请。但是,本领域的技术人员将会知道,仅为了便于说明和举例而提供以上描述和示例。所提出的描述不是意在涵盖本申请的各个方面或者将本申请局限于所公开的精确形式。

技术分类

06120116133754