CN101278528B - 通信系统的用户和通信控制器以及用于在通信系统的用户中实现网关功能的方法 - Google Patents
通信系统的用户和通信控制器以及用于在通信系统的用户中实现网关功能的方法 Download PDFInfo
- Publication number
- CN101278528B CN101278528B CN2006800368125A CN200680036812A CN101278528B CN 101278528 B CN101278528 B CN 101278528B CN 2006800368125 A CN2006800368125 A CN 2006800368125A CN 200680036812 A CN200680036812 A CN 200680036812A CN 101278528 B CN101278528 B CN 101278528B
- Authority
- CN
- China
- Prior art keywords
- communication controler
- message
- data
- memory
- communication
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明涉及通信系统的用户(900)。该用户(900)具有微处理器(102)、至少两个通信控制器(750a,750b,750c)和外设总线(820),其中微处理器(102)通过外设总线(820)与通信控制器(750a,750b,750c)连接,并通过通信控制器(750a,750b,750c)分别连接到该通信系统的用于传送消息的通信连接线(101a,101b,101c)。为了优化用户(900)内的网关功能,建议至少一个通信控制器(750a,750c)具有有源接口(834),该通信控制器(750a,750c)通过该有源接口与外设总线(820)连接,并且该至少一个通信控制器(750a,750c)还具有用于自动实现网关功能的逻辑。
Description
技术领域
本发明涉及通信系统的用户(所谓的主机)。该用户具有微处理器、至少两个通信控制器和外设总线。微处理器通过外设总线与通信控制器连接,并通过通信控制器分别连接到该通信系统的用于传送消息的通信连接线。
本发明还涉及通信系统的用户(所谓的主机)的通信控制器(Communication Control;CC)。该用户具有微处理器、所述通信控制器、可选的其它通信控制器以及外设总线。通信控制器一方面通过外设总线与微处理器连接,另一方面连接到通信系统的用于传送消息的通信连接线。
最后本发明还涉及一种用于在通信系统的用户(所谓的主机)内部实现网关功能的方法。该用户具有微处理器、至少两个通信控制器和外设总线。通信控制器一方面通过外设总线与微处理器连接,另一方面分别连接到该通信系统的用于传送消息的通信连接线。
背景技术
借助通信系统和实施为总线系统的通信连接线将控制设备、传感器和执行器联网,在近年来的现代汽车中以及在机械制造、尤其是在机床领域和自动化领域急剧增长。在此可以实现通过将功能分布到多个控制设备上带来的协作效果。在此将它们称为分布式系统。不同用户之间的通信越来越多地通过实施为总线系统的通信系统来进行。在该总线系统上的通信业务往来、访问机制和接收机制以及错误处理都通过协议来调节。
这样的一种公知协议是FlexRay协议,其中目前基于FlexRay协议规范v2.0。FlexRay协议定义了快速、确定性的以及容错的总线系统,尤其是用在汽车中。根据FlexRay协议的数据传输根据时分多路存取(TDMA)方法进行。通过通信连接线的数据传输以定期重复的传输周期进行,这些传输周期分别划分为多个数据帧,也称为时隙。向用户或待传输的消息分配固定的时隙,在这些时隙中用户独家访问通信连接线。该时隙以固定的传输周期重复,从而通过总线传输消息的时刻可以精确预言,总线访问可以确定地进行。
为了最佳地利用用于在总线系统上传输消息的带宽,FlexRay将还可以称为周期或总线周期的传输周期划分为静态部分和动态部分。在此,固定的时隙位于一个总线周期开始时的静态部分中。在动态部分中动态地给定时隙。其中,只能在短时间内、即在一个或多个所谓的微型时隙内进行独家的总线访问。仅当在一个微型时隙内进行总线访问时,该时隙才延长所需要的时间。因此,仅当实际需要时才消耗带宽。
FlexRay通过通信连接线的两个物理分开的导线通信,每个导线具有最大10Mbit/s(10M波特)的数据率。在此每5ms,在有些通信系统中甚至每1ms或2.5ms就结束一个总线周期。两个信道在此对应于尤其是OSI(开放系统体系)层模型的物理层。两个信道主要用于冗余和因此容错地传输消息,但是还可以传输不同的消息,由此使得数据率好像加倍了。FlexRay还可以用较低的数据率运行。
为了实现同步的功能并且通过两个消息之间的小的间距来优化带宽,用户或通信网络中的分布式部件需要一个共同的时基,即所谓的全局时间。为了实现时钟同步,同步消息在周期的静态部分中传输,其中借助相应于FlexRay协议的特殊算法校正用户的本地时钟,使得所有本地时钟都与一个全局时钟同步地运行。
也可以称为FlexRay网络节点或主机的FlexRay用户,包含用户处理器或主机处理器、FlexRay控制器或通信控制器以及在总线监控时的所谓总线监视器。在此,用户处理器提供和处理数据,该数据通过FlexRay通信控制器和FlexRay通信连接线传输。为了在FlexRay网络中通信,可以例如配置例如高达254个数据字节的消息或消息对象。
为了将用于传输消息的FlexRay通信连接线与FlexRay用户耦合,在至本发明的申请日还未公开的DE102005034744中,采用FlexRay通信组件,其通过用户接口连接到用户并通过另一个连接线连接到通信连接线。在此,为了在用户和通信连接线之间传输消息,在该通信组件内设置用于存储消息的装置。该传输通过状态机控制。FlexRay通信组件可以实施为FlexRay通信控制器的集成部件或独立的部件。
在通信组件中,设置由两个部件组成的接口组件,其中一个部件特定于用户,而另一部件与用户无关。特定于用户的部件也称为客户CPU接口(CIF),其将特定于客户的用户以特定于用户的主CPU的形式与FlexRay通信组件连接。与用户无关的部件(也称为通用CPU接口GIF)是一般的CPU接口,通过该接口可以借助相应的特定于用户的部件、即客户CPU接口(CIF)将不同的特定于客户的主CPU连接到FlexRay通信组件。由此可以将该通信组件毫无问题地与不同的用户匹配,因为只需要根据不同的用户改变特定于用户的部件,而与用户无关的部件以及其余通信组件始终相同。因此借助该通信组件,产生了用于将任意FlexRay用户连接到FlexRay通信连接线的标准接口,其中该接口可以通过简单更改特定于用户的部件来与任意实施或任意类型的用户灵活匹配。在此,这些部件还可以在一个接口部件中分别用软件来实现,即每个部件用软件功能来实现。
在FlexRay通信组件中的状态机可以固定地用硬件来连线。可替换的,通信组件中的状态机还可以通过用户接口由用户自由编程。
根据现有技术,FlexRay通信组件的消息存储器优选实施为单端口的RAM(随机存取存储器)。该RAM存储器存储消息或消息对象(即实际的有用数据)以及配置和状态数据。公知通信组件的消息存储器的准确结构可以参见所述文献DE102005034744。
根据现有技术,在用户内包括微处理器(所谓的主CPU)、存储器(例如随机存取存储器;RAM)以及微处理器和存储器之间的内核总线的微控制器,通过无源和有源的接口、即所谓的主机连接到外设总线。通过无源的接口,微控制器只能从外设总线的其它用户接收消息和数据。通过有源接口,微控制器自己可以向外设总线的其它用户发送消息和数据。用户通过无源接口连接到外设总线与用户作为所谓的从机进行连接是一样的。用户通过有源接口的连接相当于用户作为所谓的主机进行连接。在公知的通信系统中,通信控制器通过无源接口作为所谓的从机连接到外设总线。
通信控制器表现了用户连接到一个或多个通信连接线(例如CAN、TTCAN、MOST、FlexRay、ByteFlight等)。通信控制器分别具有消息存储器,其中存储从通信连接线新接收的消息,并被读取出要发送到通信连接线上的消息。微处理器(主CPU)可以通过通信控制器的无源接口访问存储的消息对象。
微处理器配置、检查和控制通信控制器。微处理器读取接收的消息,分析该消息,计算新的消息并负责将该消息写入以通过通信连接线发送。为了在用户内传输数据,微处理器将该数据逐字地从通信控制器传送给微控制器的存储器。在此,在目前常见的微处理器的高时钟率的情况下出现多个等待周期,在该等待周期期间微处理器等待数据传输的结束,而且不能进行其它任务。
在简单的网关运行中,通常只需要从用户的通信控制器中读取出接收的数据,并写入该用户的一个或多个其它通信控制器中以用于发送。如果不使用DMA(直接存储存取)控制器,则微处理器(主CPU)将该数据逐字地从通信控制器传送给分配给微处理器的存储元件或CPU内部的存储元件,以便在必要时处理该数据,接着将该消息复制到相应的通信控制器中。在此,在目前常见的微处理器(主CPU)的高时钟率的情况下出现多个等待周期,在该等待周期期间微处理器阻断,而且不能进行其它任务。
微处理器配置、检查和控制至少一个通信控制器或者其中包含的逻辑以及有源接口的配置数据。微处理器读取已经在通信控制器的消息存储器中的接收并自动复制到微处理器的存储元件中的消息对象,分析或处理该消息对象,计算出新的消息对象,并将该消息对象存储在微处理器的存储元件中。此外,将信息传送给相应的通信控制器,由此该通信控制器可以将当前的数据从微处理器的存储元件中传送到自己的消息存储器中。
同样公知,为了解除通信系统的用户的微控制器的微处理器的负荷,将DMA控制器通过无源和有源接口即所谓的主机连接到外设总线。DMA控制器可以执行微控制器的存储元件和通信控制器之间的数据传送。为此该DMA控制器由微处理器(主CPU)配置和启动。此后DMA控制器逐字地从通信控制器将数据传送到微控制器的存储元件中,或者只要支持就直接在通信控制器之间传送。该数据传送的结束借助中断告诉微处理器,据此微处理器开始处理下个消息。中断的处理产生大量的CPU命令,通过这些命令约束了微处理器的大部分计算和存储器资源。此外,由于频繁中断,被中断软件任务的可能的抖动(涉及执行持续时间的时间不稳定性)会升高。
发明内容
因此本发明要解决的技术问题在于,优化通信系统的用户内的网关功能,尤其是应当在用户的通信控制器之间路由消息时减少用户的微处理器中的等待周期个数以及中断负荷。
为了解决该技术问题,从开头所述类型的用户出发建议,至少一个通信控制器具有有源接口和用于自动实现网关功能的逻辑,通过该有源接口使通信控制器与外设总线连接。
根据本发明,建议通信控制器不是作为从机、而是作为主机连接到外设总线。此外,通信控制器获得逻辑形式的智能,该智能使得通信控制器可以自动协调和控制该通信控制器的消息存储器和微控制器的存储器之间或多个通信控制器的消息存储器之间的网关功能。通过该逻辑可以向通信控制器传送一定的DMA功能。
根据本发明,用户的微控制器(主CPU)和通信控制器的消息存储器之间以及多个通信控制器的消息存储器之间的数据传输通过添加有源接口来得到优化。在此,尤其是支持特殊的网关功能,如由时间控制或由事件控制的数据传输。通过通信控制器传输消息根据相应的配置主要是通过用户的微处理器(主CPU)自动进行的。本发明的方法减小或避免了目前由于等待周期和中断导致的微处理器(主CPU)的高负荷,因为消息可以通过有源接口直接传输。
本发明可以用于任意通信系统的任意用户。下面示例性借助FlexRay通信系统描述本发明。但是对FlexRay的参考不应当理解为限制性的。本发明还可以用于MOST(面向媒体的系统传输)、CAN(控制器区域网络)、TTCAN(时间触发的CAN)、LIN(局域互联网)或任何其它公知通信系统的用户。
除了无源接口之外,本发明的通信控制器还具有有源接口,通过该有源接口内嵌在通信控制器中的逻辑不仅自动从通信控制器的消息存储器中读取消息对象并写入相应目标的存储器中(微处理器的存储元件或者通信控制器的消息存储器),而且从源(微处理器的存储元件或者通信控制器的消息存储器)读取消息对象并写入本发明通信控制器的消息存储器中。当然还可以考虑通过本发明的方式实现一个用户的不仅一个、而且多个通信控制器。对于本发明来说不需要所有模块(通信控制器)都具有有源接口。有源接口被设计为可以自动(不通过主控微控制器或其他主控单元触发)从其他模块请求数据。
由本发明的通信控制器或其逻辑实现的优选的网关功能,是在网络(由外设总线、微处理器、通信控制器和其他模块组成)内对进入的消息进行路由。原则上可以考虑不同的路由方法,其中下面要解释几种。
静态路由:
该方法是非适应性的,非常简单,因此使用广泛。每个节点(通信控制器)维护一个表,该表对每个可能的目标节点都包含一行。一行包含n项,包括对该目标最好的、次好等等的传输路径以及权重。在传递数据分组之前从该表中选择相应的项目,并在可能的导线上给出。权重在此反映选择该导线的概率。
集中路由:
集中路由是一种适应性方法。在网络中存在路由控制中心(RCC),每个节点都向该路由控制中心周期性地发送状态信息。该状态信息例如涉及所有已启动邻居节点的列表、当前等候队列长度、从上次消息以来的业务的范围等等。RCC收集状态信息并基于关于整个网络的知识计算所有节点之间的最佳路径长度。此后,RCC将路由表通知每个节点,借助该路由表节点做出其路由决定。RCC的功能可以由本发明的通信控制器或其逻辑接管。
优点:
-RCC理论上可以看到完整的概况并因此做出完美的决定;
-节点不必执行费事的计算;
-解除了用户的微处理器的负担,因为RCC的功能至少部分由一个或多个通信控制器或其逻辑进行。
缺点:
-计算对大多数网络来说可能持续时间非常长;
-RCC的故障使得整个网络都失效(只要没有或没有定义备份计算机);
-可能发生全局的不一致,因为靠近RCC的节点基本上比离得更远的节点提早获得新的路由表;
-由于集中功能导致RCC的极大负担。
孤立的路由
在该路由方法中,每个节点只基于它自己收集或已经收集的信息来作出决定。在节点之间不进行路由信息的交换。对业务的更改或网络拓扑的更改(例如由于节点的故障或添加)的匹配在此只能在有限的范围内进行,但是原则上可以没有很大花费地进行。属于孤立路由方法的有:
-广播路由
-Hot Potato(热马铃薯)
-反向学习
-Delta路由
广播路由
在广播路由中向所有节点发送分组。在此区分两种变形:一是对每个节点产生特殊的分组,二是批量(Fluten),其中相同的分组发送给每个节点。批量在此是最简单的方法而且是非适应性的。每个进入的分组被转发到每个传输导线上,除了该分组到来的传输导线之外。在此还可以采取措施来限制该批量,如:
-通过对分组编号识别重复的分组,
-通过对经过的子路段(hop)计数来检查分组的寿命,
-选择性的批量(不是在所有导线上,而是仅在一些导线上传递),
-随机漫游(导线的随机选择)。
热马铃薯
每个节点都尝试将进入的分组尽可能快速地传递。(节点象热马铃薯那样来处理分组,因此得名)在此选择具有最短等候队列的传输导线。还存在这种方法与静态路由的组合:
-根据静态方法选择最佳传输导线,只要该传输导线的等候队列长度保持在一定的域值之下。
-选择具有最短等候队列的传输导线,如果其权重较低的话。(参见上面的静态路由)。
反向学习
在该方法中必须在分组中存储以下信息:
-源节点的标识;
-计数器,随着每经过一个子路段(hop)而增加1。
如果一个节点现在获得分组,则该节点可以识别hop的数目并了解它获得了哪些入口。由此每个节点可以从获得的分组中推断出它可以通过哪条路径以最低数量的hop到达其它节点。路由表中的项目在分组以比原先在表中记录的更小的hop数量到达节点时被替换掉。但是,如果经过一定时间再没有从各节点以特定hop数量获得分组,则更新项目。因此允许以固定的时间间隔出现学习周期,在该学习周期中如果项目经过了一定时间,就用较差的覆盖较好的项目。由此认定较好的连接不再存在,并选择次好的。由此产生以下问题:
-在学习周期期间路由不是最佳的;
-如果学习周期很短(项目更快地被更新为较差的),很多分组就采用具有未知质量的路径;
-如果学习周期长,则对网络中的情况的匹配性能较差。
Delta路由
该方法是集中路由和孤立路由之间的组合。在此,每个节点周期性地测量每个传输路径的成本(以例如延迟、负荷、容量等等的含义),并将该信息发送给RCC。RCC计算从节点i到节点j的k个最佳路径,其中仅考虑初始导线不同的路径。RCC向每个节点发送对所有特定地点都等效的所有路径的列表。为了更新路由,节点可以随机选择一个等效路径,或者基于当前测得的成本作出决定。Delta这个名称来源于确定两个路径是否被看做等效这一功能。
分布式的适应性路由
在该方法中,每个节点定期与其每个邻居交换路由信息。在此,每个节点都维护路由表,该路由表对网络中的每个其他节点都包含一项。在该表中包含对于这些节点来说优选的传输导线,以及关于时间或与该节点之间的距离的估计:
-hop的数量;
-以毫秒为单位估计的延迟;
-沿着路径等待的分组的估计总数。
这些估计是从时间/与邻居间的距离(例如借助具有时间戳的特殊回波分组)和/或邻居的估计中获得的。路由信息的交换可以同步地以特定的更新时间间隔进行,或者异步地在发生明显更改时进行。属于该方法的还有:
-距离向量路由;
-链路状态路由。
距离向量路由
这是一种分布式的适应性路由,其早前在互联网中用作RIP(路由信息协议)。在此,每个路由器存储具有与每个目标之间的最佳距离(例如hop的数量,延迟等)以及对应的出口的表。在实践中,该方法由于“无穷计数”的问题而缓慢地收敛到对于很多路由器来说一致的状态。
链路状态路由
这是一种分布式的适应性路由,其早前在互联网中用作OSPF(开放最短路径优先)和IS-IS(中间系统到中间系统)。在此采用以下算法:
-借助所谓的HELLO分组发现新的邻居;
-借助所谓的ECHO分组对每个邻居节点测量延迟或成本;
-利用所有学习的数据(发送方,具有延迟、年龄等等的邻居的列表)获得所谓的LINK-STATE(链路状态)分组,该分组定期地或者由事件控制地(例如新节点,节点有故障,等)产生;
-向所有邻居发送该分组(原则上借助批量,也可以细化:消除复制,一定时间之后破坏信息,等);
-计算至所有其它路由器的最短路径(例如按照Dijkstra的算法)。
该方法计算非常复杂,但是存在该方法的优化并且属于该网络的相应拓扑等。
分层的路由
分层路由的基础是将大型网络分成各个区域。一个区域的节点只具有关于其自己区域的路由信息。在每个区域中存在至少一个标志性节点,该节点用作连接其它区域的接口。在很大型的网络中,由于该网络的尺寸不断增大而可以存在其它层次(区域,集群,小区,组...)。
按照本发明的优选扩展,建议所述逻辑实现路由引擎的功能。通信控制器的路由引擎的任务尤其在于,在网络内(包括外设总线,微处理器,通信控制器和可能的其它模块)传递进入的消息。路由引擎的待实现功能尤其涉及控制和协调上面描述的路由方法。
根据本发明的优选实施方式,建议通信控制器分别具有消息存储器,用于缓冲存储来自或传送给分配给该通信控制器的通信连接线的消息,其中所述逻辑协调和控制数据在通信控制器的消息存储器和微处理器(主CPU)之间或者在通信控制器的消息存储器之间的自动路由。
根据本发明的特别有利的扩展,建议至少一个通信控制器具有通信组件,该通信组件包括消息存储器,用于缓冲存储来自或传送给分配给该通信控制器的通信连接线的消息,其中所述逻辑协调和控制数据在通信控制器的消息存储器或至少一个通信组件的消息存储器和微处理器之间或者在通信控制器的消息存储器和/或至少一个通信组件的消息存储器之间的自动路由。
根据本发明的优选实施方式,建议每个通信组件具有至少一个位于消息存储器和外设总线之间的缓冲存储器,优选至少一个输入缓冲存储器和至少一个输出缓冲存储器,其中所述逻辑协调和控制数据在通信控制器的消息存储器或至少一个通信组件的消息存储器的至少一个缓冲存储器和微处理器之间或者在通信控制器的消息存储器和/或至少一个通信组件的消息存储器的至少一个缓冲存储器之间的自动路由。
通信控制器中的逻辑优选包括状态机,优选DMA状态机。该状态机优选实施为硬件,并且固定连线在通信控制器中。
根据本发明的优选实施方式,建议每个具有有源接口和逻辑的通信控制器还具有仲裁器,该仲裁器对微处理器和逻辑(例如状态机)对通信控制器的消息存储器的同时访问或者对通信组件的消息存储器的同时访问或者对通信组件的消息存储器的至少一个缓冲存储器的同时访问进行仲裁。
优选的,每个具有有源接口和逻辑的通信控制器还具有检查和/或状态寄存器,微处理器访问该寄存器以配置、控制和/或监视网关功能。
此外还建议,每个具有有源接口和逻辑的通信控制器还具有路由存储器,微处理器访问该路由存储器以控制和/或监视网关功能。
用户优选是FlexRay通信系统的组成部分,其中在用户和其它连接到FlexRay通信连接线的FlexRay用户之间根据FlexRay协议进行数据传输。
作为本发明要解决的另一个技术问题,从开头所述类型的通信控制器出发,建议该通信控制器具有有源接口,通过该有源接口通信控制器与外设总线连接,并且具有用于自动实现网关功能的逻辑。
作为本发明要解决的另一个技术问题,从开头所述类型的方法出发,建议至少一个通信控制器通过有源接口与外设总线连接,并且通过在至少一个通信控制器中的逻辑来实现网关功能。
根据本发明的优选扩展,建议在网关功能的范围内触发和处理中断,对消息打包以及分解,在用户的通信控制器之间交换信息和/或在通信控制器之一和微处理器的存储元件之间交换消息。
此外还建议,微处理器将检查和状态信息存放在至少一个通信控制器的检查和/或状态寄存器中,并配置、控制和/或监视网关功能。此外,微处理器将路由信息存储在至少一个通信控制器的路由存储器中,并从而控制和/或监视网关功能。
根据本发明的优选实施方式,建议在至少一个通信控制器中的逻辑包括状态机,该状态机对微处理器和状态机对通信控制器的消息存储器的同时访问或者对通信组件的消息存储器的同时访问或者对通信组件的消息存储器的至少一个缓冲存储器的同时访问进行仲裁。
为了将数据有效地复制到另一个通信控制器的消息存储器中,建议由至少一个通信控制器的逻辑自动允许和控制以下步骤:
使得至少一个通信控制器的缓冲存储器中接收的数据可见;
通过经由有源接口的写访问将接收的数据的副本存放在分配给微处理器(主CPU)的存储元件的可配置地址区中或者存放在另一个通信控制器的缓冲存储器中;
在将数据的副本存放到另一个通信控制器的缓冲存储器中时,启动从该缓冲存储器将存放的数据发送给所述另一个通信控制器的消息存储器。
为了从另一个通信控制器的消息存储器有效地复制数据,建议由至少一个通信控制器的逻辑自动允许和控制以下步骤:
使得至少一个通信控制器的缓冲存储器中的数据可见;
通过经由有源接口的读访问将分配给微处理器(主CPU)的存储元件或者另一个通信控制器的缓冲存储器的内容的副本存放在通信控制器的至少一个缓冲存储器的可配置地址区中;
启动从该至少一个缓冲存储器将存放的数据发送给所述通信控制器的通信组件的消息存储器。
最后建议,用于将数据有效复制到另一个通信控制器的缓冲存储器和/或从另一个通信控制器的缓冲存储器有效复制数据的方法由时间控制的,通过数据的接收、尤其是消息的接收,通过由至少一个通信控制器的触发,或者通过由微处理器的触发来启动。该启动通常包括向逻辑传送特殊的触发指令。
附图说明
下面借助附图详细解释本发明的其它特征和优点。
图1以示意图示出FlexRay通信系统的通信组件及其连接至通信连接线的连接,以及FlexRay通信系统的通信用户或主机用户;
图2详细示出图1的通信组件的特殊实施方式及其连接;
图3示出图2的通信组件的消息存储器的结构;
图4至图6以示意图示出在从用户到消息存储器的方向上的数据访问的体系和过程;
图7至图9示出在从消息存储器到用户的方向上的数据访问的体系和过程;
图10以示意图示出消息管理器以及其中包含的状态机的结构;
图11以示意图示出图1和图2的通信组件的部件以及用户,和相应的、通过消息管理器控制的数据路径;
图12示出涉及图11的数据路径的对消息存储器的访问分布;
图13示出通信系统的本发明用户;
图14示出在本发明的用户中经过路由的数据的可能传输路径;
图15详细示出图13的用户的本发明通信控制器;
图16示出图15的本发明通信控制器的用户接口;
图17示出通信系统的现有技术公知的用户。
具体实施方式
图1示意性示出用于将用户或主机102连接到FlexRay通信连接线101、即FlexRay的物理层的FlexRay通信组件100。该FlexRay通信连接线例如实施为优选具有两个传输导线的FlexRay数据总线。为此FlexRay通信组件100通过连接线107与用户或用户处理器102连接,并通过连接线106与通信连接线101连接。为了一方面就传输时间和另一方面就数据完整性来说实现毫无问题的连接,示意性地基本上在FlexRay通信组件中有三种不同的布置。在此,第一布置105用于存储、尤其是缓冲存储待传输消息的至少一部分。在用户102和第一布置105之间通过连接线107和108接入第二布置104。同样,在通信连接线101和第一布置105之间通过连接线106和109接入第三布置103,由此可以在速度最佳的同时保证数据完整性地将数据作为消息的一部分,尤其是FlexRay消息而非常灵活地输入到第一布置105或从第一布置105输出。
在图2中以优选实施方式再次示出该通信组件100。同样详细示出各连接线106至109。为了将FlexRay通信组件100连接到FlexRay用户102或主处理器,第二布置104包含输入缓冲存储器201(IBF)、输出缓冲存储器202(OBF)以及由两个部件203和204组成的接口组件,其中一个部件203与用户无关,而第二部件204特定于用户。特定于用户的部件204(客户CPU接口CIF)将特定于用户的主CPU102、即特定于客户的用户102与FlexRay通信组件100连接。为此设置双向数据导线216、地址导线217以及控制输入端218。还设置用219表示的中断输出端。特定于用户的部件204连接到与用户无关的部件203(通用CPU接口,GIF),即FlexRay通信组件或FlexRayIP模块具有通用的CPU接口203,该通用CPU接口203通过相应的特定于用户的部件204、即客户CPU接口CIF连接大量的不同的特定于客户的主CPU102。由此只需要依据用户102更改部件204,这意味着明显减小了花费。CPU接口203和其余通信组件100可以无更改地接管过来。
输入缓冲存储器201和输出缓冲存储器202可以实施为同一个存储组件或实施为分开的存储组件。在此,输入缓冲存储器201用于缓冲存储要传送给消息存储器300的消息。在此将输入缓冲存储器201优选实施为,使得它可以存储两个分别由标题段、尤其是具有配置数据的标题段和数据段或有效载荷段组成的完整的消息。在此,将输入缓冲存储器201分为两部分(子缓冲存储器和阴影存储器),由此通过交替写入输入缓冲存储器的两部分或通过交替访问可以加速用户CPU102和消息存储器300之间的传输。同样输出缓冲存储器202(OBF)用于缓冲存储要从消息存储器300传送给用户CPU102的消息。在此还将输出缓冲存储器202实施为,可以存储两个由标题段、尤其是具有配置数据的标题段和数据段即有效载荷段组成的完整的消息。在此将输出缓冲存储器202分为两部分,即子缓冲存储器和阴影存储器,由此还可以通过交替读取这两个部分加速传输或通过交替访问加速用户或主CPU102和消息存储器300之间的传输。由块201至204组成的第二布置104与第一布置105如图所示连接。
布置105由消息管理器200(消息处理器MHD)和消息存储器300(消息RAM)组成。消息管理器200检查或控制输入缓冲存储器201以及输出缓冲存储器202与消息存储器300之间的数据传输。同样,消息管理器还检查或控制在另一个通过第三布置103的方向上的数据传输。消息存储器300优选实施为单端口RAM。RAM存储器存储消息或消息对象,即实际的数据,以及存储配置数据和状态数据。消息存储器300的详细结构在图3中详细示出。
第三布置103由块205至208组成。相应于FlexRay物理层的两个信道,该布置103分为两个分别具有两个数据方向的数据路径。这通过连接线213和214来表示,其中针对信道A的两个数据方向用RxA和TxA表示接收(RxA)和发送(TxA),针对信道B的两个数据方向用RxB和TxB表示。用连接线215表示可选的双向控制入口。第三布置103的连接通过针对信道B的第一缓冲存储器205和针对信道A的第二缓冲存储器206进行。这两个缓冲存储器(临时缓冲器RAM:RAM A和RAM B)作为缓冲存储器用于从或向第一布置105的数据传输。相应于这两个信道,两个缓冲存储器205和206分别与接口组件207、208连接,这些接口组件包含由发送/接收移位寄存器和FlexRay协议有限状态机组成的FlexRay协议控制器或总线协议控制器。由此两个缓冲存储器205和206作为缓冲存储器用于该接口组件的移位寄存器或FlexRay协议控制器207、208与消息存储器300之间的数据传输。在此优选通过每个缓冲存储器205或206存储两个FlexRay消息的数据字段,即有效载荷段或数据段。
此外示出在通信组件100中的全局时间单元209(GTU),其负责显示FlexRay中的全局时间刻度,即microtick μT和macrotick MT。还通过全局时间单元209调节周期计数器的容错的时钟同步以及调节对FlexRay的静态和动态部分中的时间变化的检查。利用块210表示一般的系统控制(系统通用控制SUC),通过它检查和控制FlexRay通信控制器的运行模式。属于该运行模式的有唤醒、启动、重新组合或组合、正常运行和无源运行。
块211示出如在FlexRay协议规范v2.0中描述的网络和错误管理(NEM)。最后块212表示中断控制(INT),其管理状态和错误中断标志,并检查或控制向用户CPU102的中断输出219。块212还包含绝对计时器和相对计时器,以用于产生时间中断。
为了在FlexRay网络中进行通信,可以将消息对象或消息(消息缓冲器)配置为多达254个数据字节。消息存储器300尤其是消息RAM存储器(消息RAM),其例如可以存储多达128个消息对象。涉及消息本身的处理或管理的所有功能都实施在消息管理器或消息处理器200中。这例如是两个FlexRay协议控制器块207、208与消息存储器300、即消息RAM之间的接受滤波、即消息的传送,以及检查发送顺序和提供配置数据或状态数据。
外部CPU、即用户102的外部处理器,可以通过用户接口107用特定于用户的部件204直接访问FlexRay通信组件100的寄存器。在此使用多个寄存器。该寄存器用于配置和控制FlexRay协议控制器、即接口组件207和208、消息管理器(MHD)200、全局时间单元(GTU)209、通用系统控制器(SUC)210、网络和错误管理单元(NEM)211、中断控制器(INT)212以及对消息RAM、即消息存储器300的访问,并显示相应的状态。下面还要在图4至图6以及图7至图9中至少详细描述该寄存器的部件。这样描述的FlexRay通信组件100使得可以简单地转换FlexRay规范v2.0,由此可以简单地产生具有相应FlexRay功能的ASIC或微控制器。
通过上述FlexRay通信组件100可以完全支持FlexRay协议规范,尤其是v2.0,由此可以配置例如多达128个消息或消息对象。在此,灵活可配置的消息存储器依据消息的各数据字段或数据区域存储不同数量的消息对象。由此优选配置具有不同长度的数据字段的消息或消息对象。消息存储器300在此优选实施为FIFO(先进先出),从而产生可配置的接收FIFO。存储器中的每个消息或消息对象可以配置为接收存储器对象(接收缓冲器)、发送存储器对象(发送缓冲器)或可配置接收FIFO的部件。同时,还可以在FlexRay网络中对帧ID、信道ID和周期计数器进行接受滤波。由此合适的是支持网络管理。优选还设置可掩蔽的模块中断。
在图3中详细示出消息存储器300的划分。为了使FlexRay通信控制器具有按照FlexRay协议规范要求的功能,需要消息存储器来提供待发送的消息(发送缓冲器Tx)以及存储无错误接收的消息(接收缓冲器Rx)。FlexRay协议允许消息具有0至254个字节的数据区域,即有效载荷区域。如图2所示,消息存储器300是FlexRay通信组件100的部件。下面描述的方法以及相应的消息存储器300描述了待发送消息和已接收消息的存储,尤其是在使用随机存取存储器(RAM)的条件下,其中通过所描述的机制可以在预先给定大小的消息存储器中存储可变数量的消息。在此,可存储消息的数量取决于各个消息的数据区域的大小,由此一方面可以将所需要的存储器的大小降至最低,而不会限制消息的数据区域的大小,另一方面进行存储器的最佳利用。下面应当详细描述尤其是基于RAM的消息存储器300为FlexRay通信控制器的可变划分。
为了实施,例如预先给定具有n位的固定字宽度例如8、16、32等等以及m个字的预定存储器深度的消息存储器(m、n作为自然数)。在此,将消息存储器300分为两个部分,标题段HS和数据段DS(有效载荷部分)。由此为每个消息存放标题区域HB和数据区域DB。因此对于消息0,1至k(k是自然数)存放标题区域HB0、HB1至HBk以及数据区域DB0、DB1至DBk。因此在一个消息中第一数据和第二消息是不同的,其中第一数据对应于关于FlexRay消息的配置数据和/或状态数据,并分别存放在标题区域HB(HB0、HB1…HBk)中。第二数据对应于应当传输的实际的有用数据,并相应的存放在数据区域DB(DB0,DB1…DBk)中。由此对于每个消息的第一数据形成第一数据范围(用位、字节或存储字度量),对于每个消息的第二数据形成第二数据范围(同样用位、字节或存储字度量),其中每个消息的第二数据范围可以不同。标题段HS和数据段DS之间的划分在消息存储器300是可变的,即在这些区域之间不存在预先给定的边界。标题段HS和数据段DS之间的划分取决于消息的数量k以及一个消息或所有k个消息的第二数据范围,即实际的有用数据的范围。各消息的配置数据KD0、KD1至KDk分别直接对应于一个指针元素或数据指针DP0、DP1至DPk。在这种特殊结构中,每个标题区域HB0、HB1至HBk对应于固定数量的存储字,在此是两个,从而总是有一个配置数据KD(KD0、KD1…KDk)和一个指针元素DP(DP0、DP1…DPk)一起存放在每个标题区域HB中。具有标题区域HB的标题段HS之后是用于存储实际的消息数据D0,D1…Dk的数据段DS,标题区域的大小或第一数据范围的大小取决于待存储消息的数量k。该数据段DS在其数据范围方面取决于所存储的消息数据的相应数据范围,在此例如在DB0中是6个字,在DB1中是1个字,在DBk中是2个字。各指针元素DP0、DP1…DPk由此总是指向各数据区域DB0,DB1…DBk的开头,即起始地址,在该数据区域中存放各消息0、1…k的数据D0,D1…Dk。由此,消息存储器300在标题段HS和数据段DS之间的划分是可变的,并取决于消息本身的数量k以及消息的数据范围,并由此取决于整个第二数据范围。如果配置较少的消息,则标题段HS更小,消息存储器300中的空闲出来的区域可以用作数据段DS的附加部分用于存储数据。通过该可变性,可以保证最佳的存储器利用,由此还可以使用更小的存储器。空闲的数据段FDS、尤其是其长度,也取决于所存储消息的数量k以及该消息的各第二数据范围,由此是最小的,甚至可以为0。
除了使用指针元素之外,还可以可预定顺序存放第一和第二数据,即配置数据KD(KD0、KD1…KDk)和实际的数据D(D0,D1…Dk),从而标题段HS中的标题区域HB0至HBk的顺序以及数据段DS中的数据区域DB0至DBk的顺序分别相同。由此甚至可以放弃指针元素。
在特别的实施方式中,向消息存储器分配错误标识产生器、尤其是奇偶位产生器元件,和错误标识检验器、尤其是奇偶位校验元件,以保证HS和DS中存储的数据的正确性,其中对每个存储字或每个区域(HB和/或DB)可以一起存放校验和,尤其是作为奇偶位。也可以考虑其他检查标识,如CRC(循环冗余校验)或更强大的标识如ECC(纠错码)。由此相对于消息存储器的固定划分给出以下优点:
使用者可以在编程时决定是想要更多的具有较小数据字段的消息,还是想要更少的具有较大数据字段的消息。在配置具有不同大小的数据区域DB的消息时,最佳利用现有的存储空间。使用者可以对不同的消息共同地使用一个数据存储区域。
在将通信控制器实施在集成电路上的情况下,可以通过将采用的存储器的存储器深度(字的数量m)与应用的要求匹配来匹配消息存储器300的大小,而不必更改通信控制器的其他功能。
下面借助图4至图6以及图7至图9描述主CPU访问,即配置数据或状态数据和实际的数据通过缓冲存储器布置201、202的写入和读取。在此的目标是,产生关于数据传输的去耦合,使得可以保证数据完整性并同时保证高的传输速度。这些过程的控制通过消息管理器200进行,稍后还要借助图10、11、12描述。
在图4、5、6中,首先详细描述通过用户CPU102的主CPU经由输入缓冲存储器201对消息存储器300进行写入访问。为此图4再次示出通信组件100,其中出于清楚的原因仅示出通信组件100的在此相关的部件。这一方面是负责控制流程的消息管理器200以及两个检查寄存器403、404,检查寄存器如图所示可以设置在通信组件100中、消息管理器200之外,但也可以包含在消息管理器200内。403在此表示输入请求寄存器(输入缓冲器命令请求寄存器),404表示输入屏蔽寄存器(输入缓冲器命令屏蔽寄存器)。主CPU102对消息存储器300(消息RAM)的写访问因此通过中间连接的输入缓冲存储器201(输入缓冲器)进行。该输入缓冲存储器201分开或双重地实施,而且作为子缓冲存储器400和属于该子缓冲存储器的阴影存储器401。由此可以如下所述进行主CPU102对消息存储器300的消息或消息对象的数据进行连续访问,由此保证数据完整性和加快传输。
该访问的控制通过输入请求寄存器403和输入屏蔽寄存器404进行。在寄存器403中,在图5用数字0至31表示403中的各比特位置,在此示例性的示出32个比特的宽度。同样的还适用于寄存器404和图6的屏蔽寄存器404中的比特位置0至31。
例如寄存器403的比特位置0至5、15、16至21和31就流程控制来说获得特殊的功能。从而可以在寄存器403的比特位置0至5中录入标识IBRH(Input Buffer Request Host,输入缓冲器请求主机)作为消息标识。同样,可以在寄存器403的比特位置16至21中录入标识IBRS(InputBuffer Request Shadow,输入缓冲器请求阴影)。在403的寄存器位置15录入IBSYH以及在403的寄存器位置31中录入IBSYS作为访问标识。还示出寄存器404的位置0至2,其中在具有LHSH(Load Header Section Host,负载标题段主机)和LDSH(Load Data Section Host,负载数据段主机)的0和1中录入其它标识作为数据标识。数据标识在此实施为更为简单的方式、即分别实施为一位。在寄存器404的比特位置2用STXRH(SetTransmission X Request Host,设置传输X请求主机)写入起始标识。下面描述通过输入缓冲器201对消息存储器300的写访问流程。
主CPU102将待传输消息的数据写入输入缓冲存储器201。在此,主CPU102只能针对消息存储器300的标题段HS写入消息的配置和标题数据KD,或者只能针对消息存储器300的数据段DS写入消息的实际的待传输数据D,或两个都写入。要传输消息的哪一部分,即配置数据和/或实际的数据,将通过输入屏蔽寄存器404中的特殊数据标识LHSH和LDSH确定。在此,通过LHSH(负载标题段主机)确定是否传输标题数据、即配置数据KD,通过LDSH(负载数据段主机)确定是否传输数据D。通过将输入缓冲存储器201分成两部分地用子缓冲存储器400和所属的阴影存储器401构成并进行交替的访问,作为LHSH和LDSH的对应部分设置另外两个数据标识区域,它们涉及阴影存储器401。寄存器404的比特位置16和17中的数据标识用LHSS(Load Header Section Shadow,负载标题段阴影)和LDSS(Load Data Section Shadow,负载数据段阴影)表示。通过它们控制涉及阴影存储器401的传输过程。
如果在输入屏蔽寄存器404的比特位置2中对起始位或起始标识STXRH(设置传输X请求主机)置位,则在各个要传输的配置数据和/或实际的数据成功传送到消息存储器300之后,自动对相应消息对象的发送请求置位。即通过起始标识STXRH控制、尤其是启动要传输的消息对象的自动发送。
相应地针对阴影存储器401的对应部分是起始标识STXRS(设置传送X请求阴影),其示例性地包含在输入屏蔽寄存器404的比特位置18中,而且在此在最简单的情况下同样实施为一位。STXRS的功能与STXRH的功能类似,只是涉及阴影存储器401。
如果主CPU102将消息标识、尤其是消息存储器300中的消息对象的号码写入输入请求寄存器403的比特位置0至5中、即IBRH之后,其中应当向消息存储器300传送输入缓冲存储器201的数据,则输入缓冲存储器201的子缓冲存储器400和所属的阴影存储器401交换,或者主CPU102和消息存储器300对两个子存储器400和401的访问交换,如通过半圆形的箭头所示。在此例如还启动数据传送,即向消息存储器300的数据传输。向消息存储器300的数据传输从阴影存储器401进行。同时,寄存器区域IBRH和IBRS交换。同样交换的还有LHSH与LHSS、LDSH与LDSS。同样交换的还有STXRH和STXRS。IBRS由此示出消息的标识,即用于传输的消息的号码,即启动从阴影存储器401的传输,或者从阴影存储器401获得了哪个消息对象,即消息存储器300中的哪个区域作为最后一个数据(KD和/或D)从阴影存储器401中获得。通过输入请求寄存器403的比特位置31中的标识(在此例如又是1位)IBSYS(Input Buffer Busy Shadow,输入缓冲器忙阴影),表明是否恰好在进行有阴影存储器401参与的传输。从而例如在IBSYS=1时恰好从阴影存储器401传输,而在IBSYS=0时没有进行。该位IBSYS例如通过在寄存器403中写入IBRH,即比特位置0至5被置位,以表明阴影存储器401和消息存储器300之间的传输启动了。在结束了向消息存储器300的数据传输之后,重新将IBSYS复位。
在从阴影存储器401进行数据传输之时,主CPU102可以将下个要传送的消息写入输入缓冲存储器201或子缓冲存储器400。借助例如在寄存器403的比特位置15中的另一个访问标识IBSYH(Input Buffer Busy Host,输入缓冲器忙主机),可以进一步细化标识。如果在阴影存储器401和消息存储器300之间正在进行传输时(即IBSYS=1)主CPU102恰好在写入IBRH,即寄存器403的比特位置0至5,则IBSYH在输入请求寄存器403中被置位。只要正在进行的传输结束,就启动所请求的传送(如上所述通过STXRH的请求),并将位IBSYH复位。位IBSYS在整个时间期间一直被置位,以表明数据被传送给消息存储器300。在此,所有实施例采用的所有位都可以实施为具有多于一位的标识。优选地,出于节省存储器和处理的原因采用一位的解决方案。
所述机制允许主CPU102连续将数据传送到位于消息存储器300中的、由标题区域HB和数据区域DB组成的消息对象中,前提条件是主CPU102对输入缓冲存储器201的访问速度小于或等于FlexRay模块、即通信组件100的内部数据传输率。
在图7、8、9中,详细解释由主CPU或用户CPU102通过输出缓冲存储器202对消息存储器300的读取访问。为此图7再次示出通信组件100,其中出于清楚原因在此仅示出通信组件100的有关部件。这一方面是负责控制该流程的消息管理器200以及两个检查寄存器703、704,该检查寄存器如图所示可以设置在通信组件100中、消息管理器200之外,但也可以包含在消息管理器200内。703在此表示输出请求寄存器(输出缓冲器命令请求寄存器),704表示输出屏蔽寄存器(输出缓冲器命令屏蔽寄存器)。主CPU102对消息存储器300的读访问因此通过中间连接的输出缓冲存储器202(输出缓冲器)进行。该输出缓冲存储器202同样分开或双重地实施,而且作为子缓冲存储器701和属于该子缓冲存储器的阴影存储器700。由此可以如下所述由主CPU102对消息存储器300的消息或消息对象的数据进行连续访问,并因此在从消息存储器300到主机102的反方向上保证数据完整性和加快传输。该访问的控制通过输出请求寄存器703和输出屏蔽寄存器704进行。在寄存器703中,用数字0至31表示703中的各比特位置,在此示例性的示出32个比特的宽度(参见图8)。同样的还适用于寄存器704和704中的比特位置0至31(参见图9)。
例如寄存器703的比特位置0至5、8和9、15、16至21就读访问的流程控制来说获得了特殊功能。从而可以在寄存器703的比特位置0至5中录入标识OBRS(输出缓冲器请求阴影)作为消息标识。同样,可以在寄存器703的比特位置16至21中录入标识OBRH(输出缓冲器请求主机)。在703的寄存器位置15录入OBSYS(输出缓冲器忙阴影)作为访问标识。还示出输出掩码寄存器704的位置0和1,其中在具有RDSS(读取数据段阴影)和RHSS(读取标题段阴影)的比特位置0和1中录入其它标识作为数据标识。其它数据标识设置在具有RDSH(读取数据段主机)和RHSH(读取标题段主机)的比特位置16和17中。数据标识在此实施为更为简单的方式、即分别实施为一位。在寄存器703的比特位置9录入起始标识REQ。此外设置例如录入寄存器703的比特位置8中的转换标识VIEW。
主CPU102从消息存储器300请求消息对象的数据,其中主CPU将期望消息的标识、尤其是期望消息对象的号码根据OBRS写入寄存器703的比特位置0至5中。在此主CPU102可以象相反方向上那样仅从标题区域读取消息的状态数据或配置和标题数据KD,或者仅从数据区域读取消息的实际要传送的数据D,或两个都读取。要从标题区域和/或数据区域传输消息的哪一部分,在此与相反方向上类似通过RHSS和RDSS确定。也就是说,通过RHSS确定是否读取标题数据,通过RDSS确定是否读取实际的数据。
起始标识用于启动从消息存储器300向阴影存储器700的传送。即,如果作为标识如在最简单的情况下采用一位,则通过将输出请求寄存器703中的比特位置9中的位REQ置位来启动从消息存储器300向阴影存储器700的传送。正在进行的传送又通过访问标识、在此在最简单的情况下又通过寄存器703中的一位OBSYS来表明。为了避免冲突,优选位REQ只能在OBSYS没有被置位、即正好没有正在进行的传送时被置位。然后进行消息存储器300和阴影存储器700之间的消息传输。实际的流程一方面可以与相反方向上图4、5、6中所描述的类似地进行控制(互补的寄存器置位),另一方面也有变化地通过附加的标识、即寄存器703的比特位置8中的转换标识VIEW进行。即在该传输结束之后,将位OBSYS复位,并通过对输出请求寄存器703中的位VIEW置位,将子缓冲存储器701和所属的阴影存储器700交换,或者交换对这些存储器的访问,主CPU102可以从子缓冲存储器701中读取由消息存储器300请求的消息对象,即相应的消息。在此,还与图4至图6所示的相反传输方向类似交换寄存器单元OBRS和OBRH。同样,交换RHSS与RHSH、RDSS与RDSH。作为保护机制,位VIEW只能在OBSYS没有被置位、即正好没有正在进行的传送时被置位。
由此,主CPU102对消息存储器300的读访问通过中间连接的输出缓冲存储器202进行。该输出缓冲存储器202与输入缓冲存储器201一样实施为双重或两部分,以保证主CPU102连续访问存放在消息存储器300中的消息对象。在此也实现了高数据完整性和加快传输的优点。
通过使用所述输入和输出缓冲存储器201、202,保证尽管模块内部存在延迟时间主CPU102也能无中断地访问消息存储器300。
为了保证数据完整性,通过消息管理器200(消息处理器MHD)进行数据传输,尤其是通信组件100中的传递。为此在图10中示出消息管理器100。消息管理器200的功能通过多个状态机或状态自动机、即有限自动机(所谓的有限状态机FSM)表示。在此,设置至少3个状态机,在另一实施方式中设置4个有限状态机。第一有限状态机是IOBF-FSM,并用501表示(输入/输出缓冲状态机)。该IOBF-FSM还可以对涉及输入缓冲存储器201或输出缓冲存储器202的每个传输方向分为两个有限状态机,即IBF-FSM(输入缓冲FSM)和OBF-FSM(输出缓冲FSM),由此可以考虑最多5个状态自动机(IBF-FSM,OBF-FSM,TBF1-FSM,TBF2-FSM,AFSM)。优选设置一个公用的IOBF-FSM。第二有限状态机在此在优选实施例中分为两个块502、503,并运行涉及存储器205、206的两个信道A和B,如图2所示。在此,设置一个运行两个信道A和B的有限状态机,或者如优选方式所述对于信道A是用502表示的TBF1-FSM有限状态机(临时缓冲器1(206,RAM A)状态机),对于信道B是用503表示的TBF2-FSM有限状态机(临时缓冲器2(205,RAM B)状态机)。
为了控制在优选实施例中3个有限状态机501-503的访问,采用仲裁器有限状态机500,即所谓的AFSM。数据(KD和/或D)以通过时钟装置如VCO(压控振荡器)、振荡石英等等产生或由其匹配的时钟在通信组件100中传输。时钟T在此可以在该组件中产生,或者由外部例如作为总线时钟预先给定。仲裁器有限状态机AFSM500交替地让3个有限状态机501-503之一、尤其是每个都在一个时钟周期T期间访问消息存储器300。即,所提供的时间相应于各个状态自动机501、502、503的访问请求而分配给发出请求的状态自动机。如果只有一个有限状态机给出了访问请求,则该有限状态机获得100%的访问时间,即所有时钟T。如果两个状态自动机给出了访问请求,则每一个有限状态机获得50%的访问时间。最后如果有3个状态自动机给出访问请求,则每一个有限状态机获得1/3的访问时间。由此最佳地利用了所提供的带宽。
第一有限状态机501、即IOBF-FSM在需要时进行以下行动:
-从输入缓冲存储器201向消息存储器300中选出的消息对象传送数据。
-从消息存储器300中选出的消息对象向输出缓冲存储器202传送数据。
针对信道A的状态机502、即TBF1-FSM执行以下行动:
-从消息存储器300中选出的消息对象向信道A的缓冲存储器206传送数据。
-从缓冲存储器206向消息存储器300中选出的消息对象传送数据。
-在消息存储器300中搜索合适的消息对象,其中在接收时在接受滤波的框架下搜索消息对象(接收缓冲器)以存储在信道A上接收的消息,并在发送时搜索下个要发送到信道A上的消息对象(发送缓冲器)。
与此类似的是TBF2-FSM、即块503中针对信道B的有限状态机的行动。该有限状态机从消息存储器300中选出的消息对象向信道B的缓冲存储器205传送数据,从缓冲存储器205向消息存储器300中选出的消息对象传送数据。搜索功能也类似于TBF1-FSM对消息存储器300中合适的消息对象的搜索,其中在接收时在接受滤波的框架下搜索消息对象(接收缓冲器)以存储在信道B上接收的消息,并在发送时搜索下个要发送到信道B上的消息对象(发送缓冲器)。
在图11中再次示出该流程和传输路径。3个状态机501-503控制各个部件之间的数据传输。在此,102还是表示主CPU,201表示输入缓冲存储器,用202表示输出缓冲存储器。300表示消息存储器,206、205表示两个针对信道A和B的缓冲存储器。接口元件207、208也示出。用501表示的第一状态自动机IOBF-FSM控制数据传送Z1A、Z1B,即从输入缓冲存储器201到消息存储器300的传送和从消息存储器300到输出缓冲存储器202的传送。数据传输在此通过具有例如32位的字宽的数据总线进行,其中还可以考虑其他各种位数。对于消息存储器和缓冲存储器206之间的传输Z2也是如此。该数据传输通过TBF1-FSM、即针对信道A的状态机502控制。消息存储器300和缓冲存储器205之间的传输Z3通过状态自动机TBF2-FSM、即503控制。在此该数据传输也通过具有例如32位的字宽的数据总线进行,其中还可以考虑其他各种位数。正常情况下,完整的消息对象的传输需要通过所述传输路径经过多个时钟周期T。因此,对涉及时钟周期T的传输时间的划分通过仲裁器、即AFSM500进行。在图11中示出由消息处理器200检查的存储器部件之间的数据路径。为了确保存储在消息存储器300中的消息对象的数据完整性,优选在同一时间仅在一条所示路径上、即Z1A和Z1B以及Z2和Z3之一上同时交换数据。
图12举例示出所提供的系统时钟T如何由仲裁器、即AFSM500划分到3个发出请求的状态自动机上。在阶段1(I),状态自动机501和502发出访问请求,即全部时间分为两半而分配给两个发出请求的状态自动机。对于阶段1(I)中的时钟周期,意味着状态自动机501在时钟周期T1和T3中获得访问,状态自动机502在时钟周期T2和T4中获得访问。在阶段2(II)中只通过状态机501进行访问,从而所有3个时钟周期、即从T5到T7的访问时间的100%都落在IOBF-FSM上。在阶段3(III)中,所有3个状态自动机501至503都发出访问请求,从而整个状态时间分成三份。仲裁器AFSM500由此将访问时间例如划分为,使得在时钟周期T8和T11中有限状态机501获得访问,在时钟周期T9和T12中有限状态机502获得访问,在时钟周期T10和T13中有限状态机503获得访问。最后在阶段4(IV)中,通过两个状态自动机502、503访问通信组件100的两个信道A和B,从而时钟周期T14和T16的访问分配给有限状态机502,T15和T17中的访问分配给有限状态机503。
仲裁器状态自动机AFSM500因此负责在3个状态机501-503中多于一个提出访问消息存储器300的请求时,该访问按照时钟和交替地划分到提出请求的状态机501-503上。该措施确保存放在消息存储器300中的消息对象的完整性,即数据完整性。如果例如主CPU102通过输出缓冲存储器202读取消息,而恰好这期间有接收的消息被写入该消息对象中,则依据首先谁启动了请求而读取旧记录或新记录,而消息存储器300本身的消息对象中的访问不会冲突。
所述方法使得主CPU102可以在运行时读取或写入消息存储器300中的任意每个消息对象,而选出的消息对象在主CPU102的访问期间不会由于参与FlexRay总线101的两个信道上的数据交换而截止(缓冲器闭锁)。同时通过访问的按照时钟的交错,确保存放在消息存储器300中的数据的完整性,并通过利用全部带宽提高了传输速度。
到目前为止,用户以及用户的微处理器(主CPU)用102表示,在说明书中作为等价物描述。但是在本发明的以下描述中需要有所区别。因此下面对整个FlexRay用户采用附图标记900,而102只表示用户900的微处理器(主CPU)。为了详细解释而参考图17,在此示出现有技术公知的用户900。
公知用户900包括微控制器800、DMA(Direct Memory Access,直接存储器存取)控制器810、外设总线820和多个(在所示实施例中为3个)FlexRay通信控制器750a、750b、750c。外设总线820可以实施为任意的内部数据总线。作为外设总线通常采用专用的数据总线,因为用900表示的整个组件通常由同一个半导体制造商制造。因此只需要该组件900中的内部元件800、810、750通过外设总线820通信。
DMA控制器810的使用是可选的。还公知这样的用户900,其中微控制器800和通信控制器750之一之间或通信控制器750之间的数据传输在没有DMA控制器810的情况下进行。
微控制器800包括微处理器102(主CPU)、存储元件802以及内核总线804。存储元件802可以实施为“双端口紧凑耦合存储器”(TCM)。微控制器800通过微处理器102的有源接口“a”和存储元件802的无源接口“p”连接到外设总线820。DMA控制器810(只要存在)通过有源接口“a”和无源接口“p”连接到外设总线820。通信控制器750在公知用户900中只通过无源接口“p”连接到外设总线820。换句话说,微控制器800和DMA控制器810作为主机连接到外设总线820,相反通信控制器750仅作为从机连接到总线820。
微处理器102配置、检查和控制各个通信控制器750。微处理器102读取接收的消息,处理和分析该消息,计算并产生新的消息,负责将该消息写入以通过通信连接线101发送。从而例如在简单的网关运行中通常需要从通信控制器750之一读取接收的数据,并写入一个或多个其它通信控制器750以用于发送。为了实现用户900内的网关功能而不使用DMA控制器810,微处理器102将数据逐字地从通信控制器750(虚线a)传送到微控制器800的存储元件802中(虚线f)或者CPU内部的存储器中(未示出),以便在必要时处理该数据并接着复制到相应的通信控制器750中(虚线g)。在此,在目前常见的微处理器102的高时钟率下出现多个等候周期,这期间微处理器102等待数据传输的结束,即微处理器102被阻断,而且不能执行其它任务。
如果DMA控制器810投入使用,则该DMA控制器可以执行微控制器800的存储元件802和通信控制器750之间的数据传送。该DMA控制器为此由微处理器102配置和启动(虚线b)。此后,DMA控制器810将数据逐字地从通信控制器750(虚线c)传送到微处理器800的存储器802(虚线d)或者直接在通信控制器750之间传输(虚线h)。数据传输的结束借助中断通知微处理器102(虚线e),据此微处理器102重新开始针对下个消息的处理。中断的处理产生大量的CPU命令,通过这些命令约束了微处理器102的大部分计算资源和存储资源。此外,通过频繁的中断,被中断的软件任务的可能抖动(涉及执行持续时间的时间上的不确定性)升高。
在图13中示出FlexRay通信系统的本发明用户900。很明显可以识别出,通信控制器750中的两个、即通信控制器750a和通信控制器750c通过有源接口“a”和无源接口“p”连接到外设总线820。这意味着,通信控制器750a、750c不是作为从机,而是作为主机连接到外设总线820。由此通信控制器750a、750c不仅可以从连接到外设总线820的其它模块(例如微控制器800或其它通信控制器750)接收命令和数据并进行处理,而且分析自己接收的消息(数据和命令),计算新的消息,并将该消息通过外设总线820发送给微控制器800或其它通信控制器750。
微处理器102配置和检查通信控制器750以及有源接口“a”的配置数据(虚线a)。微处理器102读取已经接收并自动复制在存储元件802中的(虚线b)消息对象,分析和处理该消息对象(虚线c),计算和产生新的消息对象,并存放在存储元件802中(虚线c)。此外,将信息传送给相应的通信控制器750,使得通信控制器750将当前数据从存储元件802传送到其自己的消息存储器300中(虚线a)。该传送自动由通信控制器750a、750c执行。消息存储器300将消息对象(所谓的消息缓冲器)与配置信息和状态信息一起存储。
出了现有技术公知的实施之外,通信控制器750a、750c分别具有有源接口“a”,通过该有源接口内嵌在控制器750中的逻辑自动从消息存储器300中读取消息对象并写入相应的目标(写到存储元件802或者其它通信控制器750的消息存储器300中),还从源(存储元件802或者其它通信控制器750的消息存储器300)读取消息对象,并写到消息存储器300中。出入存储元件802的路由用虚线b表示,通信控制器之间的路由用虚线d表示。通信控制器750a、750c的有源接口“a”在此这样设计,使得该接口自动(不通过主控微控制器800或其它控制单元触发)向其它模块(例如从通信控制器750b)请求数据。对于本发明不需要所有模块都具有有源接口“a”。
为了启动数据传输,通信控制器750a、750c用有源接口“a”定期检查在微控制器800的存储元件802中或在通信控制器750之一的消息存储器300中是否输入了新的数据。尤其是检查是否在存储元件802中存放了新的消息对象,和/或检查寄存器703、704是否为通信控制器750之一的消息存储器300的一个输出缓冲存储器(OBF)202显示出有新的消息对象。
本发明用于从通信控制器750a的消息存储器将数据有效复制到另一个通信控制器750b、750c的消息存储器和/或从其它通信控制器750b、750c的消息存储器中有效复制数据的方法可以由时间控制的(例如周期性地),通过接收数据、尤其是消息,通过更改所接收的数据,通过其它通信控制器750b、750c的触发,或者通过通信控制器750a的微处理器102的触发来启动。该启动通常包括向逻辑传送特殊的触发命令。
图14示出本发明用户900中针对路由数据的可能传输路径。如上面已经描述的,通信控制器750包括消息存储器300,而且可以包括缓冲存储器、尤其是至少一个输入缓冲存储器201和至少一个输出缓冲存储器202。依据通信控制器750的具体实施方式,例如具有有源接口“a”的通信控制器750的逻辑可以在下面实施的传输路径上路由数据:
-在消息存储器300a和微控制器800的存储元件802之间(通常仅在通信组件100的初始化期间,否则需要特殊的硬件设计),
-从存储元件802到输入缓冲存储器201a,
-从其它通信控制器750c的输出缓冲存储器202c到输入缓冲存储器201a,
-从输出缓冲存储器202a到存储元件802,
-从输出缓冲存储器202a到其它通信控制器750c的输入缓冲存储器201c,
-从消息存储器300a和300c到输出缓冲存储器202a、202c,
-从输入缓冲存储器201a、201c到消息存储器300a或300c。
按照相应的方式,所述具有有源接口“a”的其它通信控制器750的逻辑可以在下面实施的传输路径上路由数据:
-在消息存储器300c和微控制器800的存储元件802之间(通常仅在通信组件的初始化期间),
-从存储元件802到输入缓冲存储器201c,
-从通信控制器750a的输出缓冲存储器202a到输入缓冲存储器201c,
-从输出缓冲存储器202c到存储元件802,
-从输出缓冲存储器202c到通信控制器750a的输入缓冲存储器202c,
-从消息存储器300a和300c到输出缓冲存储器202a、202c,
-从输入缓冲存储器201a、201c到消息存储器300a、300c。
图15示出具有有源接口“a”的本发明通信控制器750的框图。特定于用户或客户的接口204在图16中详细示出。总之,图16示出本发明的通信控制器750,如在根据图13的用户900中使用的。FlexRay通信控制器750包括FlexRay通信组件100,如上面实施的。通信组件100如上所述分为通用部件,以及特定于客户或用户的部件204,该通用部件在图16中用840表示而且与连接的微控制器800无关地总是实施为相同。通用部件840还称为通信控制器内核。在通信组件100的通用部件840中,在图16中示例性的仅示出通用接口203(GIF)以及连接在消息存储器300之前缓冲存储器201、202。输入缓冲存储器201用于缓冲存储将传送给消息存储器300的消息。输出缓冲存储器202用于缓冲存储要从消息存储器300传送给微控制器800或传送给用户900的另一个通信控制器750的消息存储器300的消息。当然,图16的通信组件100包括图2所示所有元件或一部分元件。
通信组件100的通用部件840通过通用接口203(GIF)连接到通信组件100的特定于用户的部件的特定于用户的接口204(CIF)。通用接口203可以通过特定于用户的接口204连接到不同的特定于用户的主CPU102。通信控制器750的逻辑在特定于用户的接口204(CIF)中按照所谓路由机830(路由引擎;RE)的形式实施。特定于用户的接口204(CIF)将微处理器102的外设总线802与FlexRay通信控制器内核840的通用接口203(GIF)连接。此外设置存放检查和状态信息的检查和状态寄存器838,以及存放路由信息的路由存储器842。寄存器838和存储器842可以实施为存储元件的特定存储区或者实施为触发器。
832和834表示通信控制器750的无源接口“p”和有源接口“a”。无源接口832将通信控制器750与另一个模块(例如微控制器800或具有有源接口834的通信控制器750a、750c之一)的有源接口“a”连接。无源接口不能自己启动传输,因此必须总是通过另一个模块被触发。通过无源接口832,有源模块可以访问通信控制器750、检查和状态寄存器838中的检查和状态信息、路由存储器842的路由信息。无源接口832取决于使用的芯片上外设总线820。
有源接口834可以自动启动数据传输。为此该有源接口可以自己从其它模块(例如微控制器800或通信控制器750之一)请求数据或者将数据写入其它存储区域(例如存储元件802或另一个通信控制器750的消息存储器300)。在此,对方是有源模块或无源模块并不重要。接口834处于路由引擎830的独家检查之下。有源接口834的配置通过检查和状态寄存器838由微处理器102(主CPU)进行。有源接口834取决于使用的芯片上外设总线820。
路由引擎830包括可以自动触发消息的传输的状态机。数据传输的触发例如通过集成的定时器844由时间控制,或者通过接收消息或通过具有有源接口“a”的另一个模块(例如在处理消息之后通过微处理器102)触发进行。有源接口控制消息在通信控制器750中的加载/存储以及从/向模块的传送。路由引擎830可以通过相应的复制和移位操作将已有消息的各个部分组成新的消息,该已有消息存放在存储元件802中或其它通信控制器750的消息存储器300中。
为了控制数据传输,在启动时通过微处理器102(主CPU)将相应的路由信息写入存储区域842中。利用该信息,路由引擎可以在接收消息时或者由时间控制地触发数据传输。此外,其它模块可以存放用于处理消息的指令,然后由路由引擎830执行该指令。为了控制、启动(停止)和显示特性/状态,可以包含检查和状态信息。
仲裁器836检查并发的、对微处理器102(通过无源接口832)和路由引擎830对通信控制器内核840的通用接口203(GIF)的访问的查询。通过存放在每个有源模块中的信息和实施的用于自动数据传输的逻辑,在此可以说是分布式的路由,因为不存在中心节点和拥有关于整个网络的信息的通信控制器750。通过将路由智能分布到网络的多个模块上,可以改善用户的可用性,因为模块的故障不是一定会导致用户中所有路由活动的中断。
为了提高各模块之间的数据来往量,可以采用所谓的交叉交换互联网络。该网络使得可以同时打开不同的通信信道。在此,两个或更多个(与系统配置有关的)主机(微处理器102或具有有源接口“a”的通信控制器750a、750c)可以建立向每一个其它模块(主机或从机)的数据传送,并传输数据。对同一个模块的同时访问被设定了优先权/仲裁,并且必须顺序处理。正在进行的任务的信令发送通过标志或信号灯(Semaphore)进行。整个系统的可能带宽由此增大了数倍。微处理器102的延迟时间和在路由的持续时间内中断的软件任务的抖动同样得到了减小。
为了在接收消息之后、由时间控制(在经过定时器844的预定值之后)或者在另一个具有有源接口“a”的通信控制器(例如通信控制器750c)触发之后或者在通过微处理器102(主CPU)触发之后进行有效的复制,具有有源接口“a”的特定通信控制器(例如通信控制器750a)的路由引擎830自动控制连续的过程,以便将消息从通信控制器750a的消息存储器300a传送到另一个通信控制器750b或750c的消息存储器300b或300c中或传送到微控制器800的存储元件802中:
-使通信控制器750a的输出缓冲存储器202a中接收的消息对象可见;
-通过经由有源接口834的写访问将接收的消息对象的副本存放在所述另一个通信控制器750b或750c的输入缓冲存储器201b或201c中或者存放在分配给微处理器102的存储元件802的可配置地址区域中。
-在传送给第二通信控制器750b或750c时:启动消息对象从输入缓冲存储器201b或201c传送给第二通信控制器750b或750c的消息存储器300b或300c。
在接收消息之后、由时间控制的(在经过定时器844的预定值之后)或者在另一个具有有源接口“a”的通信控制器(例如通信控制器750c)触发之后或者在通过微处理器102触发之后(触发通过将配置数据如存储区域和数据量写入控制寄存器838进行),具有有源接口“a”的特定通信控制器(例如通信控制器750a)的路由引擎830自动控制连续的过程,以便将消息从另一个通信控制器750b或750c的消息存储器300b或300c或从微控制器800的存储元件802传送到自己的消息存储器300a中:
-使所述另一个通信控制器750b或750c的输出缓冲存储器202b或202c中的数据(消息对象)可见,只要数据应当从该另一个通信控制器750b或750c传送到通信控制器750a中;
-通过经由有源接口“a”的读取访问将在自己的输入缓冲存储器201a中的存储元件802或所述另一个通信控制器750b或750c的输出缓冲存储器202b或202c的内容副本存放到配置的地址区域中;
-启动将数据从缓冲存储器201a传送到通信控制器750a或通信组件100a的消息存储器300a中。
通过使用所述有源接口834以及路由引擎830形式的逻辑,产生以下优点:
-微处理器102与通过外部DMA控制器的访问(参见图15中的附图标记810)相比被免除了高的中断负荷。
-减小的中断负荷使得可以减小任务抖动并由此改善整个系统的可预测性。
-通过访问存储元件802中的消息副本,可以实现更大的访问带宽。
-通过较高的访问带宽,微处理器102对其他任务具有更多的计算时间(处理器102的延迟时间减小了)。
Claims (19)
1.通信系统的用户(900),其中该用户(900)具有微处理器(102)、至少两个通信控制器(750a,750b,750c)和外设总线(820),其中微处理器(102)通过外设总线(820)与通信控制器(750a,750b,750c)连接,并通过通信控制器(750a,750b,750c)分别连接到该通信系统的用于传送消息的通信连接线(101a,101b,101c),其特征在于,至少一个通信控制器(750a,750c)具有有源接口(834),该通信控制器(750a,750c)通过该有源接口与外设总线(820)连接以及该通信控制器(750a,750c)通过该有源接口能够向所述外设总线(820)的其它用户发出数据和命令,并且该通信控制器(750a,750c)还具有用于自动实现网关功能的逻辑电路,并且
所述通信控制器(750a,750b,750c)分别具有消息存储器(300a,300b,300c),用于缓冲存储来自或传送给配属于该通信控制器(750a,750b,750c)的所述通信连接线(101a,101b,101c)的消息,其中所述逻辑电路对数据在通信控制器(750a,750b,750c)的消息存储器(300a,300b,300c)和微处理器(102)之间或者在通信控制器(750a,750b,750c)的消息存储器(300a,300b,300c)之间的自动路由进行协调和控制。
2.根据权利要求1所述的用户(900),其特征在于,至少一个通信控制器(750a,750b,750c)具有通信组件(100a,100b,100c),该通信组件包括消息存储器(300a,300b,300c),用于缓冲存储来自或传送给配属于该通信控制器(750a,750b,750c)的通信连接线(101a,101b,101c)的消息,其中所述逻辑电路对数据在通信控制器的消息存储器或至少一个通信组件(100a,100b,100c)的消息存储器(300a,300b,300c)和微处理器(102)之间的自动路由进行协调和控制,或者
所述逻辑电路对数据在通信控制器(750a,750b,750c)的消息存储器(300a,300b,300c)和至少一个通信组件(100a,100b,100c)的消息存储器(300a,300b,300c)之间的自动路由进行协调和控制。
3.根据权利要求2所述的用户(900),其特征在于,每个通信组件(100a,100b,100c)具有至少一个位于所述消息存储器(300a,300b,300c)和外设总线(820)之间的缓冲存储器,其中所述逻辑电路对数据在通信控制器(750a,750b,750c)的消息存储器(300a,300b,300c)或至少一个通信组件(100a,100b,100c)的消息存储器(300a,300b,300c)的至少一个缓冲存储器(201a,201b,201c;202a,202b,202c)和微处理器(102)之间或者在通信控制器(750a,750b,750c)的消息存储器(300a ,300b,300c)和/或至少一个通信组件(100a,100b,100c)的消息存储器(300a,300b,300c)的至少一个缓冲存储器(201a,201b,201c;202a,202b,202c)之间的自动路由进行协调和控制。
4.根据权利要求3所述的用户(900),其特征在于,
所述至少一个位于所述消息存储器(300a,300b,300c)和外设总线(820)之间的缓冲存储器是至少一个输入缓冲存储器(201a,201b,201c)和至少一个输出缓冲存储器(202a,202b,202c)。
5.根据权利要求1至4中任一项所述的用户(900),其特征在于,所述通信控制器(750a,750c)中的逻辑电路包括状态机。
6.根据权利要求5所述的用户(900),其特征在于,所述状态机固定连线。
7.根据权利要求5所述的用户(900),其特征在于,每个具有有源接口(834)和逻辑电路的通信控制器(750a,750c)还具有仲裁器(836),该仲裁器对微处理器(102)和路由引擎(830)对该通信控制器(750a,750c)的消息存储器(300a,300c)的同时访问或者对通信组件(100a,100c)的消息存储器(300a,300c)的同时访问或者对通信组件(100a,100c)的消息存储器(300a,300c)的至少一个缓冲存储器(201a,201c;202a,202c)的同时访问进行仲裁。
8.根据权利要求1至4中任一项所述的用户(900),其特征在于,每个具有有源接口(834)和逻辑电路的通信控制器(750a,750c)还具有检查和/或状态寄存器(838),所述微处理器(102)访问该检查和/或状态寄存器以配置、控制和/或监视网关功能。
9.根据权利要求1至4中任一项所述的用户(900),其特征在于,每个具有有源接口(834)和逻辑电路的通信控制器(750a,750c)还具有路由存储器(844),所述微处理器(102)访问该路由存储器以控制和/或监视网关功能。
10.根据权利要求1至4中任一项所述的用户(900),其特征在于,所述用户(900)是FlexRay通信系统的组成部分,其中在用户(900)和其它连接到FlexRay通信连接线(101)的FlexRay用户之间根据FlexRay协议进行数据传输。
11.一种用于在通信系统的用户(900)内部实现网关功能的方法,其中该用户(900)具有微处理器(102)、至少两个通信控制器(750a,750b,750c)和外设总线(820),通信控制器(750a,750b,750c)一方面通过外设总线(820)与微处理器(102)连接,另一方面分别连接到该通信系统的用于传送消息的通信连接线(101a,101b,101c),其特征在于,至少一个通信控制器(750a,750c)具有有源接口(834),该通信控制器(750a,750c)通过该有源接口(834)与外设总线(820)连接,该通信控制器(750a,750c)通过该有源接口能够向该外设总线(820)其它用户发出数据和命令,并且通过在该至少一个通信控制器(750a,750c)中的逻辑电路来实现所述网关功能,其中所述逻辑电路对数据在通信控制器(750a,750b,750c)的消息存储器(300a,300b,300c)和微处理器(102)之间或者在通信控制器(750a,750b,750c)的消息存储器(300a,300b,300c)之间的自动路由进行协调和控制。
12.根据权利要求11所述的方法,其特征在于,在网关功能的范围内触发和处理中断,对消息打包以及分解,在用户(900)的通信控制器(750a,750b,750c)之间交换信息和/或在通信控制器(750a,750b,750c)之一和微处理器(102)之间交换消息。
13.根据权利要求11或12所述的方法,其特征在于,所述微处理器(102)将检查和状态信息存放在所述至少一个通信控制器(750a,750c)的检查和/或状态寄存器(838)中,并由此配置、控制和/或监视网关功能。
14.根据权利要求11至12中任一项所述的方法,其特征在于,所述微处理器(102)将路由信息存储在所述至少一个通信控制器(750a,750c)的路由存储器(842)中,并从而控制和/或监视网关功能。
15.根据权利要求11至12中任一项所述的方法,其特征在于,在所述至少一个通信控制器(750a,750c)中的逻辑电路具有路由引擎(830),其中微处理器(102)和路由引擎(830)对该通信控制器(750a,750c)的消息存储器(300a,300c)的同时访问被仲裁,或者微处理器(102)和路由引擎(830)对通信组件(100a,100c)的消息存储器(300a,300c)的同时访问被仲裁,或者微处理器(102)和路由引擎(830)对通信组件(100a,100c)的消息存储器(300a,300c)的至少一个缓冲存储器(201a,201c;202a,202c)的同时访问被仲裁。
16.根据权利要求11至12中任一项所述的方法,其特征在于,为了将数据有效地复制到另一个通信控制器(750b,750c)的消息存储器(300b,300c)中,由所述至少一个通信控制器(750a)的逻辑电路自动允许和控制以下过程:
-使该至少一个通信控制器(750a)的缓冲存储器(202a)中的接收数据可见;
-通过经由有源接口(834)的写访问将接收数据的副本存放在所述另一个通信控制器(750b,750c)的缓冲存储器(201b,201c)中或者存放在分配给微处理器(102)的存储元件(802)的可配置地址区域中;
-在将数据副本存放在所述另一个通信控制器(750b,750c)的缓冲存储器(201b,201c)中时,启动所存放的数据从该缓冲存储器(201b,201c)传送给所述另一个通信控制器(750b,750c)的消息存储器(300b,300c)。
17.根据权利要求11至12中任一项所述的方法,其特征在于,为了将数据从另一个通信控制器(750b,750c)的消息存储器(300b,300c)中有效复制出来,由所述至少一个通信控制器(750a)的逻辑电路自动允许和控制以下过程:
-使所述另一个通信控制器(750b,750c)的缓冲存储器(202b,202c)中的数据可见;
-通过经由有源接口(834)的读取访问将分配给微处理器(102)的存储元件(802)或所述另一个通信控制器(750b,750c)的缓冲存储器(202b,202c)的内容副本存放到所述通信控制器(750a)的至少一个缓冲存储器(201a)的可配置地址区域中;
-启动将存放的数据从所述至少一个缓冲存储器(201a)传送到所述通信控制器(750a)的通信组件(100a)的消息存储器(300a)中。
18.根据权利要求16所述的方法,其特征在于,所述方法由时间控制的,通过数据的接收,通过由具有有源接口(834)的通信控制器(750a,750c)的触发,或者通过由微处理器(102)的触发来启动。
19.根据权利要求18所述的方法,其特征在于,所述数据是消息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102005048585A DE102005048585A1 (de) | 2005-10-06 | 2005-10-06 | Teilnehmer und Kommunikationscontroller eines Kommunikationssystems und Verfahren zur Realisierung einer Gateway-Funktionalität in einem Teilnehmer eines Kommunikationssystems |
DE102005048585.5 | 2005-10-06 | ||
PCT/EP2006/067029 WO2007039622A1 (de) | 2005-10-06 | 2006-10-04 | Teilnehmer und kommunikationscontroller eines kommunikationssystems und verfahren zur realisierung einer gateway-funktionalität in einem teilnehmer eines kommunikationssystems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101278528A CN101278528A (zh) | 2008-10-01 |
CN101278528B true CN101278528B (zh) | 2012-03-21 |
Family
ID=37442077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800368125A Expired - Fee Related CN101278528B (zh) | 2005-10-06 | 2006-10-04 | 通信系统的用户和通信控制器以及用于在通信系统的用户中实现网关功能的方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8792508B2 (zh) |
EP (1) | EP1941674B1 (zh) |
JP (1) | JP2009512260A (zh) |
CN (1) | CN101278528B (zh) |
AT (1) | ATE493814T1 (zh) |
DE (2) | DE102005048585A1 (zh) |
ES (1) | ES2358609T3 (zh) |
WO (1) | WO2007039622A1 (zh) |
Families Citing this family (89)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005048585A1 (de) | 2005-10-06 | 2007-04-12 | Robert Bosch Gmbh | Teilnehmer und Kommunikationscontroller eines Kommunikationssystems und Verfahren zur Realisierung einer Gateway-Funktionalität in einem Teilnehmer eines Kommunikationssystems |
US8665886B2 (en) | 2009-03-26 | 2014-03-04 | Brocade Communications Systems, Inc. | Redundant host connection in a routed network |
CN102118299B (zh) * | 2009-12-31 | 2013-06-26 | 中国电子科技集团公司第五十研究所 | 自适应动态路由方法 |
US8369335B2 (en) * | 2010-03-24 | 2013-02-05 | Brocade Communications Systems, Inc. | Method and system for extending routing domain to non-routing end stations |
US8989186B2 (en) | 2010-06-08 | 2015-03-24 | Brocade Communication Systems, Inc. | Virtual port grouping for virtual cluster switching |
US9461840B2 (en) | 2010-06-02 | 2016-10-04 | Brocade Communications Systems, Inc. | Port profile management for virtual cluster switching |
US9769016B2 (en) | 2010-06-07 | 2017-09-19 | Brocade Communications Systems, Inc. | Advanced link tracking for virtual cluster switching |
US8867552B2 (en) | 2010-05-03 | 2014-10-21 | Brocade Communications Systems, Inc. | Virtual cluster switching |
US9270486B2 (en) | 2010-06-07 | 2016-02-23 | Brocade Communications Systems, Inc. | Name services for virtual cluster switching |
US8625616B2 (en) | 2010-05-11 | 2014-01-07 | Brocade Communications Systems, Inc. | Converged network extension |
US9231890B2 (en) | 2010-06-08 | 2016-01-05 | Brocade Communications Systems, Inc. | Traffic management for virtual cluster switching |
US9001824B2 (en) | 2010-05-18 | 2015-04-07 | Brocade Communication Systems, Inc. | Fabric formation for virtual cluster switching |
US9716672B2 (en) | 2010-05-28 | 2017-07-25 | Brocade Communications Systems, Inc. | Distributed configuration management for virtual cluster switching |
US8885488B2 (en) | 2010-06-02 | 2014-11-11 | Brocade Communication Systems, Inc. | Reachability detection in trill networks |
US8634308B2 (en) | 2010-06-02 | 2014-01-21 | Brocade Communications Systems, Inc. | Path detection in trill networks |
US9628293B2 (en) | 2010-06-08 | 2017-04-18 | Brocade Communications Systems, Inc. | Network layer multicasting in trill networks |
US9246703B2 (en) | 2010-06-08 | 2016-01-26 | Brocade Communications Systems, Inc. | Remote port mirroring |
US9806906B2 (en) | 2010-06-08 | 2017-10-31 | Brocade Communications Systems, Inc. | Flooding packets on a per-virtual-network basis |
US9608833B2 (en) | 2010-06-08 | 2017-03-28 | Brocade Communications Systems, Inc. | Supporting multiple multicast trees in trill networks |
US8446914B2 (en) | 2010-06-08 | 2013-05-21 | Brocade Communications Systems, Inc. | Method and system for link aggregation across multiple switches |
US9807031B2 (en) | 2010-07-16 | 2017-10-31 | Brocade Communications Systems, Inc. | System and method for network configuration |
JP5682391B2 (ja) * | 2011-03-22 | 2015-03-11 | 富士通株式会社 | データ転送装置、並列計算機システムおよびデータ転送装置の制御方法 |
US9270572B2 (en) | 2011-05-02 | 2016-02-23 | Brocade Communications Systems Inc. | Layer-3 support in TRILL networks |
US8948056B2 (en) | 2011-06-28 | 2015-02-03 | Brocade Communication Systems, Inc. | Spanning-tree based loop detection for an ethernet fabric switch |
US9407533B2 (en) | 2011-06-28 | 2016-08-02 | Brocade Communications Systems, Inc. | Multicast in a trill network |
US8879549B2 (en) | 2011-06-28 | 2014-11-04 | Brocade Communications Systems, Inc. | Clearing forwarding entries dynamically and ensuring consistency of tables across ethernet fabric switch |
US9401861B2 (en) | 2011-06-28 | 2016-07-26 | Brocade Communications Systems, Inc. | Scalable MAC address distribution in an Ethernet fabric switch |
US9007958B2 (en) | 2011-06-29 | 2015-04-14 | Brocade Communication Systems, Inc. | External loop detection for an ethernet fabric switch |
US8885641B2 (en) | 2011-06-30 | 2014-11-11 | Brocade Communication Systems, Inc. | Efficient trill forwarding |
US9736085B2 (en) | 2011-08-29 | 2017-08-15 | Brocade Communications Systems, Inc. | End-to end lossless Ethernet in Ethernet fabric |
EP2597832B1 (en) * | 2011-11-02 | 2016-12-28 | Renesas Electronics Europe Limited | Message buffer controller |
US9699117B2 (en) | 2011-11-08 | 2017-07-04 | Brocade Communications Systems, Inc. | Integrated fibre channel support in an ethernet fabric switch |
US9450870B2 (en) | 2011-11-10 | 2016-09-20 | Brocade Communications Systems, Inc. | System and method for flow management in software-defined networks |
US8995272B2 (en) | 2012-01-26 | 2015-03-31 | Brocade Communication Systems, Inc. | Link aggregation in software-defined networks |
US9742693B2 (en) | 2012-02-27 | 2017-08-22 | Brocade Communications Systems, Inc. | Dynamic service insertion in a fabric switch |
US9154416B2 (en) | 2012-03-22 | 2015-10-06 | Brocade Communications Systems, Inc. | Overlay tunnel in a fabric switch |
US9374301B2 (en) | 2012-05-18 | 2016-06-21 | Brocade Communications Systems, Inc. | Network feedback in software-defined networks |
EP2665227B1 (de) * | 2012-05-18 | 2014-09-24 | Vector Informatik GmbH | Flexray-Gateway und Verfahren zum Betreiben eines Flexray-Gateways |
US10277464B2 (en) | 2012-05-22 | 2019-04-30 | Arris Enterprises Llc | Client auto-configuration in a multi-switch link aggregation |
EP2853066B1 (en) | 2012-05-23 | 2017-02-22 | Brocade Communications Systems, Inc. | Layer-3 overlay gateways |
US9602430B2 (en) | 2012-08-21 | 2017-03-21 | Brocade Communications Systems, Inc. | Global VLANs for fabric switches |
US9401872B2 (en) | 2012-11-16 | 2016-07-26 | Brocade Communications Systems, Inc. | Virtual link aggregations across multiple fabric switches |
US9350680B2 (en) | 2013-01-11 | 2016-05-24 | Brocade Communications Systems, Inc. | Protection switching over a virtual link aggregation |
US9413691B2 (en) | 2013-01-11 | 2016-08-09 | Brocade Communications Systems, Inc. | MAC address synchronization in a fabric switch |
US9548926B2 (en) | 2013-01-11 | 2017-01-17 | Brocade Communications Systems, Inc. | Multicast traffic load balancing over virtual link aggregation |
US9565113B2 (en) | 2013-01-15 | 2017-02-07 | Brocade Communications Systems, Inc. | Adaptive link aggregation and virtual link aggregation |
US9565099B2 (en) | 2013-03-01 | 2017-02-07 | Brocade Communications Systems, Inc. | Spanning tree in fabric switches |
US9401818B2 (en) | 2013-03-15 | 2016-07-26 | Brocade Communications Systems, Inc. | Scalable gateways for a fabric switch |
US9430414B2 (en) | 2013-03-16 | 2016-08-30 | Intel Corporation | Bus independent platform for sensor hub peripherals to provide coalescing of multiple reports |
US9542347B2 (en) | 2013-03-16 | 2017-01-10 | Intel Corporation | Host interface crossbar for sensor hub |
US9699001B2 (en) | 2013-06-10 | 2017-07-04 | Brocade Communications Systems, Inc. | Scalable and segregated network virtualization |
US9565028B2 (en) | 2013-06-10 | 2017-02-07 | Brocade Communications Systems, Inc. | Ingress switch multicast distribution in a fabric switch |
US9830245B2 (en) * | 2013-06-27 | 2017-11-28 | Atmel Corporation | Tracing events in an autonomous event system |
EP3025426B1 (en) | 2013-07-24 | 2019-01-30 | NXP USA, Inc. | A transceiver circuit and method for controller area networks |
US9806949B2 (en) | 2013-09-06 | 2017-10-31 | Brocade Communications Systems, Inc. | Transparent interconnection of Ethernet fabric switches |
US9912612B2 (en) | 2013-10-28 | 2018-03-06 | Brocade Communications Systems LLC | Extended ethernet fabric switches |
US9548873B2 (en) | 2014-02-10 | 2017-01-17 | Brocade Communications Systems, Inc. | Virtual extensible LAN tunnel keepalives |
US10581758B2 (en) | 2014-03-19 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Distributed hot standby links for vLAG |
US10476698B2 (en) | 2014-03-20 | 2019-11-12 | Avago Technologies International Sales Pte. Limited | Redundent virtual link aggregation group |
US10063473B2 (en) | 2014-04-30 | 2018-08-28 | Brocade Communications Systems LLC | Method and system for facilitating switch virtualization in a network of interconnected switches |
US9800471B2 (en) | 2014-05-13 | 2017-10-24 | Brocade Communications Systems, Inc. | Network extension groups of global VLANs in a fabric switch |
US10616108B2 (en) | 2014-07-29 | 2020-04-07 | Avago Technologies International Sales Pte. Limited | Scalable MAC address virtualization |
US9544219B2 (en) | 2014-07-31 | 2017-01-10 | Brocade Communications Systems, Inc. | Global VLAN services |
US9807007B2 (en) | 2014-08-11 | 2017-10-31 | Brocade Communications Systems, Inc. | Progressive MAC address learning |
US10031860B2 (en) * | 2014-09-24 | 2018-07-24 | Western Digital Technologies, Inc. | Memory transfer of objects in a data storage device |
US9851901B2 (en) | 2014-09-26 | 2017-12-26 | Western Digital Technologies, Inc. | Transfer of object memory references in a data storage device |
US9524173B2 (en) | 2014-10-09 | 2016-12-20 | Brocade Communications Systems, Inc. | Fast reboot for a switch |
US9699029B2 (en) | 2014-10-10 | 2017-07-04 | Brocade Communications Systems, Inc. | Distributed configuration management in a switch group |
EP3018544B1 (de) * | 2014-11-07 | 2018-02-21 | Siemens Aktiengesellschaft | Produktions- oder Werkzeugmaschine und Verfahren zum Betrieb einer Produktions- oder Werkzeugmaschine |
US9628407B2 (en) | 2014-12-31 | 2017-04-18 | Brocade Communications Systems, Inc. | Multiple software versions in a switch group |
US9626255B2 (en) | 2014-12-31 | 2017-04-18 | Brocade Communications Systems, Inc. | Online restoration of a switch snapshot |
US9942097B2 (en) | 2015-01-05 | 2018-04-10 | Brocade Communications Systems LLC | Power management in a network of interconnected switches |
US10003552B2 (en) | 2015-01-05 | 2018-06-19 | Brocade Communications Systems, Llc. | Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches |
DE102015200301A1 (de) * | 2015-01-13 | 2016-07-14 | Robert Bosch Gmbh | Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung |
WO2016143310A1 (ja) * | 2015-03-06 | 2016-09-15 | 日本電気株式会社 | ネットワーク制御装置、ネットワーク制御方法、および、プログラムの記録媒体 |
US9807005B2 (en) | 2015-03-17 | 2017-10-31 | Brocade Communications Systems, Inc. | Multi-fabric manager |
US10038592B2 (en) | 2015-03-17 | 2018-07-31 | Brocade Communications Systems LLC | Identifier assignment to a new switch in a switch group |
US10579406B2 (en) | 2015-04-08 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Dynamic orchestration of overlay tunnels |
US10069716B2 (en) | 2015-07-29 | 2018-09-04 | At&T Intellectual Property I, L.P. | Methods and apparatus to reflect routes from a remotely located virtual route reflector |
US10439929B2 (en) | 2015-07-31 | 2019-10-08 | Avago Technologies International Sales Pte. Limited | Graceful recovery of a multicast-enabled switch |
FR3040806B1 (fr) * | 2015-09-07 | 2019-10-11 | Continental Automotive France | Calculateur electronique de vehicule compatible avec le protocole de communication can-fd |
US10171303B2 (en) | 2015-09-16 | 2019-01-01 | Avago Technologies International Sales Pte. Limited | IP-based interconnection of switches with a logical chassis |
US9912614B2 (en) | 2015-12-07 | 2018-03-06 | Brocade Communications Systems LLC | Interconnection of switches based on hierarchical overlay tunneling |
US10237090B2 (en) | 2016-10-28 | 2019-03-19 | Avago Technologies International Sales Pte. Limited | Rule-based network identifier mapping |
JP7059899B2 (ja) * | 2018-11-09 | 2022-04-26 | トヨタ自動車株式会社 | ネットワークシステム |
US10855490B2 (en) * | 2019-03-15 | 2020-12-01 | Hamilton Sunstrand Corporation | Transmission duration report and transmission target time allocation for controller area network synchronization |
CN111061674B (zh) * | 2019-11-30 | 2023-05-16 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 多处理器交叉通信装置及方法 |
EP3902206B1 (de) * | 2020-04-21 | 2022-02-16 | TTTech Computertechnik Aktiengesellschaft | Fehlertolerante verteilereinheit und verfahren zur bereitstellung einer fehlertoleranten globalen zeit |
DE102022210908A1 (de) | 2022-10-14 | 2024-04-25 | Elmos Semiconductor Se | Gateway zur verbindung mit einem sensor eines kraftahrzeugs und verfahren zum betreiben des gateways |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1574965A1 (en) * | 2003-11-25 | 2005-09-14 | Interuniversitair Micro-Elektronica Centrum | Heterogeneous multiprocessor network on chip devices, methods and operating systems for control thereof |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62181552A (ja) | 1986-02-06 | 1987-08-08 | Fujitsu Ltd | 通信制御装置 |
JPH0283757A (ja) * | 1988-09-21 | 1990-03-23 | Hitachi Ltd | 通信制御システム |
JPH06290127A (ja) | 1993-03-31 | 1994-10-18 | Toshiba Corp | コンピュータシステム |
JP2001084182A (ja) * | 1999-09-16 | 2001-03-30 | Matsushita Electric Ind Co Ltd | バス接続装置、コンピュータ及び記録媒体 |
EP1162788B1 (en) * | 2000-06-09 | 2012-11-21 | Broadcom Corporation | Trunking and mirroring across stacked gigabit switches |
DE10148325A1 (de) * | 2001-09-29 | 2003-04-17 | Daimler Chrysler Ag | Buswächtereinheit |
DE10243454C5 (de) * | 2002-09-19 | 2009-10-08 | Koenig & Bauer Aktiengesellschaft | Antriebsvorrichtung einer Bearbeitungsmaschine |
DE10254580A1 (de) * | 2002-11-22 | 2004-06-03 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Übertragung von Daten in Nachrichten auf einem Bussystem |
EP1530137A1 (en) * | 2003-11-10 | 2005-05-11 | Robert Bosch Gmbh | Simulation system and computer-implemented method for simulation and verifying a control system |
DE102004041823B4 (de) * | 2004-08-27 | 2014-03-20 | Robert Bosch Gmbh | Kommunikationsbaustein mit einem Kommunikationsschnittstellenelement und Kommunikationsschnittstellenelement |
DE102004042380A1 (de) * | 2004-09-02 | 2006-03-09 | Robert Bosch Gmbh | Datenbus-Interface für ein Steuergerät und Steuergerät mit einem Datenbus-Interface |
DE102005048585A1 (de) | 2005-10-06 | 2007-04-12 | Robert Bosch Gmbh | Teilnehmer und Kommunikationscontroller eines Kommunikationssystems und Verfahren zur Realisierung einer Gateway-Funktionalität in einem Teilnehmer eines Kommunikationssystems |
-
2005
- 2005-10-06 DE DE102005048585A patent/DE102005048585A1/de not_active Withdrawn
-
2006
- 2006-10-04 CN CN2006800368125A patent/CN101278528B/zh not_active Expired - Fee Related
- 2006-10-04 ES ES06806964T patent/ES2358609T3/es active Active
- 2006-10-04 US US11/992,914 patent/US8792508B2/en not_active Expired - Fee Related
- 2006-10-04 WO PCT/EP2006/067029 patent/WO2007039622A1/de active Application Filing
- 2006-10-04 DE DE502006008623T patent/DE502006008623D1/de active Active
- 2006-10-04 JP JP2008534010A patent/JP2009512260A/ja active Pending
- 2006-10-04 AT AT06806964T patent/ATE493814T1/de active
- 2006-10-04 EP EP06806964A patent/EP1941674B1/de not_active Not-in-force
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1574965A1 (en) * | 2003-11-25 | 2005-09-14 | Interuniversitair Micro-Elektronica Centrum | Heterogeneous multiprocessor network on chip devices, methods and operating systems for control thereof |
Non-Patent Citations (1)
Title |
---|
Ralf Belschner et al.FlexRay Requirements specification.《FlexRay Requirements specification(version 2.0.2)》.2002, * |
Also Published As
Publication number | Publication date |
---|---|
US8792508B2 (en) | 2014-07-29 |
ATE493814T1 (de) | 2011-01-15 |
CN101278528A (zh) | 2008-10-01 |
EP1941674B1 (de) | 2010-12-29 |
US20090323708A1 (en) | 2009-12-31 |
WO2007039622A1 (de) | 2007-04-12 |
EP1941674A1 (de) | 2008-07-09 |
DE502006008623D1 (de) | 2011-02-10 |
JP2009512260A (ja) | 2009-03-19 |
ES2358609T3 (es) | 2011-05-12 |
DE102005048585A1 (de) | 2007-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101278528B (zh) | 通信系统的用户和通信控制器以及用于在通信系统的用户中实现网关功能的方法 | |
Stefan et al. | daelite: A tdm noc supporting qos, multicast, and fast connection set-up | |
CN101111826B (zh) | 一种用于保证通信系统的实时消息传输的装置及方法 | |
US7940666B2 (en) | Communication node architecture in a globally asynchronous network on chip system | |
JP4808513B2 (ja) | システムオンチップの大域的非同期通信アーキテクチャ | |
JP4571671B2 (ja) | 通信モジュールのメッセージメモリのデータへアクセスする方法および装置 | |
KR100981461B1 (ko) | 통신 칩 및 메시지 관리자에 의한 통신 칩의 메시지 메모리의 데이터에 대한 액세스 제어 방법 | |
CN101283548B (zh) | 在FlexRay通信组件和FlexRay用户之间的用户接口和用于通过这种接口传输消息的方法 | |
CN101449253B (zh) | 多处理器网关 | |
JP4763405B2 (ja) | データ・フロー・アプリケーションのためのネットワーク・オン・チップ半自動通信アーキテクチャ | |
JP2008508826A (ja) | FlexRay通信モジュール | |
CN101282860A (zh) | 用于把具有微控制器的FlexRay用户通过FlexRay通信控制装置连接到FlexRay通信连接上的方法、以及用于实现该方法的FlexRay通信控制装置、FlexRay用户和FlexRay通信系统 | |
JP5781586B2 (ja) | フルメッシュ・ネットワークにおける集中制御を排除したダイナミック・マルチパス・ルーティングによるセル・ベース・データの送信 | |
JP2008532169A (ja) | 共有されたリソースを調停するための電子装置及び方法 | |
TWI730197B (zh) | 分散控制同步環狀網路架構 | |
WO2021129992A1 (en) | Sync network | |
CA2485187A1 (en) | Method and system for transmitting data via switchable data networks | |
JP2008509463A (ja) | メッセージをメッセージメモリに記憶する方法およびメッセージメモリ | |
Chen et al. | ArSMART: An improved SMART NoC design supporting arbitrary-turn transmission | |
US20230388251A1 (en) | Tightly-Coupled, Loosely Connected Heterogeneous Packet Based Transport | |
Hua et al. | HOSA: Holistic scheduling and analysis for scalable fault-tolerant FlexRay design | |
US8473966B2 (en) | Iterative exchange communication | |
CN114641952A (zh) | 用于使用时间同步传输层进行通信的节点的系统和方法 | |
JP7337021B2 (ja) | 産業用ネットワークに接続されるスレーブ装置を制御するマスタ装置及び当該マスタ装置に備えられる通信モジュール | |
Sallam et al. | The connection-then-credit flow control protocol for networks-on-chips: Implementation trade-offs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120321 Termination date: 20171004 |