通过通信系统的通信连接在消息中传输数据的方法以及通信系统的通信模块、用户和用...的制作方法

文档序号:7636007阅读:454来源:国知局
专利名称:通过通信系统的通信连接在消息中传输数据的方法以及通信系统的通信模块、用户和用 ...的制作方法
技术领域
本发明涉及一种用于在消息中传输数据的方法,这些消息在能预 先给定的时间窗中通过通信系统的通信连接周期性地被传输。要通过 通信连接发送的和通过通信连接被发送的消息首先被緩存在通信模块 的消息存储器中。要由用户在当前的时间窗中发送的或者接收的消息 从该消息存储器中被取出并且被发送或者被接收并且被存放在消息存 储器中。
本发明此外还涉及一种根据权利要求13的前序部分的通信模块、 根据权利要求17的前序部分的通信系统的用户以及根据权利要求20 的前序部分的用于实现该方法的通信系统。
背景技术
在近年来,在现代机动车的建造在或者在机械制造中、特别是在 机床领域中、即也在自动化中,例如控制设备、传感装置和执行元件 形式的用户借助通信系统的通信连接的联网急剧增长。在此可以实现 通过将功能分布在多个用户上而产生的协同效应。在此情况下谈及分 布式系统。不同的用户之间的通信越来越多地通过被构造为总线系统 的通信系统的被构造为数据总线的通信连接来进行.总线系统上的通 信业务、访问和接收机制以及错误处理通过协议来调节。用于此的一 种已知协议是CAN (控制器域网络)协议或者TTCAN (时间触发的CAN ) 协议以及FlexRay协议,其中眼下以FlexRay协议规范v2. 1为基础。
FlexRay是一种快速的、确定性的并且容错的总线系统,特别是 用于在机动车中使用。FlexRay协议根据时分多路访问(TDMA )的方 法工作,其中固定的时隙或者时间窗被分配给用户(或者部件)或者 待传输的消息,在这些时隙或者时间窗中该用户(或者部件)或者待 传输的消息具有排他的对通信连接的访问。可比较地,这在TTCAN中 也被实现。在此,时隙以规定的周期、即所谓的通信周期重复,使得 消息通过数据总线被传输的时刻可以被精确地预言并且确定性地进行
总线访问。
为了最佳地利用用于总线系统上的消息传输的带宽,FlexRay将
通信周期划分为静态部分、即所谓的静态段和动态部分、即所谓的动
态段。具有固定地预先给定的长度的时隙在此位于总线周期的开始时
的静态部分中。在动态部分中,时隙被动态地分配。其中,排他的总
线访问分别仅仅在短的时间、即所谓的微时隙(Minislot)内才能实
现。只有当在一个微时隙内由用户之一进行总线访问时,才延长在用
户进行数据传输所需的持续时间上的相应的时隙。由此,也即只有当
带宽也实际被需要用于数据传输时,带宽才被使用。动态段可以被用 于事件控制的数据传输。
在FlexRay通信系统中,通过两个物理上分离的线路(也被称为 信道)以目前分别最大每秒10MB的数据速率进行通信。两个信道在此 对应于物理层、特别是0SI (开放系统架构)层模型的物理层。这些信 道主要用于消息的冗余的并且由此容错的传输,然而也可以传输不同 的消息,由此随后数据速率可以被倍增到目前的20MB。但是,FlexRay 自然也可以以更低的数据速率运行。
为了实现同步的功能并且通过两个消息之间的小的间隔来优化带 宽,通信网络中的分布式部件、即通信系统中的用户需要共同的时基、 即所谓的全局时间。用户拥有自己的本地时钟,这些本地时钟被同步 为全局时间。为了时钟同步,同步消息在周期的静态部分中被传输。 时钟同步在所谓的网络空闲时间(NIT)期间在每个通信周期结束时进 行。借助特殊的与FlexRay规范相应的算法,部件的本地时钟时间这 样被校正,使得所有本地时钟都与全局时钟同步地运行。可比较地, 在TTCAN网络中也进行这种同步。
也被称为FlexRay网络节点的FlexRay用户包含用户处理器、即 主机处理器,FlexRay控制器或者通信控制器,至物理层的连接,总 线驱动器(所谓的Bus Driver BD),以及在总线监控的实现中包含 总线监控器(BG)。在此,主机处理器提供并且处理通过FlexRay通 信控制器传输或者接收的数据。对于FlexRay网络中的通信来说,可 以配置具有例如最多254个数据字节的消息或者消息对象。为了现在 在物理层、即通信连接和主机处理器之间传输该消息或者消息对象, 使用通信模块、特别是通信控制器。
通信模块拥有消息存储器,要由被分配给通信模块的用户发送的 消息对象或者要由该用户接收的消息对象在为了发送而被转发给通信 连接或者为了进一步处理而被转发给主机处理器之前被緩存在该消息 存储器中。消息存储器的数据字段的数目和大小在通信系统的配置阶 段或者重新配置阶段期间被配置。
在现有技术中,消息存储器在每个时隙开始时被消息管理器搜 索,以便确定存放消息或者还要存放消息的那些数据字段,其中这些 消息要通过当前的信道在当前的通信周期中和/或在当前的时隙中被 发送或者被接收。因此,在搜索消息存储器时例如确定一个数据字段, 该数据字段被设置用于这样的消息,该消息应该在当前的通信周期中 以及在当前的时隙中通过当前的所观察的信道被接收。在接收了该消 息之后,该消息随后被存放在所确定的数据字段中。同样,可以在搜 索消息存储器时例如确定存放有消息的数据字段,该消息应该在当前 的通信周期中以及在当前的时隙中通过当前的所观察的信道被发送。 该消息随后从所确定的数据字段中被取出并且被转发给通信连接以便 发送。
然而已经证明不利的是,搜索遍历(Suchdurchlauf )特别是在较 大的消息存储器的情况下要求相对多的时间,并且由于该搜索遍历而 可能导致在接收或者发送消息时的延迟。由于在每个时隙中搜索整个 消息存储器,可能导致通信系统的实时能力的损害。

发明内容
因此,本发明所基于的任务在于,这样设计消息存储器的搜寻遍 历,使得以最佳的方式支持消息的传输,并且特别是即使在较大的消 息存储器的情况下也还可以保证通信系统的实时能力。
为了解决该任务,从开头所提及的类型的数据传输方法出发建 议为了确定消息在消息存储器中的位置,每隔一定时间分别针对多 个还要随后的时间窗预先搜索消息存储器,并且作为搜索遍历的结 果,在被分配给消息存储器的緩冲存储器中存放要在多个还要随后的 时间窗中发送的或者接收的消息的位置。
也即根据本发明建议,不是在每个时隙中完全搜索消息存储器,
而是针对多个将来的时隙执行搜索遍历。也就是说,利用唯一的搜索
遍历,针对多个将来的时隙确定消息在消息存储器中的位置。在搜索 遍历的范围内所确定的位置被存放在緩冲存储器中,并且可以稍后在 真正的数据传输的范围内在几乎没有时间延迟的情况下从该緩冲存储 器中被调用。在真正的数据传输的范围内,因此无需整个消息存储器 的完整的搜索遍历。通过这种方式,根据本发明的通信系统的实时能 力可以被决定性地改善。
根据本发明的一个有利的改进方案建议,在数据传输的范围内要 在当前的时间窗中通过通信系统传输的消息从消息存储器的在緩冲存 储器中针对该时间窗所说明的位置中被读出,并且通过通信连接被传 输,或者在当前的时间窗中通过通信连接被传输的消息被存放在消息 存储器的在緩冲存储器中针对该时间窗所说明的位置上。因此如果在 真正的数据传输的范围内应发送消息存储器中的消息,则简单地访问 緩冲存储器中的相应的位置,随后访问消息存储器的被存放在緩冲存 储器中的位置,提取存储在那里的消息并且转发给通信连接以便发 送。同样,当在真正的消息传输的范围内消息被接收并且应该被存储 在消息存储器中时,可以简单地访问緩冲存储器中的相应的位置并且 将通过通信连接所接收的消息存储在消息存储器的被存放在緩冲存储 器中的位置上。
根据本发明的一种优选的实施形式建议,当前的时间窗和随后的 多个时间窗的数据传输与针对紧接在数据传输的最后的时间窗之后的 时间窗以及随后的多个时间窗的搜索遍历同时进行,其中对于所述随 后的多个时间窗来说,消息在消息存储器中的位置已经被存放在緩冲
存储器中。因此,这意味着,将来的时隙l…n (n〉l)的真正的数据传 输以及针对随后的将来的时隙(n+l)…2n的搜索遍历并行地进行。针 对该实施形式,状态存储器被选择为这样大,使得该状态存储器包括 2n个数据字段,也即n个能够针对数据传输存放消息在消息存储器中 的位置的数据字段以及n个另外的能够存放消息在消息存储器中的在 当前的搜索遍历的范围内所确定的位置的字段。优选地,针对真正的 数据传输,消息在消息存储器中的位置在前面的搜索遍历中已被确定 并且被存放在緩冲存储器中。緩冲存储器的两组n个数据字段优选地 被交替访问,每一组n个数据字段一次在搜索遍历的范围内用于存储 位置,并且随后在真正的数据传输的范围内用于调用所存储的位置,
其中两组n个数据字段从不同时在搜索遍历或者数据传输的范围内被 使用,而是始终彼此错开。利用该实施形式,可以附加地节省用于搜 索遍历的处理时间,使得通信系统的实时能力实际上始终被给定。搜 索遍历优选地由特有的计算单元、例如所谓的状态自动机(有限状态 机)来协调并且实施。
有利的是,搜索遍历的多个时间窗的数目与用于真正的数据传输 的多个时间窗的数目大小相同。因此如果应该按照根据本发明的方法 传输(接收或者发送)数据,则针对多个将来的时隙相继地实施搜索 遍历并且随后实施真正的数据传输(数据的发送或者接收)。如果多
历交替地并行执行,则必需的是,执行真正的数据传输的将来的时隙 的数目与执行搜索遍历的将来的时隙的数目大小相同,以便在緩冲存 储器的两个存储区之间可以分别全面地切换数目与将来的时隙的数目 对应的数据字段。
因此建议对緩冲存储器进行划分,其中在緩冲存储器的第一部 分中针对数据传输存放有用于当前的时间窗和随后的多个时间窗的消 息的位置,其中对于随后的多个时间窗来说在消息存储器中已经被存 放在緩冲存储器中,并且在緩冲存储器的第二部分中针对搜索遍历存 放用于紧接在数据传输的最后的时间窗之后的时间窗和随后的多个时 间窗的消息的位置。
根据本发明的另 一种有利的改进方案建议在要存储在消息存储 器中的消息中包含有具有第一数据规模(Datenumf ang )的第一数据和 具有第二数据规模的第二数据,并且第 一数据以每个消息各一个报头 区的方式被存储在消息存储器的报头段中,并且第二数据以每个消息 各一个数据区的方式被存储在数据段中。消息存储器至报头段和数据 段的划分以及数据段中的数据区的数目和大小优选地在消息存储器的 配置的范围内根据要求可变地进行。由此得到不同的优点因此应用 者在编程时可以决定是否他希望使用较大数目的具有小的数据字段的 消息或者是否他希望使用较小数目的具有大的数据字段的消息。在具 有不同大小的数据区的消息的配置中,最佳地充分利用现有的存储 器。应用者具有将一个数据区共同用于不同的消息的可能性。在集成 电路上实施通信控制器、即通信模块时,可以通过所使用的存储器(特
别是RAM存储器)的存储器深度与应用的要求的匹配来精确地匹配消 息存储器的大小,而不改变通信控制器或者通信模块的其它功能。
消息存储器的配置仅仅通过报头段进行。在报头区中,为消息规 定信道、周期和消息应该被传输(接收或者发送)的时隙。此外,在 配置的范围内可以为每个消息规定在消息存储器的数据段中的数据部 分的大小、指向该数据部分的开始的指针以及是否涉及待发送的或者 涉及待接收的消息的信息。
根据本发明的另一个扩展方案,在消息存储器的报头区中针对每 个消息存放标识,该标识识别相应的消息,并且通过该标识,消息可 以被分配给确定的通信周期和该周期内的确定的时间窗。存放有标识 的报头区的部分也被称为标识字段。
有利的是,针对每个在搜索遍历期间所考虑的并且要在多个还要 随后的时间窗之一 中发送的或者接收的消息,在緩冲存储器中设置有 两个字段,其中在第一字段中存放指向被存放在消息存储器中的消息 的相应的位置的指针,并且在第二字段中存放被存放在消息存储器中 的消息的状态。指针优选地指向被存放在消息存储器中的消息的、被 存储在报头段中的报头区中的第 一数据。
作为被存放在消息存储器中的消息的状态,在緩冲存储器中优选 地存储这样的信息,即对于所考虑的时间窗来说究竟是否应接收或者 应发送消息('empty,)和/或是否消息应被发送('tx — buf,)或 者应被接收('rx-buf,)。如果消息既不应被发送也不应被接收, 则状态被设置为 'empty,。
在自前有效的FlexRay规范v2. 1以及目前可用的用于实现 FlexRay通信系统的硬件和软件部件的情况下,特别有利的是,为了 确定消息在消息存储器中的位置,每隔一定时间分别针对四个还要随 后的时间窗预先搜索消息存储器,并且作为搜索遍历的结果,将要在 四个还要随后的时间窗中发送的或者接收的消息的位置存放在緩冲存 储器中。自然,搜索遍历也可以针对仅仅两个时隙或者也针对多于四 个的时隙预先进行。优选地,搜索遍历预先被实施的时隙的数目是集 合2'中的数,其中x是大于1的整自然数。因此,优选地得到时隙的 数目2、 4、 8、 16、 32、...
根据本发明的一个优选的实施形式建议,在搜索遍历的范围内针
对多个延要随后的时间窗根据下列标准中的 一个或多个来搜索消息存
储器
-确定是否在消息存储器中存放有针对所考虑的传输信道的消
息,
-确定是否在消息存储器中存放有针对所考虑的通信周期的消
息,
-确定是否在消息存储器中存放有针对多个还要随后的时间窗 的消息,
-确定是否所确定的消息是要发送的或者要接收的消息。 如果在搜索遍历的范围内在消息存储器中针对当前所考虑的信道 (信道A或者信道B)、针对当前的通信周期以及针对所考虑的将来的 时隙找到待发送的消息,则在緩冲存储器中的对应于所考虑的时隙的 位置上存放'Tx-buf,。如果在搜索遍历的范围内在消息存储器中针 对当前所考虑的信道(信道A或者信道B)、针对当前的通信周期以及
针对所考虑的将来的时隙找到待接收的消息的数据字段,则在緩冲存 储器中的对应于所考虑的时隙的位置上存放'Rx —buf,。如果在搜索 遍历的范围内在消息存储器中针对当前所考虑的信道(信道A或者信 道B)、针对当前的通信周期以及针对所考虑的将来的时隙既没有找到 待发送的消息也没有找到待接收的消息的数据段,则在緩冲存储器中 的对应于所考虑的时隙的位置上存放'empty,,如果这没有在搜索遍 历开始之前已经被存放在那里。
在搜索遍历的范围内,询问被存放在消息存储器中的消息的随后 所说明的信息
-CH A, CH B:用于确定是否设置有消息的信道对应于所考虑的 信道,
-循环码(Cycle Code):用于确定是否设置有消息的通信周期 对应于所考虑的通信周期,
-帧ID (Frame ID):用于确定是否设置有消息的时隙对应于 当前的时隙,以及
-TXM(传输模式)用于确定是否消息被设置用于发送(TXM-l) 或者用于接收(TXM=0)。
要询问的信息优选地被包含在所提及的状态位(CH A, CHB, Cycle
Code, TXM)中,作为消息存储器的报头段中的报头区中的第一数据的 部分。
作为本发明的任务的另一种解决方案,从开始所提及的类型的通 信模块出发而建议为了确定消息在消息存储器中的位置,通信模块 具有用于每隔一定时间分别针对多个还要随后的时间窗预先搜索消息 存储器的装置、被分配给消息存储器的緩冲存储器以及用于在緩冲存 储器中存放要在多个还要随后的时间窗中发送的或者接收的消息的位 置作为搜索遍历的结果的装置。
根据本发明的一种有利的改进方案建议,用于搜索消息存储器的 装置以及用于在緩冲存储器中存放所确定的消息的位置的装置被构造 为状态自动机。
根据本发明的一种优选的实施形式建议,通信模块被构造为 FlexRay通信模块,用于接收、发送和緩存根据FlexRay规范所传送 的消息。
有利地,用于搜索消息存储器的装置和用于在缓冲存储器中存放 所确定的消息的位置的装置被构造用于实施根据权利要求2至12之一 所述的方法。
作为本发明的任务的另一种解决方案,从开始所提及的类型的通 信系统的用户出发而建议,为了确定消息在消息存储器中的位置,通 信模块具有用于每隔 一定时间分别针对多个还要随后的时间窗预先搜 索消息存储器的装置、被分配给消息存储器的緩冲存储器以及用于在 緩冲存储器中存放要在多个还要随后的时间窗中发送的或者接收的消 息的位置作为搜索遍历的结果的装置。
根据本发明的一个有利的改进方案建议,用户包括主机计算机, 该主机计算机与通信模块一同被集成在共同的半导体组件上。该主机 计算机优选地被构造为微处理器。
根据本发明的一个优选的实施形式建议,通信模块按照权利要求 14至16之一来构造。
最后,作为本发明的任务的另一种解决方案,从开始所提及的类 型的通会系统出发而建议,为了确定消息在消息存储器中的位置,通 信模块具有用于每隔 一定时间分别针对多个还要随后的时间窗预先搜 索消息存储器的装置、被分配给消息存储器的緩冲存储器以及用于在
緩冲存储器中存放要在多个还要随后的时间窗中发送的或者接收的消 息的位置作为搜索遍历的结果的装置。
根据本发明的一个有利的改进方案建议,通信模块按照权利要求
14至16之一来构造。


本发明的另外的优点和有利的扩展方案从权利要求的特征中以及 从图和说明书中得出。其中
图l以示意图示出一个通信模块及其至通信连接的连接以及用
户,
图5详细示出图1中的通信模块的特定的实施形式以及其连接, 图3详细示出根据图1或图2的通信模块的消息存储器的结构, 图4至图6示意性示出在从用户至消息存储器的方向上的数据访
问的架构和过程,
图7至图9示意性示出在从消息存储器至用户的方向上的数据访
问的架构和过程,
图IO示意性示出根据图1或者图2的通信模块的消息管理器以及
包含在其中的状态自动机,
图ll再次示意性示出通信模块的一些组件以及用户和相应的受消 息管理器控制的数据路径,
图12示出涉及图11中的数据路径的访问分布图13示出根据本发明的通信模块的緩冲存储器,
图14示出在根据本发明的数据传输方法的范围内用于实施的搜索 方法的流程图,
图15示出根据一种优选实施形式的根据本发明的数据传输方法的
流程图。
具体实施例方式
图l示意性示出FlexRay通信模块100,用于将用户或者主机102 连接到FlexRay通信连接101上,即连接到FlexRay通信系统的物理 层上。通信模块IOO也被称为FlexRay-IP模块或者被称为E-Ray控制 器。从功能上来看,通信模块100包括FlexRay通信控制器。FlexRay
通信模块100通过连接107与用户或者用户处理器102 (也即主机处 理器)相连接,并且通过连接106与通信连接101相连接。为了一方 面就传输时间而言以及另一方面就数据完整性而言毫无问题地进行连 接,在FlexRay通信模块100中示意性地主要区分三个装置。
在此,第一装置105用于存储、特别是緩存待传输的、即要由用 户102发送的或者接收的消息的至少一部分。第二装置104通过连接 107和108连接在用户102和该第一装置105之间。同样,第三装置 103通过连接106和109连接在通信连接101和第一装置105之间, 由此可以实现在最佳的速度的情况下在保持数据完整性的同时作为消 息、特别是FlexRay消息的一部分的数据非常灵活地输入到第一装置 105中或者从第一装置105中输出。
在图2中更详细一些地示出在一种优选实施形式中的通信模块 100。同样更详细地示出相应的连接106至109。第二装置104在此包 含输入緩沖存储器201 ( Input Buffer, IBF)、输出緩冲存储器202 (Output Buffer, OBF )以及由两个部分2 03和2 04构成的接口模块, 其中子模块203 (通用CPU接口, GIF)不依赖于用户,并且第二子模 块204是用户特定的。用户特定的子模块204 (用户CPU接口 CIF) 将用户特定的主机CPU 102、即客户特定的用户与其余的FlexRay通 信模块100相连接。为此设置有双向数据线216、地址线217以及控 制输入218。同样设置有用219表示的中断输出219。
用户特定的子模块204和不依赖于用户的子模块203相连接,即 FlexRay通信模块100拥有通用的、即一般的CPU接口,通过相应的 用户特定的子模块204、即用户CPU接口 CIF,大量的不同的客户特 定的主机CPU可以连接到该CPU接口上。通过这种方式,才艮据用户只 需改变用户特定的子模块204,而其余的通信模块IOO可以不依赖于用 户始终相同地被构造,这意味着明显更小的花费。用户特定的子模块 204例如^吏FlexRay通信模块100的位宽(例如16位)与所连接的主 机CPU 102的位宽(例如8、 16或者32位)相匹配,
输入緩冲存储器201和输出緩冲存储器202可以被构造在共同的 存储模块中或者在分开的存储模块中。在此,输入緩冲存储器201用 于消息的緩存以便从主机CPU 102传输至消息存储器300。输入緩冲 存储器201优选地这样来构造,使得它可以存储两个完整的、分别由
特别是具有配置数据的报头段HS以及数据段DS或者有效载荷段构成 的消息。在此,输入緩冲存储器201两部分地(子緩冲存储器和影子 存储器(Schattenspeicher))构造,由此可以通过交替地写输入緩 沖存储器201的两个部分或者通过访问切换来加速用户CPU 102和消 息存储器3 00之间的传输。
同样,输出緩冲存储器(Output-Buffer, OBF) 202用于缓存消息 以便从消息存储器300传输至用户CPU 102。在此,输出緩冲器模块 202也这样来构造,使得可以存储两个完整的、由特别是具有配置数据 的报头段HS以及数据段DS、即有效栽荷段构成的消息。在此,输出緩 冲存储器202也被划分为两部分,即子緩冲存储器和影子存储器,由 此这里也可以通过交替地读输出緩冲存储器202的两个部分或者通过 访问切换来加速用户CPU或者主机CPU 102和消息存储器300之间的 传输。由块201至204构成的第二装置104与第一装置105如所示的 那样相连接。
装置105由消息管理器200 (Message Handler, MHD )和消息存 储器300 (Message RAM)构成。消息管理器200控制或者监控输入緩 冲存储器201以及输出緩冲存储器202与消息存储器300之间的数据 传输。同样地,它控制或者监控在另外的方向上通过第三装置103的 数据传输。消息存储器300优选地被实施为单端口 RAM。该RAM存储 器存储消息或者消息对象、即真正的数据,以及配置和状态数据。消 息存储器300的确切的结构在图3中被进一步示出。每个消息对象由 报头段HS和数据段DS构成。在报头区HS中,存放有标识字段以及另 外的配置和状态信息O以及指向消息存储器300的数据段DS中的数 据区DB的开始的指针DP。
第三装置103由块205至208构成。对应于物理层(FlexRay Physical Layer)的两个信道A ( CH A )和B ( CH B ),该装置103 被划分为各具有两个数据方向的两个数据路径。这通过连接213和214 变得明显,其中示出了信道A的两个数据方向、即用于接收的RxA和 用于发送的TxA以及信道B的两个数据方向、即RxB和TxB。用连接 215来表示可选的双向控制输入。第三装置103的连接通过用于信道B 的第一緩冲存储器205和用于信道A的第二緩冲存储器206进行。这 两个緩冲存储器(瞬态緩冲RAM: RAM A和RAM B )用作来自或者至第
一装置105的数据传输的緩冲存储器。对应于两个信道A、 B,这两个 緩冲存储器205和206分别与接口模块207和208相连接,这两个接 口模块包括由发送/接收移位寄存器和FlexRay协议有限状态机构成 的FlexRay协议控制器或者总线协议控制器。两个緩冲存储器205和 206因此用作接口模块的移位寄存器或者FlexRay协议控制器207和 208与消息存储器300之间的数据传输的緩冲存储器。在此也有利地通 过各緩冲存储器205或者206存储数据字段、也即两个FlexRay消息 的有效载荷段或者数据段DS。
此外,在通信模块100中以209示出了全局时间单元(Global Time Unit, GTU ),该全局时间单元主管FlexRay中的时间+贞(Zeitraster )、 即微滴答声(Mikrotick) jLiT或者宏滴答声(Makrot ick ) MT的显示。 同样,通过全局时间单元209来调节循环计数器(Cycle Counter)的 容错的时钟同步以及FlexRay的静态和动态段中的时间进程的控制。 通信系统的用户102拥有自己的本地时钟,该本地时钟被同步到全局 时间。为了时钟同步,同步消息在通信周期的静态部分中被传输。时 钟同步在所谓的网络空闲时间(NIT)期间在每个通信周期结束时进 行。借助与当前的FlexRay规范相应的特定的算法,部件102的本地 时钟时间这样被校正,使得所有本地时钟都与全局时钟同步运行。
以块210示出了通用系统控制装置(System Universal Control, SUC),通过该系统控制装置控制和监控FlexRay通信控制 器或者通信模块100的工作模式。属于工作模式的有苏醒(Wakeup)、 启动 (Startup )、 重新集成 (Reintegration ) 或者集成 (Integration)、 正常工作(normal operation)以及被动工作 (passive operation )。块211示出网络和错误管理(Network and Error Management,腿),如在FlexRay协议规范v2. 1中所描述的 那样。块212最后示出中断控制(Interrupt Controll, INT),其管 理状态和错误中断标志(Status and Error Interrupt Flags)并且 控制或者监控至用户CPU 102的中断输出219。块212此外包含绝对 和相对计时器,用于产生时间中断或计时器中断。
对于在FlexRay网络或者FlexRay通信系统中的通信来说,消息 对象或者消息可以在消息緩冲器300中配置有最多254个数据字节。 消息存储器300特别是消息RAM存储器(Message RAM),其例如可以
存储直到最多64个消息对象。涉及消息本身的处理或者管理的所有功 能都在消息管理器或者消息处理机200中被实施。这例如是在两个 FlexRay协i义控制器块207和208以及消息存储器300 (即Message RAM)之间的消息的接受过滤、传输以及发送顺序的控制和配置数据或 者状态数据的提供。
外部CPU、即用户处理器或者主机102的外部处理器可以通过用户 接口利用用户特定的部分204直接访问FlexRay通信模块的寄存器。 在此,使用多个寄存器。这些寄存器被用来配置以及控制FlexRay协 议控制器、即接口模块207和208、消息管理器(Message Handler, MHD) 200、全局时间单元(Global Time Unit, GTU) 209、通用系统 控制器(System Universal Controller, SUC) 210、网络和错误管理 单元(Network- and Error-Management Unit,匪)211、中断控制 器(Interrupt Controller, INT) 212以及对消息RAM (即消息存储 器300 )的访问,并且同样用于显示相应的状态。在图4至图6以及图 7至图9中至少还将进一步讨论这些寄存器的部分。这样所描述的、根 据本发明的FlexRay通信模块100能够筒单地实现FlexRay规范 v2. 1,由此可以简单地产生具有相应的FlexRay功能的ASIC或者微控 制器。
在图3中详细地描述了消息存储器300的划分。对于FlexRay通 信控制器的按照FlexRay协议规范所要求的功能来说,需要消息存储 器300用于提供待发送的消息(发送緩沖器)以及存储无错误地接收 的消息(接收緩冲器)。FlexRay协议允许具有0至254个字节的数 据区、即有效载荷区的消息。如在图2中所示,消息存储器300是 FlexRay通信模块100的一部分。下面描述的方法以及相应的消息存 储器300描述待发送的消息以及所接收的消息特别是在使用随机访问 存储器(RAM)的情况下的存储,其中通过根据本发明的机制可以在预 先给定大小的消息存储器300中存储可变数目的消息。在此,可存储 的消息的数目取决于各个消息的数据区的大小,由此一方面可以使所 需要的存储器300的大小最小化,而不限制消息的数据区的大小,并 且另一方面实现存储器300的最佳利用。现在,下面将进一步描述用 于FlexRay通信控制器的、特别是基于RAM的消息存储器300的这种 可变的划分。为了实施,现在示例性地预先给定具有n位、例如8、 16、 32等 等位的规定字宽以及m个字的预先给定的存储器深度的消息存储器 300 (m、 n为自然数).在此,消息存储器300被划分为两个段,即 报头段HS ( Kopf segment)和数据段DS (有效载荷部分,有效载荷段). 针对每个消息设置一个报头区HB和一个数据区DB。因此,针对消息0、 1至k (k为自然数),设置报头区HBO、 HB1至HBk以及数据区DBO、 DB1至DBk。也即,在一个消息中,在第一和第二数据之间进行区分, 其中第一数据对应于关于FlexRay消息的配置数据和/或状态数据,并 且分别被存放在才艮头区(HBO, HB1,…,HBk)中。对应于真正的应该 被传输的数据(所谓的有用数据)的第二数据被相应地存放在数据区 DB(DBO, DB1,…,DBk)中。因此,针对每个消息的第一数据产生 第一数据规模(以位、字节或者存储字来测量),并且针对消息的第 二数据产生第二数据规模(同样以位、字节或者存储字来测量),其 中每个消息的第二数据规模可以不同。在消息存储器300中报头段HS 和数据段DS之间的划分是可变的,即在两个区HS、 DS之间不存在预 先给定的边界。根据本发明,报头段HS和数据段DS之间的划分取决 于消息的数目k以及一个消息或者所有k个消息的第二数据规模、即 真正的有用数据的规模。
根据本发明,现在相应的消息的配置数据KDO、 KDl至KDk分别被 直接分配指针元素或者数据指针DPO、 DPl至DPk。在特殊的扩展方案 中,每个报头区HBO、 HB1至HBk都被分配固定数目的(在此为两个) 存储字,使得配置数据KD(KDO, KD1,…,KDk)和指针元素DP (DPO, DP1,…,DPk)总是一同被存放在才艮头区(HBO, HB1,…,HBk)中。 用于存储真正的消息数据DO、 Dl至Dk的数据段DS连接在具有报头区 HB的报头段HS之后,其中该报头段的大小或者第一数据规模取决于待 存储的消息的数目k。该数据段(或者数据部分)DS在其数据规模方 面取决于所存放的消息数据(有用数据)的相应的数据规模,在此例 如在DBO中为六个字,在DB1中为一个字并且在DBk中为两个字。由 此,相应的指针元素DPO、 DPI至DPk始终指向开始,即指向相应的数 据区DBO、 DB1至DBk的起始地址,相应消息O、 1至k的数据DO、 Dl 至Dk被存放在这些数据区中。由此,消息存储器300的在报头段HS

的相应的数据规模,并且由此取决于总的第二数据规模。如果配置较
少的消息,则报头段HS较小并且消息存储器300中的变得空闲的区域 可以被用作用于存储数据的数据段DS的附加。通过该可变性,可以保 证最佳的存储器利用,由此也可以使用更小的存储器300。特别是大小 同样取决于所存储的消息的数目k和消息的相应的第二数据规模的组 合的空闲数据段FDS因此是最小的并且甚至可以为0。
由此,相对于消息存储器300的规定的划分给出以下优点应用 者可以在编程时决定,是否他想使用具有小的数据字段的较大数目的 消息,或者是否他想使用具有大的数据字段的较小数目的消息。在配 置具有不同大小的数据区DB的消息时,现有的存储容量被最优地利 用。应用者具有针对不同的消息共同使用一个数据存储区的可能性。
除了使用指针元素(DP0, DP1,…,DPk)之外,也可以将第一和 第二数据、即配置数据KD (KD0, KD1,…,KDk)和真正的数据D (D =D0,…,Dk)以能预先给定的顺序存放,使得报头段HS中的报头区 HB0至HBk的顺序以及数据段DS中的数据区DB0至DBk的顺序分别相 同。于是,也许甚至可以舍弃指针元素。然而,对于该情况来说,必 须可以访问关于各个数据区DBO至DBk的长度的信息,或者数据区DB0 至DBk都大小相同。
在一种特别的扩展方案中,消息存储器300被分配错误标识生成 器、特别是奇偶校验位产生器元件以及错误标识检验器、特别是奇偶 校验位检验元件,以便通过以下方式保证在报头段HS和数据段DS中 所存储的数据的正确性,即针对每个存储字或者针对每个区(报头区 HB和/或数据区DB),可以一同存放校验和(Checksumme)正好特别 是作为奇偶校验位.其它的控制标识、例如CRC (循环冗余校验)或者 更有力的标识、例如ECC (错误代码纠正)是可设想的。
在集成电路上实施FlexRay通信控制器的情况下,可以通过^f吏所 使用的存储器的存储器深度与应用的要求匹配来匹配消息存储器300 的大小,而不改变该通信控制器的其它功能。
此外,现在借助图4至图6以及图7至图9来进一步描述通过緩 冲存储器装置201和202的主机CPU访问、即配置数据或状态数据以 及真正的有用数据的写和读。在此目的是,这样建立在数据传输方面 的去耦,使得可以确保数据完整性并且同时保证高的传输速度。该过
程的控制通过消息管理器200来进行,稍后还将在图10、 11和12中 对此进行进一步描述。
在图4、图5和图6中,首先进一步阐述主机CPU或者用户CPU 102 通过输入緩冲存储器201对消息存储器300的写访问。为此,图4再 次示出通信模块100,其中出于清楚的原因,仅仅示出了通信模块100 的在此相关的部分。这一方面是负责流程的控制的消息管理器200以 及两个控制寄存器403和404,这两个控制寄存器如所示的那样可以被 安置在通信模块100中的消息管理器200的外部,然而也可以被包含 在消息管理器200本身中。在此,附图标记403表示输入请求寄存器 (Input Buffer Command Request Register), 并且404表示输入 屏蔽寄存器(Input Buffer Command Mask Register)。因此,主 机CPU 102对消息存储器300 (Message RAM)的写访问通过中间连接 的输入緩冲存储器201 (Input Buffer)来进行。该输入緩冲存储器 201现在被分开或者被双重地设计,更确切地说,^:设计为子緩冲存储 器400和属于该子緩冲存储器400的影子存储器401。由此,可以如 下面所描述的那样实现主机CPU 102对消息存储器300的消息或消息 对象或者数据的连续访问,并且由此保证数据完整性和加速的传输。 访问的控制通过输入请求寄存器403以及通过输入屏蔽寄存器404来 进行。在寄存器403中,在此示例性地针对32位的宽度,用0至31 的数字来表示寄存器403中的相应位位置。同样的内容也适用于寄存 器404和在寄存器404中的位位置0至31。
根据本发明,现在例如寄存器403的位位置0至5、 15、 16至21 和31在流程控制方面获得特别的功能。因此,可以将标识IBRH( Input Buffer Request Host)作为消息标识录入到寄存器403的位位置0 至5中。同样,可以将标识IBRS (Input Buffer Request Shadow) 录入到寄存器403的位位置16至21中。同样,在寄存器403的寄存 器位置15中将IBSYH以及在寄存器403的寄存器位置31中将IBSYS 作为访问标识录入。突出的还有寄存器404的位置O至2,其中在具有 LHSH (Load Header Section Host)以及LDSH (Load Data Section Host)的0和1中将另外的标识作为数据标识录入。这些数据标识在 此具有最简单的形式,即分别作为1位来构造。在寄存器404的位位 置"2"中,以STXRH (Set Transmission Request Host)写入开始 标识。
另外,现在将描述通过输入緩沖器201对消息存储器300的写访 问的流程。
主机CPU 102将待传输的消息的数据写入输入緩冲存储器201 中。在此,主机CPU 102可以针对消息存储器300的报头段HS只写消 息的配置和报头数据KD,或者针对消息存储器300的数据段DS只写消 息的真正的待传输的有用数据D,或者写两种数据KD、 D。应该传输消 息的哪个部分、即配置数据KD和/或真正的数据D通过输入屏蔽寄存 器4 04中的特殊的数据标识LHSH和LDSH来确定。在此,通过LHSH( Load Header Section Host)来确定,是否报头数据、即配置数据KD应该 被传输,以及通过U)SH (Load Data Section Host)来确定,是否数 据D应该纟皮传输。
通过输入緩冲存储器201以缓存存储器40的部分以及属于该部分 的影子存储器401两部分地来构造以及应该进行相互的访问,作为 LHSH和LDSH的配对物,设置有两个另外的数据标识区,这些数据标 识区现在涉及影子存储器401。这些在寄存器404的位位置16和17 中的数据标识用LHSS (Load Header Section Shadow)和LDSS (Load Data Section Shadow)表示。通过这些数据标识,由此在影子存储 器401方面控制传输过程。
如果现在起始位或者起始标识STXRH( Set Transmission Request Host )被设置到输入屏蔽寄存器404的位位置"2"中,则在进行了分 别待传输的配置数据KD和/或真正的数据D的传输之后,在消息存储 器300中自动地设置对相应消息对象的发送请求(Transmission Request)。也就是说,通过该起始标识STXRH来控制、特别是启动所 传输的消息对象的自动发送。
为此,相应地针对影子存储器401的配对物是起始标识STXRS( Set Transmission Request Shadow),其例如被包含在输入屏蔽寄存器 404的位位置"18,,中,并且在此在最筒单的情况下也构造为1位。STXRS 的功能类似于STXRH的功能,仅仅涉及影子存储器401。
当主机CPU 102因此根据IBRH将消息标识、特别是消息存储器 300中的消息对象的位置或者编号写入输入请求寄存器403的位位置0 至5中时,输入緩冲存储器201的子緩冲存储器400和所属的影子存
储器401被调换,或者主机CPU 102和消息存储器300对两个子存储 器400和401的相应访问被调换,如通过两个存储器400、 401之间的 半圆形箭头所表明的那样,其中输入緩冲存储器201的数据应该被传 输到所述消息对象中。在此,例如也启动数据传输,即至消息存储器 300的数据传输。至消息存储器300的数据传输本身由影子存储器401 进行。同时,寄存器区IBRH和IBRS被交换。同样,LHSH和LDSH与 LHSS和U)SS交换。同样将STXRH与STXRS交换。
IBRS由此示出消息的标识,即这样的消息对象的编号,对于该消 息对象来说,传输、即自影子存储器401的传输正在进行,或者示出 哪个消息对象、即消息存储器中的哪个区作为最后的数据(配置数据 KD和/或有用数据D)从影子存储器401中获得。通过在输入请求寄存 器403的位位置"31"中的标识(在此又例如为l位)IBSYS (Input Buffer Busy Shadow)来指明,是否恰好进行影子存储器401参与的 传输。这样例如在IBSYS=1的情况下恰好由影子存储器401传输,并 且在IBSYS-O的情况下正好没有。该位IBSYS例如通过在寄存器403 中写IBRH、即位位置"0"至"5"来设置,以便指明,影子存储器401 和消息存储器300之间的传输正在进行。在该至消息存储器300的数 据传输结束之后,IBSYS又被复位。
在自影子存储器401的数据传输正好进行期间,主机CPU 102可 以将下一个要传输的消息写入输入緩冲存储器201或者子緩冲存储器 400中。借助例如在寄存器403的位位置"15"中的另外的访问标识 IBSYH (Input Buffer Busy Host),可以更进一步改进标识。如果 主机CPU 102恰好写IBRH、即寄存器403的位位置"0"至"5",而 影子存储器401和消息存储器300之间的传输在进行,即IBSYS=1, 则在输入请求寄存器403中设置IBSYH。 一旦进行中的传输结束,则 所请求的传输(通过STXRH的请求,参见上面)被启动,并且位IBSYH 被复位。位IBSYS在整段时间期间保持被设置,以便指明数据被传输 到消息存储器300。所有实施例的所有被使用的位在此也可以被构造为 具有多于一个位的标识。有利的是出于存储器和处理经济的原因的1 位解决方案。多位解决方案出于安全性和可靠性原因是值得推荐的。
这样所描述的机制允许主机CPU 102连续地将数据传输到位于消 息存储器300中的、由报头区HB和数据区DB构成的消息对象中,前
提是主机CPU 102对输入緩冲存储器201的访问速度小于或者等于通 信模块100 (即FlexRay - IP模块)的内部数据传输速率。
在图7、图8和图9中,现在进一步阐述主机CPU或者用户CPU 102 通过输出緩冲存储器202对消息存储器300的读访问。为此,图7再 次示出通信模块100,其中出于清楚的原因,在此也仅仅示出了通信模 块100的相关部分。这一方面是负责控制流程的消息管理器200以及 两个控制寄存器703和704,这两个控制寄存器可以如所示的那样被安 置在通信模块100中的消息管理器300之外,然而也可以被包含在消 息管理器2 00本身中。在此,附图标记703表示输出请求寄存器(Output Buffer Command Request Register)并且附图标记704表示输出屏 蔽寄存器(Output Buffer Command Mask Register )。主机CPU 102 对消息存储器300的读访问因此通过中间连接的输出緩冲存储器202 (Output Buffer )进行。该输出緩冲存储器202现在同样被分开或者 双重地设计,更确切地说,被设计为子緩沖存储器701和属于该子緩 冲存储器701的影子存储器700。由此,在此也可以如下面所描述的那 样实现主机CPU 102对消息存储器300的所存放的消息或消息对象或 者数据的连续访问,并且由此保证数据完整性以及在从消息存储器300 至主机CPU 102的相反方向上的加速的传输。访问的控制通过输出请 求寄存器703以及通过输入屏蔽寄存器704进行。在寄存器703中, 在此例如针对32位的宽度,也用从0至31的数字示出了 703中的相 应的位位置。同样的内容也适用于寄存器704和在寄存器704中的位 位置0至31。
现在示例性地在读访问的流程控制方面,寄存器703的位位置"O" 至"5" 、 "8"和"9" 、 "15"和"16"至"21"获得特别的功能。 因此,可以将标识OBRS (Output Buffer Request Shadow)作为消 息标识录入到寄存器703的位位置"0"至"5"中'同样,可以将标 识OBRH (Output Buffer Request Host)录入到寄存器703的位位 置"16"至"21"中'作为访问标识,可以将标识OBSYS(Output Buffer Busy Shadow)录入到寄存器703的位位置"15"中。突出的还有输出 屏蔽寄存器704的位置"0,,和"1",其中在具有RDSS(Read Data Section Shadow)和RHSS (Read Header Section Shadow)的位位置"0"和 "1"中,可以录入另外的标识作为数据标识。另外的数据标识例如被
设置在具有RDSH ( Read Data Section Host)和RHSH ( Read Header Section Host)的位位置"16"和"17"中。这些数据标识在此也示 例性地以最简单的形式、即分别作为1位来构造。在寄存器703的位 位置"9"中录入起始标识REQ.此外,设置有切换标识VIEW,其示例 性地被录入到寄存器703的位位置"8"中。
主机CPU 102通过以下方式请求来自消息存储器300的消息对象 的数据,即它将所希望的消息的标识、即特别是所希望的消息对象的 位置或者编号根据OBRS写入寄存器703的位位置0至5中。在此情况 下,主机CPU也可以如在相反方向上那样仅仅从报头区HB中读取消息 的状态数据或者配置数据和报头数据KD,或者仅仅从数据区DB中读取 消息的真正待传输的有用数据D,或者读取两种数据KK、 D。因此数据 的哪个部分应该从报头区HB和/或数据区DB被传输在此情况下与相反 方向可比较地通过RHSS和RDSS来确定。也就是说,RHSS说明,是否 报头数据KD应该被读取,并且RDSS说明,是否真正的数据D应该被 读取。
起始标识用于启动从消息存储器300至影子存储器700的传输。 也就是说,如果如在最简单的情况下那样使用1位作为标识,则通过 设置输出请求寄存器703中的位位置"9"中的位REQ来启动从消息存 储器300至影子存储器700的传输。进行中的传输又通过寄存器703 中的访问标识(这里又在最简单的情况下通过1位0BSYS )来指明。为 了避免冲突,有利的是,只有当OBSYS没有被设置时,即恰好没有传 输在进行时,才能设置位REQ。这里随后也进行消息存储器300和影子 存储器700之间的消息传输。真正的流程现在一方面可以与如根据图 4、图5和图6所描述的相反方向可比较地被控制(互补的寄存器占用) 和实现,或者在一种变型方案中通过附加的标识、即寄存器703的位 位置"8"中的切换标识VIEW来实现。也就是说,在传输结束之后, 位0BSYS被复位,并且通过设置输出请求寄存器703中的位VIEW,子 緩冲存储器701和所属的影子存储器700被交换,或者对其的访问被 交换,并且主机CPU 102现在可以从子緩冲存储器701中读出消息存 储器3 00所请求的消息对象、即相应的消息。在此情况下,这里也与 图4至图6中的相反传输方向可比较地交换寄存器单元0BRS和0BRH。 同样,RHSS和RDSS与RHSH和RDSH交换。这里也可以设置作为保护
机制的是,只有当0BSYS没有被设置、即不发生进行中的传输时,位 VIEW才能被设置。
由此实现主机CPU 102通过中间连接的输出緩冲存储器202对消 息存储器300的读访问。该输出緩冲存储器202与输入緩冲存储器202 一样被加倍地或者双重地设计,以便保证主机CPU 102对被存放在消 息存储器300中的消息对象的连续访问。这里,也获得高的数据完整 性和加速的传输的优点。
通过使用所描述的输入和输出缓冲器201、 202来保证,虽然有模 块内部的等待时间,但主机CPU 102能够无中断地访问消息存储器 300。
为了保证该数据完整性,数据传输、特别是在通信模块100中的 转发通过消息管理器200 (Message Handler (消息处理机),MHD ) 来进行。为此,在图10中详细示出了消息管理器200。消息管理器200 在其功能方面可以通过多个状态机或者状态自动机、即有限自动机、 所谓的有限状态机(FSM)来表示。在此,设置有至少三个状态机,并
且在一个特别的实施形式中设置有四个有限状态机。第一有限状态机 是IOBF-FSM (Input/Output Buffer FSM),其用501表示。该状态 机IOBF-FSM也可以针对就输入緩冲存储器201或者输出緩冲存储器 202而言的每个传输方向被划分为两个有限状态机,例如IBF-FSM (Input Buffer FSM)和OBF-FSM (Output Buffer FSM),由此可 以设想最多五个状态自动机(IBF-FSM、 OBF-FSM、 TBF1-FSM、 TBF2-FSM和AFSM)。但是优选的是设置共同的IOBF-FSM。
这里,在优选的实施例的过程中,至少一个第二有限状态机TBF-FSM净皮划分为两个块502和503,并且为就存储器205和206而言的两 个信道A和B服务,如针对图2所描述的那样。在此,可以设置有限 状态机,以便为两个信道A和B服务,或者如在优选的实施形式中那 样针对信道A设置以502表示的第一有限状态机TBFl-FSM( Transient Buffer 1 ( 206, RAM A) FSM)并且针对信道B设置以503表示的第 二有限状态机TBF2-FSM (Transient Buffer 2 ( 205, RAM B ) FSM)。
在优选的实施例中用500表示的仲裁有限状态机、所谓的AFSM用 于控制三个有限状态机501 - 503的访问。数据(报头数据KD和/或有 用数据D)以通过时钟装置(Taktmittel )、诸如VCO (压控振荡器)、
振荡石英等等产生的、或者由该时钟装置匹配的或者导出的时钟在通
信模块100中被传输。时钟T在此可以在模块100中被产生,或者由 外部、例如作为总线时钟预先给定。仲裁有限状态机AFSM 500交替地 让三个有限状态机501 - 503之一特别是分别在时钟周期T内访问消息 存储器300。也就是说,可供使用的时间根据各个状态自动机501、 502、 503的访问请求而被分配给这些请求的状态自动机501 - 503。如 果访问请求仅仅由 一 个有限状态机进行,则该有限状态机得到10 0 %的 访问时间,包括另外的、即所有的时钟T在内。如果由两个状态自动 机进行访问请求,则每个有限状态机得到50%的访问时间。最后,如 果由三个状态自动机进行访问请求,则每个有限状态机得到1/3的访 问时间。通过这种方式最佳地利用分别可供使用的带宽。
第一有限状态机501、即IOBF-FSM在需要时执行以下动作 -从输入緩冲存储器201至消息存储器300中的所选出的消息对 象的数据传输。
-从消息存储器300中的所选出的消息对象至输出緩冲存储器 202的数据传输。
用于信道A的状态机502、即TBF1-FSM执行以下动作
-从消息存储器300中的所选出的消息对象至信道A的緩冲存储 器206的数据传输。
-从緩冲存储器206至消息存储器300中的所选出的消息对象的 数据传输。
-搜索消息存储器300中的合适的消息对象,其中在接收时为了 存储在信道A上所接收的消息而在接受过滤(Akzeptanzfilterung) 的范围内搜索消息对象(接收緩冲器202 ),并且在发送时搜索下一个 要在信道A上发送的消息对象(发送緩冲器2 01)。
状态机TBF2-FSM、即块503中的用于信道B的有限状态机的动作 与此类似。该有限状态机执行从消息存储器300中的所选出的消息对 象至信道B的緩沖存储器205的数据传输以及从緩冲存储器205至消 息存储器300中的所选出的消息对象的数据传输,搜索功能也类似于 状态机TBF l-FSM搜索消息存储器300中的合适的消息对象,其中在 接收时为了存储在信道B上所接收的消息而在接受过滤的范围内搜索 消息对象(接收緩冲器2 02),并且在发送时搜索下一个要在信道B上发
送的消息或消息对象(发送緩冲器201)。
在图11中现在再次示出了流程和传输路径。三个状态机501 - 503 控制各个部分之间的相应的数据传输。在此,又用102表示主机CPU, 用201表示输入緩冲存储器,并且用202表示输出緩冲存储器。用300 表示消息存储器,并且用于信道A和信道B的两个緩冲存储器用206 和205表示。同样示出了接口元件207和208。第一状态自动机 IOBF-FSM 501控制数据传输Z1A和Z1B,即从输入緩冲存储器2 01至 消息存储器300以及从消息存储器300至输出緩冲存储器202的数据 传输。在此数据传输通过具有例如32位的字宽的数据总线进行,其中 任何其它的位数也是可能的。同样的内容也适用于消息存储器300和 緩沖存储器206之间的传输Z2。该数据传输通过状态机TBF1-FSM502 (用于信道A的状态机)来控制。消息存储器300和緩冲存储器205 之间的传输Z3通过状态自动机TBF2-FSM 503来控制。这里,数据传 输也通过具有示例性的32位字宽的数据总线进行,其中这里任何其它 的位数也是可能的。通常,完整的消息对象通过所提及的传输路径的 传输需要多个时钟周期T。因此,通过仲裁器、即AFSM 500进行传输 时间相对于时钟周期T的划分。在图11中也即示出了由消息处理机200 控制的存储部件之间的数据路径。为了保证存储在消息存储器300中 的消息对象的数据完整性,有利地应该同时仅仅在所示出的路径、即 Z1A和Z1B以及Z2和Z3之一上同时交换数据。
在图12中借助一个例子示出,仲裁器、即AFSM 500如何将可供 使用的系统时钟T分配给三个请求的状态自动机501 - 503。在阶段1 中,进行状态自动机501和状态自动机502的访问请求,即总计算时 间分别平分给两个请求的状态自动机501、 502。就阶段l中的时钟周 期而言,这意味着,状态自动机501在时钟周期T1和T3中获得访问, 并且状态自动机502在时钟周期T2和T4中获得访问。在阶段2中, 仅仅由状态自动机501进行访问,使得所有的三个时钟周期T5至T7、 即100%的访问时间都落到状态自动机IOBF-FSM501上。在阶段3中, 所有三个状态自动机5 01 - 503都进行访问请求,使得进行总访问时间 的三等分。随后,仲裁器AFSM 500例如这样分配访问时间,使得在时 钟周期T8和Tll中有限状态机501获得访问,在时钟周期T9和T12 中有限状态机502获得访问,以及在时钟周期T10和T13中有限状态
机503获得访问。最后,在阶段4中,由两个状态自动机502和503 进行对通信模块100的两个信道A和B的访问,使得实现时钟周期T14 和T16被访问分配给第二有限状态机502,并且在T15和T17中,皮分 配给第三有限状态机503。
仲裁状态自动机AFSM 500也负责针对三个状态机501 - 503中的 多于一个状态机提出对消息存储器300进行访问的请求的情况将访问 逐时钟地并且交替地分配给请求的状态机。这种处理方式保证存放在 消息存储器300中的消息对象的完整性、即数据完整性.如果例如主 机CPU 102想在恰好一个所接收的消息被写入消息对象中时通过输出 緩冲存储器202读出该消息对象,则取决于哪个请求首先被启动,或 者读出旧的状态,或者读出新的状态,而消息存储器300本身中的消 息对象的访问不会冲突。
所描述的方法使主机CPU 102能够在持续的运行中读或者写消息 存储器300中的每一任意的消息对象,而所选出的消息对象在主机CPU 102访问的持续时间内不会由于参与FlexRay总线101的两个信道A 和B上的数据交换而被禁止(緩冲器锁定(Buffer Locking))。同 时,通过逐时钟的访问嵌套来保证存放在消息存储器300中的数据的 完整性,并且还通过充分利用完整带宽来提高传输速度。
通信模块100的消息存储器300存储针对通信所设置的消息对 象。在通信期间产生以下任务
在通过通信连接101接收消息时,必须在消息存储器300中找到 所属的消息对象,由此所接收的消息可以被存储到消息存储器300中 的消息对象的相应位置上。只有当所接收的消息的标识字段与所配置 的消息对象(所谓的接收对象)的标识字段一致时,所接收的消息才 被存储在消息存储器300中。所配置的接收消息对象的标识字段通过 以下方式来确定,即对整个消息存储器300搜索消息对象,
-该消息对象被设置用于通过所考虑的信道(A或B)进行接收,
-该消息对象被设置用于在所考虑的通信周期中进行接收,
-该消息对象被设置用于在所考虑的时隙中进行接收,以及
-该消息对象被设置用于进行接收。
同样必须及时地在发送窗开始时在消息存储器3 00中找到与该发 送窗匹配的消息对象(发送对象),并且将该消息对象提供用于发送。
只有当待发送的消息的标识字段与所配置的消息对象(即所谓的发送 对象)的标识字段一致时,等候发送的消息对象才被发送。所配置的 发送消息对象的标识字段通过以下方式来确定,即对整个消息存储器
300搜索消息对象,该消息对象
-被设置用于通过所考虑的信道(A或者B )进行发送, -被设置用于在所考虑的通信周期中进行发送, -被设置用于在所考虑的时隙中进行发送,以及 -被设置用于进行发送。
在两种情况中都必须及时地确定消息存储器中的合适的消息对 象,以便保证通信模块的实时能力。因为不知道,对于下一个时间窗 来说消息对象3 00位于消息存储器中的什么位置,所以消息存储器3 00 必须针对每个时间窗被完整地搜索一次.特别是在较大的消息存储器 300的情况下,这花费许多时间,并且可能危害或者损害通信系统的实 时能力。
本发明描述一种用于搜索消息存储器的新型的和改进的方法,其 中分别针对多个时间窗(或者时隙)预先通过消息存储器300的唯一 的搜索遍历针对多个所考虑的时间窗来搜索消息存储器300中所存储 的消息对象的标识字段。整个消息存储器300的搜索遍历因此总是针 对多个所考虑的、将来的时间窗在能预先给定的帧(Raster)中被实 施,其中在所迷帧中用于实施搜索遍历的时刻的间隔大于一个时间 窗,并且包括多个时间窗。
特别建议,在搜索遍历时针对多个被考虑的、将来的时隙来实施 并且检验以下的搜索标准
-确定是否在消息存储器300中存储有针对所考虑的传输信道CH A、 CH ti的消息对象,
-确定是否在消息存储器300中存储有针对所考虑的通信周期的 消息对象,
-确定是否在消息存储器300中存储有针对多个所考虑的、随后 的时间窗的消息对象,以及
-检验是否所确定的消息对象是待发送的或者待接收的对象。 如果在消息存储器300中确定一个或者多个满足一个或者多个、 优选地所有上迷要求的消息对象,则所找到的对象在消息存储器中的
位置被存放在被分配给消息存储器300的緩冲存储器中,该緩冲存储 器在图13中被示出并且其总体上用附图标记600来表示。緩冲存储器 600至少被构造为这样大,使得其对于每个事先所考虑的时隙来说都包 括至少一个数据字段。在所示的实施例中,消息存储器300在四个时 间窗的帧中、即仅仅在所有4个时间窗中被搜索。然而,该搜索不是 仅仅针对唯一的、当前的时间窗、而是同时或者准同时地针对多个将 来的时间窗进行。由此,緩冲存储器600具有四个数据字段601至604, 以便能够存放最多四个所确定的消息对象的位置。在数据字段601至 604的每一个中,可以分别存放两个数据字,即指针i和状态i,其中 i对应于消息存储器300中的数据字段601 - 604的唯一的编号(或者 标识)。数据字段601优选地被分配给将来的被考虑的第一时间窗, 数据字段602被分配给将来的被考虑的第二时间窗,以此类推,直到 数据字段604,该数据字段604被分配给将来的被考虑的最后的时间 窗。因此,当针对将来的被考虑的第一时间窗确定消息存储器300中 的相应的消息对象时,针对第一时间窗i所确定的消息对象的指针i 和状态i被存放在数据字段601的两个数据字中。
作为数据字指针0...3,在数据字段601 - 604中分别存储有所引 用的消息对象在消息存储器300中的位置、例如编号。数据字指针0… 3是一种类型的指针元素(所谓的数据指针),其指向消息存储器300 中的消息对象的开始,优选地指向报头段HS中的报头区HB的开始, 也即指向所确定的消息对象的配置数据KD。作为被存放在消息存储器 300中的消息的状态0…3,在緩冲存储器600中优选地存放有信息,
即针对所考虑的时间窗究竟是否应接收或发送消息和/或是否应发送 或者接收消息。如果消息应被发送,则状态0…3被设置为'tx-buf,, 并且如i消息应被接收,则状态0…3被设置为'rx-buf,。如果对于
所考虑的时隙来说消息既不应被发送也不应被接收,则状态被设置为 'empty,,只要这不是在数据字段601 - 604的所有数据字的搜索遍 历开始时(然而至少针对数据字状态0…3)已经被执行。
在图13中清楚地看到,所示的緩冲存储器600双重地被构造,也 即数据字段601 - 604双重地被构造,使得存在附加的数据字段601a -604a。这具有以下优点,即例如在搜索遍历的范围内可以访问数据 字段601-6(M,而同时在真正的数据传输、也即数据的发送或者接收
的范围内可以访问数据字段601a - 604a。当数据传输和搜索遍历结束 时,数据字段被调换,使得可以在搜索遍历的范围内访问数据字段601a - 604a,而同时可以在真正的数据传输、也即数据的发送或者接收的 范围内访问数据字段601 - 604。以这种方式可以避免在数据传输过程 中由于消息存储器300的搜索遍历而导致的等待时间。
有意义地,执行发送过滤,也即在消息存储器300中搜索位置(或 者消息对象),该位置被设置用于消息的緩存,该消息应由主机CPU 102
通信连接101被发送。附加地或者替代地,执行接收过滤,也即在消 息存储器300中搜索位置(或者消息对象),该位置被设置用于消息 的緩存,该消息应由主机CPU 102在所考虑的通信周期中和在所考虑 的时间窗中通过所考虑的信道从通信连接101接收.搜索方法的目的 是减少消息存储器300的每个通信周期所需要的搜索遍历的次数,并 且由此改善通信模块100的实时能力。
该描述涉及具有总共8个元素601 - 604和601a - 604a的緩冲存 储器600。然而,緩冲存储器600的大小可以在保留根据本发明的用于 数据传输的方法、特别是所建议的搜索方法的情况下任意地被改变, 特别是被放大,并且由此可以灵活地与消息存储器300的大小匹配。 此外,可以通过緩冲存储器600的大小事先确定,最多应针对多少时 间窗在搜索遍历的范围内事先搜索消息存储器300。为了能够保证根据 本发明的方法的按规定的功能,特别是为了避免跳过待发送的或者待 接收的消息,应该在针对确定的时隙的搜索遍历结束和针对该时隙的 真正的数据传输结束之间按照可能性不进行消息存储器300的重新配 置。即,这种重新配置将可能使在最后的搜索遍历中所确定的緩冲存 储器600的内容无效,因为通过重新配置,消息存储器300的存储区 至所涉及的时隙的待发送的或待接收的消息的分配可能已经被改变。 在这样的情况下将需要重新的搜索遍历,这至少会导致数据传输的延 迟,可能甚至导致小的数据丢失。然而在FlexRay规范中,包含合适 的机制,以便能够截获这种延迟或者这种数据丢失,使得不必担心对 数据传输的负面影响。
下面借助图14进一步阐述根据本发明的方法。在图14中,用KZY 表示通信周期。用ZE表示周期结束并且用ZF表示时间窗。用SDL表
示搜索遍历。最后用DAT表示真正的数据传输、也即消息的发送或者 消息的接收。在图14中考虑通信周期KZY(n)。该通信周期首先包括 周期KZY(n)的静态段的四个时间窗"1"至"4",随后是周期KZY(n) 的动态段的总共20个时间窗。在周期结束ZE (n)处例如包含符号窗 (只要存在)以及所谓的网络空闲时间(NIT),该网络空闲时间用于 用户102的本地时钟的时钟同步。在所示出的实施例中,消息存储器 总是预先针对四个时隙ZF被搜索.仅仅在根据本发明的方法开始之后 的第一次搜索遍历构成例外,因为首先必须填充緩冲存储器600的所 有8个元素601 - 604和601a - 604a'
在图15中示出了根据本发明的方法的流程图。该方法在功能块 700中开始。在功能块701中,经历第一次搜索遍历,该第一次搜索遍 历随后被进一步阐述。在搜索遍历的范围内,例如在緩冲存储器600 的字段或者元素601 - 604中存放对于随后的真正的数据传输来说所 需要的相应的信息。如果涉及在根据本发明的方法开始之后的第一次 搜索遍历,则緩冲存储器600的其余的字段或者元素601a - 604a还是 空的,并且必须通过紧随其后的另外的搜索遍历来填充。因此,在询 问块702中检验,是否涉及自本方法开始以来的第一次搜索遍历。如 果是,则再次经历搜索遍历701,否则分支到功能块703,在那里为用 户102进行真正的数据传输、也即消息的发送和/或接收,其中为该用 户,通信模块IOO、其消息存储器300在前面的搜索遍历中已被搜索。 最后,在询问块704中检验,是否结束根据本发明的方法。如果是, 则分支到块705,并且本方法结束.否则分支到功能块706,在那里緩 冲存储器600的字段或元素601 - 604与字段或元素601a - 604a被调 换,使得在随后的搜索遍历701中所确定的信息、特别是消息对象的 位置不4被存放在字段601 - 604中,而是从现在起被存放在字段601a -604a中。同样作为在功能块706中调换緩冲存储器600的字段的结 果,在随后的真正的数据传输期间,不再访问字段601a- 604a,而是 从现在起访问字段601 - 604。在功能块706中,此外将紧接着的四个 时隙确定为在随后的搜索遍历中要被考虑的时隙。随后,又分支到功 能块701,并且再次进行搜索遍历和真正的数据传输,然而与在先前的 遍历中相比这次分别针对紧接着的四个时隙。
在图15中一般用附图标记701表示的搜索遍历借助图14的实施
例来进一步阐述。针对四个彼此紧随的时间窗ZF实施搜索遍历,其中 针对所有的四个时间窗搜索消息存储器300中的合适的消息对象。因 为根据规范不存在第一时间窗"0",所以第一次搜索遍历例外地仅仅 包括三个时间窗ZF。然而,所有随后的搜索遍历都包括四个时间窗ZF。 为了确定合适的对象,特别是检验上面已经阐述的标准、即通信周期、 时隙、信道和发送/接收。所确定的合适的消息对象在消息存储器300 中的位置形式的搜索结果被存放在緩冲存储器600中。緩沖存储器由 具有8个元素601 - 604和601a- 604a、即元素"0"至元素"7"的 列表构成。
在通信模块100的配置阶段结束之后以及在每个通信周期 KZY(n-l)结束时,清除緩冲存储器600。所有指针"0"至"7"都被 设置为0,并且所有状态信息字段"0"至"7"都被设置为'empty(空),。 第一次搜索遍历例外地与其它搜索遍历略微不同地进行。在前面的周 期KZY(n-l)的最后的搜索遍历中,在消息存储器300中搜索对于随后 的通信周期KZY(n)的第一时隙ZF来说合适的消息对象。如果因为例 如系统刚才被启动和配置而不存在前面的通信周期KZY(n-l),则紧接 在配置阶段之后在消息存储器300中搜索对于随后的通信周期KZY (n) 的第一时隙ZF来说合适的消息对象。该搜索的结果被存储在緩沖存储 器中的元素"1" 602中。
随后通信周期KZY(n)开始,并且在第一时隙ZF1中进行缩减的搜 索遍历,在该搜索遍历期间在消息存储器300中搜索对于时隙ZF2和 ZF3来说合适的消息对象。缩减的搜索遍历的结果被存放在緩冲存储器 600的元素"2" 603和"3" 604中。此外,在第一时隙ZF1中还必须 在消息存储器300中搜索对于随后的四个时隙ZF4至ZF7来说合适的 消息对象。这些搜索的结果被存放在緩冲存储器600的元素"4" 601a 至"7,, 6(Ma中。对于时隙ZF2至ZF7来说合适的对象的搜索可以在 唯一的搜索遍历SDL1期间进行。此外,在第一时隙ZF1中进行为第一 时隙ZF1所设置的消息的真正的数据传输。因为根据具有安全性的 FlexRay规范,第一时隙ZF1是静态时隙,该时隙(与动态时隙不同) 不超过确定的最小持续时间,该最小持续时间足够以在第一时隙ZF1 期间执行所有上面所说明的步骤。因为緩冲存储器600在第一次搜索 遍历SDL1的时刻是空的,所以只有当在消息存储器300中找到真正合
适的消息对象时,才必须将信息存放在緩冲存储器600中.如果针对 确定的时隙ZF没有找到对象,则相应的元素601 - 604或者601a-604&保持为指针='0,和状态='empty,'
在第一次搜索遍历SDL1中,在第一时间窗ZF1中首先从消息存储 器300的报头部分HS中读出第一消息对象的标识字段。消息的标识字 段至少包括以下状态位11位的帧ID (报头字的位0至10) , 7位的 循环码(报头字的位16至22) , 1位的信道A(CHA)(报头字的位 24) , 1位的信道B (CH B)(报头字的位25)以及1位的传输模式
(TXM )(报头字的位28)。如果该标识字段与所考虑的通信周期KZY(n) 的时间窗ZF2至ZF7之一匹配,则缓冲存储器600的相应元素"2"至
"7"的指针被设置为消息存储器300中的消息对象的编号,并且相应 的状态"2"至"7"根据是否应该发送或接收消息而被设置为'tx-buf, 或 'rx—buf,。
随后(总是还在相同的搜索遍历SDL1的范围内)读出下一消息对 象的标识字段,检验对于时间窗ZF2至ZF7来说是否存在一致性,并 且必要时设置緩冲存储器600的相应元素601 - 604、601a - 604a的指 针和状态信息字段。
如果相应的緩充存储元素的状态已经不再是'empty,,则在緩冲 存储器600中不存储指针和状态信息。因此如果两个或者更多个消息 对象针对相同的时间窗ZF在相同的通信周期KZY(n)中被配置,则第 一个消息对象被使用而随后的消息对象被丢弃。
随着从消息存储器300的报头部分中读出最后的标识字段,搜索 遍历SDL1结束。现在,可以在真正的数据传输的范围内在没有大的时 间延迟的情况下针对时间窗ZF1至ZF7直接从緩冲存储器600中提取 合适的消息对象的编号。
随着时间窗ZF4的开始,緩冲存储器600的元素602至604被处 理(该元素曾不被需要,因为缺少时间窗ZFO),也即在该时间窗ZF1 至ZF3期间的真正的数据传输已经被实施。緩冲存储器600的元素601 至604现在可以被清除(指针='0,,状态='empty,),并且下一 搜索遍历SDL2被启动。该搜索遍历涉及当前的通信周期KZY(n)的时 间窗ZF8至ZF11。搜索结果被存放在緩冲存储器600的元素"0" 601 至"3" 604上。随着时间窗ZF8的开始,针对时间窗ZF12至ZF15启
动另外的搜索遍历SDL3。搜索结果被存放在緩冲存储器元素"4" 601a 至"7" 604a上,这些元素同样在新的搜索遍历SDL3开始时被清除(指 针='0,,状态='empty,)。
在达到相应的时间窗ZF之后与搜索遍历SDL并行地进行真正的数 据传输DAT的处理。因此例如在第二次搜索遍历SDL2期间执行时间窗 ZF4至ZF7的真正的数据传输,其中待传输的(待发送的或者待接收 的)消息应被存储在消息存储器300中的哪里或者应从消息存储器300 中的哪里被读出的信息从緩冲存储器600的元素"4" 601a至"7" 604a 中提取,这些信息在第一次搜索遍历SDL1期间被存放在这些元素中。 同样,在第三次搜索遍历SDL3期间,执行时间窗ZF8至ZF11的真正 数据传输,其中待传输的消息应被存放在消息存储器300中的哪里或 者应从消息存储器300中的哪里读出的信息从緩沖存储器600的元素 "0" 601至"3" 604中提取,这些信息在第二次搜索遍历SDL2期间 被存放在这些元素中。另外的搜索遍历SDL4至SDL6以相应的方式进 行,其中在当前的通信周期KZY(n)的最后的搜索遍历SDL6期间,在 消息存储器300中如上面已经阐述的那样搜索对于随后的通信周期 KZY(n+l)的第一时隙ZF1来说合适的消息对象。
每个搜索遍历SDL都可以通过另外的过程来中断,但是必须最迟 在四个时间窗ZF之后被结束。如果该要求不能被实现,则缓冲存储器 600例如也可以从8个元素^t放大到16个元素。通过这种方式,将可 用的时间提高到例如8个时间窗。然而,由此限制数据传输系统的灵 活性,因为对于事先被搜索的从现在起8个时间窗来说,在针对这些 时间窗没有完成真正的数据传输之前,不应该出现重新配置。
如果对于发送对象来说在被分配的时间窗ZF开始时开始从消息存 储器300到发送单元中的传输,则检验是否消息对象在间隔时间中没 有被改变。如果发生了改变,则将緩冲存储器600中的录入项丢弃, 并且不发送相应的消息对象.如果对于接收消息来说在被分配的时间 窗ZF结束(下一个时间窗的开始)时以从接收单元传输开始,则检验 是否消息对象在间隔时间中没有被改变。如果发生了改变,则将緩冲 存储器600中的录入项丢弃,并且不存储所接收的消息。数据完整性 的检验例如可以借助形成校验和或者以任意其它方式(例如奇偶校验 位或者CRC )进行。
有经验的本领域技术人员可以得到本发明的多种扩展可能性,而 不离开本发明的思想。下面仅示例性地说明一些可能的扩展可能性。
如果在数据传输系统的运行期间对消息存储器300中的消息对象 进行重新配置,则检验是否标识字段与緩冲存储器600的当前时间窗 区域ZFi至ZFi + 3匹配。如果是,则在需要时将相应的緩冲存储器元 素601 - 604和601a - 604a转换。通过该扩展,消息对象可以直到在 标识字段中所确定的时间窗ZF开始时被重新配置,而不依赖于緩冲存 储器600的大小。
通过所描述的方法,在通信模块100的消息存储器300中以预测 的方式搜索对于下一个时间窗ZF来说合适的消息对象。通过被存放在 緩冲存储器600中的指向消息对象的指针及其状态,可以实现对为下 一个时间窗ZF所设置的消息对象的快速访问。因此不再需要针对每个 时间窗ZF单独地搜索遍历整个消息存储器3 00。
所描述的搜索方法的使用减少每个通信周期KZY(n)所需的、对消 息存储器300的搜索遍历的次数。由此可以决定性地改善通信模块100 的实时能力。
权利要求
1.一种用于在消息中传输数据的方法,这些消息在能预先给定的时间窗(ZF)中通过通信系统的通信连接(101)周期性地被传输,其中要通过所述通信连接(101)发送的和通过所述通信连接(101)被发送的消息首先被缓存在通信模块(100)的消息存储器(300)中,并且要在当前的时间窗(ZF)中发送的消息从所述消息存储器(300)中被取出并且被发送,或者要在当前的时间窗(ZF)中接收的消息被接收并且被存放在所述消息存储器(300)中,其特征在于,为了确定所述消息在所述消息存储器(300)中的位置,每隔一定时间分别针对多个还要随后的时间窗(ZF)预先搜索所述消息存储器(300),并且作为搜索遍历的结果,要在多个还要随后的时间窗(ZF)中发送的或者接收的消息的位置被存放在被分配给所述消息存储器(300)的缓冲存储器(600)中。
2. 根据权利要求1所述的方法,其特征在于,在数据传输的范围 内将要在当前的时间窗(ZF)中通过所述通信系统传输的消息从所述 消息存储器(300 )的在所述緩冲存储器(600 )中针对该时间窗(ZF) 所说明的位置中读出,并且通过所述通信连接(101)来传输,或者将 在当前的时间窗(ZF)中通过所述通信连接(101)所传输的消息存放 在所述消息存储器(300 )的在所述緩冲存储器(600 )中针对该时间 窗(ZF)所说明的位置上,
3. 根据权利要求1或2所述的方法,其特征在于,在到达相应的 时间窗(ZF8-ZF11)之后,当前的时间窗(ZF)和随后的多个时间窗(ZF8-ZF11)的数据传输与针对紧接在所述数据传输的最后的时间窗 (ZF11)之后的时间窗(ZF)以及随后的多个时间窗(ZF12-ZF15)的 搜索遍历(SDL3)同时进行,其中对于所述随后的多个时间窗来说, 所述消息在所述消息存储器(300 )中的位置已经被存放在所述緩冲存 储器(600 )中。
4. 根据权利要求1至3之一所述的方法,其特征在于,所述搜索 遍历(SDL)的多个时间窗的数目与用于数据传输(DAT)的多个时间 窗的数目大小相同。
5. 根据权利要求1至4之一所述的方法,其特征在于,在要存储 在所述消息存储器(300 )中的消息中包含有具有第一数据规模的第一 数据(KDO, KD1, KDk)和具有第二数据规模的第二数据(DO, Dl, Dk ), 并且所述第一数据(KDO, KD1, KDk)以每个消息各一个报头区(HB0, HB1, HBk)的方式被存储在所述消息存储器(300 )的报头段(HS)中, 并且所述第二数据(DO, Dl, Dk)以每个消息各一个数据区(DBO, DB1, DBk)的方式被存储在数据段(DS)中。
6. 根据权利要求5所述的方法,其特征在于,在所述消息存储器 (300 )的报头区(HB0, HB1, HBk)中,针对每个消息存放有标识,该标识识别相应的消息,并且通过该标识,所述消息能够,皮分配给确 定的通信周期(KZY)、所述周期(KZY)内的确定的时间窗(ZF)以 及一个4言道(CH A, CH B)或者两个信道(CH A, CH B )。
7. 根据权利要求1至6之一所述的方法,其特征在于,针对每个 在搜索遍历(SDL )期间所考虑的并且要在多个还要随后的时间窗(ZF ) 之一中发送的或者接收的消息,在所述緩冲存储器(600 )中设置有两 个字段("指针","状态"),其中在第一字段("指针,,)中存 放指向被存放在所述消息存储器(300 )中的消息的相应位置的指针, 并且在第二字段("状态,,)中存放被存放在所述消息存储器(300 ) 中的消息的状态。
8. 根据权利要求5和7所述的方法,其特征在于,所述指针指向 被存放在所述消息存储器(300 )中的消息的、被存储在所述报头段(HS)中的报头区(HB0, HB1, HBk)中的第一数据UD0, Ol, KDk )。
9. 根据权利要求7或8所述的方法,其特征在于,作为被存放在 所述消息存储器(300 )中的消息的状态,在所述緩冲存储器(600 ) 中存放这样的信息,即对于所考虑的时间窗(ZF)来说究竟消息是否 应被接收或者发送('empty,),和/或是否消息应被发送('tx — buf,) 或者接收('rx-buf,)。
10. 根据权利要求3至9之一所述的方法,其特征在于,所述緩 冲存储器(600 )被划分,其中在所述緩沖存储器(600 )的第一部分(601 - 604 )中针对数据传输存放有用于当前的时间窗(ZF)和随后 的多个时间窗(ZF8-ZF11)的消息的位置,其中对于所述随后的多个 时间窗来说在所述消息存储器(300 )中已经被存放在所述緩冲存储器(600 )中,并且在所述缓冲存储器(600 )的第二部分(601a- 604a) 中针对搜索遍历(SDL)存放用于紧接在所述数据传输的最后的时间窗 (ZF11)之后的时间窗(ZF)和随后的多个时间窗(ZF12-ZF15)的消 息的位置。
11. 根据权利要求1至IO之一所述的方法,其特征在于,为了确 定所述消息在所述消息存储器(300 )中的位置,每隔一定时间分别针 对四个还要随后的时间窗(ZF)预先搜索所述消息存储器,并且作为 搜索遍历的结果,将要在四个还要随后的时间窗(ZF)中发送的或者 接收的消息的位置存放在所述緩冲存储器(600 )中。
12. 根据权利要求l至ll之一所述的方法,其特征在于,在搜索 遍历的范围内,针对多个还要随后的时间窗(ZF)根据下列标准中的 一个或多个来搜索所述消息存储器(300 ):-确定是否在所述消息存储器(300 )中存储有针对所考虑的传 输信道(CH A, CH B)的消息,-确定是否在所述消息存储器(300 )中存储有针对所考虑的通 信周期(KZY)的消息,-确定是否在所述消息存储器(300 )中存储有针对多个还要随 后的时间窗(ZF)的消息,-确定是否所确定的消息是要发送的或者要接收的消息。
13. 通信模块(100),该通信模块被布置在通信连接(101)和 用户之间的通信系统中,其中所述通信系统被构造用于在能预先给定 的时间窗中周期性地传送消息,并且所述通信模块(100)具有用于緩 存消息的消息存储器(300 ),所述消息应由所述用户通过所述通信连 接(101 )传输,或者所述消息针对所述用户通过所述通信连接(101 ) 被接收,其特征在于,为了确定所述消息在所述消息存储器(300 )中 的位置,所述通信模块(100)具有用于每隔一定时间分别针对多个还 要随后的时间窗预先搜索所述消息存储器(100)的装置、被分配给所 述消息存储器(300 )的緩冲存储器、以及用于在所述緩冲存储器(600 ) 中存放要在多个还要随后的时间窗中发送的或者接收的消息的位置作 为搜索遍历的结果的装置。
14. 根据权利要求13所述的通信模块(100),其特征在于,所 述用于搜索所述消息存储器(300 )的装置和所述用于在所述緩冲存储 器(600 )中存放所确定的消息的位置的装置被构造为状态自动机(504 )。
15. 根据权利要求13或14所述的通信模块(100),其特征在于, 所述通信模块(100)被构造为FlexRay通信模块,用于接收、发送和 緩存按照FlexRay规范所传送的消息。
16. 根据权利要求13至15之一所述的通信模块(100),其特征 在于,所述用于搜索所述消息存储器(300 )的装置和所述用于在所述 緩冲存储器(600 )中存放所确定的消息的位置的装置被构造用于实施 根据权利要求2至12之一所述的方法。
17. 通信系统的用户(102),所述通信系统包括所述用户(102) 和至少一个另外的用户以及通信连接(101),所述用户(102)连接 到该通信连接上,其中在所述通信连接(101)和所述用户(102)之 间布置有通信模块(100),其中所述通信系统被构造用于在能预先给 定的时间窗中周期性地传送消息,并且所述通信模块(100)具有用于 緩存消息的消息存储器(300 ),所述消息应由所述用户(102)通过 所述通信连接(101)传输,或者所述消息针对所述用户(102)通过 所述通信连接(101)被接收,其特征在于,为了确定所述消息在所述 消息存储器(300 )中的位置,所述通信模块(100)具有用于每隔一 定时间分别针对多个还要随后的时间窗(ZF)预先搜索所述消息存储 器(300 )的装置、被分配给所述消息存储器(300 )的緩冲存储器(600 )、 以及用于在所述缓冲存储器(600 )中存放要在多个还要随后的时间窗 中发送的或者接收的消息的位置作为搜索遍历(SDL)的结果的装置。
18. 根据权利要求17所述的用户(102),其特征在于,所述用 户(102)包括主机计算机,该主机计算机与所述通信模块(100) — 同被集成在共同的半导体组件上。
19. 根据权利要求17或18所述的用户(102),其特征在于,所 述通信模块(100)按照权利要求14至16之一来构造。
20. 通信系统,具有多个连接到通信连接(101)上的用户(102), 其中在所述通信连接(101 )和至少一个用户(102 )之间布置有通信 模块(100),其中所述通信系统被构造用于在能预先给定的时间窗(ZF)中周期性地传送消息,并且所述通信模块(100)具有用于緩存 消息的消息存储器(300 ),所述消息应由所述至少一个用户(102) 通过所述通信连接(101 )传输,或者所述消息针对所述至少一个用户(102)通过所述通信连接(101)被接收,其特征在于,为了确定所 述消息在所述消息存储器(300 )中的位置,所述通信模块(100)具 有用于每隔一定时间分别针对多个还要随后的时间窗(ZF)预先搜索 所述消息存储器(100)的装置、被分配给所述消息存储器(300 )的 緩冲存储器(600 )、以及用于在所述緩冲存储器(600 )中存放要在 多个还要随后的时间窗(ZF)中发送的或者接收的消息的位置作为搜 索遍历的结果的装置。
21.根据权利要求20所述的通信系统,其特征在于,所述通信模 块(100)按照权利要求14至16之一来构造。
全文摘要
本发明涉及一种用于通过通信系统的通信连接(101)在消息中传输数据的方法、以及通信模块(100)、通信系统的用户(102)以及用于实现该方法的通信系统。这些消息在能预先给定的时间窗(ZF)中通过通信连接(101)周期性地被传输,其中通过所述通信连接(101)待发送和被发送的消息首先被缓存在通信模块(100)的消息存储器(300)中,并且要在当前的时间窗(ZF)中发送的或者接收的消息从所述消息存储器(300)中被取出并且被发送,或者被接收并且被存放在所述消息存储器(300)中。为了改善通信模块(100)的实时能力,建议为了确定消息在所述消息存储器(300)中的位置,每隔一定时间分别针对多个还要随后的时间窗(ZF)预先搜索所述消息存储器(300),并且作为搜索遍历的结果,在被分配给所述消息存储器(300)的缓冲存储器(600)中存放要在多个还要随后的时间窗(ZF)中发送的或者接收的消息的位置。在真正的数据传输(消息的发送或者接收)的范围内,简单地访问缓冲存储器(600)并且通过被存放在那里的位置访问消息存储器(300)中的合适的消息对象。
文档编号H04L12/54GK101111826SQ200680003686
公开日2008年1月23日 申请日期2006年1月26日 优先权日2005年1月31日
发明者C·霍斯特, F·贝勒 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1