专利名称:用于在串行总线之间传输数据的网关的制作方法
技术领域:
本发明涉及一种用于在串行总线、尤其是在现场总线之间传输数据 的网关。
背景技术:
控制器,传感器和执行元件借助于网络或者由通信线路,尤其总线 和相应的通信组件组成的通信系统的联网,近年在现代汽车制造业或机 械制造业,尤其在机床领域以及自动化领域迅速增长。通过将功能分布 到多个用户,尤其控制器,就可以实现协同作用。人们称之为分布的系 统。这种分布的系统或网络因此由用户和连接这些用户的一个或者多个 总线系统组成。不同的站或者用户之间的通信因此越来越多地通过这种 通信系统,总线系统或者网络进行,通过所述通信系统,总线系统或者 网络,待传输的数据以通知方式传送。将这种在总线系统,存取和接收 机构上的通信交流以及错误处理通过相应的协议进行调节,其中各个协 议的名称常常也同时被作为网络或总线系统本身的同义词应用。
例如在汽车领域,将CAN总线(Controller Area Network)制定 为协议。该协议是一种事件控制协议,也就是说,协议的活动性,如消 息的发送是由起源于通信系统之外的事件触发的。进入通信系统或总线 系统的唯一通道是由以优先权为基础的位仲裁开启的。其前提条件是, 给传输的数据以及因此涉及的每个通知赋予优先权。CAN协议非常灵活;
只要还存在空闲的优先权(信息标识符),那么增加其他的用户和通知 将不成问题。所有在网络中待发送的具有优先权的通知及其发送或接收 用户或者相应的通信组件的集合,被存放在列表中,即所谓的通信阵列 中。
作为事件控制的自发的通信的备选方案,是纯时间控制的方案。在 总线上的所有通信活动都是严格周期性的。协议活动,如通知的发送, 只能由适用于整个总线系统的时间的流逝触发。进入该介质的通道是以 发送者具有独家发送权的时间范围的分配为基础的。其中通知顺序通常在运行之前已经确定。因此制定一个能满足有关重复率,冗余度,截止 曰期等等通知要求的运行时刻表。人们称之为所谓总线进度表。这种总
线系统例如是TTP/C。
两个所述总线类型的优点在时间控制的CAN解决方案,即所谓的 TTCAN (Time Triggered Controller Area Network)中得以结合。该 TTCAN满足了上述以示意图表示的对时间控制的通信的要求以及对某种 程度灵活性的要求。TTCAN通过在所谓的唯一时间窗中为特定通信用户 的周期性通知以及在所谓的仲裁时间窗中为多个通信用户的自发通知 构建通信循环来满足这些。其中TTCAN基本上基于以时间控制的周期性 通信,该通信由提供主要时间的用户或者通信组件(即所谓的时间主机) 借助于时间基准消息提供时钟。
FlexRay协议提供了结合不同传输方式的另一种可能,因此对尤其 被采用在汽车中的快速的,决定性的和容错的总线系统加以说明。该协 议按照时分多址(TDMA Time-Division-Multiple-Access )的方法工作, 其中给用户或待传输的通知赋予固定的时隙,在所述时隙中他们独家访 问具有总线的通信线路。同时使所述时隙以固定的周期重复,从而可以 准确预报通知通过总线被传输的时刻,并且决定性地实现总线访问。为 了优化利用总线系统上传输通知的带宽,将该周期细分为静态的和动态 的部分。其中固定的时隙位于总线周期开始时的静态部分。在动态部分, 动态地安排时隙。其中独家的总线访问分别只能用于短时间。如果没有 访问,则为下一个用户释放访问。该时间间隔^皮称为Minislot,在所述 Minislot中等待第一个用户的访问。
正如刚才所说明的,存在众多不同的传输技术和因此涉及的总线系 统或网络的类型。多到以至于相同或不同类型的多个总线系统必须互相 连接。为此采用总线接口单元,即所谓的网关。网关因此可以是相同或 者不同类型的不同总线之间的接口 ,其中网关将通知从一个总线传输到 另一个或多个其他的总线。已知的网关由多个独立的通信组件组成,其 中信息的交换是通过每个用户的处理器接口 (CPU接口 )或者每个通信 组件的相应的接口组件实现的。其中该CPU接口由于除了要传递到用户 本身的通知之外的这种数据交换而被强烈地加载,由此与因此而产生的 传输结构一起获得相对低的数据传输速度。此外存在对共同的通知存储 器,即所谓的消息存储器或信息RAM进行分配。图1示出现有技术的网关。该网关包括多个通信组件或通信控制器
cc,它们分別连接到串行总线。通过该串行总线以数据包传输数据。网
关包括用于内部数据传输的内部系统总线,其中该内部系统总线包括数
据总线DB、控制总线SB和地址总线AB。该系统总线连接到不同的通信 组件CC、数据处理单元CPU、数据存储器RAM和其它可选的部件。CPU 配置、检查和控制各个通信组件CC。在内部数据总线DB上,数据逐字 地在不同的单元之间传送。在一个数据字中传送的数据位的数量与数据 总线DB的总线宽度一致。在如图1所示的传统的网关中,CPU读取接收 的消息或通知,并处理该消息或通知和产生新的消息。此外,CPU负责 发送消息。在简单的网关操作中,从通信组件CC读取接收的数据并写 入一个或多个其它通信组件CC中以用于发送。如果没有DMA控制器, 主CPU将数据逐字地从通信组件CC传送到数据存储器RAM或CPU内部 的数据存储器中,以处理该数据并接着复制到相应的通信组件CC中。
序的区域。
通信组件CC被表示为网关到各个串行总线系统的连接。该通信组 件CC与串行数据总线交换包含标题或管理数据以及有用数据或有效载 荷数据的数据包。此外,通信组件CC具有至系统总线、也就是至控制、 数据和地址总线的接口 。主CPU可以通过无源接口访问分别包含在通信 组件CC中的消息存储器。包括数据总线DB、控制总线SB和地址总线 AB的内部系统总线与网关的所有通信组件CC连接。数据总线DB由数据 导线组成,来自与总线连接的单元的数据就从这些数据导线传送给其它 单元。CPU借助控制总线SB控制数据传输。地址总线AB用于选择从通 信组件CC中读取或写入通信组件中的数据。CPU借助内部的CPU数据寄 存器接收或发送数据。图2、 3示出在现有技术的传统网关中数据传输 的流程。在图2、 3示出的例子中,数据从串行现场总线FBI传送给串 行现场总线FB2。首先如图2所示,CPU对连接到串行总线FBI的通信 组件CCl进行读取访问。CPU选择要读取的数据,其方法是CPU通过地 址总线AB施加地址,并将相应的控制信号发送给控制总线SB。通信组 件CCl通过串行现场总线FBI接收打包成数据包DP的数据,并将选择 的数据以一个或多个数据字DW发送给内部数据总线DB,将这件事以信 号通知控制总线SB的对应于CPU的状态导线。CPU接管在数据总线DB
5寄存器中。此后控制信号在控制 总线SB上复位。
然后在第二阶段将传送给CPU寄存器的数据传送给第二通信组件 CC2。在该第二总线传输中,从通信组件1读取的数据从CPU的内部寄 存器传送给笫二通信组件CC2。为此CPU将待传输的数据放置在数据总 线DB上,并选择第二通信组件的相应目标地址。接着CPU通过将控制 总线SB的相应控制导线置位来启动该数据传输。第二通信组件CC2接 管数据总线上放置的数据,并将此借助控制总线SB的状态导线通知给 CPU。 CPU接着又将控制导线、数据导线和地址导线复位。笫二通信组件 CC2将状态导线上的控制信号复位。
如图2、 3所示,在传统的网关中从第一现场总线FBI到第二现场 总线FB2的数据传输分为两个阶段进行,即通过CPU从第一通信组件1 读取数据的读取过程,以及所读取的数据接着被写入第二通信组件CC2 的写入过程。
用图l所示的现有技术的传统网关传输数据的传统措施具有以下缺 点两个串行现场总线FB1、 FB2之间的数据传输持续时间较长,或数
据传输所需要的等待时间较长。传统网关的另一个缺点在于,数据传输 通过CPU进行,也就是CPU在数据传输中被加载,在该时间期间无法进 行其它的数据处理操作。
发明内容
因此本发明要解决的技术问题是实现一种用于在串行总线之间进 行数据传输的网关,该网关对串行总线之间的数据传输具有非常小的等 待时间。
该技术问题根据本发明通过具有权利要求1特征的网关解决。 本发明提供一种用于在串行总线之间进行数据传输的网关,该网关 具有
-多个通信组件,分别连接串行总线并且在数据包和数据字之间进 行转换,
-总线主机,其通过内部控制总线控制数据通过内部数据总线在两 个通信组件之间的逐字的传输,
其中总线主机将源地址通过源地址总线施加在内部发送方的第一
6通信组件上,将目标地址通过目标地址总线施加在内部接收方的第二通 信组件上,
其中从第 一通信组件通过与其连接的第 一 串行总线以数据包形式 接收的数据,从第一通信组件直接地、没有临时存储地逐字地通过内部 数据总线传送给第二通信组件,该第二通信组件将传送的数据以数据包 形式通过与第二通信组件连接的第二串行总线发送出去。
在实施方式中,串行总线由现场总线FB组成。 在本发明网关的实施方式中,串行总线是以太网总线。 在本发明网关的实施方式中,总线主机通过处理器构成。 在本发明网关的实施方式中,总线主机是DMA控制器。 在本发明网关的实施方式中,总线主机是FSM (有限状态机)。 在本发明网关的实施方式中,从第 一通信组件到第二通信组件的直 接的数据传输在唯一的一个时钟周期内进行。
在本发明网关的实施方式中,串行总线分别与执行器和传感器连接。
在本发明网关的实施方式中,内部数据总线具有多个并行的数据导 线用于传输数据字。
下面参照解释本发明主要特征的附图描述本发明网关的优选实施 方式。
其中示出
图1:根据现有技术的网关的结构连接图2:用于解释在图1的传统网关中的内部读取过程的网关的框图; 图3:示出在图1的现有技术的传统网关中内部写入过程的框图; 图4:本发明网关的实施方式的框图; 图5:解释在图4所示的本发明网关中的数据传输的框图。
具体实施例方式
图4示出本发明用于在不同的串行总线之间传输数据的网关1的实 施方式。网关1具有多个通信组件2,这些通信组件分别连接到串行总 线3。该串行总线3可以例如是现场总线。替换的,串行总线也可以是
7以太网总线。可能的串行现场总线是CAN总线、FlexRay总线、MOST总 线和LIN总线。通过这些串行总线3-i以数据包传输数据,其中所传输 的数据包包括管理数据或标题数据以及有用数据或有效载荷数据。本发 明的网关具有内部系统总线,该系统总线包括内部数据总线4、内部控 制总线5、源地址总线6和目标地址总线7。系统总线连接到至少一个 处理器形式的数据处理单元8和数据存储器9。 CPU8形成内部系统总线 的总线主机。本发明的网关1包括两个相互分离的地址总线,即源地址 总线6和目标地址总线7。 CPU作为总线主才几通过内部控制总线5控制 数据通过内部数据总线4在两个通信组件2之间的逐字的传输。在此, CPU8作为总线主机将源地址通过源地址总线6施加到内部发送方的第 一通信组件2,将目标地址通过目标地址总线7施加到内部接收方的第 二通信组件。如果例如进行从第一串行现场总线3-1到第二串行现场总 线3-2的数据传输,则在第一串行现场总线3-1上接收的数据包通过第 一通信组件2-1转换为数据字。该数据字通过内部的数据总线4从源通 信组件2-1传送给目标通信组件2-2,并在目标通信组件2-2中组合为 将通过第二串行现场总线3-2传输的数据包。该数据传输在此通过内部 的数据总线4直接进行而没有在CPU8中的临时存储。该数据传输仅通 过作为总线主机的CPU8用控制总线5控制。CPU8通过在源地址总线6 上施加相应的源地址而选择发送的通信组件2-1,并通过在目标地址总 线7上施加目标地址而选择接收的通信组件2-2。
图5示出数据从第 一现场总线3-1到第二现场总线3-2的传输。CPU8 通过在内部的源地址总线6上施加源地址SA而选择通信组件2-l,并通 过在目标地址总线7上施加目标地址DA而选择第二通信组件2-2。数据
两个通信组件2-1、 2-2之间的数据传输在唯一的一个总线传输步骤中 进行。
在在本发明网关1的实施方式中,总线传输在被提供时钟的CPU的 唯一的一个时钟周期内进行。
通过管理两个分开的地址总线6、 7,可以在两个通信组件2i、 2j 之间进行直接的数据传输而没有临时存储。本发明的网关l将一次数据 传输的等待时间减半。本发明网关1的另一个优点是,总线负荷在数据 传输的次数相同的条件下也被减半,从而更多的总线预留可以因为总线负荷的降低而提供出来。
权利要求
1. 一种用于在串行总线(3)之间进行数据传输的网关,该网关具有(a)多个通信组件(2),分别连接串行总线(3)并且在数据包(DP)和数据字(DW)之间进行转换;(b)总线主机(8),通过内部控制总线(5)控制数据通过内部数据总线(4)在两个通信组件(2)之间的逐字的传输,其中总线主机(8)将源地址(SA)通过源地址总线(6)施加在内部发送方的第一通信组件(2-1)上,将目标地址(DA)通过目标地址总线(7)施加在内部接收方的第二通信组件(2-2)上,(C)其中从第一通信组件(2-1)通过与该第一通信组件(2-1)连接的第一串行总线(3-1)以数据包(DP)形式接收的数据,以一个或多个数据字的形式从第一通信组件(2-1)直接地、没有临时存储地逐字地通过内部数据总线(4)传送给第二通信组件(2-2),该第二通信组件(2-2)将传送的数据以数据包(DP)形式通过与第二通信组件(2-2)连接的第二串行总线(3-2)发送出去。
2. 根据权利要求1所述的网关,其中串行总线(3)是现场总线。
3. 根据权利要求1所述的网关,其中串行总线(3)是以太网总线。
4. 根据权利要求1所述的网关,其中总线主机(8)是处理器。
5. 根据权利要求1所述的网关,其中总线主机(8)是DMA控制器。
6. 根据权利要求1所述的网关,其中总线主机(8)是FSM(Finite State Machine )。
7.根据权利要求1所述的网关,其中从第一通信组件(2-1 )到第二 通信组件(2-2)的直接的数据传输在一个时钟周期内进行。
8. 根据权利要求1所述的网关,其中串行总线(3)分别与执行器 和传感器连接。
9. 根据权利要求1所述的网关,其中内部数据总线(4)具有多个 并行的数据导线用于传输数据字。
全文摘要
本发明涉及一种用于在串行总线(3)之间进行数据传输的网关,该网关具有多个通信组件(2),分别连接串行总线(3)并且在数据包(DP)和数据字(DW)之间进行转换,总线主机(8),通过内部控制总线(5)控制数据通过内部数据总线(4)在两个通信组件(2)之间的逐字的传输,其中总线主机(8)将源地址(SA)通过源地址总线(6)施加在内部发送方的第一通信组件(2-1)上,将目标地址(DA)通过目标地址总线(7)施加在内部接收方的第二通信组件(2-2)上,(C)其中从第一通信组件(2-1)通过与该第一通信组件(2-1)连接的第一串行总线(3-1)以数据包(DP)形式接收的数据,以一个或多个数据字的形式从第一通信组件(2-1)直接地、没有临时存储地逐字地通过内部数据总线(4)传送给第二通信组件(2-2),该第二通信组件(2-2)将传送的数据以数据包(DP)形式通过与第二通信组件(2-2)连接的第二串行总线(3-2)发送出去。
文档编号G06F13/40GK101454763SQ200780018945
公开日2009年6月10日 申请日期2007年4月17日 优先权日2006年5月24日
发明者J·陶布, M·伊勒, T·洛伦茨 申请人:罗伯特.博世有限公司