嵌入式控制器可重新配置的处理器间通信的机构和装置的制造方法

文档序号:9547148阅读:461来源:国知局
嵌入式控制器可重新配置的处理器间通信的机构和装置的制造方法
【技术领域】
[0001] 本发明一般涉及用于重新配置处理器间通信的系统和方法,并且更具体来说,涉 及提供多个处理器的系统和方法,所述多个处理器包括发送和接收缓冲区、发送和接收表 以及包括用于在控制器中的处理器之间发送和接收消息的协议的基础设施软件服务。
【背景技术】
[0002] 现代车辆使用改进车辆的性能、舒适性、安全性等的各种嵌入式电子控制器。这些 控制器包括发动机控制器、悬架控制器、转向控制器、动力总成控制器、气候控制控制器、信 息娱乐系统控制器、底盘系统控制器等。这些控制器通常需要专用软件和算法来执行其控 制功能。
[0003] 车辆电子控制器的当前趋势是提供用于在公共控制器上操作的不同功能的多个 软件应用程序。例如,自适应巡航控制(ACC)系统、车道定中系统、车道保持系统、稳定性控 制系统等都是本领域中已知的,所有这些系统都以某种方式自动地控制车辆转向和/或制 动。这些系统经常使用相同的传感器输入和其他变量(有时称为全局变量),所述变量在存 储于存储器中时可由多于一个软件应用程序使用。例如,ACC系统可以在其在处理器上的 操作期间将传感器数据写入到控制器存储器中,并且车道定中系统可以在其软件在处理器 上运行时将那个数据写入到其软件中。因此,这在许多情况下是有意义的,诸如在相同的处 理器上运行多个软件应用程序的情况。
[0004] 提供在公共控制器上运行的多个相关软件应用程序对于减少系统硬件和成本具 有显著优点。然而,在相同的处理器上操作不同的软件应用程序因为运行不同的软件程序 并且防止软件应用程序彼此干扰所需的排程而增加控制器的复杂度。当车辆OEM在已经具 有由供应商提供的软件的控制器上提供额外的软件时,进一步增加在单个处理器上运行的 这种混合使用的应用程序的复杂度。此外,单个处理器仅具有可用有限的资源,诸如存储 器、CPU总处理能力等。运行多个应用程序所需的资源通常超出单个处理器的能力。
[0005] 处理器间通信(IPC)是用于在一个或多个过程中在多个线程之间交换数据的一组 方法。一个或多个过程或可运行实体可以在由网络连接的一个或处理器上运行。如本文所 使用,"可运行实体"包括在某个操作系统任务速率下运行的小的可执行软件部件或软件功 能。在处理器间通信中,可运行实体可以被分配给不同的处理器。可运行实体还可以在具 有不同速率的不同线程中运行。可运行实体的分配需要频率改变,这相对于芯/处理器的 总处理能力以及相对于总线/存储器的带宽而言可能是繁重的。现行实践假定可运行实体 不可以在设计期间重新分配可运行实体变得不可行。已知的控制器实施中的消息包括节点 专用的语法,即,硬编码的源/目标信息。将可运行实体从一个芯移动到另一个芯需要重大 努力以识别和修改IPC消息。因此,本领域中需要根据各种功能部署、功能执行速率和低级 通信链路来重新配置处理器间通信的机构。

【发明内容】

[0006] 以下披露内容描述用于控制器中的可重新配置的处理器间通信的系统和方法的 系统和方法。系统和方法包括在控制器中提供多个处理器以及产生用于每个处理器的发送 缓冲区和接收缓冲区。系统和方法进一步包括:产生用于每个处理器的发送表和接收表,其 中发送表存储关于被发送的消息的识别信息,并且其中接收表存储关于被接收的消息的识 别信息;以及提供基础设施服务,所述基础设施服务包括用于在控制器中的多个处理器之 间发送和接收消息的协议。
[0007] 本发明包括以下技术方案: 1. 一种用于控制器中的可重新配置的处理器间通信的方法,所述方法包括: 在控制器中提供多个处理器,所述多个处理器运行控制器的可运行实体; 编码由处理器建立的每个消息中的协议,所述协议用于从一个处理器到另一个处理器 的发送和接收消息; 提供用于将被发送的消息的发送缓冲区并且提供用于在处理器的每一个中接收的消 息的接收缓冲区: 提供包括关于处理器的每一个中的消息的信息的发送表和接收表;以及 提供用于每个处理器的基础设施服务,所述服务包括确定在接收缓冲区中是否存在消 息、如果存在消息则将所述消息中的接收到的消息数据与接收表中的数据相比较以确保接 收到的消息正确以及解码所述消息并将所述消息的信号数据复制到接收所述消息的处理 器上的变量。
[0008] 2.根据技术方案1所述的方法,其中所述处理器的每一个包括至少一个可运行 实体,所述可运行实体产生消息并且将所述消息发送到处理器的发送缓冲区,当所述可运 行实体需要将数据通信发送到不同处理器上的不同可运行实体时,所述可运行实体在所述 发送缓冲区上运行。
[0009] 3.根据技术方案1所述的方法,其中用于每个处理器的发送缓冲区、接收缓冲 区、发送表以及接收表中的每一个是在控制器的设计时产生。
[0010] 4.根据技术方案1所述的方法,其中每个缓冲区的大小是使用至少消息标题大 小和消息大小来计算,从而使得每个缓冲区具有存储消息的足够容量。
[0011] 5.根据技术方案1所述的方法,其中每个表包括关于消息标识、消息目的地、消 息计数、消息大小和变量列表的信息。
[0012] 6.根据技术方案5所述的方法,其进一步包括重新配置所述控制器以通过改变 至少一个发送表和一个接收表的内容来改变处理器间通信。
[0013] 7.根据技术方案5所述的方法,其进一步包括将表中的信息与对应消息中的消 息标题信息相比较以确定所述对应消息是否被破坏。
[0014] 8. -种用于控制器中的可重新配置的处理器间通信的系统,所述系统包括: 控制器中的多个处理器; 产生用于处理器的每一个的发送缓冲区和接收缓冲区,所述发送缓冲区用来写入、存 储和发送消息,所述接收缓冲区用来读取、存储和复制消息; 产生用于处理器的每一个的发送表和接收表,所述发送表存储关于被发送的消息的识 别信息,并且所述接收表存储关于被接收的消息的识别信息;以及 被编程到控制器中的基础设施服务,所述基础设施服务包括用于在控制器中的处理器 之间发送和接收消息的协议。
[0015] 9.根据技术方案8所述的系统,其中所述多个处理器的每一个包括至少一个可 运行实体,所述可运行实体产生消息并且将所述消息发送到处理器的发送缓冲区,当可运 行实体需要将数据通信发送到不同处理器上的不同可运行实体时,所述可运行实体在处理 器上运行。
[0016] 10.根据技术方案8所述的系统,其中所述发送缓冲区、所述接收缓冲区、所述发 送表以及所述接收表中的每一个是在设计时产生。
[0017] 11.根据技术方案8所述的系统,其中每个缓冲区的大小是使用至少消息标题大 小和消息大小来计算,从而使得每个缓冲区具有存储消息的足够容量。
[0018] 12.根据技术方案8所述的系统,其中每个表包括关于消息标识、消息目的地、消 息计数、消息大小和作为每个消息的一部分的变量列表的信息。
[0019] 13.根据技术方案8所述的系统,其进一步包括重新配置控制器以通过改变至少 一个发送表和一个接收表的内容来改变处理器间通信。
[0020] 14. 一种用于控制器中的可重新配置的处理器间通信的方法,所述方法包括: 在控制器中提供多个处理器; 产生用于处理器的每一个的发送缓冲区和接收缓冲区,所述发送缓冲区用来写入、存 储和发送消息,所述接收缓冲区用来读取、存储和复制消息; 产生用于处理器的每一个的发送表和接收表,所述发送表存储关于被发送的消息的识 别信息,所述接收表存储关于被接收的消息的识别信息;以及 提供基础设施服务,所述基础设施服务包括用于在控制器中的多个处理器之间发送和 接收消息的协议。
[0021] 15.根据技术方案14所述的方法,其中所述处理器的每一个包括至少一个可运 行实体,所述可运行实体产生消息并且将所述消息发送到处理器的发送缓冲区,当所述可 运行实体需要将数据通信发送到不同处理器上的不同可运行实体时,所述可运行实体在处 理器上运行。
[0022] 16.根据技术方案14所述的方法,其中所述发送缓冲区、所述接收缓冲区、所述 发送表以及所述接收表中的每一个是在设计时产生。
[0023] 17.根据技术方案14所述的方法,其中每个缓冲区的大小是使用至少消息标题 大小和消息大小来计算,从而使得每个缓冲区具有存储消息的足够容量。
[0024] 18.根据技术方案14所述的方法,其中每个表包括关于消息标识、消息目的地、 消息计数、消息大小和用于所述表中列出的每个消息的变量列表的信息。
[0025] 19.根据技术方案
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1