CN101283338A - 微控制器和FlexRay通信组件之间的用户接口、FlexRay用户以及用于通过这种接口传输消息的方法 - Google Patents
微控制器和FlexRay通信组件之间的用户接口、FlexRay用户以及用于通过这种接口传输消息的方法 Download PDFInfo
- Publication number
- CN101283338A CN101283338A CNA2006800371823A CN200680037182A CN101283338A CN 101283338 A CN101283338 A CN 101283338A CN A2006800371823 A CNA2006800371823 A CN A2006800371823A CN 200680037182 A CN200680037182 A CN 200680037182A CN 101283338 A CN101283338 A CN 101283338A
- Authority
- CN
- China
- Prior art keywords
- message
- memory
- flexray
- data
- communications component
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 142
- 238000000034 method Methods 0.000 title claims description 31
- 238000012546 transfer Methods 0.000 claims abstract description 20
- 230000015654 memory Effects 0.000 claims description 283
- 239000000872 buffer Substances 0.000 claims description 160
- 230000005540 biological transmission Effects 0.000 claims description 138
- 238000012432 intermediate storage Methods 0.000 claims description 16
- 230000000875 corresponding effect Effects 0.000 description 22
- 238000003860 storage Methods 0.000 description 18
- 239000008186 active pharmaceutical agent Substances 0.000 description 14
- 230000003139 buffering effect Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000003044 adaptive effect Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000002349 favourable effect Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000033228 biological regulation Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000002079 cooperative effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40241—Flexray
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
Abstract
本发明涉及在FlexRay通信组件(100)和被分配给该FlexRay通信组件(100)的微处理器(102)之间的用户接口(107),其中FlexRay通信组件连接到FlexRay通信连接(101)上,通过该FlexRay通信连接传输消息,并且FlexRay通信组件包括消息存储器(300),用于中间存储来自FlexRay通信连接(101)或者用于FlexRay通信连接(101)的消息;该微控制器(102)具有微处理器(811)和用于与消息存储器(300)进行数据交换的直接存储器存取(下面为DMA)控制器(812)。为了将微处理器(102)的DMA控制器(812)更好地连接到FlexRay通信组件(100)上,建议:用户接口(107)具有状态机(800),该状态机根据由微处理器(102)的微处理器(811)进行的配置独立地协调和控制FlexRay通信组件(100)的消息存储器(300)与DMA控制器(812)之间的数据传输。
Description
技术领域
本发明涉及在FlexRay通信组件和分配给该FlexRay通信组件的微处理器之间的用户接口,其中该FlexRay通信组件连接到FlexRay通信连接上,通过该FlexRay通信连接传输消息,并且该FlexRay通信组件包括用于中间存储来自FlexRay通信连接或者用于FlexRay通信连接的消息的消息存储器;其中该微控制器具有微处理器和用于与该消息存储器进行数据交换的直接存储器存取(DMA)控制器。
本发明此外还涉及一种FlexRay用户,其具有微控制器、FlexRay通信组件以及在微控制器和通信组件之间的用户接口,其中该FlexRay通信组件连接到FlexRay通信连接上,通过该FlexRay通信连接传输消息。该微控制器包括微处理器和直接存储器存取(DMA)控制器。该通信组件包括消息存储器,用于中间存储来自FlexRay通信连接或者用于FlexRay通信连接的消息。
最后,本发明还涉及一种用于在FlexRay通信组件的消息存储器和微控制器的直接存储器存取(DMA)控制器之间进行数据传输的方法,其中该FlexRay通信组件连接到FlexRay通信连接上,通过该FlexRay通信连接传输消息。
背景技术
近几年来,控制设备、传感器系统和执行元件借助通信系统和被构造为总线系统的通信连接的联网在现代汽车中、但是也在机械制造中、特别是在机床领域以及在自动化领域中急剧增长。在此情况下能够实现由于功能到多个控制设备上的分配而产生的协同效应。在此情况下,谈及分布式系统。不同用户之间的通信越来越多地通过被构造为总线系统的通信系统进行。在总线系统上的通信业务、访问和接收机制以及错误处理通过协议来调节。
属于此类的一种已知的协议是FlexRay协议,其中目前以FlexRay协议规范v2.0作为基础。FlexRay协议定义了特别是用于汽车中的快速的、确定性的并且容错的总线系统。根据FlexRay协议的数据传输按照时分多址(TDMA)方法来进行。通过通信连接的数据传输以有规律地重复的传输周期进行,该数据传输分别被划分为多个数据帧,这些数据帧也被称为时隙。用户或者要传输的消息被分配固定的时隙,在这些时隙中它们具有对通信连接的排他的访问。时隙以规定的传输周期重复,使得消息通过总线被传输的时刻可以精确地被预言,并且确定性地进行总线访问。
为了最佳地利用总线系统上用于消息传输的带宽,FlexRay将也能够被称作周期或者总线周期的传输周期划分成静态部分和动态部分。在此情况下,固定的时隙位于在总线周期开头的静态部分中。在动态部分中,时隙动态地被分配。其中现在分别只能在短时间内、即在一个或多个所谓的微时隙内实现排他的总线访问。只有当在一个微时隙内进行总线访问时,该时隙才被延长所需的时间。因此,仅当带宽也实际被需要时,带宽才被使用。
FlexRay通过通信连接的具有分别最大为10MBit/s(10M波特)的数据率的两个物理上分离的线路进行通信。在此,总线周期每隔5ms、在一些通信系统中甚至每隔2.5ms结束。在此,两个信道对应于尤其是OSI(开放系统架构)层模型的物理层。这两个信道主要用于冗余的并且因此容错的消息传输,然而也可以传输不同的消息,由此数据率于是将加倍。但是FlexRay也可以以较低的数据率运行。
为了实现同步的功能并且通过两个消息之间的小的间隔来优化带宽,通信网络中的用户或者分布式部件需要共同的时基、即所谓的全球时间。为了时钟同步,在周期的静态部分中传输同步信息,其中借助专门的算法根据FlexRay规范校正用户的本地时钟时间,使得所有的本地时钟与全球时钟同步运行。
也可以被称为FlexRay网络节点或主机的FlexRay用户包含用户处理器或主机处理器、FlexRay控制器或通信控制器以及在总线监控的情况下包含所谓的总线监视器。在此情况下,用户处理器提供并处理通过FlexRay通信控制器和FlexRay通信连接所传输的数据。针对在FlexRay网络中的通信,消息或者消息对象可以配置有例如最多254个数据字节。
为了将传输消息所通过的FlexRay通信连接与FlexRay用户耦合,在直到本发明的申请日还未公开的DE 10 2005 034 744中采用一种FlexRay通信组件,其通过用户接口连接在该用户上并通过另外的连接连接在该通信连接上。在此情况下,为了在用户和通信连接之间传输消息,在该通信组件中设置有用于存储该消息的装置。所述传输通过状态机来控制。
在该通信组件中设置有由两个部分构成的接口组件,其中一个部分组件是与用户无关的,另一个部分组件是用户特定的。也可被称为客户CPU接口(CIF)的用户特定的部分组件将用户特定的主机CPU形式的客户特定的用户与FlexRay通信组件相连接。也可被称为通用CPU接口(GIF)的与用户无关的部分组件是通用的、即一般的CPU接口,通过该CPU接口借助相应的用户特定的部分组件、即客户CPU接口(CIF)可以将不同的客户特定的主机CPU连接到FlexRay通信组件上。由此,可以实现通信组件与不同用户的无问题的适配,因为仅用户特定的部分组件必须与用户相关地变化,而与用户无关的部分组件和剩余的通信组件可以始终相同地被构造。因此借助该通信组件形成用于将任意FlexRay用户连接到FlexRay通信连接上的标准接口,其中该接口可以通过用户特定的部分组件的简单变化灵活地适配于任意构造或形成的用户。在此,这些部分组件也可以在一个接口组件内分别以软件被实现,即每个部分组件作为软件功能被实现。
FlexRay通信组件中的状态机可以固定地以硬件布线。序列同样可以固定地以硬件布线。替代地,通信组件中的状态机也可以由用户通过用户接口自由地编程。
所述信息优选地包含访问类型和/或访问方式和/或访问地址和/或数据大小和/或关于数据的控制信息和/或至少一个关于数据保护的信息。
根据现有技术,FlexRay通信组件的消息存储器优选地被实施为单端口RAM(随机存取存储器)。该RAM存储器存储消息或者消息对象、即真正的有用数据,连同配置数据或状态数据。已知的通信组件的消息存储器的准确结构可以从所述的文献DE 10 2005 034 744获悉。
已经表明,FlexRay通信组件的消息存储器和FlexRay用户之间的消息的传输仅相对缓慢地并且在要求用户侧的、尤其是在主机CPU的必需的计算功率和所需的存储空间方面的大的资源的情况下进行。在FlexRay通信组件和FlexRay用户之间的已知的用户接口的情况下,要求主机CPU的持续的活动(可能DMA(直接存储器访问)),以便将通信组件的消息存储器的新输入的缓冲器内容传送到主机CPU的存储器中。利用所谓的轮询,主机CPU可以定期地检验,新的消息是否已被存放在用户接口的消息存储器中。主机CPU对通信组件的消息存储器的直接访问是不可能的。尤其是当FlexRay通信连接的数据率完全被利用时,这被证明是不利的。此外,为了设置寄存器等,必须忍受主机CPU的等待时间。
根据现有技术,FlexRay用户为了FlexRay通信组件的消息存储器与用户之间的数据传输的协调和控制而拥有微处理器和DMA控制器。然而,问题是,消息不是顺序地、即相继地被存放在消息存储器中,而是有针对性地分布在消息存储器的确定的区域中。DMA控制器可以总是仅仅访问来自消息存储器的相关联的区域中的数据。这导致以下后果,即在现有技术中用于消息存储器与用户之间的数据传输的DMA控制器必须多次被设置并且被启动。DMA控制器的每次设置和启动都要求传输很大数据量的配置参数、协调参数和控制参数。在每次DMA控制器调用结束时将数据传输的结束例如借助通过微处理器的轮询或者通过由DMA控制器触发的中断指令通知微处理器。两者都要求微处理器中的很大的资源(计算和存储容量)。因此,在现有技术中几乎不值得或者仅在例外情况下值得对用于数据传输的DMA控制器进行编程。总之,DMA控制器与FlexRay通信组件的连接在现有技术中因此不是最佳的。
发明内容
因此,本发明所基于的任务在于,提供以下可能性,即将微控制器的DMA控制器更好地连接到FlexRay通信组件上,以便能够实现通信组件的消息存储器和DMA控制器之间的更快速的并且尤其是节约资源的数据传输。
为了解决该任务,从开头所述类型的用户接口出发建议:用户接口具有状态机,该状态机根据配置通过微控制器的微处理器独立地协调并控制FlexRay通信组件的消息存储器和DMA控制器之间的数据传输。
本发明的优点
因此,按照本发明,建议在FlexRay用户的微控制器和用户的FlexRay通信组件之间中间连接状态机,该状态机改变用户接口,使得微控制器的DMA控制器的设置和启动是值得的。换句话说,状态机负责为DMA控制器优化地呈现要传输的数据或消息,使得DMA控制器也可以借助DMA控制器的唯一的调用传输更大的数据量或多个消息。因此,按照本发明,唯一的访问在一定程度上由迄今所需的多个小的访问组成。
用户的微控制器的微处理器首先配置状态机并通知它,它是否应该读或者写,哪些消息(消息编号)应该被传输以及要传输的消息多长。借助这些信息,状态机于是访问FlexRay通信组件,使得所希望的数据或消息在消息存储器和DMA控制器之间以读或写的方式被传输。状态机在一定程度上提供DMA控制器的智能,DMA控制器为了更复杂地访问(甚至可能在消息存储器的分布式的地址区域中的)较大数据量、尤其是多个消息而需要该智能。换句话说,状态机产生虚拟的相关联的地址区域,由此,DMA控制器的使用首先是有意义的,因为(用于设置DMA控制器的)待传输的数据的数量和(在DMA控制器周期结束时的)中断的数量明显被减少。
优选地,DMA控制器对消息存储器的相同的地址进行读或写,或者对用于中间存储要在消息存储器和DMA控制器之间传输的数据的前置的缓冲存储器进行读或写。有利地,DMA控制器为了读数据总是访问FlexRay通信组件的出口缓冲器,而为了写数据总是访问入口缓冲器。
按照本发明的一种有利的改进方案建议:用户接口具有配置和状态寄存器,微控制器的微处理器为了状态机的配置而访问该配置和状态寄存器。也即,微处理器通过将合适的配置参数写入用户接口的配置和状态寄存器中来配置状态机。这些寄存器可以被实施为触发器或大的存储器、例如随机存取存储器、即RAM的一部分。配置参数例如涉及下列信息:
-进行读或写的数据传输;
-待传输的消息的说明(消息编号);和
-待传输的消息的长度。
按照本发明的有利的实施形式建议:用户接口具有序列存储器,其中存放有对被存放在消息存储器中的确定的消息的引用和关于这些消息的信息,其中为了数据传输的协调和控制,状态机调用序列存储器的录入项。序列存储器优选地被构造为RAM并且包括多个(优选地128个)具有序列录入项的字段。这些序列录入项例如包括序列录入项的标识(例如编号)、对消息存储器或者缓冲存储器的一个或多个消息(所谓的缓冲器)的标识或引用(例如缓冲器编号)。不同的序列录入项可以由状态机根据微处理器的预先给定有目的地调用。序列录入项可以不加改变地以被存储的形式或以被适配的形式被调用。为了以被适配的形式调用,序列录入项的调用包括确定的用于适配序列录入项的可变参数的参数值。
序列存储器中的序列录入项优选地涉及经常出现的传输序列,其事先被存储并且在需要时被调用。以这种方式,可以通过调用(一个或多个序列录入项的)唯一的序列或部分序列来触发消息存储器与DMA控制器之间的大规模的数据传输。在使用序列时,在从微控制器的微处理器至配置和状态寄存器的数据传输开始时被传输的配置参数也可以包括应由状态机在数据传输的范围内调用的一个或多个序列录入项的标识(例如编号)。
要在消息存储器与用户之间传输的消息有利地分别包括尤其是具有配置数据和控制数据的报头段以及具有有用数据的数据段,其中状态机控制消息存储器与DMA控制器之间的数据传输,使得针对每个消息报头段在数据段之前被读入。
状态机优选地控制消息存储器与DMA控制器之间的数据传输,使得在读入数据段之前被包含在报头段中的数据被分析并且根据报头段的数据的分析结果来控制数据段的读入。因此,在传输有用数据之前状态被读入。以这种方式,可以在数据段中的空数据的情况下避免整个数据段被传输。相反,可以选择数据段的包含有用数据(所谓的有效载荷)的那些地址区域,具有空数据的地址区域在传输中不被考虑并且简单地被跳过。以这种方式,可以提高传输率。
按照本发明的另一种有利的改进方案建议:FlexRay通信组件具有至少一个缓冲存储器、优选地至少一个入口缓冲存储器和至少一个出口缓冲存储器,用于中间存储要在通信组件的消息存储器与DMA控制器之间传输的数据、优选地用于中间存储至少一个被存放在消息存储器中的消息,其中状态机独立地协调和控制控制消息存储器与至少一个缓冲存储器之间以及所述至少一个缓冲存储器与DMA控制器之间的数据传输。所述至少一个缓冲存储器被布置在FlexRay通信组件的消息存储器与用户接口的状态机之间。有利地,分别设置用于对消息存储器的读访问的出口缓冲存储器和用于写访问的入口缓冲存储器。
按照另一种优选的实施方式,建议:所述至少一个缓冲存储器包括部分缓冲存储器和属于所述部分缓冲存储器的影子存储器,其中状态机协调和控制数据传输,使得对所述部分缓冲存储器和影子存储器的写或读交替地进行。通过对部分缓冲存储器和影子存储器的交替的写或读,可以实现明显更高的数据率,因为还在从影子存储器中读出数据的时候已经又可以向所述部分缓冲存储器中写数据,并且反过来,还在从部分缓冲存储器中读出数据的时候已经又可以向影子存储器中写数据。
最后,建议:FlexRay通信组件具有属于所述至少一个缓冲存储器的控制寄存器,状态机为了协调和控制在消息存储器与所述至少一个缓冲存储器之间的数据传输对该控制寄存器进行访问。可以通过该控制寄存器通知通信组件,是否施加(并且应该传输)用于传输的新的数据并且将该数据存放到消息存储器中的哪个地址上或者应该从哪个地址提取该数据。
作为对本发明的任务的另一种解决方案,从开头所述类型的FlexRay用户出发,建议:用户接口具有状态机,该状态机根据由微控制器的微处理器进行的配置独立地协调并控制FlexRay通信组件的消息存储器和DMA控制器之间的数据传输。
作为对本发明的任务的又一种解决方案,从开头所述类型的方法出发,建议:作为微控制器和FlexRay通信组件之间的用户接口的一部分被布置的状态机通过微控制器的微处理器来配置,并且数据传输由状态机根据所述配置独立地来协调和控制。
按照本发明的有利的改进方案,建议:为了由微控制器的微处理器配置状态机,将配置参数存放到用户接口的配置和状态寄存器中。
按照本发明的一种优选的实施方式,建议:在用户接口的序列存储器中存放对被存放在消息存储器中的确定的消息的引用和关于这些消息的信息,其中为了由状态机来协调和控制数据传输而调用序列存储器的录入项。
FlexRay通信组件有利地具有至少一个缓冲存储器,优选地至少一个入口缓冲存储器和至少一个出口缓冲存储器,用于中间存储要在通信组件的消息存储器与DMA控制器之间传输的数据、优选地用于中间存储至少一个被存放在消息存储器中的消息,其中为了由状态机控制和协调数据传输,在属于所述至少一个缓冲存储器的控制寄存器中存放协调和控制参数。
附图说明
下面借助附图更详细地阐述本发明的其它特征和优点。
图1以示意图示出FlexRay通信系统的通信组件和其到通信连接上的连接以及通信用户或主机用户;
图2详细示出图1的通信组件以及其连接的特定的实施形式;
图3示出图2的通信组件的消息存储器的结构;
图4至图6以示意图示出在从用户至消息存储器的方向上的数据访问的架构和过程;
图7至图9示出在从消息存储器至用户的方向上的数据访问的架构和过程;
图10以示意图示出消息管理器和其中所包含的有限状态机的结构;
图11以示意图示出图1和图2中的通信组件的部件以及用户和相应的、由消息管理器控制的数据路径;
图12示出就图11中的数据路径而言对消息存储器的访问分布;
图13示出按照本发明的具有状态机的用户接口;
图14详细示出FlexRay通信组件和FlexRay用户之间的状态机;
图15示出在通过按照本发明的用户接口的读过程的范围内的信号走向(Verlauf);以及
图16示出在通过按照本发明的用户接口的读过程的范围内的信号走向。
具体实施方式
图1示意性地示出FlexRay通信组件100,用于将用户或主机102连接到FlexRay通信连接101、即FlexRay的物理层上。该FlexRay通信连接例如被构造为FlexRay数据总线,该FlexRay数据总线优选地拥有两个传输线路。为此,FlexRay通信组件100通过连接107与用户或用户处理器102连接并且通过连接106与通信连接101连接。为了一方面就传输时间而言并且另一方面就数据完整性而言进行无问题的连接,示意性地主要区分FlexRay通信组件中的三个装置。在此,第一装置105用于存储、尤其是中间存储要传输的消息的至少一部分。在用户102和第一装置105之间通过连接107和108连接有第二装置104。同样,在通信连接101和第一装置105之间通过连接106和109连接有第三装置103,由此可以实现在最佳的速度的情况下在保证数据完整性的同时将作为消息、尤其是FlexRay消息的一部分的数据极其灵活地输入到第一装置105中或者从第一装置105中输出。
在图2中,在一个优选的实施形式中更详细地再次示出FlexRay通信组件100。同样更详细地示出各个连接106至109。为了将FlexRay通信组件100连接到FlexRay用户102或主机处理器上,第二装置104包括入口缓冲存储器或输入缓冲存储器201(Input Buffer IBF)、出口缓冲存储器或输出缓冲存储器202(Output Buffer OBF)以及由两个部分203和204构成的接口组件,其中一个部分组件203是与用户无关的,第二个部分组件204是用户特定的。用户特定的部分组件204(客户CPU接口CIF)将用户特定的主机-CPU102即客户特定的用户102与FlexRay通信组件100连接。为此,设置有双向数据线216、地址线217以及控制输入端218。同样,设置有中断输出端219。用户特定的部分组件204和与用户无关的部分组件203(通用CPU接口,GIF)连接,即FlexRay通信组件或FlexRay-IP模块拥有一般的、即通常的CPU接口203,大量不同的客户特定的主机CPU 102可以通过相应的用户特定的部分组件204、即客户CPU接口CIF连接到该CPU接口上。由此,仅部分组件204必须根据用户102被改变,这意味着明显更少的花费。CPU接口203和其余的通信组件100可以不加改变地被采用。
输入缓冲存储器或者入口缓冲存储器201和出口缓冲存储器或者输出缓冲存储器202可以被构造在共同的存储器组件中或者可以被构造在分离的存储器组件中。这里,输入缓冲存储器201用于中间存储传输给消息存储器300的消息。在此,输入缓冲组件201优选地被构造,使得它可以存储两个完整的、分别由(特别是具有配置数据的)报头段和数据段或有效载荷段组成的消息。在此,输入缓冲存储器201被构造成两部分(部分缓冲存储器和影子存储器(Schattenspeicher)),由此通过交替地写输入缓冲存储器的两个部分或者通过交替访问可以加速用户CPU 102和消息存储器300之间的传输。输出缓冲存储器或出口缓冲存储器202(Output Buffer OBF)同样用于中间存储由消息存储器300传输给用户CPU 102的消息。在此,输出缓冲器202也被构造,使得可以存储两个完整的、由(特别是具有配置数据的)报头段和数据段、即有效载荷段组成的消息。这里,输出缓冲存储器202也被分成两个部分、一个部分缓冲存储器和一个影子存储器,由此这里也可以通过交替地读这两个部分或者通过交替访问来加速用户或者主机CPU 102和消息存储器300之间的传输。由块201至204组成的第二装置104如所示的那样与第一装置105连接。
装置105由消息管理器200(Message Handler MHD)和消息存储器300(Message RAM(消息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或者至第一装置105的数据传输的中间存储器。对应于这两个信道,这两个缓冲存储器205和206分别与接口组件207和208相连接,该接口组件包含由发送/接收移位寄存器和FlexRay协议有限状态机组成的FlexRay协议控制器或总线协议控制器。这两个缓冲存储器205和206因此用作用于接口组件或FlexRay协议控制器207和208的移位寄存器与消息存储器300之间的数据传输的中间存储器。这里,也有利地通过每个缓冲存储器205或206来存储两个FlexRay消息的数据字段、即有效载荷段或数据段。
此外,在通信组件100中用209表示全球时间单元(Global TimeUnit GTU),其负责显示FlexRay中的全球时间栅格(Zeitraster)、即微节拍(Mikrotick)μT和宏节拍(Makrotick)MT。同样,通过该全球时间单元209来调节周期计数器(Cycle Counter)的容错的时钟同步和FlexRay的静态和动态段中的时间流程的控制。用块210表示通用系统控制(System Universal Control SUC),通过其控制和操控FlexRay通信控制器的运行模式。属于运行模式的有唤醒、起动、重新集成或集成、正常运行(normal operation)和被动运行(passiveoperation)。
块211示出网络和错误管理(Network-and Error ManagementNEM),如在FlexRay协议规范v2.0中描述的。最后,块212示出中断控制(Interrupt Control INT),其管理状态和错误中断标记(statusand error interrupt flag)并且控制或操控至用户CPU 102的中断输出端219。块212还包括绝对的和相对的计时器或者时间发生器,用于产生时间中断或计时器中断。
为了在FlexRay网络中的通信,消息对象或消息(消息缓冲器)可以配置有直至254个数据字节。消息存储器300尤其是消息RAM存储器(Message RAM),其例如可以存储直至最多128个消息对象。为消息管理器200执行消息的处理或管理本身所涉及的全部功能。这例如是接受过滤(Akzeptanzfilterung)、在两个FlexRay协议控制器块207和208与消息存储器300、即消息RAM之间的消息传送以及发送顺序的控制和配置数据或状态数据的提供。
外部的CPU、即用户处理器102的外部的处理器可以通过具有用户特定的部分的用户接口107直接访问FlexRay通信组件100的寄存器。在此,使用多个寄存器。这些寄存器被用来配置并控制FlexRay协议控制器、即接口组件207和208、消息管理器(Message Handler MHD)200、全球时间单元(Global Time Unit GTU)209、通用系统控制器(System Universal Controller SUC)210、网络和错误管理单元(Network and Error Management Unit NEM)211、中断控制器(Interrupt Controller INT)212以及对消息RAM、即消息存储器300的访问,并且同样被用于表明相应的状态。在图4至图6和图7至图9中还更详细地至少讨论了这些寄存器的部分。这样描述的FlexRay通信组件100能够简单地实现FlexRay规范v2.0,由此可以简单地产生具有相应的FlexRay功能的ASIC或微控制器。
FlexRay协议规范、尤其是v2.0可以通过所描述的FlexRay通信组件100完全被支持并且因此例如可以配置有直到128个消息或者消息对象。在此,得到用于根据消息的相应数据字段或者数据区域的大小存储不同数量的消息对象的可灵活配置的消息存储器。由此,具有不同长度的数据字段的消息或消息对象可以有利地被配置。消息存储器300在此有利地被构造为FIFO(先进先出),使得得到可配置的接收FIFO。存储器中的每个消息或消息对象可以被配置为接收存储器对象(Receive-Buffer(接收缓冲器))、发送存储器对象(Transmit-Buffer(发送缓冲器))或者所述可配置的接收FIFO的一部分。同样可以在FlexRay网络中对帧ID、信道ID和周期计数器进行接受过滤。由此,合理地支持网络管理。有利地,此外还设置可屏蔽的模块中断。
在图3中详细示出了消息存储器300的划分。针对FlexRay通信控制器的按照FlexRay协议规范所要求的功能,需要用于提供待发送的消息(Transmit Buffer(发送缓冲器)Tx)以及存储被无错误地接收的消息(Receive Buffer(接收缓冲器)Rx)的消息存储器。FlexRay协议允许具有数据区域、即0至254个字节的有效载荷区域的消息。如图2中所示的一样,消息存储器300是FlexRay通信组件100的一部分。后面描述的方法以及相应的消息存储器300描述了尤其是在使用随机存取存储器(RAM)的情况下待发送的消息以及所接收的消息的存储,其中通过所描述的机制可以在预先给定大小的消息存储器中存储可变数量的消息。在此,可存储的消息的数量与各个消息的数据区域的大小相关,由此一方面所需的存储器的大小可以被最小化而无需限制消息的数据区域的大小,另一方面最佳地利用存储器。下面,现在将更详细地描述用于FlexRay通信控制器的、尤其是基于RAM的消息存储器300的可变的划分。
为了实施,现在示例性地预先给定规定字长为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分配固定数量的(这里为2个)存储器字,使得总是一个配置数据KD(KD0,KD1,…,KDk)和一个指针元素DP(DP0,DP1,…,DPk)一同被存放在报头区域HB中。用于存储真正的消息数据D0、D1至Dk的数据段DS紧接在具有报头区域HB的报头段HS之后,其中报头区域的大小或者第一数据范围取决于要存储的消息的数量k。数据段(或者数据区段)DS在其数据范围方面取决于所存放的消息数据的各自的数据范围,这里例如在DB0中六个字、在DB1中一个字并且在DBk中两个字。各个指针元素DP0、DP1至DPk因此总是指向开始、也就是说指向相应数据区域DB0、DB1至DBk的起始地址,其中各个消息0、1至k的数据D0、D1至Dk被存放在该相应数据区域中。由此,消息存储器300在报头段HS和数据段DS之间的划分是可变的,并且取决于消息本身的数量k以及消息的各自的数据范围并且从而取决于整个第二数据范围。如果较少的消息被配置,则报头段HS变小并且消息存储器300中变得空闲的区域可以被用作用于存储数据的数据段DS的补充。通过这种可变性可保证最佳的存储器利用,由此也可以使用较小的存储器。空闲的数据段FDS因此变得最小并且甚至可以变成0,其中尤其是该空闲的数据段的大小同样取决于所存储的消息的数量k和这些消息的各自的第二数据范围的组合。
除了使用指针元素之外,还可以按照预先给定的顺序存放第一和第二数据、即配置数据KD(KD0,KD1,…,KDk)和真正的数据D(D0,D1,…Dk),使得报头区域HB0至HBk在报头段HS中的顺序与数据区域DB0至DBk在数据段DS中的顺序分别相同。于是甚至可能放弃指针元素。
在一种特别的扩展方案中,通过以下方式给消息存储器分配错误标识产生器、特别是校验位发生器元件和错误标识检验器、特别是校验位检验元件,以保证在HS和DS中存储的数据的正确性,即针对每个存储器字或每个区域(HB和/或DB)可一同存放特别是作为校验位的检验和。其它的控制标识、例如CRC(循环冗余校验)或者更强大的标识、例如ECC(纠错码)也是可设想的。由此,相对于消息存储器的规定的划分产生下面的优点:
使用者可以在编程时判定,他是否想使用较大数量的、具有小的数据字段的消息或者他是否想使用较小数量的、具有大的数据字段的消息。在配置具有不同大小的数据区域DB的消息时,现有的存储空间被最佳地利用。使用者具有为不同的消息共同地使用一个数据存储区的可能性。
在集成电路上实施通信控制器时,消息存储器300的大小可以通过所使用的存储器的存储器深度(字的数量m)与应用的需求的适配被适配,而无需改变通信控制器的其它功能。
下面,现在借助图4至图6以及图7至图9来更详细地描述主机CPU访问、即通过缓冲存储器装置201和202对配置数据或状态数据和真正的数据的写和读。在此,目标是建立关于数据传输的去耦合,使得可以保证数据完整性并且同时保证高的传输速度。该过程的控制通过消息管理器200来进行,这在稍后在图10、11和12中还将更详细地描述。
在图4、5和6中首先更详细地阐述用户CPU 102的主机CPU通过入口缓冲存储器201对消息存储器300的写访问。为此,图4又一次示出通信组件100,其中出于清楚的原因这里仅示出通信组件100的重要的部分。这一方面是负责控制流程的消息管理器200以及两个控制寄存器403和404,这两个控制寄存器如所示的那样可以被安装在通信组件100中的消息管理器200之外,但是也可以被包含在消息管理器200本身中。在此,403是入口请求寄存器(输入缓冲命令请求寄存器;IBCR),而404是入口屏蔽寄存器(输入缓冲命令屏蔽寄存器;IBMR)。因此主机CPU 102对消息存储器300(消息RAM)的写访问通过中间连接的入口缓冲存储器201(输入缓冲器)来进行。该入口缓冲存储器201现在被设计成被划分或者加倍的形式,更确切地说,被设计为部分缓冲存储器400和属于该部分缓冲存储器的影子存储器401。由此可以如后面所述的那样进行主机CPU 102对消息存储器300的消息或者消息对象或者数据的持续访问,并且由此可以保证数据完整性和加速的传输。
访问的控制通过入口请求寄存器403并且通过入口屏蔽寄存器404来进行。在寄存器403中,在图5中这里利用数字0至31示例性地针对32位的宽度表示403中的各个位单元(Bitstelle)。同样地适用于图6中的寄存器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 Section Host))和LDSH(加载数据区段主机(Load Data Section Host))录入另外的标识作为数据标识。这些数据标识在这里以最简单的形式、即分别作为一位被构造。在寄存器404的位单元2中以STXRH(设置发送X请求主机(Set Transmission X Request Host))写入开始标识。此外,现在描述通过入口缓冲器201对消息存储器300的写访问的流程。
主机CPU 102将待传送的消息的数据写入入口缓冲存储器201。在此,主机CPU 102可仅仅针对消息存储器300的报头段HS写消息的配置和报头数据KD或者仅仅针对消息存储器300的数据段DS写消息的真正的待传输的数据D或者写两者。消息的哪个部分、即配置数据和/或真正的数据应该被传输通过入口屏蔽寄存器404中的特定的数据标识LHSH和LDSH来规定。在此,通过LHSH(Load Header Section Host)来规定是否应传输报头数据、即配置数据KD,并且通过LDSH(Load DataSection Host)来规定是否应传输数据D。通过将入口缓冲存储器201构造成具有部分缓冲存储器400和属于该部分缓冲存储器的影子存储器401这两部分并且应该进行交替的访问,设置两个另外的数据标识区域作为LHSH和LDSH的配合区域(Gegenstueck),它们现在针对影子存储器401。寄存器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控制、尤其是启动所传输的消息对象的自动发送。
影子存储器401的与此对应的配合标识是开始标识STXRS(设置发送X请求影子(Set Transmission X Request Shadow)),其示例性地被包含在入口屏蔽寄存器404的位单元18中并且这里在最简单的情况下也同样被构造为一位。STXRS的功能与STXRH的功能类似,只是针对影子存储器401。
当主机CPU 102将消息标识、尤其是消息存储器300(入口缓冲存储器201的数据应该被传送到该消息存储器300中)的消息对象的编号、也即根据IBRH写到入口请求寄存器403的位单元0至5中时,入口缓冲存储器201的部分缓冲存储器400和所属的影子存储器401被交换,或者主机CPU 102和消息存储器300对两个部分存储器400和401的相应访问被交换,如半圆形箭头所示的。在此,例如至消息存储器300的数据传送、即数据传输也被启动。至消息存储器300的数据传输本身从影子存储器401进行。同时,寄存器区域IBRH和IBRS被交换。同样,将LHSH和LDSH与LHSS和LDSS交换。同样地,将STXRH与STXRS交换。IBRS由此指示消息的标识、即用于传输的消息对象的编号,即来自影子存储器401的传送在进行中,或者哪个消息对象、即消息存储器300中的哪个区域作为最后的数据(KD和/或D)已从影子存储器401中获得。通过入口请求寄存器403的位单元31中的标识(这里又例如为1位的)IBSYS(输入缓冲忙影子(Input Buffer BusyShadow))表明是否正好进行有影子存储器401参与的传输。这样,例如在IBSYS=1时正好从影子存储器401进行传输,在IBSYS=0时则不进行传输。该位IBSYS例如通过在寄存器403中写IBRN、即位单元0至5来设置,以便表明影子存储器401和消息存储器300之间的传送在进行中。在至消息存储器300的数据传输结束后,又将IBSYS复位。
在正好从影子存储器401进行数据传送期间,主机CPU 102可以将首先要传送的消息写到入口缓冲存储器201中或者写到部分缓冲存储器400中。借助例如寄存器403的位单元15中的另一个访问标识IBSYH(输入缓冲忙主机(Input Buffer Busy Host)),所述标识还可以进一步被细化。如果在进行影子存储器401和消息存储器300之间的传输、即IBSYS=1期间主机CPU 102恰好写IBRH、即寄存器403的位单元0至5,则入口请求寄存器403中的IBSYH被设置。一旦进行的传送、即进行的传输结束,所请求的传送(参见上面通过STXRH的请求)就被启动并且位IBSYH被复位。位IBSYS在整个时间期间保持被设置,以便表明,数据被传送到消息存储器300。所有实施例的所有被使用的位在此也可以被构造为具有多于1位的标识。出于存储器和处理经济的原因,1位解决方案是有利的。
这样所描述的机制允许主机CPU 102持续地将数据传送到位于消息存储器300中的、由报头区域HB和数据区域DB构成的消息对象中,其前提是:主机CPU 102对入口缓冲存储器201的访问速度小于或等于FlexRay-IP模块、即通信组件100的内部数据传送率。
现在图7、8和9中更详细地描述由主机CPU或用户CPU 102通过出口缓冲存储器或输出缓冲存储器202对消息存储器300的读访问。为此,图7又一次示出通信组件100,其中出于清楚的原因这里也仅示出通信组件100的重要部分。这一方面是负责控制流程的消息管理器200以及两个控制寄存器703和704,这两个控制寄存器如所示的那样可以被安装在通信组件100中的消息管理器200之外,但是也可以被包含在消息管理器200本身中。在此,703是出口请求寄存器(输出缓冲命令请求寄存器(Output Buffer Command Request Register);OBCR),704是出口屏蔽寄存器(输出缓冲命令屏蔽寄存器(OutputBuffer Command Mask Register);OBMR)。主机CPU 102对消息存储器300的读访问通过中间连接的出口缓冲存储器202(输出缓冲器(Output Buffer))来进行。该出口缓冲存储器202现在同样被设计成被划分或者加倍的形式,更确切地说,被设计为部分缓冲存储器701和属于该部分缓冲存储器的影子存储器700。由此在此也可以如后面所述的那样进行主机CPU 102对消息存储器300的消息或者消息对象或者数据的持续访问,并且由此现在可以在从消息存储器300至主机102的反方向上保证数据完整性和加速的传输。访问的控制通过出口请求寄存器703并通过出口屏蔽寄存器704来进行。在寄存器703中,这里也利用数字0至31示例性地针对32位的宽度表示703中的各个位单元(参见图8)。同样的适用于寄存器704和在704中的位单元0至31(参见图9)。
现在,寄存器703的位单元0至5、8和9、15和16至21在读访问的流程控制方面示例性地获得特别的功能。这样,在寄存器703的位单元0至5中可录入标识OBRS(输出缓冲请求屏蔽(Output BufferRequest Shadow))作为消息标识。同样,在寄存器703的位单元16至21中可录入标识OBRH(输出缓冲请求主机(Output Buffer RequestShadow))。在寄存器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 102通过以下方式请求来自消息存储器300的消息对象的数据,即它将所希望的消息的标识、即特别是所希望的消息对象的编号根据OBRS写入寄存器703的位单元0至5中。在此情况下,主机CPU 102也可以(如在相反方向上那样)仅仅从报头区域中读消息的状态或配置和报头数据KD,或者仅仅从数据区域中读消息的真正待传输的数据D,或者读两者。应该从报头区域和/或数据区域传输数据的哪个部分在此情况下与相反方向可比较地通过RHSS和RDSS来规定。也就是说,RHSS表明是否应该读报头数据,并且RDSS表明是否应该读真正的数据。
开始标识用于启动从消息存储器300至影子存储器700的传输。也就是说,与在最简单的情况下一样使用一位作为标识,通过设置输出请求寄存器703中的位单元9中的位REQ来启动从消息存储器300至影子存储器700的传输。进行的传输又通过访问标识、这里又在最简单的情况下通过寄存器703中的位OBSYS来表明。为了避免冲突,有利的是,仅当OBSYS未被设置、即正好未进行传输时,才可设置位REQ。然后在此也进行消息存储器300和影子存储器700之间的消息传送。现在,实际的流程可以一方面(与相反方向可比较地)如借助图4、5和6所描述的那样被控制(互补的寄存器占用)并且进行,或者在一个变型方案中通过附加的标识、即寄存器703的位单元8中的转换标识VIEW来控制和进行。也就是说,在所述传输结束之后,位OBSYS被复位并且通过输出请求寄存器703中的位VIEW的设置将部分缓冲存储器701和所属的影子存储器700交换,或者说将对部分缓冲存储器701和所属的影子存储器700的访问交换,并且主机CPU 102现在可以从部分缓冲存储器701中读出由消息存储器300所请求的消息对象、即相应的消息。同时,这里也与图4至6中的相反传输方向可比较地,将寄存器单元OBRS和OBRH交换。同样将RHSS和RDSS与RHSH和RDSH交换。作为保护机制,这里也可以规定,仅当OBSYS未被设置、即不发生进行中的传输时,位VIEW才可被设置。
由此,主机CPU 102对消息存储器300的读访问通过中间连接的出口缓冲存储器202来进行。该出口缓冲存储器202也与入口缓冲存储器201一样加倍地被设计或者被设计为两部分,以保证主机CPU 102对存放在消息存储器300中的消息对象的持续访问。这里也实现了高数据完整性和加速传输的优点。
通过使用所描述的入口和出口缓冲器201、202来保证,虽然存在模块内部的等待时间,主机CPU 102仍然可以不中断地访问消息存储器300。
为了保证数据完整性,通信组件100中的数据传输、特别是转发通过消息管理器200(Message Handler MHD)来进行。为此,在图10中示出消息管理器200。消息管理器200在其功能上可通过多个状态机或状态自动机、即有限自动机、所谓的有限状态机(FSM)来表示。在此,设置有至少三个状态机,并且在特别的实施形式中设置有四个有限状态机。第一有限状态机是IOBF-FSM(输入/输出缓冲状态机)并用501表示。IOBF-FSM也可以根据相对于入口缓冲存储器201或出口缓冲存储器202的传输方向被划分成两个有限状态机、即IBF-FSM(输入缓冲FSM)和OBF-FSM(输出缓冲FSM),由此可设想最多五个状态机(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,RAMB)状态机)。
在该有利的实施例中用500表示的仲裁有限状态机、所谓的AFSM用于这三个有限状态机501-503的访问控制。数据(KD和/或D)在通信组件100以由时钟装置、诸如VCO(压控振荡器)、振荡石英等等产生的或者来自该时钟装置的被适配的时钟被传输。时钟T在此情况下可以在组件中被产生或者从外部、例如作为总线时钟来预先给定。仲裁有限状态机AFSM 500特别是分别针对时钟周期T交替地允许三个有限状态机501-503之一访问消息存储器300。也就是说,可供使用的时间根据各个状态自动机501、502、503的访问请求被分配给这些提出请求的状态自动机。如果仅一个有限状态机进行访问请求,则它得到100%的访问时间、即所有的时钟T。如果由两个状态自动机进行访问请求,则每个有限状态机得到访问时间的50%。最后,如果由三个状态自动机进行访问请求,则每个有限状态机得到访问时间的1/3。由此,分别可供利用的带宽被最佳地利用。
第一有限状态机501、即IOBF-FSM在需要时执行下面的动作:
-从入口缓冲存储器201向消息存储器300中的所选择的消息对象的数据传送,
-从消息存储器300中的所选择的消息对象向出口缓冲存储器202的数据传送。
用于信道A的状态机502、即TBF1-FSM执行下面的动作:
-从消息存储器300中的所选择的消息对象向信道A的缓冲存储器206的数据传送,
-从缓冲存储器206向消息存储器300中的所选择的消息对象的数据传送,
-寻找消息存储器300中的合适的消息对象,其中在接收时寻找用于在接受过滤的范围内存储在信道A上接收的消息的消息对象(接收缓冲器),并且在发送时寻找要在信道A上发送的下一个消息对象(发送缓冲器)。
块503中的TBF2-FSM、即用于信道B的有限状态机的动作与此类似。该有限状态机执行从消息存储器300中的所选择的消息对象向信道B的缓冲存储器205的数据传送和从缓冲存储器205向消息存储器300中的所选择的消息对象的数据传送。寻找消息存储器300中的合适的消息对象的寻找功能也类似于TBF1-FSM,其中在接收时寻找用于在接受过滤的范围内存储在信道B上接收的消息的消息对象(接收缓冲器),并且在发送时寻找要在信道B上发送的下一个消息或消息对象(发送缓冲器)。
在图11中现在又一次示出了流程和传输路径。三个状态机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。该数据传输通过TBFI-FSM、即用于信道A的状态机502来控制。在消息存储器300和缓冲存储器205之间的传输Z3通过状态自动机TBF2-FSM、即503来控制。这里也进行在具有示例性的32位字长的数据总线之上的数据传送,其中任何其它的位数在此也是可能的。通过所述的传输路径的完整的消息对象的传送通常需要多个时钟周期T。因此,通过仲裁器、即AFSM 500来进行涉及时钟周期T的传输时间的分配。因此,在图11中示出了在由消息管理器200控制的存储器部件之间的数据路径。为了保证存储在消息存储器300中的消息对象的数据完整性,应该有利地在相同时间仅在所示出的路径、即Z1A和Z1B以及Z2和Z3之一上同时交换数据。
在图12中借助一个例子示出,如何由仲裁器、即AFSM 500将可供使用的系统时钟T分配给三个提出请求的状态自动机。在阶段1(I)中,由状态自动机501和状态自动机502进行访问请求,即总时间分别对半地被分配被这两个提出请求的状态自动机。就阶段1(I)中的时钟周期而言,这意味着,状态自动机501在时钟周期T1和T3中获得访问,状态自动机502在时钟周期T2和T4中获得访问。在阶段2(II)中,仅由状态自动机501进行访问,因此全部的三个时钟周期、即从T5至T7的100%的访问时间落到IOBF-FSM上。在阶段3(III)中,所有的三个状态自动机501至503都进行访问请求,因此实现总访问时间的三等分。仲裁器AFSM 500于是例如这样分配访问时间,使得在时钟周期T8和T11中有限状态机501、在时钟周期T9和T12中有限状态机502、以及在时钟周期T10和T13中有限状态机503获得访问。最后,在阶段4(IV)中,由两个状态机502和503在通信组件100的两个信道A和B上进行访问,因此时钟周期T14和T16的访问被分配给有限状态机502,在T15和T17中的访问被分配给有限状态机503。
因此,仲裁状态自动机AFSM 500负责:如果三个状态机501至503中多于一个提出访问消息存储器300的请求,则访问逐时钟地并且交替地被分配给提出请求的状态机501至503。这样的处理方式保证存放在消息存储器300中的消息对象的完整性、即数据完整性。如果主机CPU 102例如想在恰好将所接收的消息写入消息对象期间通过出口缓冲存储器202读出该消息对象,则根据首先启动了何种请求,读出旧的状态或者读出新的状态,而消息存储器300中的消息对象的访问本身不会发生冲突。
所描述的方法能够实现主机CPU 102在持续的运行中读或者写消息存储器300中的每个任意的消息对象,而所选择的消息对象在主机CPU 102的访问的持续时间内不会因参与FlexRay总线101的两个信道上的数据交换而被阻断(缓冲锁定)。同时,由于逐时钟地交错进行访问,存放在消息存储器300中的数据的完整性得到保证,并且传输速度、也由于整个带宽的充分利用而得到提高。
在图13中示意性地示出整体上用附图标记900表示的按照本发明的通信用户。用户900通过连接106被连接到通信连接101上,所述通信连接101例如被构造为FlexRay数据总线。用户900可以通过通信连接101与所连接的(未被示出的)其它用户交换信息(或数据或消息)。用户900包括微控制器102(主机CPU)和通信控制器750(所谓的Communication Controller;CC),其例如被构造为FlexRay通信控制器。通信控制器705包括FlexRay通信组件100,其在上面已经被详细描述。通信组件100可以是通信控制器705的构成整体所必需的组成部分或者被构造为单独的部件。为了改善FlexRay通信组件100和微控制器102之间的连接,更确切地说,为了改善通信组件100的消息存储器300和微控制器102的DMA(直接存储器访问)控制器812(参见图15)之间的连接,按照本发明建议:在通信组件100和微控制器102之间的用户接口107(Customer Interface(客户接口);CIF)中布置状态机800。状态机800优选地被固定地布线。
状态机800改变用户接口107,使得微控制器102的DMA控制器812的设置和启动是值得的。换句话说,状态机800负责为DMA控制器812优化地呈现要传输的数据或消息,使得它能够利用DMA控制器812的唯一的调用传输较大的数据量或者多个消息。也即,按照本发明,唯一的访问在一定程度上由迄今所需的多个小的访问组成,或者由多个具有数据的被分段的地址区域虚拟地产生较少的相关联的地址区域,DMA控制器812可以有效地访问这些地址区域。此外,可以通过使用状态机800在数据传输期间避免微控制器102的微处理器811的等待时间。
在图14中详细示出了状态机800至通信组件100和至微控制器102的连接。特别是,用户特定的部分组件204(Customer CPU Interface(客户CPU接口);CIF)将状态机800与FlexRay通信组件100相连接。为此,设置有双向数据线216、地址线217以及控制输入端218。同样设置有中断输出端219。用户特定的部分组件204和与用户无关的部分组件203(通用CPU接口,GIF)相连接,即FlexRay通信组件100拥有通用的、即一般的CPU接口203,大量不同的客户特定的用户900可通过相应的用户特定的部分组件204(CIF)连接至所述CPU接口203。由此,仅部分组件204必须根据用户900被改变,这意味着明显更少的花费。CPU接口203和其余的通信组件100可以不加改变地被采用。
状态机800优选地是用户特定的部分组件204(CIF)的一部分。然而,自然也可以设想,按照本发明的智能的用户接口107被构造为单独的部件。
用户接口107或者状态机800通过多个线路与微控制器102连接。尤其是,设置有双向数据线816、地址线817以及控制输入端818。同样设置有中断输出端819。
在图15中,在本发明方法的意义上示出了读过程(Read)的各种信号走向。此外,还详细示出了微控制器102。它包括存储器810,其例如可被构造为随机存取存储器(RAM)。存储器810用于存储在进一步处理之前到达的消息或在通过通信连接101进行传输之前离开的消息。此外,微控制器102还包括微处理器811、即所谓的主机CPU、DMA控制器812和通向外围模块(例如所谓的扩展总线模块)的接口813。内部的仲裁单元用附图标记814来表示。
按照本发明的用户接口107包括状态机800。此外,用户接口107还包括至少一个寄存器802,其大小例如为64位并且用于配置状态机800或者由状态机800控制的数据传输。为此,在配置寄存器802中设置相应的位,以便例如选择数据传输的方向(读或写)、待传输的消息的标识(例如消息编号)、消息的传输顺序、消息的长度或者多个为了数据传输而事先被存储的部分序列中的一个。这些配置参数也可以涉及待传输的数据字的数量或者关于即将来临的数据传输的任意其它的信息。
用户接口107还具有序列存储器804,其例如被构造为随机存取存储器(RAM)。在该序列RAM 804中存放有对存放在消息存储器300中的确定的消息以及关于这些消息的信息的引用(Verweis)。为了数据传输的协调和控制,状态机800调用序列存储器804的录入项(Eintrag)。序列存储器804包括多个(优选地128个)具有序列录入项的字段。这些序列录入项例如涉及序列录入项的标识(例如编号)、对消息存储器300或者缓冲存储器201或202的一个或多个消息(所谓的缓冲器)的标识或引用(例如缓冲器编号)和所述消息(缓冲器)的大小。不同的序列录入项可以由状态机根据微处理器的预先给定有目的地调用。序列录入项可以不加改变地以被存储的形式或以被适配的形式被调用。为了以被适配的形式调用,序列录入项的调用包括用于适配序列录入项的可变参数的确定的参数值。
序列存储器804中的序列录入项优选地涉及经常出现的传输序列,这些传输序列事先被存储并且在需要时被调用。以这种方式,可以通过调用(一个或多个序列录入项的)唯一的序列或部分序列来触发消息存储器300与DMA控制器812之间的大规模的数据传输。在使用序列或部分序列时,在从微控制器102的微处理器811至配置和状态寄存器802的数据传输开始时被传输的配置参数也可以包括应该由状态机800在数据传输的范围内调用的一个或多个序列录入项的标识(例如编号)。
一旦通过FlexRay数据总线101所传输的数据被存放在FlexRay通信组件100的消息存储器300中,读过程就被启动。在数据进入消息存储器300中之后,可触发中断或向微控制器102传送相应的指令。然而也可以设想,在消息存储器300中数据的进入由微控制器102例如通过定期的轮询来识别。
在读过程开始时,微处理器811在步骤850中配置DMA控制器812。微处理器811知道有多少数据要被传输,了解消息的大小和关于即将来临的数据传输的其它信息。微处理器811在步骤850中将这些信息至少部分地传送给DMA控制器812。紧接着,微处理器811在步骤852中通过以下方式配置状态机800,即将配置参数写入配置寄存器802中。于是状态机800从微处理器811得到开始指令并且紧接着开始真正的数据传送。
针对数据传送执行不同的程序循环。在待传输的第一数据缓冲器中开始外循环。在待传输的第一数据缓冲器的第一数据字中开始内循环。针对该数据字,状态机800将请求/查看(Request/View)指令854传送给出口缓冲器202或者出口缓冲器202的配置寄存器703、704,以便使出口缓冲器202中的数据字可见。接着,该数据字通过输出缓冲器202从消息存储器300中被读出。状态机800在步骤856中通过通用接口203(GIF)从出口缓冲器202中取得该数据字。在此,可以仅传输报头段HS,或仅传输数据段DS,或者可以传输两者、即报头段HS和数据段DS。在传输报头段HS和数据段DS时优选地首先传输报头段HS,之后传输数据段DS,然而相反的顺序也是可能的。
通过配置寄存器703、704,出口缓冲器202或者FlexRay通信组件100的上级控制单元获得关于哪个数据字应该作为下一个从消息存储器300中被传输到出口缓冲器202的信息和指示。
来自出口缓冲器202的数据字现在在状态机800中准备好由DMA控制器812来提取。这通过数据就绪指令858来告知DMA控制器812。接着,在步骤860中DMA控制器812读入准备好的数据字并将其转发以进一步处理。接着,DMA控制器812等待下一个数据就绪指令858。
该内循环被递增到第一数据缓冲器的下一个数据字,并且重新运行上述步骤,直到成功地读入了第一数据缓冲器的最后的要读入的数据字。紧接着,该外循环被递增到待传输的下一个数据缓冲器,并且重新运行上述步骤,直到成功地读入了待读入的最后一个数据缓冲器的所有数据字。确定的数据缓冲器的读入可以例如通过调用序列存储器804的相应的部分序列来进行。接着,DMA控制器812通知微处理器811数据传输的结束。这例如可以通过适当的指令(数据发送就绪)或通过中断指令来进行。
由状态机800来控制和协调整个数据传输。主机CPU 811只须通过请求指令850触发数据传输,所有其它的由状态机800来完成,因此最大可能地减轻了微控制器102的主机CPU 811的负担。
因此,按照本发明,将传统的用户接口107扩展一个状态机800。具有所属的有效载荷长度的消息缓冲器的至少一个序列可以被编程到存储器、例如RAM中。该存储器优选地同样是本发明的用户接口107的一部分。针对整个序列或者部分序列中的至少一个的每次调用,用户102的DMA控制器812只须被触发一次。(部分)序列通过开始/结束编号来定义。通过最多128个序列录入项,例如在读/写时可以使用不同的顺序。不发生每个DMA的同时的读和写。在可以启动新的请求指令850之前,DMA序列必须总是完整地被处理。在错误情况下,发送中断或设置标记。
在图16中示出了用于将数据写(write)入通信组件100的消息存储器300中的信号走向。写过程完全与读过程类似地进行。接下来,主要仅进一步论述读过程和写过程之间的区别。在写过程开始时,微处理器811在步骤850中配置DMA控制器812。接着,微处理器811在步骤852中通过以下方式配置状态机800,即将配置参数写入配置寄存器802中。状态机800于是从微处理器811得到开始指令并且紧接着开始真正的数据传送。
对于写过程,也针对当前待传输的数据缓冲器执行外循环,并且针对当前数据缓冲器的当前待传输的数据字执行内循环。与读出数据相反,在写的情况下入口缓冲存储器201首先被填充(内循环),并且接着给出用于在消息存储器300中进行内部存储的命令(外循环)。
首先状态机800向DMA控制器812传送数据就绪信号858,以通知该DMA控制器,它准备好从DMA控制器812接收当前的数据字。接着DMA控制器812在步骤862中向状态机800传输等候处理的数据字。从那里,数据字接着在步骤864中被传送给FlexRay通信组件100的入口缓冲器201。
在该内循环结束之后,于是执行作为外循环的一部分的随后的步骤。入口缓冲器201或者FlexRay通信组件100的上级控制单元在步骤866中获得关于存放在入口缓冲器201中的数据字应该被存储到消息存储器300的哪个位置上的信息和指示。为此,例如通过相应位的设置在配置寄存器403、404的一个或多个中存储适当的信息。接着,将来自入口缓冲器201的数据字存储到消息存储器300的相应位置上,该数据字然后从那里通过FlexRay通信连接101单独地或者连同来自消息存储器300的其它数据字被传输。
该内循环被递增到第一数据缓冲器的下一个数据字,并且重新运行上述步骤,直到成功地将第一数据缓冲器的最后的数据字写入了入口缓冲器201中。紧接着,该外循环被递增到下一个待传输的数据缓冲器,并且重新运行上述步骤,直到最后一个待写的数据缓冲器的所有数据字成功地被传输给了通信组件100。确定的数据缓冲器的写例如可以通过从序列存储器804中调用相应的部分序列来进行。接着,DMA控制器812通知微处理器811数据传输的结束。这例如可以通过适当的指令(数据发送就绪)或通过中断指令来进行。
总之可以说:在前述内容的范围内,本发明现在涉及用于在微处理器(主机CPU)和外围设备之间传输数据的方法和装置,其中外围设备例如为用于特别是以FlexRay通信的通信控制器的形式。所述外围设备优选地被构造为FlexRay通信控制器750,其通过连接106被连接到FlexRay通信连接101上,该FlexRay通信连接101例如被构造为FlexRay数据总线。微处理器811和所述外围设备是通信用户900的部分。对于微处理器主机CPU和外围设备750之间的数据传输来说,通常只有有限的资源可供使用,也就是说带宽是有限的。典型地在使用串行接口时情况如此。
将消息缓冲器的任意序列编程到用户接口107中或FlexRay通信组件100中的序列RAM 804中的优点主要在于,访问变得更快,因为命令具有关于数据的布置、访问的方式和另一状态自动机形式的相应地址的知识。以这种方式,数据的布置、访问的方式和/或相应地址可以自动地被提供,使得它们不再必须由主机CPU 811来提供,由此不再必须通过接口107或详细地通过连接216至218被传输。此外,访问方式(读/写)也可以已经固定地被嵌入到该装置107中,如已提及的,因此同样不再必须被传输。
作为其的替代,针对关于数据传输的所述信息(数据布置、访问方式和/或地址),现在简单地调用或者激活预先给定的或预先编程的部分序列,并且这些部分序列配备有附加的值。通过调用这些序列中的一个或多个,可以简单并快速地从或向通信组件100传输多个消息缓冲内容。
Claims (11)
1.在FlexRay通信组件(100)和被分配给该FlexRay通信组件(100)的微处理器(102)之间的用户接口(107),其中所述FlexRay通信组件连接到FlexRay通信连接(101)上,通过该FlexRay通信连接传输消息,并且所述FlexRay通信组件包括消息存储器(300),用于中间存储来自所述FlexRay通信连接(101)或者用于所述FlexRay通信连接(101)的消息;所述微控制器(102)具有微处理器(811)和用于与所述消息存储器(300)进行数据交换的直接存储器存取(下面为DMA)控制器(812),其特征在于,所述用户接口(107)具有状态机(800),该状态机根据由所述微处理器(102)的微处理器(811)进行的配置独立地协调并控制所述FlexRay通信组件(100)的消息存储器(300)与所述DMA控制器(812)之间的数据传输。
2.根据权利要求1的用户接口(107),其特征在于,所述用户接口(107)具有配置和状态寄存器(802),所述微控制器(102)的微处理器(811)为了所述状态机(800)的配置而访问该配置和状态寄存器。
3.根据权利要求1或2的用户接口(107),其特征在于,所述用户接口(107)具有序列存储器,在该序列存储器中存放有对被存放在所述消息存储器(300)中的确定的消息的引用和关于这些消息的信息,其中所述状态机(800)为了协调并控制数据传输而调用所述序列存储器的录入项。
4.根据权利要求1至3之一的用户接口(107),其特征在于,所述FlexRay通信组件(100)具有至少一个缓冲存储器(201,202)、优选地至少一个入口缓冲存储器(201)和至少一个出口缓冲存储器(202),用于中间存储要在所述通信组件(100)的消息存储器(300)与所述DMA控制器(812)之间传输的数据、优选地用于中间存储至少一个被存放在所述消息存储器(300)中的消息,其中所述状态机(800)独立地协调并控制所述消息存储器(300)与所述至少一个缓冲存储器(201,202)之间以及所述至少一个缓冲存储器(201,202)与所述DMA控制器(812)之间的数据传输。
5.根据权利要求4的用户接口(107),其特征在于,所述至少一个缓冲存储器(201,202)包括部分缓冲存储器和属于所述部分缓冲存储器的影子存储器,其中所述状态机(800)协调并控制数据传输,使得对所述部分缓冲存储器和所述影子存储器的写或读交替地进行。
6.根据权利要求4或5的用户接口(107),其特征在于,所述FlexRay通信组件(100)具有属于所述至少一个缓冲存储器(201,202)的控制寄存器(403,404;703,704),所述状态机(800)为了协调并控制所述消息存储器(300)与所述至少一个缓冲存储器(201,202)之间的数据传输而访问该控制寄存器。
7.FlexRay用户,其具有微控制器(102)、FlexRay通信组件(100)以及在所述微控制器(102)和所述通信组件(100)之间的用户接口(107),其中所述FlexRay通信组件(100)连接到FlexRay通信连接(101)上,通过该FlexRay通信连接传输消息,其中所述微控制器(102)包括微处理器(811)和直接存储器存取(下面为DMA)控制器(812),并且所述FlexRay通信组件(100)包括消息存储器(300),用于中间存储来自所述FlexRay通信连接(101)或者用于所述FlexRay通信连接(101)的消息,其特征在于,所述用户接口(107)具有状态机(800),该状态机根据由所述微处理器(102)的微处理器(811)进行的配置独立地协调并控制所述FlexRay通信组件(100)的消息存储器(300)与所述DMA控制器(812)之间的数据传输。
8.用于在FlexRay通信组件(100)的消息存储器(300)和微控制器(102)的直接存储器存取(下面为DMA)控制器(812)之间传输数据的方法,其中所述FlexRay通信组件连接到FlexRay通信连接(101)上,通过该FlexRay通信连接传输消息,其特征在于,通过所述微处理器(102)的微处理器(811)来配置状态机(800),该状态机(800)被构造为所述微控制器(102)和所述FlexRay通信组件(100)之间的用户接口(107)的一部分,并且由所述状态机(800)根据所述配置独立地协调并控制数据传输。
9.根据权利要求8的方法,其特征在于,为了由所述微控制器(102)的微处理器(811)配置所述状态机(800),将配置参数存放到所述用户接口(107)的配置和状态寄存器(802)中。
10.根据权利要求8或9的方法,其特征在于,在所述用户接口(107)的序列存储器中存放对被存放在所述消息存储器(300)中的确定的消息的引用和关于这些消息的信息,其中为了数据传输的协调和控制,调用所述序列存储器的录入项。
11.根据权利要求8至10之一的方法,其特征在于,所述FlexRay通信组件(100)具有至少一个缓冲存储器(201,202)、优选地至少一个入口缓冲存储器(201)和至少一个出口缓冲存储器(202),用于中间存储要在所述通信组件(100)的消息存储器(300)与所述DMA控制器(812)之间传输的数据、优选地用于中间存储至少一个被存放在消息存储器(300)中的消息,并且为了由状态机(800)协调并控制数据传输,在属于所述至少一个缓冲存储器(201,202)的控制寄存器(403,404;703,704)中存放协调和控制参数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102005048582.0 | 2005-10-06 | ||
DE102005048582A DE102005048582A1 (de) | 2005-10-06 | 2005-10-06 | Teilnehmerschnittstelle zwischen einem Mikrocontroller und einem FlexRay-Kommunikationsbaustein, FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101283338A true CN101283338A (zh) | 2008-10-08 |
Family
ID=37887076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800371823A Pending CN101283338A (zh) | 2005-10-06 | 2006-10-05 | 微控制器和FlexRay通信组件之间的用户接口、FlexRay用户以及用于通过这种接口传输消息的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20100161834A1 (zh) |
EP (1) | EP1941377A2 (zh) |
JP (1) | JP2009511318A (zh) |
CN (1) | CN101283338A (zh) |
DE (1) | DE102005048582A1 (zh) |
WO (1) | WO2007039634A2 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693210A (zh) * | 2011-03-21 | 2012-09-26 | 中兴通讯股份有限公司 | 一种处理器间传递参数的方法及装置 |
CN102841870A (zh) * | 2012-08-10 | 2012-12-26 | 无锡众志和达存储技术股份有限公司 | 基于高速串行总线的通用dma结构及预读方法 |
CN102841871A (zh) * | 2012-08-10 | 2012-12-26 | 无锡众志和达存储技术股份有限公司 | 基于高速串行总线的DMA结构的pipeline读写方法 |
CN103946830A (zh) * | 2011-12-01 | 2014-07-23 | 罗伯特·博世有限公司 | 传感器传输设备和用于从多个传感器向车辆的总线控制设备传输有用数据的方法 |
CN106789489A (zh) * | 2015-11-20 | 2017-05-31 | 成都九十度工业产品设计有限公司 | 一种FlexRay通信控制器媒体接入控制系统及其控制方法 |
CN106789490A (zh) * | 2015-11-20 | 2017-05-31 | 成都九十度工业产品设计有限公司 | 一种FlexRay通信控制器及控制方法 |
CN108701103A (zh) * | 2016-03-01 | 2018-10-23 | 罗伯特·博世有限公司 | 具有工作存储器的计算单元的存储器直接访问控制装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005048595A1 (de) * | 2005-10-06 | 2007-04-12 | Robert Bosch Gmbh | Verfahren zur Anbindung eines FlexRay-Teilnehmers mit einem Mikrocontroller an eine FlexRay-Kommunikationsverbindung über eine FlexRay-Kommunikationssteuereinrichtung, und FlexRay-Kommunikationssteuereinrichtung, FlexRay-Teilnehmer und FlexRay-Kommunikationssystem zur Realisierung dieses Verfahrens |
EP2036262A1 (en) * | 2006-06-20 | 2009-03-18 | Freescale Semiconductor, Inc. | Method for transmitting a datum from a time-dependent data storage means |
US8001309B2 (en) * | 2006-06-22 | 2011-08-16 | Freescale Semiconductor, Inc. | Method and system for grouping interrupts from a time-dependent data storage system |
US7949679B2 (en) * | 2008-03-05 | 2011-05-24 | International Business Machines Corporation | Efficient storage for finite state machines |
CN103414619A (zh) * | 2013-08-14 | 2013-11-27 | 上海固泰科技有限公司 | 一种基于FlexRay总线的自动化控制方法 |
CN103428059A (zh) * | 2013-08-14 | 2013-12-04 | 上海固泰科技有限公司 | 基于FlexRay总线的仿真方法 |
US11116009B2 (en) * | 2017-08-03 | 2021-09-07 | Qualcomm Incorporated | Synchronous clear to send signaling |
US20190227857A1 (en) * | 2018-01-25 | 2019-07-25 | salesforce com, inc | Smart clipboard for secure data transfer |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06274425A (ja) * | 1993-03-17 | 1994-09-30 | Hitachi Ltd | ネットワークアダプタ装置 |
US6351780B1 (en) * | 1994-11-21 | 2002-02-26 | Cirrus Logic, Inc. | Network controller using held data frame monitor and decision logic for automatically engaging DMA data transfer when buffer overflow is anticipated |
US5999474A (en) * | 1998-10-01 | 1999-12-07 | Monolithic System Tech Inc | Method and apparatus for complete hiding of the refresh of a semiconductor memory |
US6708233B1 (en) * | 1999-03-25 | 2004-03-16 | Microsoft Corporation | Method and apparatus for direct buffering of a stream of variable-length data |
US6647440B1 (en) * | 1999-09-15 | 2003-11-11 | Koninklijke Philips Electronics N.V. | End-of-message handling and interrupt generation in a CAN module providing hardware assembly of multi-frame CAN messages |
JP2002007313A (ja) * | 2000-06-16 | 2002-01-11 | Sony Corp | データ処理装置、データ処理方法及びバス制御装置 |
JP3785373B2 (ja) * | 2002-03-01 | 2006-06-14 | シャープ株式会社 | 通信制御回路 |
US7277449B2 (en) * | 2002-07-29 | 2007-10-02 | Freescale Semiconductor, Inc. | On chip network |
US8095704B2 (en) * | 2003-01-13 | 2012-01-10 | Sierra Logic | Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays |
US7353321B2 (en) * | 2003-01-13 | 2008-04-01 | Sierra Logic | Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays |
US20050012753A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Systems and methods for compositing graphics overlays without altering the primary display image and presenting them to the display on-demand |
JP2005275963A (ja) * | 2004-03-25 | 2005-10-06 | Toshiba Corp | モニタ記述生成装置、モニタ記述生成方法及びモニタ記述生成プログラム |
US7430571B2 (en) * | 2004-04-30 | 2008-09-30 | Network Appliance, Inc. | Extension of write anywhere file layout write allocation |
DE102005004464A1 (de) * | 2005-01-31 | 2006-10-26 | Robert Bosch Gmbh | Verfahren zur Speicherung von Botschaften in einem Botschaftsspeicher und Botschaftsspeicher |
-
2005
- 2005-10-06 DE DE102005048582A patent/DE102005048582A1/de not_active Withdrawn
-
2006
- 2006-10-05 EP EP06807000A patent/EP1941377A2/de not_active Withdrawn
- 2006-10-05 WO PCT/EP2006/067085 patent/WO2007039634A2/de active Application Filing
- 2006-10-05 US US12/083,272 patent/US20100161834A1/en not_active Abandoned
- 2006-10-05 JP JP2008534018A patent/JP2009511318A/ja active Pending
- 2006-10-05 CN CNA2006800371823A patent/CN101283338A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693210A (zh) * | 2011-03-21 | 2012-09-26 | 中兴通讯股份有限公司 | 一种处理器间传递参数的方法及装置 |
CN102693210B (zh) * | 2011-03-21 | 2017-03-01 | 中兴通讯股份有限公司 | 一种处理器间传递参数的方法及装置 |
CN103946830B (zh) * | 2011-12-01 | 2016-11-09 | 罗伯特·博世有限公司 | 传感器传输设备和用于从多个传感器向车辆的总线控制设备传输有用数据的方法 |
CN103946830A (zh) * | 2011-12-01 | 2014-07-23 | 罗伯特·博世有限公司 | 传感器传输设备和用于从多个传感器向车辆的总线控制设备传输有用数据的方法 |
US9767055B2 (en) | 2011-12-01 | 2017-09-19 | Robert Bosch Gmbh | Sensor transmission device and method for transmitting payload data from multiple sensors to a bus control device for a vehicle |
CN102841870B (zh) * | 2012-08-10 | 2015-04-15 | 无锡众志和达数据计算股份有限公司 | 基于高速串行总线的通用dma结构及预读方法 |
CN102841871B (zh) * | 2012-08-10 | 2015-06-17 | 无锡众志和达数据计算股份有限公司 | 基于高速串行总线的DMA结构的pipeline读写方法 |
CN102841871A (zh) * | 2012-08-10 | 2012-12-26 | 无锡众志和达存储技术股份有限公司 | 基于高速串行总线的DMA结构的pipeline读写方法 |
CN102841870A (zh) * | 2012-08-10 | 2012-12-26 | 无锡众志和达存储技术股份有限公司 | 基于高速串行总线的通用dma结构及预读方法 |
CN106789489A (zh) * | 2015-11-20 | 2017-05-31 | 成都九十度工业产品设计有限公司 | 一种FlexRay通信控制器媒体接入控制系统及其控制方法 |
CN106789490A (zh) * | 2015-11-20 | 2017-05-31 | 成都九十度工业产品设计有限公司 | 一种FlexRay通信控制器及控制方法 |
CN108701103A (zh) * | 2016-03-01 | 2018-10-23 | 罗伯特·博世有限公司 | 具有工作存储器的计算单元的存储器直接访问控制装置 |
CN108701103B (zh) * | 2016-03-01 | 2021-01-05 | 罗伯特·博世有限公司 | 具有工作存储器的计算单元的存储器直接访问控制装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1941377A2 (de) | 2008-07-09 |
JP2009511318A (ja) | 2009-03-19 |
WO2007039634A2 (de) | 2007-04-12 |
US20100161834A1 (en) | 2010-06-24 |
DE102005048582A1 (de) | 2007-04-12 |
WO2007039634A3 (de) | 2007-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101283338A (zh) | 微控制器和FlexRay通信组件之间的用户接口、FlexRay用户以及用于通过这种接口传输消息的方法 | |
CN101111826B (zh) | 一种用于保证通信系统的实时消息传输的装置及方法 | |
JP4571671B2 (ja) | 通信モジュールのメッセージメモリのデータへアクセスする方法および装置 | |
CN1993687B (zh) | 用于控制数据访问的消息管理器和方法以及通信组件 | |
US7769906B2 (en) | FlexRay communication module | |
CN101282860A (zh) | 用于把具有微控制器的FlexRay用户通过FlexRay通信控制装置连接到FlexRay通信连接上的方法、以及用于实现该方法的FlexRay通信控制装置、FlexRay用户和FlexRay通信系统 | |
JP4612094B2 (ja) | バス間でのメッセージの自動ルーティングのためのゲートウェイ | |
US8571044B2 (en) | Gateway for data transfer between serial buses | |
CN101283548B (zh) | 在FlexRay通信组件和FlexRay用户之间的用户接口和用于通过这种接口传输消息的方法 | |
JP5231400B2 (ja) | マルチプロセッサ・ゲートウェイ | |
CN101278528A (zh) | 通信系统的用户和通信控制器以及用于在通信系统的用户中实现网关功能的方法 | |
US8019961B2 (en) | Method for storing messages in a message memory and message memory | |
US20090175290A1 (en) | Flexray communications module, flexray communications controller, and method for transmitting messages between a flexray communications link and a flexray participant | |
CN101228743A (zh) | FlexRay通信组件、FlexRay通信控制器和用于在FlexRay通信连接和FlexRay用户之间传输消息的方法 | |
RU175049U1 (ru) | УСТРОЙСТВО КОММУНИКАЦИОННЫХ ИНТЕРФЕЙСОВ SpaceWire |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20081008 |