用于分布式控制系统的高速嵌入协议的利记博彩app

文档序号:9383397阅读:403来源:国知局
用于分布式控制系统的高速嵌入协议的利记博彩app
【专利说明】用于分布式控制系统的高速嵌入协议
[0001]相关申请
[0002]本申请是2013年3月15日提交的申请号为13/833238的美国申请的部分继续申请,其内容在此通过引用包含,尽管完全重写。
技术领域
[0003]本发明涉及电子通信,更具体地涉及一种用于控制网络的高速协议。
【背景技术】
[0004]电子设备通过各种各样的方式相互通信,通常基于给定的上下文的要求。一种这样的上下文是控制系统上下文。不像简单的通信系统,其中系统只允许通过该系统通信的设备之间进行通信,控制系统以明确控制在控制系统上连接以通信的模块为目的而通信。这样的系统允许其他应用运行在各种模块上。然而,分布式嵌入控制系统中的那些应用,应协调工作。
[0005]提供分组控制,大多数分布式嵌入式控制系统是建立在一个通信协议标准上,例如包括CAN(IS0 11898)、SERCOS, FlexRay, EtherCAT,有时甚至与其他系统之间使用Ethernet。高层协议被嵌入在通信标准之上,以提供参与控制系统的的电子控制单元的应用之间数据交换的规则、时序规则、顺序规则以及类似的辅助交换信息的分布式应用之间的通信的规则。CANopen、DeviceNet、SDS、J1939以及NMEA 2000只是几个协议的例子,这些协议分层在CAN标准之上。甚至使用元协议(meta protocols),像CanKingdom,通过它可以为特定的分布式嵌入式控制系统,构建和优化更高层的协议。
[0006]每个协议标准都有自己的长处和短处。理想的通信有无限的带宽、没有延迟以及完整的数据完整性。可用的通信可选方案是费用不同于理想方案且必须找到的折中方案。例如,以太网具有大的带宽,但由于它的消息冲突处理具有不好的时效性。CAN具有高效的冲突解决方案,但具有低的带宽,无同步支持。SERCOS快速,但所有节点必须支持系统中要求最高的节点的通信要求。因此,当设计分布式嵌入控制系统时一大困难,是选择基本的通信系统,以满足给定系统的需要。另一个复杂化的因素是系统的不同部分通常有不同的需要。一些部分可能涉及高级反馈回路,高级反馈回路要求精确的时间同步和短的延时,而其他部分可能根本不是时间关键的,而是取决于事件的正确顺序。在另一个实例中,一个系统可能在运行时条件下使用低的带宽工作良好,但在维护模式下重新刷新(re-flashing)模块需要高的带宽。此外,行业需要大量的开发与分析工具以及精通所选择的通信协议找到正确折中方案的工程师。应用给定的技术以利用协议的好的特性并极小化它的缺点的方式,典型地需要基于所选择的协议以及相关工具、在设计和维护分布式嵌入式控制系统方面的长时间的实际工作经验。
[0007]在CAN系统的实例中,开发了 CANFD协议,尝试解决CAN议的数据带宽的限制。然而,该系统不是与以前的基于CAN的模块向下兼容的。因此,使用CANFD协议的模块不能被安装到具有基于CAN的模块的控制网络,实现与那些模块的通信。另一个缺点是,CANFD协议是基于模块的寻找一个给定的时间点,这就要求模块具有高度精确的时钟和处理器。具体来说,CAN-FD要求相对于一个边沿结合采样点的位置,从第一比特率切换到第二比特率。该解决方案要求从边沿到采样点以及第一比特率定义的采样点的共同的位置的时间段上的稳定的时钟。获得采样点的精确定义,限制了用于运行CAN-FD控制器的可能的时钟频率。此外,尽管通过以前的基于CAN的系统,速度被提高,最大消息长度仍然限制到64字节,这样的系统对于系统设计者来说缺乏灵活性。
[0008]此外,对于基于CAN的控制系统的当前用户,CANFD可能呈现一些实现挑战。在另一个实例中,汽车工业使用基于CAN的模块,用于车辆中各种部件之间通信。考虑到汽车业务的性质,简单改变车辆系统中的一个模块是非常昂贵的。鉴于面临CANFD模块与CAN模块集成的挑战,引入一个CANFD模块,迫使汽车制造商要么将给定的车辆中的每一个模块改变为CANFD(吸收许多倍的设计、制造以及测试每一个新模块的成本),要么分割车辆的通信总线为两根:一根运行CAN,另一根运行CANFD。因此,需要一项技术,允许随着时间推移将CANFD模块逐渐引入到,例如汽车行业中,预先建立的基于CAN的系统,以降低CANFD模块可能面临的进入壁皇。

【发明内容】

[0009]一般而言,根据这些不同的实施例,第二协议以一种方式嵌入到第一协议中,这种方式下支持第二协议的模块可能会意识到并使用的第一协议,而只支持第一协议的模块可能没有意识到第二协议。使用第二协议的模块的操作,不打扰未配置使用或理解第二协议的模块的操作。通过一种方法,使用第二协议发送的消息将被视为使用第一协议发送但没有必要理解的消息或视为需要特定响应。在另一种方法中,使用第二协议的模块可以被配置以在第一协议消息的传输期间由另一个模块发送消息,第二协议消息被触发在第一协议下发送的消息的预期方面。
[0010]在一个具体的实例中,第一协议可能是CAN协议,第二协议是将位嵌入到CAN协议的部分的协议。例如,CAN协议的位通常包括几个位份额,CAN协议操作是通过在特定的部分或单个位份额寻找特定的信号电平。通过一种方法,因此,第二协议可以在CAN信息包中包括发送附加信息,通过使用在定义的位份额以外的CAN信息包的传播段位的位份额。
[0011]第二协议信息被嵌入,这样第二次协议中的位的下降沿不会干扰只理解第一或CAN协议的模块的正常操作。这一点可以做到,例如,通过实现使用第一与第二协议的模块同步于消息包的一部分。使用这种方法,可以允许使用第二协议模块使用第一协议消息的消息控制,其携带第二协议消息以控制第二协议消息,从而增加了用单个第二协议消息发送的数据量。
[0012]这些教导是可扩展的,使得单个常见控制网络上的多个模块,可以在第一协议内使用多个不同类型的嵌入的协议。此外,使用第二协议的模块可以被安装到使用更老的模块的控制网络中,所述更老的模块被配置为只使用第一协议,因而在升级现有控制网络允许显著灵活性。
[0013]在汽车业的实施例中可以设想这样的好处。这里,新模块可以配置以使用CAN标准,如本文所述的第二协议,以及CANFD协议来操作。这样的模块可以被引入其他稳定的基于CAN通信总线,并通过使用第二协议的提高通信速度。随着时间的推移,所有的老的CAN模块被替换之后,这些模块可以使用CANFD协议进行通信,以提供一致、高速的通信环境。以这种方式,采纳使用CANFD协议的模块可以立即进行,而没有随之而来关于将CANFD模块合并入具有旧的CAN模块的通信总线的担忧。
[0014]这些和其他益处在对以下详细描述进行彻底的审阅和研究,可能变得更清晰。
【附图说明】
[0015]图1包括根据本发明的各种实施例配置的控制网络实例的框图;
[0016]图2包括CAN消息的示意图;
[0017]图3包括实例CAN时间份额的示意图;
[0018]图4包括实例CAN位的示意图;
[0019]图5包括根据本发明的各种实施例配置的,第二协议消息嵌入第一协议消息的部分,这里是CAN消息的传播段部分,的实施例的示意图,;
[0020]图6包括根据本发明的各种实施例配置的,第二协议消息嵌入第一协议基于CAN的消息的部分的另一个实施例的示意图;
[0021]图7包括根据本发明的各种实施例配置的,第二协议消息嵌入第一协议基于CAN的消息的部分的实施例的示意图,其传播段部分设置为显性;
[0022]图8包括根据本发明的各种实施例配置的,模块如何操作的实施例的示意图,其在第一协议基于CAN消息的一部分中使用第二协议消息,解释接收的具有信号失真的消息;
[0023]图9包括根据本发明的各种实施例配置的,第二模块如何操作实施例的示意图,其在第一协议基于CAN消息的一部分中使用第二协议消息的,解释图8的接收的具有不同的信号失真的消息;
[0024]图10包括根据本发明的各种实施例配置的,控制网络实例的框图;
[0025]图11包括根据本发明的各种实施例配置的,从一个模块发送的实例消息与被第二模块感知的消息的比较图;
[0026]图12包括根据本发明的各种实施例配置的,从一个模块发送的实例消息与第二模块以第二协议发送消息的比较图,第二模块发送消息以响应实例消息的接收,;
[0027]图13包括根据本发明的各种实施例配置的,从一个模块发送的实例消息与第二模块以第二协议发送消息的比较图,第二模块发送消息以响应实例消息的接收,;
[0028]图14包括根据本发明的各种实施例配置的,具有星形拓扑的控制网络实例的框图;
[0029]图15包括根据本发明的各种实施例配置的,通信设备实例的框图;
[0030]图16包括根据本发明的各种实施例配置的,几个发送的消息实例的原理图。
[0031]本领域技术人员将理解,图中的部件为简化和清楚被绘制,并且不一定按比例绘制。例如,一些图中的部件的尺寸和/或相关位置,相对于其他部件可能被夸大,有助于改善对本发明各种实施例的理解。另外,常见但公知的部件,该部件是有用的或在商业上可行的实施例中必要的,常常不被描述,以便不妨碍对各种实施例的观察。将进一步理解的是,某些动作和/或步骤可以被描述或描绘为以特定的顺序发生,而本领域的技术人员将理解,这样的关于顺序的特异性与实际上并不需要。还应当理解的是,这里所使用的术语与表达具有通常的技术含义,与如上所述的本领域技术人员理解的术语与表达相符,除非文中给出了不同的特定含义。
【具体实施方式】
[0032]现在参见附图,尤其是参见图1,将呈现一个与许多这些教导是兼容的说明性的系统。在图1中,控制网络1000示出了在总线1005上通信的各种设备,但这些教导可以适用于具有各种拓扑结构的任何一种的控制网络。通信设备装置1010可以被认为是控制网络1000的一个模块或节点,包括一个配置为按照控制网络的拓扑结构连接到控制网络1000的通信端口 1012。通信设备装置1010还包括一个处理设备1014,可操作地连接到控制网络1000,以通过通信端口 1012在控制网络1000上控制接收和发送通信。本领域技术人员会认识到并理解,这样的处理器可以包括一个固定的目的、硬连线的平台,或者可以包括部分或全部可编程的平台。所有这些架构选择都是本领域众所周知的,在这里不需要进一步描述。
[0033]通过一种方法,处理设备1014被配置为:在控制网络1000上根据第一协议传输消息包的过程中,传递第二消息,该第二消息使用第二协议被嵌入在消息包中。例如,处理设备1014被进一步配置为:为第一与第二协议,基于至少消息包的一部分,实现在控制网络1000上与第二通信设备1020、1030、1040、1050、1050和/或1060同步。在另一种方法中,处理设备1014支持第一与第二协议,使用这两种协议与通信设备1020和1050通信,通信设备1020和1050也支持第一和第二协议,而通信设备1030,1040与1060仅支持第一协议。本实施例中,按照第二协议的消息中的任何信息,将被仅运行第一协议且被其定义的通信设备1030、1040和1060解释为噪声,并被被忽略。
[0034]一个将第二协议消息嵌入第一协议消息的实施例,参照图2-10,在基于CAN的系统的上下文中进行说明。控制器局域网络(CAN)标准(国际标准组织(ISO) 11898)是一种常用的协议,用于分布式嵌入式控制系统,尽管这些一般性教导也可以被应用于其它协议。
[0035]在该实现中,支持CAN协议ISO 11898的模块,可以与在同一总线上支持第二协议的模块共存,通过放弃利用CAN的一个或多个特征。图2示出了 CAN的一些主要特征。CAN设计为总线拓扑结构,使用两个电压等级工作,无电压101,表示值“一”,电压102表示值“零”。这种布置意味着零比一显性;换句话说,如果第一发射机发送一个一,同时第二发射机发送一个零,那么只能检测到零。空闲的总线可以看作一个一的连续的流。消息103以一个零比特位开始,帧起始(SOF) 104,随后是十一位(标准)或29位(扩展)的标识符105,加上2个协议位(共31位)以及远程传输请求(RTR)位106。SOF与标识符消息部分构成仲裁域107,通过逐位仲裁解决总线冲突。从消息的其余部分108直到应答位(ACK) 109,总线上只有一个传送装置,由于其他传送装置被控制为不活跃以响应这些初始消息部分。特别是,在消息的仲裁部分之后,以RTR结束,只有一个传送装置将发送,而其他所有的通信单元将只按该协议接收位。消息的剩余部分108,以具有两个显性位的控制域110开始,一个四位数据长度代码(DLC) 111表示随后的数据域112的长度,它可以不包含任何数据(DLC=O)或多达八字节(DLC = 8)。换句话说,标准的CAN消息的数据域112可以从O到64位长。到目前为止,消息通过一个放在第十六位的CRC域113的15位CRC码检查,其中最后一位是CRC定界符114。ACK域115包括ACK位109,隐性位、ACK定界符116紧随其后。消息103的其余部分是包含七个连续隐性位的帧结束(EOF)域117。三个隐性位,间歇118,必须在总线空闲用于新消息之前传送。
[0036]根据CAN规范(ISO 11898-1),一位构成时间份额。参考图3,标准的CAN消息的单个位份额被描述为:时间份额130,它是源于发送器/接收器的时钟的振荡器周期131的固定时间单位。时间周期131可能可选择地来自于一个单独的振荡器或时钟。可编程的、具有整数值的预分频器,范围至少从一至三十二,以定义时间份额为给定数量的最小时间份额。因此,从最小的时间份额开始,时间份额将具有长度:
[0037]时间份额=m*最小时间份额,
[0038]其中m为预分频器的值。
[0039]在操作中,因此,另一实例CAN位132,如图4所示,构成单个时间份额。第一时间份额是同步段133,随后是传播段134,其包括一个或多达至少八个时间份额。传播段被定义为一段时间,以确保一个信号波可以从发送器传播到总线的远端并返回,这也对应于控制网络上的最远的模块接收该信息并响应所需的时间量。因此,传播段长度被设置为允许CAN协议的位仲裁方面工作。CAN位132的最后部分包括相位段,相位段I 135和相位段2136。相位段是对称的,每个具有一个或多达至少八个时间份额长。相位段占用系统中的不同节点之间的时间偏移。CAN位应是从4个到至少25个时间份额可编程。
[0040]CAN系统的所有时钟假定为不同步。当S0F104被发送时,每个模块的时钟被同步到下降沿140,并且每一个模块统为传播段与相位段I指定的时间份额的数目。例如,接收的下降沿的模块的内部时钟,可在该内部时钟的精度范围内确定预期采样点的时序,即通过了解位在内部时钟中的定义,模块可以计算采样点相对于内部时钟的位置。在CAN中,典型地通过时间份额单位做到这一点,每个时间份额是若干本地时钟元素(local clockelement)。信号的电压在采样点141被测量。如果该电压仍然存在,模块决定一 SOF检测被检测,随后的电压变换(voltage shift)根据CAN规范被解码。如果在采样点141没有电压,下降沿被视为毛刺,并被忽略。该特征可以被看作是一个低通滤波器,滤除总线上的扰动,例如,由于波反射。这样的特征使得CAN在不良的布线安装中可靠与宽容。
[0041]在某些通信系统中,电压边沿可以辐射高频,从而引起电磁兼容性(EMC)问题。为了减少这种问题,CAN规定位的不归零(NRZ)解码,换句话说,值相同的连续位不产生任何边沿,相反,这些位由推算(dead reckoning)解码。各个模块的时钟仅被重新同步到下降沿,定义为从隐性(I)位到显性(0)位的过渡。CAN具有位填充规则:相同值的五个连续位序列之后,应插入相反值的填充位,以确保重新同步会发生。因此,在正常情况下至少十位后,一个重新同步会发生。CAN规范要求采样点在至少13位的相位段内。
[0042]关于CAN更详细的信息,可以查阅ISO标准1898,以及文章“CAN位时序的配置”(The Configurat1n of the CAN Bit Timing),作者弗洛里安?哈特维希(FlorianHartwig)、阿明.巴斯默(Armin Bassemir)(罗伯特.博世有限公司,Abt.K8/EIS),在第六届国际CAN会议上提出,11月2至4日,都灵(意大利),由自动化中的CAN(CiA)出版,Numberg,德国,该材料通过引用其全部包含在本文中。
[0043]转到图5带宽问题的一个解决方案的实例,是修改第一协议,这里为CAN协议,在标准CAN信息的部分中嵌入第二高速协议。在这种方法中,一个控制网络模块的处理设备可以被配置以控制第二协议使用比第一协议的比特率更高的比特率,例如,控制第二协议使用比所述第一协议的比特率高整数倍的比特率。或者,第二协议的比特率也可以是比第一协议的比特率高非整数倍的比特率。例如,第一协议可以具有100位/秒的比特率,并且第二协议可以具有从400位/秒至6兆位/秒的任何比特率。比特率将是(在每一个第一协议位中的第二协议位的数量)/((传播段时间长度)X利用率)位/秒。第二协议的比特率仅受在第二协议控制逻辑中的时钟分辨率限制。在每个时间份额中位的数量可以是,例如每3个时间份额20个。在任何情况下,结果是,处理设备被配置以实现第二协议,通过在第一协议的单个位份额内增加位。换言之,一个CAN消息包可以由具有多个位份额的位定义,CAN消息包的数据由在一个位的定义的位份额处的信号电平定义,其中定义的位份额小于一个位的所有位份额。例如,一个标准CAN位使用定义的位份额,定义的位份额包括各个位的第一位份额与各个位的采样点位份额,其中第一位份额是一个同步段位。该样本点典型地是位的相位段I与相位段2之间的部分,如图4所示。剩余的未定义位份额可用于第二协议。因此,在一个实施例中,为嵌入第二协议,处理设备被配置以在CAN消息包内发送的附加信息,使用定义的位份额以外的CAN消息包的传播位的位份额,由使用标准CAN消息协议的节点检查。
[0044]在图5的实施例中,第二个协议消息被嵌入到CAN位的传播段中,CAN位在CAN消息中在在CAN消息的仲裁域后被发送。传播段仅在CAN消息的仲裁部分在节点之间交换期间使用。多于一个模块可以同时在仲裁期间传输,这可能会导致位时序波动或者位时序识别问题,这些问题由不同的模块在大约相同的时间通信引起,从而产生冲突,由仲裁来解决;和/或由一个或多个模块中的不良的时钟引起。仲裁周期之后,只有一个模块发送,总线上的位时序反映发送方的振荡器。如此配置,第二消息可以被嵌入这样的CAN位的传播段的时间份额中,而不考虑给控制网络上冲突噪声的损耗。另外,没有配置为以第二协议接收消息的模块,将不在这样的位的传播段期间寻找信号变化,这样,消息的该部分中的信号变化将不会不利地影响这样的模块。因此,处理设备被配置为以实现第二协议,通过在第一协议的单个位份额内增加位,根据第一协议测量为非特定电平。
[0045]更具体地,图5示出了一个实例CAN位,具有八个时间份额的传播段205,与两个各有一个时间份额的相位段203和204。该位以同步段202开始,其中任何电压变换201在这段时间内完成。位时间上的电压电平是由实线206表示。支持第二协议的模块,使用用于嵌入的高速位流的传播段,通过采样每个时间份额的电压值,并按照CAN规则解码该值,其中检测到的电压被解码为零,而无电压为一。只支持原有的CAN协议的模块将下降沿201解码为不同步或重新同步边沿,并忽略随后的电压变化。在采样点207电压电平是显性的,CAN模块将位正确地解码为零。支持第二协议的模块,解
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1