FlexRay通信组件的制作方法

文档序号:7948452阅读:219来源:国知局
专利名称:FlexRay通信组件的制作方法
技术领域
本发明涉及一个在FlexRay网络中用于把FlexRay通信线路与一个分配给FlexRay通信组件的用户进行耦合的FlexRay通信组件,通过该FlexRay网络传输信息。
背景技术
控制设备、传感器和激励器借助于通信系统和总线系统、也就是通信线路的网状连接近几年在新式汽车的结构中或在机器制造、特别是在机床领域而且也在自动化领域内迅速增长。对此可以达到通过把功能分给多个控制设备的协同作用。这就是说这里所谈论的是分布系统。越来越多地通过总线系统、也就是通信系统进行在不同站之间的通信。通过相应的协议调解在总线系统、存取和接收装置上的通信联络。对此已知的协议是FlexRay协议,其中目前基于FlexRay协议规范v2.0。FlexRay是一个快速的、决定性的并且容错的总线系统,特别适合在汽车中使用。FlexRay协议按照时分多址(TDMA)方式工作,其中给各个组成部分、也就是用户或者要传输的信息分配固定的时隙,在该时隙内用户独家访问通信线路。对此在一个固定周期内重复该时隙,从而可以准确地预测这个时刻、在该时刻经过总线传输信息、并且确定地实现总线访问。为了最佳地使用在总线系统上信息传输的带宽,FlexRay把周期划分为静态部分和动态部分。对此固定的时隙处在总线周期开始的静态部分内。在动态部分中动态地安排时隙。其中分别仅仅对于较短时间、所谓的微小时间段进行独家的总线访问。如果仅仅在一个微小时间段内部进行总线访问,则把时隙延长所需的时间。如果其实际也需要该带宽,则因此仅仅消耗其实际需要的带宽。对此FlexRay通过两个具有各最大10Mbyte/s的数据传输率的物理分离的线路进行通信。对此这两个信道相当于物理层、特别是OSI(Open SystemArchitecture)层模式。这主要以冗余方式起作用并因此容错地进行信息传输,可是也可以传输不同的信息,由此加倍数据传输率。可是FlexRay也可以按照较低的数据传输率运行。
为了实现同步功能并且通过在两个信息之间较小的间隔优化带宽,在通信网络中分布的组成部分(也就是用户)需要一个公共的时基,所谓的整体时间。对于非同步来说在周期的静态部分传输同步信息,其中借助于一个根据FlexRay技术规范的特殊算法校正一个组成部分的本地时间使得本地时间与整体时间同步。
FlexRay网络节点或FlexRay用户或主机包含一个用户处理器、也就是主处理器、一个FlexRay控制器或通信控制器以及在总线监控时的一个总线保护器。对此主处理器、也就是用户处理器提供并处理经过FlexRay通信控制器传输的数据。对于在FlexRay网络中的通信可以配置例如直到254数据字节的信息或者信息对象。

发明内容
本发明的技术问题是提供一个FlexRay通信组件,其按照最佳方式支持在FlexRay网络中的通信。
通过一个用于使FlexRay通信线路作为物理层与一个分配给FlexRay通信组件的用户在FlexRay网络中耦合的FlexRay通信组件解决该技术问题,通过该FlexRay网络传输信息。对此该FlexRay通信组件有益地包含一个用于存储至少一部分传输的信息的第一装置和一个用于使第一装置与用户连接的第二装置,以及用于使FlexRay通信线路、也就是物理层与第一装置连接的第三装置。
对此第一装置有益地包含一个信息管理器、也就是信息处理器和一个信息存储器,其中信息管理器承担关于第一和第二装置的数据路径涉及关于信息存储器的数据存取的控制。对此第一装置的信息存储器适当地划分为标题段和数据段。
用于连接在主机、也就是FlexRay用户或者主处理器上的第二装置有益地包含一个输入缓冲存储器和一个输出缓冲存储器,其中在一个优选的实施形式中或者输入缓冲存储器或者输出缓冲存储器或者最好两个存储器分别被划分为一个子缓冲存储器和一个影子存储器,分别交替地仅仅读和/或写这两个存储器,由此保证数据完整性。有益地通过交换各自的存取或通过交换存储器内容达到各自的子缓冲存储器和附属的影子存储器的交替的读或者写。
对此设计每个子缓冲存储器和每个影子存储器是有益的使得每次可以存储两个FlexRay信息的一个数据区域和/或一个标题区域。
为了毫无问题地匹配不同的用户或主机第二装置包含一个接口组件,其包含一个用户特定的子组件和一个用户独立的子组件使得为了匹配用户仅仅改变用户特定的子组件,如此总体来说提高了FlexRay组件的灵活性。对此子组件也可以在接口组件内部分别以软件实现、也就是子组件作为软件功能实现。
根据在FlexRay中冗余传输路径的第三装置有益地包含一个第一接口组件和一个第二接口组件,并且自身方面划分为具有各两个传输方向的两条数据路径。第三装置适当地也包含一个第一和一个第二缓冲存储器,以便考虑两条数据路径和各两个数据方向。对此在这里也如此设计第一和第二缓冲存储器,即每次可以存储两个FlexRay信息的至少一个数据区域。第三装置的每个接口组件有益地包含一个移位寄存器和一个FlexRay协议状态机。
通过根据本发明的FlexRay通信组件完全可以支持FlexRay协议规范、特别是v2.0,并且因此可以配置例如直到64个信息或者信息对象。对此依赖于信息的各自数据段或者数据区的大小或者信息的数据区域灵活配置用于存储不同数目信息对象的信息存储器。因此有益地配置具有不同长度数据段的信息或信息对象。对此信息存储器有益地形成为FIFO(先进先出),如此产生一个可配置的接收FIFO。在存储器中每个信息或者每个信息对象可以作为接收存储器对象(接收缓冲器)、发送存储器对象(发送缓冲器)或作为可配置的接收FIFO的一部分进行配置。同样能够在FlexRay网络中接收过滤帧ID、信道ID并且循环计数。因此适当地支持网络管理。此外有益地设置可掩蔽的模块中断。
同说明书一样,由权利要求的特征中得出另外的优点和有益的设计方案。


根据下面的附图详细阐述本发明。
其中图1大致示出了通信组件和其在物理层上的连接,也就是通信线路和通信用户或主机用户,图2以一个具体的实施形式详细示出了图1的通信组件及其连接,
在图3中示出了信息存储器的结构,图4至6示意描述了在从用户到信息存储器的方向上数据存取的结构和过程,图7至9示意描述了在从信息存储器到用户的方向上数据存取的结构和过程,在图10中示意示出了信息管理器和在其中包含的有限状态机,图11再一次大致示出了通信组件的元件以及用户和相应通过信息管理器控制的数据路径,图12描述了关于在图11中的数据路径上的存取分配。
具体实施例方式
下面根据实施例详细阐述本发明。
图1大致示出了一个用于使用户或主机102连接在FlexRay通信线路101、也就是FlexRay物理层上的FlexRay通信组件100。为此FlexRay通信组件100经过连接线107与用户或者用户处理器102连接并且经过连接线106与通信线路101连接。为了一方面关于传输时间并且另一方面关于数据完整性能够毫无问题地连接主要区分FlexRay通信组件中的三个装置。对此第一装置105用于存储、特别是缓存至少一部分要传输的信息。在用户102和这个第一装置105之间经过连接线107和108连接一个第二装置104。同样在用户101和第一装置105之间经过连接线106和109连接一个第三装置103,由此在最佳速度的情况下数据作为信息的一部分、特别是FlexRay信息的一部分可以非常灵活地输入第一装置105或从第一装置中输出以保证数据完整性。
在图2中以一个优选实施形式再一次详细示出了这个通信组件100。同样详细示出了各自的连接线106至109。对此第二装置104包含一个输入缓冲存储器201(Input Buffer IBF)、一个输出缓冲存储器202(Output Buffer OBF)以及一个包含两个部分203和204的接口组件,其中一个子组件203是用户独立的并且第二子组件204是用户特定的。用户特定的子组件204(Customer CPU Interface CIF)使用户特定的主CPU102、也就是客户特定的用户与FlexRay通信组件连接。为此设置一个双向的数据线216、一个地址线217以及一个控制输入端218。同样设置一个终端输出端219。用户特定的子组件204与用户独立的子组件203(Generic CPU Interface GIF)连接,也就是说FlexRay通信组件或FlexRayIP模块支配一个同类的、也就是公共的CPU接口。在该接口上经过相应的用户特定的子组件、也就是用户CPU接口CIF能够连接较大数目的、不同的客户特定的主CPU。由此必须依赖于用户改变子组件204,这样明显降低了费用。
输入缓冲存储器201和输出缓冲存储器202可以形成为一个存储器组件或者形成为单独的存储器组件。对此输入缓冲存储器201用于缓存传输到信息存储器200的信息。对此最好形成输入缓冲器组件使其可以存储两个完整的分别包括一个具有配置数据的标题段和一个数据段或有效负荷段的信息。对此,缓冲存储器形成为两部分(子缓冲存储器和影子存储器),由此通过交替写入这两部分输入缓冲存储器或通过交替存取能够加速在用户CPU102和信息存储器200之间的传输。同样输出缓冲存储器(Output-Buffer OBF)用于缓存从信息存储器200到用户CPU102的传输的信息。对此也形成该输出缓冲器202使得可以存储两个完整的、包括特别具有配置数据的标题段和一个数据段、也就是有效负荷段的信息。在此输出缓冲存储器202也被划分为两个部分、一个子缓冲存储器和一个影子存储器,由此在此也通过交替读出这两部分能够加速传输或通过交替存取能够加速在用户CPU或主CPU102和信息存储器200之间的传输。如图所示,包含块201至204的第二装置104与第一装置105连接。
装置105包括一个信息管理器200(Message Handler MHD)和一个信息存储器300(Message RAM)。信息管理器检查或者控制在输入缓冲存储器201以及输出缓冲存储器202和信息存储器300之间的数据传输。其同样检查或控制在另外的方向上经过第三装置103的数据传输。信息存储器最好实施为单端口RAM。该RAM存储器与配置和状态数据一起存储信息或者信息对象、也就是真正的数据。在图3中详细示出了信息存储器300的详细结构。
第三装置103包含块205至208。根据FlexRay物理层的两个信道该装置103划分为两个具有各两个数据方向的数据路径。这是通过连接线213和214表明的,其中示出了用于信道A的两个数据方向,RxA和TxA用于接收(RxA)和发送(TxA)以及用于信道B的两个数据方向RxB和TxB。以连接线215表示一个选择的双向控制输入端。经过用于信道B的第一缓冲存储器205和用于信道A的第二缓冲存储器206实现第三装置的连接。这两个缓冲存储器(Transient Buffer RAM’sRAM A和RAM B)用作来自或者到达第一装置105的数据传输的缓存器。根据两个信道这两个缓冲存储器205和206与各一个接口组件207和208连接,其包含FlexRay协议控制器或总线协议控制器,其包括一个发送/接收移位寄存器和FlexRay协议有限状态机。这两个缓冲存储器205和206因此用作在接口组件或FlexRay协议控制器207和208与信息存储器300之间的数据传输的缓存器。在此也有益地通过每个缓冲存储器205或106存储两个FlexRay信息的数据段、也就是有效负荷段或数据段。
此外在通信组件100中以209表示整体时间单元(Global Time UnitGTU),其负责描述在FlexRay中的时间周期、也就是微时间(Mikrotick)μT和宏时间(Makrotick)MT。同样通过整体时间单元209调整循环计数器(Cycle Counter)的容错的时钟同步和在静态和动态的FlexRay段中的时序控制。
以块210表示公共的系统控制(System Universal Control SUC),通过该系统控制检查并控制FlexRay通信控制器的操作模式。唤醒、启动、再组合或者组合、正常操作(normal operation)和被动操作(passiveoperation)属于操作模式。
块211表明网络和故障管理(Network-und Error Management NEM),正如在FlexRay协议规范v2.0中描述的。最后块212表明中断控制(Interrupt Control INT),其管理状态和故障中断标记(status and errorinterrupt flags)并且检查或者控制到用户CPU102的中断输出端219。块212此外包含一个绝对的和一个相对的、用于产生时间中断的计时器。
对于在FlexRay网络中的通信可以配置具有直到254数据字节的信息对象或者信息(Message Buffer)。信息存储器300特别是一个信息随机存储器(Message RAM),其例如可以存储直到最大64个信息对象。信息管理器或信息处理器200执行所有涉及信息处理或者管理的功能。该功能例如是接收过滤、在两个FlexRay协议控制器块207和208与信息存储器300、也就是信息RAM之间的信息传输以及发送序列的控制和提供配置数据或者状态数据。
外部处理器、也就是用户处理器102的外部CPU,可以通过具有用户特殊部分204的用户接口直接存取FlexRay通信组件的寄存器。对此应用多个寄存器。使用这些寄存器,以便配置并控制FlexRay协议控制器、也就是接口组件207和208、信息管理器(Message Handler MHD)200、整体时间单元(Global Time Unit GTU)209、公共系统控制器(System UniversalController SUC)210、网络和故障管理单元(Network and Error Management UnitNEM)211、中断控制器(Interrupt Controller INT)212以及对信息RAM、也就是信息存储器300的存取,同样显示相应的状态。在图4至6和7至9中至少还要详细探讨部分寄存器。如此描述的、根据本发明的FlexRay通信组件能够简单转换FlexRay规范v2.0,由此可以简单产生ASIC或具有相应FlexRay功能的微控制器。
在图3中详细描述了信息存储器300的划分。对于按照FlexRay协议规范要求的、FlexRay通信控制器的功能信息存储器用于提供要发送的信息(Transmit Buffer)以及存储无错误接收的信息(Receive Buffer)。FlexRay协议允许具有从0到254字节的数据区域、也就是有效负荷区域的信息。正如在图2中示出的,信息存储器是FlexRay通信组件100的一部分。下面还要描述的方法以及相应的信息存储器描述了特别是在应用随机存取存储器(RAM)的情况下要发送的信息以及接收信息的存储,其中通过根据本发明的机制在一个规定容量的信息存储器中能够存储可变数目的信息。对此可存储的信息数目取决于各个信息的数据区域的大小,由此一方面可以最小化所需存储器的容量,不必限制信息的数据区域大小,另一方面实现最佳利用存储器。下面详细描述用于FlexRay通信控制器的基于RAM的信息存储器的可变分配。
为了实现,示范性地设置一个具有固定的n位固定字宽、例如8、16、32等以及规定的、m个字的存储深度的信息存储器(m、n为自然数)。对此信息存储器300被划分为两个段,一个标题段HS和一个数据段DS(Payload Section,Payload Segment)。因此每信息设置一个标题区HB和一个数据区DB。对于信息0、1至k(k为自然数)因此设置标题区HB0、HB1至HBk和数据区DB0、DB1至DBk。在信息中区分第一和第二数据,其中第一数据相当于关于FlexRay信息的配置数据和/或状态数据并且分别存放在标题区域HB(HB0、HB1、…、HBk)。相当于真正应当传输数据的第二数据相应存储在数据区DB(DB0、DB1、…、DBk)中。因此对于每信息的第一数据产生一个第一数据规模(Datenumfang)(以位、字节或存储字测量)并且对于信息的第二数据产生一个第二数据规模(同样以位、字节或存储字测量),其中每信息的第二数据可以是不同的。在标题段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中。用于存储真正的信息数据D0、D1至Dk的数据段DS邻接具有标题区域HB的标题段HS、其容量或者第一数据规模依赖于要存储的信息数目k。该数据段DS在其数据规模上依赖于已存放的信息数据的各自数据规模,在此例如在DB0中有六个字,在DB1中有一个字并且在DBk中有两个字。因此各自的指针单元DP0、DP1、DPk始终指向开始,也就是各自数据区BD0、DB1至DBk的起始地址,在这些数据区中存放各自信息0、1至k的数据D0、D1至Dk。因此在标题段HS和数据段DS之间的信息存储器的划分是可变的并且依赖于信息本身的数目以及信息的各自数据规模和整个的第二数据规模。如果配置较少的信息,则标题段较小并且在信息存储器中空的区域可以用作数据存储的数据段DS的补充。通过这种可变性可以保证最佳的存储器利用,由此也能够应用较小的存储器。空的数据段FDS、特别是其容量、同样依赖于要存储的信息的数目k和信息各自第二数据规模的组合因此是最小的并且甚至可以是0。
除了应用指针元件外也能够以规定的顺序存放第一和第二数据、也就是配置数据KD(KD0、KD1、…、KDk)和真正的数据D(D0、D1、…、Dk),如此在标题段HS中的标题区HB0至HBk的顺序和在数据段DS中数据区DB0至DBk的顺序分别是相同的。当然甚至也许能够放弃指针单元。
在一个特别的设计方案中,给信息存储器分配一个错误识别码产生器、特别是一个奇偶校验位生成元件和一个错误识别码检验器、特别是一个奇偶校验检验元件,以便保证在DS和HS中存储数据的正确性,这是通过每存储字或每存储区域(HB和/或DB)共同存放一个检验和作为特别奇偶校验位。可以考虑另外的校验识别码、例如CRC(循环冗余码校验)或也可以考虑较强能力的识别码、比如ECC(纠错码)。因此与信息存储器的固定划分相比得到如下优点在编程时应用者可以判断是应用较多数目的、具有较小数据段的信息还是应用较小数目的、具有较大数据段的信息。在配置具有不同大小的数据段的信息时最佳利用了现存的存储位置。应用者能够把一个数据存储区域共同用于不同的信息。
当在一个集成电路上实现通信控制器时通过所应用的存储器的存储深度匹配于应用需求可以匹配存储器的容量,不必改变通信控制器的其他功能。
此外根据图4至6以及图7至9详细描述主CPU存取,也就是配置数据或者状态数据和真正的数据在存储器装置201和202上的写与读。对此目的是,如此建立关于数据的去耦合,即可以确保数据完整性并且同时保证较高的传输速度。通过信息管理器200实现该过程的控制,该信息管理器稍后在图10、11和12中还要详细描述。
在图4、5和6中首先详细阐述了通过用户CPU的主CPU102经过输入缓冲存储器201在信息存储器300上的写存取。为此图4再一次示出了通信组件100,其中为了清楚明了在此仅仅指出了通信组件100的重要部分。这一方面是负责过程控制的信息管理器200以及两个控制寄存器403和404,其如示出的在通信组件100中可以安置信息管理器200的外部,可是也可以包含在信息管理器200自身内部。对此403表示输入请求寄存器(Input Buffer Command Request Register)并且404表示输入掩蔽寄存器(Input Buffer Command Mask Register)。通过一个中间连接的输入缓冲存储器201(Input Buffer)实现主CPU在信息存储器300上的写存取。这个输入缓冲存储器201一分为二或者加倍地设计,更确切地说是作为子缓冲存储器400和一个附属于子缓冲存储器的影子存储器401。因此正如下面描述的,主CPU102可以连续存取信息存储器300的信息或信息对象或者数据,因此保证数据完整性和加速传输。通过输入请求寄存器403并通过输入掩蔽寄存器404控制存取。在寄存器403中以数字0至31表示在403中各自的位单元、在此示范性地用于32位的宽度。同样适用于寄存器404和在404中的位单元0至31。
根据本发明关于过程控制,寄存器403的位单元0至5、15、16至21和31示范性地获得一个特殊功能。如此在寄存器403的位单元0至5中可以记录一个识别码IBRH(Input Buffer Request Host)作为信息识别码。同样在寄存器403的位单元16至21中可以记录一个识别码IBRS(Input Buffer Request Shadow)。同样在403的寄存器单元15中记录IBSYH并且在403的寄存器单元31中记录IBSYS作为存取识别码。也标明了寄存器404的单元0至2,其中在0和1中以LHSH(Load Header SectionHost)和LDSH(Load Data Section Host)记录另外的识别码作为数据识别码。在此该数据识别码以简单的形式形成、也就是分别形成为一个位。在寄存器404的位单元2中以STXRH(Set Transmission X Request Host)写入一个起始识别码。
现在进一步描述通过输入缓冲存储器在信息存储器上的写存取过程。
主CPU102把要传送的信息的数据写入输入缓冲存储器201。对此主CPU102可以仅仅对于信息存储器的标题段HS写入信息的配置数据和标题数据KD或仅仅对于信息存储器的数据段DS写入信息的真正要传输的数据D或二者都写入。通过在输入掩蔽寄存器404中的特殊的数据识别码LHSH和LDSH确定应当传输哪一部分信息、也就是配置数据和/或真正的数据。对此通过LHSH(Load Header Section Host)确定是否传输标题数据、也就是配置数据KD并且通过LDSH(Load Data Section Host)确定是否应当传输数据D。由此,即输入缓冲存储器201是以一部分缓冲存储器400和一个附属的影子存储器401两部分形成的,并且实现相互存取,两个另外的数据识别区域设置作为LHSH和LDSH的配对,其涉及掩蔽存储器404。该数据识别码在寄存器404的位单元16和17中以LHSS(Load Header Section Shadow)和LDSS(Load Data Section Shadow)表示。通过该识别码因此控制关于影子存储器401的传输过程。
如果在输入掩蔽寄存器404的位单元2中设置起始位或者起始识别码STXRH(Set Transmission X Request Host),则在把各要传输的配置数据和/或真正的数据传输入信息存储器300之后对于相应的信息对象自动设置一个发送请求(Transmission Request)。也就是说通过这个起始识别码STXRH控制、特别是启动传输的信息对象的自动发送。
根据与此相配对,相应对于掩蔽存储器是起始识别码STXRS(SetTransmission X Request Shadow),其例如包含在输入掩蔽寄存器404的位单元18中,在此在最简单的情况下形成为一个位。STXRS的功能类似于STXRH的功能,仅仅涉及影子存储器401。
如果主CPU102根据IBRH把信息识别码、特别是在信息存储器300中的信息对象的号码写入输入请求寄存器403的位单元0至5,输入缓冲存储器201的数据应当传送到该信息存储器中,则输入缓冲存储器201的子缓冲存储器400和附属的影子存储器401交换或者交换主CPU102和信息存储器300在两个字存储器400和401上的各自存取,正如通过半圆形箭头表明的。对此例如也启动数据传输、也就是到信息存储器300的信息传输。数据从影子存储器401中传输到信息存储器300自身。同时交换寄存器区域IBRH和IBRS。同样LHSH和LDSH同LHSS和LDSS交换。同样STXRH与STXRS交换。因此IBRS表明信息的识别码、也就是信息对象的号码,对于该信息对象来说正在进行传输、也就是从影子存储器401中传送出来或者从影子存储器401中获得哪一个信息对象、也就是在信息存储器中的哪一个区域作为最后的数据(KD和/或D)。通过在输入请求寄存器403的位单元31中的识别码(在此还是例如1位)IBSYS(Input Buffer Busy Shadow)表明,是否刚好进行了影子存储器401参与的传输。如此例如在IBSYS=1的情况下刚好从影子存储器401中传输并且在IBSYS=0的情况下正好没有传输。例如通过写入IBRH、也就是在寄存器403中的位单元0至5、设置该位IBSYS,以便表明,在影子存储器401和信息存储器300之间正在传输。在结束到信息存储器300的数据传输之后IBSYS再度复位IBSYS。
数据从影子存储器401中输出期间主CPU可以刚好运行,其首先把要传输的信息写入输入缓冲存储器或者写入子缓冲存储器400。借助于一个另外的、例如在寄存器403的位单元15中的存取识别码IBSYH(Input Buffer Busy Hast)还可以进一步细化识别码。主机刚好写入IBRH、也就是寄存器403的位单元0至5,同时进行在影子存储器401和信息存储器300之间的传输、也就是IBSYS=1,则在输入请求寄存器403中设置IBSYH。只要当前的传送、也就是当前的传输结束,就启动请求的传送(通过STXRH请求,见上)并且复位位IBSYH。位IBSYS在整个时间内保持设置,以便表明,到信息存储器传送数据。对此所有实施例的所有应用的位也可以形成为多于一位的识别码。由于节约存储器和简便处理的原因一位的解决方案是有益的。
所述的机制允许主CPU传送在处于信息存储器内的信息对象中的连续数据,该信息对象包含标题区域HB和数据区域DB,前提是主CPU在输入缓冲存储器上的存取速度小于或等于FlexRay-IP模块、也就是通信组件100的内部数据传输率。
在图7、8和9中详细阐述通过主CPU或用户CPU102经过输出缓冲存储器202在信息存储器300上的读存取。为此图7再一次指出了通信组件100,其中为了清楚明了在此也仅仅指出了通信组件100的重要部分。这一方面是负责过程控制的信息管理器200以及两个控制寄存器703和704,正如示出的,其在通信组件100内可以安置在信息管理器300的外部,可是也可以包含在信息管理器200本身的内部。对此703表示输出请求寄存器(Output Buffer Command Request Register)并且704表示输出掩蔽寄存器(Output Buffer Command Mask Register)。通过一个中间连接的输出缓冲存储器202(Output Buffer)实现主CPU102在信息存储器300上的读存取。这个输出缓冲存储器202一分为二或者加倍设计,更确切地说是作为子缓冲存储器701和一个附属于子缓冲存储器的影子存储器700。因此正如下面描述的,主CPU102可以连续存取信息存储器300的信息或信息对象或者数据,因此保证数据完整性和在从信息存储器到主机的相反方向上的加速传输。通过输出请求寄存器703并通过输出掩蔽寄存器404控制存取。在寄存器703中以数字0至31表示在703中各自的位单元、在此示范性地用于32位的宽度。同样适用于寄存器704和在704中的位单元0至31。
根据本发明关于读存取的过程控制寄存器703的位单元0至5、8和9、15和16至21和31示范性地获得一个特殊功能。如此在寄存器703的位单元0至5中可以记录一个识别码OBRS(Output Buffer RequestShadow)作为信息识别码。同样在寄存器703的位单元16至21中可以记录一个识别码OBRH(Output Buffer Request Host)。在寄存器703的位单元15中记录一个识别码OBSYS(Output Buffer Busy Shadow)作为存取识别码。也标明了输出掩蔽寄存器704的单元0和1,其中在位单元0和1中以RDSS(Read Data Section Shadow)和RHSS(Read Header Section Shadow)记录另外的识别码作为数据识别码。例如在位单元16和17中以RDSH(Read Data Section Host)和RHSH(Read Header Section Host)设置另外的数据识别码。在此该数据识别码以简单的形式形成、也就是分别形成为一个位。在寄存器703的为单元9中记录一个启动识别码REQ。此外设置转换识别码VIEW,其例如记录在寄存器703的位单元8中。
通过主CPU把所希望的信息的识别码、也就是所希望信息对象的号码根据OBRS写入寄存器703的位单元0至5中,这样主CPU102从信息存储器中请求信息对象的数据。对此主CPU102也可以向在相反方向上一样仅仅从标题区域HS读出信息的配置数据和标题数据KD或仅仅从数据区域DS读出信息的真正要传输的数据D或二者都读出。对此与反方向相比较,通过RHSS和RDSS确定应当从标题区域和/或数据区域中传输哪一部分数据。也就是说RHSS表明,是否读出标题数据,RDSS表明,是否读出真正的数据。
起始识别码用于启动从信息存储器到影子存储器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中读出由信息存储器请求的信息对象、也就是相应的信息。对此也可以与在图4至6中的反方向传输相比较,交换寄存器单元OBRS和OBRH。同样RHSS和RDSS同RHSH和RDSH交换。在此也可以设置保护机制如果不设置OBSYS,也就是不进行当前的传输,则仅仅可以设置位VIEW。
因此通过中间连接的输出缓冲存储器202实现主CPU102在信息存储器300上的读存取。同输入缓冲存储器一样加倍或一分为二地设计输出缓冲存储器,以便保证主CPU连续存取在信息存储器300中存放的信息对象。在此也达到较高数据完整性和加速传输的优点。
通过应用所描述的输入和输出缓冲存储器确保,尽管模块内部的执行时间主CPU还是可以无中断地存取信息存储器。
为了确保数据完整性通过信息管理器200(Message Handler MHD)进行在通信组件100内的数据传输、特别是传递。为此在图10中示出了信息管理器200。信息处理器在其功能上通过多个状态机或状态自动机、也就是有限状态自动机、所谓的有限状态机(FSM)表示。对此设置至少三个状态机并且在一个特别的实施形式中设置四个有限状态机。第一个有限状态机是IOBF-FSM并且以501表示(Input/Output BufferState Machine)。该IOBF-FSM也可以按关于输入缓冲存储器或输出缓冲存储器的传输方向划分为两个有限状态机IBF-FSM(Input Buffer FSM)和OBF(Output Buffer FSM),由此可以考虑最多五个状态自动机(IBF-FSM、OBF-FSM、TBF1-FSM、TBF2-FSM、AFSM)。可是优选设置一个公共的IOBF-FSM。在此一个至少第二有限状态机在该优选实施例的过程中划分为两个块502和503并且管理关于存储器205和206的两个信道A和B,正如在图2中描述的。对此可以设置一个有限状态机,以便管理两个信道A和B,可是正如在优选形式中一样,一个以502表示的有限状态机TBF1-FSM用于信道A(Transient Buffer1(206,RAM A)State Machine)并且一个以503表示的TBF2-FSM用于信道B(Transient Buffer2(205,RAMB)State Machine)。
一个判优器有限状态机、所谓的AFSM用于在优选实施例中控制三个有限状态机501-503的存取,以500表示该AFSM。在一个通过时钟单元、比如VCO(压控振荡器)、石英振荡器等产生的时钟或从与其匹配的时钟内数据(KD和/或D)在通信组件内传输。对此该时钟T可以在组件内产生或从外部例如总线时钟设置。该判优器有限状态机AFSM500特别对于一个时钟周期T交替地让三个有限状态机501-503之一存取信息存储器。也就是说提供使用的时间根据各个状态自动机501、502、503的存取请求分配给这些请求的状态自动机。如果仅仅一个有限状态自动机请求存取,则其获得100%的存取时间,也就是所有时钟T。如果两个状态自动机请求存取,则每个有限状态机获得50%的存取时间。最后如果三个状态自动机请求存取,则每个有限状态机获得1/3的存取时间。由此最佳利用了分别提供使用的带宽。
以501表示的第一有限状态机、也就是IOBF在需要时执行如下动作
-从输入缓冲存储器201到在信息存储器300中选择的信息对象的数据传输。
-从在信息存储器300中选择的信息对象到输出缓冲存储器202的数据传输。
用于信道A的状态机502、也就是TBF1-FSM执行如下动作-从在信息存储器300中选择的信息对象到信道A的缓冲存储器206数据传输。
-从缓冲存储器206到在信息对象300中选择的信息对象的数据传输。
-在信息存储器中寻找合适的信息对象,其中在接收时在接收过滤的范围内寻找用于存储在信道A上接收的信息的信息对象(ReceiveBuffer)并且在发送时寻找接下来在信道A上要发送的信息对象(TransmitBuffer)。
TBF2-FSM、也就是在块503中的、用于信道B的有限状态机的动作与此类似。其执行从在信息存储器300中选择的信息对象到信道B的缓冲存储器205数据传输和从缓冲存储器205到在信息对象300中选择的信息对象的数据传输。寻找功能类似于TBF1-FSM,在信息存储器中寻找合适的信息对象,其中在接收时在接收过滤的范围内寻找用于存储在信道B上接收的信息的信息对象(Receive Buffer)并且在发送时寻找接下来在信道B上要发送的信息或信息对象(Transmit Buffer)。
在图11中再一次示出了过程顺序和传输路径。三个状态机501-503控制在各个部分之间的数据传输。对此还是以102表示主CPU,以201表示表示输入缓冲存储器并且202表示输出缓冲存储器。以300表示信息存储器并且以205和206表示信道A和信道B的两个缓冲存储器。同样示出了接口元件207和208。以501表示的第一状态自动机状态IOBF-FSM控制数据传输Z1A和Z1B,也就是从输入缓冲存储器201到信息存储器300和从信息存储器300到输出缓冲存储器202的数据传输。对此通过例如32位字宽的数据总线进行数据传输,其中另外的位数也是可能的。同样适合于在信息存储器和缓冲存储器206之间的传输Z2。通过TBF1-FSM、也就是信道A的状态机502控制该数据传输。通过状态自动机TBF2-FSM、也就是503控制在信息存储器300和缓冲存储器205之间的传输Z3。在此也通过例如32位字宽的数据总线进行数据传输,其中在此另外的位数也是可能的。在上述传输路径上完整信息对象的传输通常需要多个时钟周期T。因此通过判优器、也就是AFSM 500实现关于时钟周期T的传输时间分配。在图11中示出了在由信息处理器控制的存储器元件之间的数据路径。为了确保在信息存储器中存储的信息对象的数据完整性,有益地在相同时间仅在示出的路径之一上、也就是Z1A和Z1B以及Z2和Z3、同时交换数据。
在图12中列举一个实例指出,判优器、也就是AFSM500怎样把提供使用的系统时钟分配给三个状态自动机。在阶段1状态自动机501和状态自动机502请求存取,也就是全部时间分别分成一半给两个请求的状态自动机。关于在阶段1中的时钟周期这表明,状态自动机501在时钟周期T1和T3内获得存取,状态自动机502在时钟周期T2和T4内获得存取。在阶段2通过状态自动机501进行存取,如此所有三个时钟周期、也就是从T5至T7的100%的存取时间分配给IOBF-FSM。在阶段3内,所有三个状态自动机501至503请求存取,如此全部存取时间三等分。判优器AFSM例如如此分配存取时间,在时钟周期T8和T11内有限状态机501获得存取,在时钟周期T9和T12内有限状态机502获得存取,在时钟周期T10和T13内有限状态机503获得存取。最后在阶段4,通过两个状态自动机502和503在通信组件的两个信道A和B上进行存取,如此时钟周期T14和T16分配给有限状态自动机502进行存取并且在T15和T17内分配给有限状态自动机503进行存取。
判优器自动机AFSM 500关注以下情况如果多于三个状态自动机之一请求对信息存储器300的存取,则时钟方式或交替地把存取分配给请求的状态机。采取的这种措施确保在信息存储器中存放的信息对象的完整性、也就是数据完整性。如果例如在刚好把接收的信息写入信息对象期间主CPU想要通过输出缓冲存储器202读出一个信息对象,则依赖于此首先启动哪一个请求,或者读出旧的状态或者读出新的状态,在信息存储器的信息对象中的存取不会冲突。
所描述的方法使主CPU能够在连续运行中读出或写入全部任意的、在信息存储器中的信息对象,在用户的主CPU的存取持续时间内不会阻止所选择的信息对象在FlexRay总线的两个信道上的数据交换(Buffer Locking)。同时通过存取的时钟方式的嵌套确保在信息存储器中存放的数据的完整性并且也通过利用所有带宽提高传输速度。
权利要求
1.用于在一个FlexRay网络中把FlexRay通信线路(101)与一个分配给FlexRay通信组件的用户(102)进行耦合的FlexRay通信组件(100),通过该FlexRay网络传输信息,其特征在于,所述FlexRay通信组件(100)包含如下组成部分-用于存储至少一部分传输信息的第一装置(105),和-用于把第一装置(105)与用户(102)进行连接的第二装置(104),以及-用于把FlexRay通信线路(101)与第一装置(105)进行连接的第三装置(103)。
2.按照权利要求1的FlexRay通信组件(100),其特征在于,该第一装置(105)包含一个信息管理器(200)和一个信息存储器(300)。
3.按照权利要求1的FlexRay通信组件(100),其特征在于,该第一装置(105)包含一个信息存储器(300),其中信息存储器被划分为标题段(HS)和数据段(DS)。
4.按照权利要求1的FlexRay通信组件(100),其特征在于,该第二装置(104)包含一个输入缓冲存储器(201)和一个输出缓冲存储器(202)。
5.按照权利要求4的FlexRay通信组件(100),其特征在于,所述输入缓冲存储器(202)被划分为子缓冲存储器(701)和一个影子存储器(700),其中交换对子缓冲存储器和掩蔽存储器上的存取。
6.按照权利要求4的FlexRay通信组件(100),其特征在于,所述输入缓冲存储器(201)被划分为子缓冲存储器(400)和影子存储器(401),其内容彼此交换。
7.按照权利要求4的FlexRay通信组件(100),其特征在于,所述输出缓冲存储器(202)被划分为子缓冲存储器(701)和一个影子存储器(700),其中交换对该子缓冲存储器和影子存储器的存取。
8.按照权利要求4的FlexRay通信组件(100),其特征在于,所述输出缓冲存储器(202)被划分为子缓冲存储器(701)和影子存储器(700),其内容彼此交换。
9.按照权利要求5至8之一的FlexRay通信组件(100),其特征在于,设计每个输入缓冲存储器(400、401)和每个输出缓冲存储器(700、701)使得可以存储两个FlexRay信息的数据区域和标题区域。
10.按照权利要求1的FlexRay通信组件(100),其特征在于,所述第二装置(104)包含一个接口组件,该接口组件包含一个用户特定的子组件(204)和一个用户独立的子组件(203)。
11.按照权利要求1的FlexRay通信组件(100),其特征在于,所述第三装置(103)包含一个第一接口组件(207)和一个第二接口组件(208)并且被划分为各自具有两个数据方向的两条数据路径。
12.按照权利要求1的FlexRay通信组件(100),其特征在于,第三装置(103)包含一个第一缓冲存储器(206)和一个第二缓冲存储器(205)并且被划分为各自具有两个数据方向的两条数据路径。
13.按照权利要求12的FlexRay通信组件(100),其特征在于,设计两个缓冲存储器(205、206)中的每一个使得可以存储两个FlexRay信息的数据区域。
14.按照权利要求11的FlexRay通信组件(100),其特征在于,每一个接口组件(207、208)包含一个移位寄存器和一个FlexRay协议状态机。
全文摘要
用于在一个FlexRay网络中FlexRay通信线路(101)与一个分配给FlexRay通信组件的用户(102)耦合的FlexRay通信组件(100),通过该FlexRay网络传输信息,其中FlexRay通信组件(100)包含如下组成部分用于存储至少一部分传输信息的第一装置(105),和用于把第一装置(105)与用户(102)进行连接的第二装置(104),以及用于把FlexRay通信线路(101)与第一装置(105)进行连接的第三装置(103)。
文档编号H04L12/40GK1993936SQ200580026248
公开日2007年7月4日 申请日期2005年6月29日 优先权日2004年8月5日
发明者F·哈特维希, C·霍尔斯特, F·拜勒 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1