如何解决FlexRaydw1000时钟漂移是多少同步的同向漂移

  BMW车上在 2006 年已开始应用FlexRay,各大电子器件生产厂开始了批量生产FlexRay控制器。现在业界正处于争取FlexRay技术早日成熟的阶段,在系统设计、测试、标定等方面开始了大量投入。因此,任何涉及FlexRay协议的基础性问题的研究就格外重要,一旦有新的未发现的隐患披露,无疑会引起大的波动。
  FlexRay是基于时间触发的协议,节点间的时间同步是它的关键,参考文献[5]是2.1版规范直接引用的主要原始资料的2009年修订版,其主要内容是有与校正时误差的静态传递分析,求出可以达到的最坏或最好状态下的簇内时钟差的精度。参考文献[5]指出了5种计算时的误差来源:采样的量化误差、微拍非均匀分布误差、传递延迟误差、整除误差和簇漂阻尼误差。由于时钟校正实际上是一个反馈控制问题,但以前的研究没有采用反馈控制的分析方法,没有考虑同步帧发送节点间的交互影响,以及传递延迟误差作为系统性误差的长期存在,得到的结论并不全面,这是本文要重点讨论的问题:由于系统性误差的持续存在,节点的会单向漂移,与ho ST 的时钟越离越远,造成新的失误。参考文献[6]用软件仿真FlexRay时钟频率跳变或缓变时校正算法的有效性,它证实算法是收敛的,簇内时钟差校正后的精度与频率漂移率无关,跳变时有一个过渡过程,瞬态差可能超过精度范围。参考文献[7]分析了有拜占庭错时FlexRay容错中值相位校正算法的收敛性,非常有趣的是在推导过程中也得到了校正后cycle开始时间真值Us随延迟补偿不足而推迟的公式,它表明每校正一次存在的差,但是这种漂移并未受到FlexRay重视。参考文献[8]是对容错中值算法正确性的形式化证明,该算法就是FlexRay采用的算法,在分析每轮修正后的虚拟时钟与真实时钟差时,存在±ε的漂移,其中ε是传送延迟。这也证实了本文分析的问题早已存在,而FlexRay未对该问题的后果有所警觉。
  1& FlexRay时钟的概念
  FlexRay的时间单位是从大到小分级的:通信Cycle、通信宏拍(Macrotk,MT)和微拍(Microtick)。每一个节点中的
,经过之后,产生一个本地的微拍时钟单位,它与位采样数及位采样时钟有关,所以节点中最小的时间单位是位采样时钟周期。各个节点可以有不同的微拍,簇内共同的时间单位是MT,每个节点组态时定义正常时每MT内本地微拍的个数。本地MT的生成有专门的逻辑,在每一本地微拍时执行一次,以实现本地MT的修正,以保证MT尽量全局一致,并且可以保证频率的校正均匀分布在整个cycle中。
  2& FlexRay收发的同步
  在收发过程中还有字节的位同步和帧开始同步来解决可能的抖动与延迟,它们极大地缓解了时钟同步的精度要求。
  在以字节为单位的帧数据传送时,每个字节的开头有由“10”构成的字节开始序列(BSS),这个1/0跳变沿是位时间同步用的:发现跳变沿后位采样 计数器 就设为2,当位采样计数器=5时,zVo te dVal的值就作为当时的位值。位采样计数器为9后溢出复位为1。显然,若因收发有时钟差,而要在下一个BSS的1处采错,需要差4个位采样时钟周期时才会发生。也就是说,时钟差5%才会发生。
  FlexRay的同步帧是在静态段中传送的,一个时隙(slot)内实际上有很多空闲时间。首先,每个帧是在称为acti ON
point offset处(gtionPointOffset)开始发送,这是一个全局参数。帧开始是“0”表示的传送开始序列TSS,经过1位“1”的帧开始序列FSS,再是第一个字节开始序列BSS,它由“10”二位组成。接收节点要正确检测到第一个字节开始序列BSS的1/0跳变沿才作帧接收的同步。帧的最后是“01”构成的帧结束序列FES,然后 发送器 被禁止了。发送器禁止后30 ns总线处于高阻状态。在帧传送结束后发送节点要有长度为11位的通道空闲分界符(hannelIdelimiter,实际上总线高阻时,经50~250 ns接收节点会发现总线空闲,然后输出RxD=“1”。然后总线一直在空闲状态。由于FlexRay的物理连接有可能通过有源星型 耦合器 ,在总线空闲到总线上传送0有一个启动过程,再加总线上位置不同的传送延迟差别、 收发器 的延迟,发送节点的TSS长度会与接收节点的长度不同,接收节点看到的TSS会比发送节点的TSS短,称为TSS截短。只要接收节点看到的TSS在1~(gdT SST ransmitter + 1)之间,TSS就是有效的。所以gdActionPointOffset之前,总线也是空闲的。因此,若节点时钟差不使总线上的传送提前使gdActionPointOffset前的空闲消失,或落后使cChannelIdleDelimiter后的空闲消失,就不会产生2个发送帧的重叠而影响正常收发。
图1& 求取相位差的时间关系
  3& FlexRay时钟校正方法
  帧的gdActionPointOffset是全局参数,但是由于TSS截短的影响,同步帧接收节点见到的TSS的1/0跳变沿的时间与接收节点ActionPointOffset时间之差并不是节点的时钟差,所以它用第一个BSS中的1/0跳变沿来倒推发送节点ActionPointOffset,如图1所示。倒推是该时刻减去常数pDecodingCorrection和pDelayCompensation得到发送节点TSS的开始时刻。PDecodingCorrection内含有TSS、FSS、BSS、总线延迟和位采样延迟各项。pDelayCompensation内含有收发器延迟、星型耦合器延迟和 电缆 长度的传输延迟。pDelayCompensation的数值取簇中的最小者。由此倒推出的发送节点的动作点称为primaryTRP,发送和接收的节的动作点的时间偏差就被记录下来。
  接收节点对每一个同步帧都加记录,该同步帧接收是否正确也记录在案。只有接收正确的偏差才能用于校正计算之中。
  FlexRay有相位与频率的校正,为了频率校正,需要连续2个cycle的同一同步节点所发的帧的偏差,所以校正是以2个cycle为周期进行的。频率校正的计算结果在每个奇数cycle内完成,下一个cycle开始生效,在MT形成过程中实行,因此是均匀分布的。相位校正在奇数cycle的末尾完成,在该cycle的网络空闲段实行。
  4& FlexRay算法的问题
图2& 同步节点位置分布举例
  时钟偏差推算是造成飘移的原因。图2中有4个同步帧发送节点1~4,各相距8 m,节点5是普通非同步帧发送节点。按规定,pDelayCompensation是一个预定的常数,该按最小值选取,对图2的情况,就是节点5和节点2间的延迟,即接近为0。这样,对实际发生的延迟是补偿不足的。不足部分可写为:
  节点间的延迟,按每米10 ns计,最大距离为24 m,那么此补偿不足量有0.24 μs。
  在图1中,假定同步帧在cycle的第一个static slot,对static slot的开始时间有一个标准的参考点,发送节点和接收节点各有相位差TT(0)和TR(0),此时接收节点得到的偏差将含有延迟补偿不足的部分:
  由于距离不同,接收节点得到的URT也是不同的。
  FlexRay规定,发同步帧的节点在属于自己的slot上的相位误差登记为0。假定节点间原来已处于接近同步的情况,对节点1而言,e11=0最小,e14最大,按算法它们将被丢弃,于是校正量将按(e12+ e13)/2计算:
  当节点初始相位比参考节点2、3的平均相位早时,应该推迟本节点下一cycle的开始,实现负反馈。就应有T1(1)= T1(0)-Corr1。为了分析问题的需要,假定只作一部分校正,即:
  其中系数c≤1,对FlexRay而言c=1。于是有:
  推而广之,将各节点的相位差写为向量,可以得到状态方程:
  对T1而言,系数a11=1-c,a12= c/2,a13= c/2,a14=0,B=-c,U1=120 ns。对节点2而言,它丢弃最大的e24和最小的e22,U2=80 ns。类似可确定其他节点的系数。所以矩阵A有:
  同时有B=-c和U=[120ns 80ns 80ns 120ns]T(6)
  对A求取特征根得到:λ1=1,λ2= 1-c,λ3=λ4=1-1.5c。
  然而在FlexRay中URT是一个系统性偏差,并不因一次校正而消失,因此按(4)式工作时时钟差会不断移动。当U不变时有:
  令(7)式中的第二项为S,则有:
  (8)式右边各项均为有限值,而因为A的特征根有λ1=1,(I-A)是不可求逆的,所以S将含有不定值,所以随着n的增加, T(n+1)是不断漂移的。
  5& 漂移对系统的影响
  漂移使通信时钟离标准时钟越来越远,通信时钟初始相位的负值代表它比标准时间延迟(如图1所示)。在延迟超过1个cycle时就会使上次写入的帧还未发出就被覆盖。以cycle=5 ms、100次校正漂9.3 μs计,53763次校正会漂1个cycle,这就是说,8.96 min会产生一次丢帧。由于节点都是同步的,每个slot都会发生丢帧,如果每个cycle有91个静态slot,那么意味着每8.96 min丢失91个帧--平均每6 s丢一帧。而且,如果host时钟是偏快方向漂移,那么丢帧的频度还要增大。
  补偿过头时URT为负值,通信时钟将比标准时间提前。这种情况一般不会发生,因为规定选延迟的最小值作pDelayCompensation。但是这里又出现了host时钟的漂移问题:所有同步帧的内容是由host写入的,host必须在相应slot的开始前使同步帧的内容就绪。最坏情况是原来host在slot开始前写入,漂移超过了gdActionPointOffset就会产生同步帧未写入的情况。FlexRay的帧头部有一位标志 null
frame . inator,当帧内容未更新时,这一位自动设为0,同步帧还是发出去,所以并不影响同步帧的个数。
  6& 频率校正中的问题
  频率校正时采用了连续2个cycle的同一同步节点的相位差,将这两个相位差的差作原始数据,用类似算法计算校正量,然后按死区与限幅的方法实施校正。在同一同步节点的相位差的减法中,系统性偏差URT互相抵消,因此不引起频率的漂移。但是,在接收节点测取BSS的跳变沿时存在误差的可能性(如图1所示),BSS的跳变沿的误差直接影响到倒推ActionPointOffset的位置,从而进入eRT:
  式中Uglitch为毛刺造成的误差,奇数cycle和偶数cycle的Uglitch可能是不同幅值和符号的。BSS的跳变沿是在经滤波后的zVotedVal上采取的,毛刺长度小于3个位采样周期时被滤掉,大于3个位采样周期时就可以见到。毛刺的存在位置有如下几种可能:
  ① “0“毛刺在TSS之前,真正TSS的跳变沿被解读为BSS中的跳变沿。此时读到的相位差较大,但是后续BSS以及其它的帧检查会发现此帧有接收错。
  ② “1“毛刺在TSS之中,毛刺的1/0跳变沿被解读为BSS中的跳变沿。此时读到的相位差比上述情况小,同样可检查出有错。
  ③ “0“毛刺使BSS内的跳变沿提前,或“1“毛刺使BSS内的跳变沿推后,当提前或推后的量较大时,后续BSS以及其它的帧检查会发现此帧有接收错。
  ④ 毛刺使BSS跳变沿变化量小于0.5位时,后续BSS以及其他的帧检查不会发现此帧有接收错,所以此帧会被用于时钟同步。
  一个接收节点在同一cycle里受到毛刺干扰而造成有几个同步帧受影响是可能的。此时尽管有最大最小频率差的丢弃,毛刺造成的误差仍可能要进入校正量的计算。
  易于导出频率校正的状态方程,它与(4)式的形式类似。因此FlexRay的频率校正可使簇内的频率趋于一致,但是仍有频率相对于标准值漂移的可能性,此漂移的方向是不定的,受毛刺出现的情况而变。
  参考文献[6]进行了FlexRay的频率校正的软件仿真试验,对节点频率作阶跃变化、斜坡变化的试验结果是令人满意的。但是它并未考虑过毛刺影响。
  7& 时变传递矩阵的漂移
  如(5)式所示的传递矩阵还有非常多的形式,由于FlexRay在选取作校正计算时要用丢弃排序后的最大最小二个误差,实际采用的同步节点的可能性组合很多。例如对4个同步节点的簇,对每个同步节点(矩阵A的一行)将有6种可能的系数,整个簇的传递矩阵A将有64= 1296 种可能。对矩阵A求特征根时可以发现它们都有λ=1的临界稳定的特征根:实际上每行系数的和都等于1,在用行列式求特征根时就可以将λ-1提出来。而由于FlexRay在每次排序后选中的同步节点可能不同,传递矩阵是时变的,那么是否还有漂移呢?为此按照算法作了含有排序的程序,这是相位校正的算法(不含频率校正的非线性部分)。
  8.结语
  FlexRay采用分布式时钟的本意是强化对抗失效的能力:有F个同步帧发送节点失效时,只要同步帧发送节点为3F+1个,簇内的时钟仍是正确同步的,因此可以保证簇内的正常通信服务。但是根据本文的动态分析,时钟相位会由于延迟补偿误差而漂移,与真实时钟有频差。这种延迟补偿误差是无法消除的,而已有频率校正方法无法发现通信时钟对真实时间的频差,因此通信时钟会与host的时钟越离越远,导致发送帧被新帧覆盖,或者时隙到达时消息尚未就绪。这些漂移引起的出错发生频率是相当高的。
  由于毛刺引起的频率漂移可以用死区算法克制,但是其他各种毛刺的情况会使有效的同步帧数目减少,使容错中值算法的鲁棒性下降。按容许F个错需要3F+1个同步帧计算,同时有2个错对4个同步节点的簇就不能保证同步精度了。
  对应用而言,丢帧或时序的错误会引起很坏的后果,如工作的逻辑连锁条件破坏。例如速度下降应在前,换档工作应在后,由于速度下降信号丢失,降速后换档的要求未满足会形成自动变速器的冲击,造成和寿命下降,又如停止加油后再刹车的要求未满足,会延长刹车距离,危及安全。对于传送的消息是模拟量时,丢帧或延迟的后果只是暂时的,对传送的是逻辑变量,丢帧或延迟会造成逻辑的错误。这种时钟上的错误会同时影响FlexRay的2个通道,因此也影响了FlexRay对抗故障的能力。
&&&&&往下看有更多相关资料
本网站试开通微、小企业商家广告业务;维修点推荐项目。收费实惠有效果!欢迎在QQ或邮箱联系!
试试再找找您想看的资料
资料搜索:
查看相关资料 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
copyright & &广电电器(中国梧州) -all right reserved& 若您有什么意见或建议请mail: & &
地址: 电话:(86)774-2826670& & &&)FlexRay通信组件制造技术
用于在一个FlexRay网络中FlexRay通信线路(101)与一个分配给FlexRay通信组件的用户(102)耦合的FlexRay通信组件(100),通过该FlexRay网络传输信息,其中FlexRay通信组件(100)包含如下组成部分:用于存储至少一部分传输信息的第一装置(105),和用于把第一装置(105)与用户(102)进行连接的第二装置(104),以及用于把FlexRay通信线路(101)与第一装置(105)进行连接的第三装置(103)。
微信扫一扫分享本专利技术到微信朋友圈,让更多的人了解这个技术。
技术实现步骤摘要
【国外来华专利技术】本专利技术涉及一个在FlexRay网络中用于把FlexRay通信线路与一个分配给的用户进行耦合的,通过该FlexRay网络传输信息。 技术介绍控制设备、传感器和激励器借助于通信系统和总线系统、也就是通信线路的网状连接近几年在新式汽车的结构中或在机器制造、特别是在机床领域而且也在自动化领域内迅速增长。对此可以达到通过把功能分给多个控制设备的协同作用。这就是说这里所谈论的是分布系统。越来越多地通过总线系统、也就是通信系统进行在不同站之间的通信。通过相应的协议调解在总线系统、存取和接收装置上的通信联络。对此已知的协议是FlexRay协议,其中目前基于FlexRay协议规范v2.0。FlexRay是一个快速的、决定性的并且容错的总线系统,特别适合在汽车中使用。FlexRay协议按照时分多址(TDMA)方式工作,其中给各个组成部分、也就是用户或者要传输的信息分配固定的时隙,在该时隙内用户独家访问通信线路。对此在一个固定周期内重复该时隙,从而可以准确地预测这个时刻、在该时刻经过总线传输信息、并且确定地实现总线访问。为了最佳地使用在总线系统上信息传输的带宽,FlexRay把周期划分为静态部分和动态部分。对此固定的时隙处在总线周期开始的静态部分内。在动态部分中动态地安排时隙。其中分别仅仅对于较短时间、所谓的微小时间段进行独家的总线访问。如果仅仅在一个微小时间段内部进行总线访问,则把时隙延长所需的时间。如果其实际也需要该带宽,则因此仅仅消耗其实际需要的带宽。对此FlexRay通过两个具有各最大10Mbyte/s的数据传输率的...【详细说明在详细技术资料中】
技术保护点
用于在一个FlexRay网络中把FlexRay通信线路(101)与一个分配给FlexRay通信组件的用户(102)进行耦合的FlexRay通信组件(100),通过该FlexRay网络传输信息,其特征在于,所述FlexRay通信组件(100)包含如下组成部分:-用于存储至少一部分传输信息的第一装置(105),和-用于把第一装置(105)与用户(102)进行连接的第二装置(104),以及-用于把FlexRay通信线路(101)与第一装置(105)进行连接的
第三装置(103)。
技术保护范围摘要
【国外来华专利技术】DE
.3的特征中得出另外的优点和有益的设计方案。附图说明根据下面的附图详细阐述本发明。
其中图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的功能,仅仅涉及影子存...
专利技术属性
发明(设计)人:,,,
申请(专利权)人:,
专利类型:发明
国别省市:DE[德国]
专利技术项目评估
对专利感兴趣?请拨打022-(工作日)(24小时)咨询
相关技术资料
vue父子组件通信专利,vue组件通信专利,vue非父子组件通信专利,vue兄弟组件通信专利,vue组件之间的通信
上一篇:下一篇:}

我要回帖

更多关于 linux 时钟同步 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信