CN115695067A - 用于车辆总线的通信方法和装置 - Google Patents
用于车辆总线的通信方法和装置 Download PDFInfo
- Publication number
- CN115695067A CN115695067A CN202110848528.4A CN202110848528A CN115695067A CN 115695067 A CN115695067 A CN 115695067A CN 202110848528 A CN202110848528 A CN 202110848528A CN 115695067 A CN115695067 A CN 115695067A
- Authority
- CN
- China
- Prior art keywords
- message
- data mapping
- checksum
- response
- bus
- 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
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本公开内容提出了一种用于车辆总线的通信方法。该方法包括:针对将在车辆总线上传输的每帧报文,从存储器中读取预先存储的一个或多个参数值;分别使用所读取的一个或多个参数值对每帧报文的报文属性进行配置;以及基于经配置的报文属性在车辆总线上进行通信。根据本公开内容,可以自动地配置报文属性,从而能够兼容报文属性值不同的车辆总线。特别地,无需再为不同主机厂/车辆型号定制不同的ECU。相反,同一个ECU可兼容不同主机厂/车辆型号,并能够满足不同主机厂/车辆型号的通信要求。这在很大程度上减轻了工程师的工作量,大幅减少了所需要的时间和精力,因而能够降低人力和经济成本。
Description
技术领域
本公开内容涉及车辆电子领域。更具体地,涉及一种用于车辆总线的通信方法、装置、计算设备、计算机可读存储介质和计算机程序产品。
背景技术
随着对机动车辆(如汽车、摩托车等)的控制逐步向自动化和智能化转变,在机动车辆中越来越多地使用总线技术来减少布线、提高通信效率。以汽车为例,目前通常使用以下四种总线进行各系统间的通信:局部互联网络(LIN)总线、控制器局域网络(CAN)总线、FlexRay总线和面向媒体的系统传输(MOST)总线。LIN总线是一种结构简单、配置灵活、成本低廉,用于汽车中分布式电子系统的新型低速串行总线。它由主机厂开发,专门应用于低端系统,作为CAN总线等高速总线的辅助网络或子网络。在带宽要求不高、功能简单、实时性要求低等场合,使用LIN总线可以有效地简化网络线束、降低成本,并提高网络通信效率和可靠性。
作为汽车的重要组成部分,天窗的使用可以使车内空气流通,提高采光和视野,增加乘员舒适度。通常,通过电子控制单元(ECU)对天窗电机进行控制,从而控制天窗的运行(如上翘、全部或部分打开、全部或部分关闭等)。天窗ECU作为LIN总线上的从节点,与汽车上的其它ECU(如车身控制器BCM)经由LIN总线进行通信。
为了实现汽车的各ECU在LIN总线上的通信,主机厂根据LIN总线规范,使用LIN描述文件(LDF)来为某个车型规定在LIN总线上传输的报文的报文属性的值(如每帧报文的受保护标识符(PID)、报文长度、校验和类型、信号数据排列等)。然而,不同主机厂/车辆型号规定的报文属性的值往往各不相同。因而,当为不同主机厂/车辆型号提供天窗ECU产品时,需要根据每个主机厂/车辆型号的LDF中所规定的报文属性的值定制不同的软件模块,来实现天窗ECU在LIN总线上的通信。图1示出了现有技术中不同主机厂/车辆型号对应于不同ECU软件模块的示意图。如图1中示出的,主机厂/车辆型号A、B和C分别与ECU软件模块a、b和c匹配。除了各自匹配的主机厂/车辆型号之外,ECU软件模块a、b和c无法与其它主机厂/车辆型号兼容。
发明内容
为每个主机厂/车辆型号定制不同的ECU的过程非常繁琐,需要工程师花费大量时间和精力来满足不同主机厂的LIN通信要求,从而使得人力和经济成本过高。另外,由于提供给每个主机厂/车辆型号的ECU都不同,因此导致管理成本也较为高昂。目前,没有可以兼容不同主机厂的LIN通信要求的ECU(尤其是软件模块)。
为此,根据本公开内容的一个方面,提出了一种用于车辆总线的通信方法。该方法包括:针对将在车辆总线上传输的每帧报文,从存储器中读取预先存储的一个或多个参数值;分别使用所读取的一个或多个参数值对每帧报文的报文属性进行配置;以及基于经配置的报文属性在车辆总线上进行通信。
根据本公开内容的第一方面,可以自动地配置报文属性,从而能够兼容报文属性值不同的车辆总线。特别地,无需再为不同主机厂/车辆型号定制不同的ECU。相反,同一个ECU可兼容不同主机厂/车辆型号,并能够满足不同主机厂/车辆型号的通信要求。这在很大程度上减轻了工程师的工作量,大幅减少了所需要的时间和精力,因而能够降低人力和经济成本。同时,由于ECU的通用性,在产品管理方面也显著降低了管理成本。
在依据本公开内容的一个实施例之中,车辆总线为LIN总线,报文属性包括受保护标识符、报文长度、校验和类型和收发方向。
在依据本公开内容的一个实施例之中,基于经配置的报文属性在车辆总线上进行通信进一步包括:经由LIN总线接收报头,报头中包括其所属报文的受保护标识符;基于经配置的报文属性对报头中的受保护标识符进行分析,以确定是否应答;当确定应答时,从存储器中读取预先存储的数据映射信息;以及基于数据映射信息进行应答。
在依据本公开内容的一个实施例之中,数据映射信息包括主机厂的标识信息和/或车辆型号的标识信息。
在依据本公开内容的一个实施例之中,应答包括接收或发送与报头对应的响应,该报头和响应共同组成报文。
在依据本公开内容的一个实施例之中,基于数据映射信息进行应答进一步包括:基于经配置的报文属性确定报文的校验和类型和报文长度;接收响应,响应中包括一个或多个信号数据以及报文的校验和;使用所确定的校验和类型和校验和对报文进行校验;当校验成功时,选择与数据映射信息对应的数据映射方式;以及根据所确定的报文长度和所选择的数据映射方式,对一个或多个信号数据进行解析。
在依据本公开内容的一个实施例之中,基于数据映射信息进行应答进一步包括:基于经配置的报文属性确定报文的校验和类型和报文长度;选择与数据映射信息对应的数据映射方式;根据所确定的报文长度和所选择的数据映射方式,将待发送的数据转换为一个或多个信号数据;使用所确定的校验和类型生成报文的校验和;以及将一个或多个信号数据以及校验和作为响应发送到LIN总线上。
在依据本公开内容的一个实施例之中,数据映射方式包括响应中每个信号数据的信号名称、起始字节、起始位、排列格式和信号长度。
本公开内容的第二方面提出了一种用于车辆总线的通信装置。该通信装置包括:参数值读取单元,该参数值读取单元被配置用于针对将在车辆总线上传输的每帧报文,从存储器中读取预先存储的一个或多个参数值;属性配置单元,该属性配置单元被配置用于分别使用所读取的一个或多个参数值对每帧报文的报文属性进行配置;以及总线通信单元,该总线通信单元被配置用于基于经配置的报文属性在车辆总线上进行通信。
根据本公开内容的第二方面,可以自动地配置报文属性,从而能够兼容报文属性值不同的车辆总线。特别地,无需再为不同主机厂/车辆型号定制不同的ECU。相反,同一个ECU可兼容不同主机厂/车辆型号,并能够满足不同主机厂/车辆型号的通信要求。这在很大程度上减轻了工程师的工作量,大幅减少了所需要的时间和精力,因而能够降低人力和经济成本。同时,由于ECU的通用性,在产品管理方面也显著降低了管理成本。
在依据本公开内容的一个实施例之中,车辆总线为LIN总线,报文属性包括受保护标识符、报文长度、校验和类型和收发方向。
在依据本公开内容的一个实施例之中,总线通信单元进一步包括:报头接收单元,该报头接收单元被配置用于经由LIN总线接收报头,报头中包括其所属报文的受保护标识符;应答确定单元,该应答确定单元被配置用于基于经配置的报文属性对报头中的受保护标识符进行分析,以确定是否应答;信息读取单元,信息读取单元被配置用于当确定应答时,从存储器中读取预先存储的数据映射信息;以及应答单元,应答单元被配置用于基于数据映射信息进行应答。
在依据本公开内容的一个实施例之中,数据映射信息包括主机厂的标识信息和/或车辆型号的标识信息。
在依据本公开内容的一个实施例之中,应答包括接收或发送与报头对应的响应,报头和响应共同组成报文。
在依据本公开内容的一个实施例之中,应答单元被进一步配置为:基于经配置的报文属性确定报文的校验和类型和报文长度;接收响应,响应中包括一个或多个信号数据以及报文的校验和;使用所确定的校验和类型和校验和对报文进行校验;当校验成功时,选择与数据映射信息对应的数据映射方式;以及根据所确定的报文长度和所选择的数据映射方式,对一个或多个信号数据进行解析。
在依据本公开内容的一个实施例之中,应答单元被进一步配置为:基于经配置的报文属性确定报文的校验和类型和报文长度;选择与数据映射信息对应的数据映射方式;根据所确定的报文长度和所选择的数据映射方式,将待发送的数据转换为一个或多个信号数据;使用所确定的校验和类型生成报文的校验和;以及将一个或多个信号数据以及校验和作为响应发送到LIN总线上。
在依据本公开内容的一个实施例之中,数据映射方式包括响应中每个信号数据的信号名称、起始字节、起始位、排列格式和信号长度。
本公开内容的第三方面提出了一种计算设备,该计算设备包括:处理器;以及存储器,其用于存储计算机可执行指令,当计算机可执行指令被执行时使得处理器执行第一方面中的方法。
本公开内容的第四方面提出了一种计算机可读存储介质,该计算机可读存储介质具有存储在其上的计算机可执行指令,计算机可执行指令用于执行第一方面中的方法。
本公开内容的第五方面提出了一种计算机程序产品,该计算机程序产品被有形地存储在计算机可读存储介质上,并且包括计算机可执行指令,该计算机可执行指令在被执行时使至少一个处理器执行第一方面中的方法。
附图说明
结合附图并参考以下详细说明,本公开内容的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开内容的若干实施例,在附图中:
图1示出了现有技术中不同主机厂/车辆型号对应于不同ECU软件模块的示意图;
图2示出了LIN报文的结构示意图;
图3示出了根据本公开内容的一个实施例的用于车辆总线的通信方法的流程图;
图4示出了图3的实施例中步骤33的若干子步骤;
图5示出了图4的实施例中步骤333的若干子步骤;
图6示出了图4的实施例中步骤333的另外的若干子步骤;
图7示出了图4的实施例中在不同数据映射方式下信号数据的布局示意图;
图8示出了不同主机厂/车辆型号对应于同一ECU软件模块的示意图;
图9示出了根据本公开内容的一个实施例的用于车辆总线的通信装置的示意方框图;以及
图10示出了根据本公开内容的一个实施例的用于车辆总线的计算设备的示意方框图。
具体实施方式
以下参考附图详细描述本公开内容的各个示例性实施例。虽然以下所描述的示例性方法、装置包括在其它组件当中的硬件上执行的软件和/或固件,但是应当注意,这些示例仅仅是说明性的,而不应看作是限制性的。例如,考虑在硬件中独占地、在软件中独占地、或在硬件和软件的任何组合中可以实施任何或所有硬件、软件和固件组件。因此,虽然以下已经描述了示例性的方法和装置,但是本领域的技术人员应容易理解,所提供的示例并不用于限制用于实现这些方法和装置的方式。
此外,附图中的流程图和框图示出了根据本公开内容的各个实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
本文所使用的术语“包括”、“包含”及类似术语是开放性的术语,即“包括/包含但不限于”,表示还可以包括其他内容。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”等等。
本公开内容中的术语“车辆”是指任何类型的机动车辆,包括但不限于电动、油动、混动汽车和摩托车。
本公开内容中的术语“车辆总线”是指在机动车辆中用于实现车辆的各系统间通信的总线。
本公开内容中的术语“报文属性”是指在车辆总线上传输的报文的通用属性。每帧报文都具有这些通用属性,而这些属性的值可能不同。以LIN报文为例,在LIN描述文件(LDF)中规定了每帧报文的报文属性的值。
本公开内容中的术语“LIN总线”是指局部互联网络总线。它是针对汽车分布式电子系统而定义的一种低成本的串行通讯网络,是对控制器区域网络(CAN)等其它汽车多路网络的一种补充,适用于对网络的带宽、性能或容错功能没有过高要求的应用。
为了更好地理解本发明,下面首先介绍LIN报文的结构。图2示出了LIN报文的结构示意图。参考图2,在LIN总线上传输的一帧报文包括报头和响应两个部分。一个LIN总线网络包含一个主节点和一个或多个从节点。在LIN总线通信中,主节点决定在LIN总线上传送哪一帧,即实现总线调度表切换,生成每帧LIN报文的报头并以广播方式发送到LIN总线上。主节点或从节点生成每帧LIN报文的响应并发送到LIN总线上。如图2中示出的,报头包括同步间隔段、同步段和受保护标识符(PID)段,响应包括数据段和校验和段。同步间隔段用于标志一帧报文的开始,同步段用于调整从节点由于不采用高精度的时钟而带来的偏差。受保护标识符段共八位(二进制表示),前六位为帧ID,后两位为奇偶校验码。帧ID标识了帧的类别和目的地。每帧报文可以携带一个或多个信号数据,这些信号数据包括在数据段中,总共可以具有1-8个字节。通常在LDF中规定每帧报文中每个信号数据的信号名称、排列格式(低位在前或高位在前)、起始字节、起始位、信号长度、数据类型、精度、偏移量、物理最小值、物理最大值、总线最小值、总线最大值、初始值、无效值、非使能值、单位等。校验和段用于对该帧报文传输的内容进行校验。校验和类型包括标准型校验和增强型校验。通常在LDF中规定该帧报文的校验和类型。标准型校验的校验对象为数据段中的各信号数据,而增强型校验的校验对象为数据段中的各信号数据和受保护标识符两者。另外,取决于主机厂特定的总线通信设计和具体需要,主节点执行帧的调度。也就是说,根据总线调度表,可以重复传输具有相同的受保护标识符(即相同帧ID)的报文,而报文中的信号数据和校验和的值可能不同。
现在参考图3,图3示出了根据本公开内容的一个实施例的用于车辆总线的通信方法的流程图。
在通信方法300中,步骤31包括针对将在车辆总线上传输的每帧报文,从存储器中读取预先存储的一个或多个参数值。以天窗ECU为例来具体阐述该步骤。本领域技术人员应当理解,天窗ECU的硬件部分以单片机为核心,通常包括输入信号调理电路、单片机、输出驱动电路、通讯与诊断电路等几个部分。当启动天窗ECU(即通电)时,首先针对每帧报文,从单片机的存储器中读取预先存储的一个或多个参数值。可以从LDF中提取这些参数值(即报文属性的值)并以查找表的形式存储在存储器中。查找表包括报文属性的类别和对应的参数值。在其它实施例中,也可以以其它形式存储参数值。当天窗ECU应用于不同主机厂/车辆型号时,从存储器中所读取的参数值也不同。可以预先在存储器中存储用于单个或多个主机厂/车辆型号的参数值。若预先在存储器中存储用于多个主机厂/车辆型号的参数值,则需根据主机厂/车辆型号的标识信息从存储器中读取与该标识信息对应的参数值。在本实施例中,存储器为电可擦可编程只读存储器(EEPROM)。
在本实施例中,车辆总线为LIN总线。相应地,报文属性包括受保护标识符(PID)、报文长度、校验和类型和收发方向。受保护标识符(前六位为帧ID,后两位为奇偶校验码)标识了帧的类别(如无条件帧和诊断帧)、目的地以及帧ID校验值。报文长度标识了该帧报文的数据段的字节数(在1-8个字节之间)。校验和类型标识了报文的校验和类型为标准型校验还是增强型校验。收发方向标识了需要接收该报文的响应还是发送该报文的响应。
之后,步骤32包括分别使用所读取的一个或多个参数值对每帧报文的报文属性进行配置。以逐帧报文的方式使用所读取的参数值配置每帧报文的报文属性。如前所述,对于不同主机厂/车辆型号,根据其通信要求预先在存储器中存储不同的参数值,因此使用这些参数值配置报文属性能满足不同主机厂的通信要求。在步骤33中,根据经配置的报文属性在车辆总线上进行通信。在为每帧报文分别配置报文属性之后,天窗ECU在接入对应主机厂/车辆型号的LIN总线时便可在该LIN总线上收发报文。本领域技术人员应当理解,尽管在本实施例中以天窗ECU为例描述了通信方法,但上述通信方法并不仅限于在天窗ECU中执行,也不限于LIN总线。上述通信方法可在其它在LIN总线上通信的ECU中执行,也可应用于其它车辆总线(如CAN总线)。
接下来以LIN总线为例,参考图4-图6具体描述收发报文的过程。图4示出了图3的实施例中步骤33的若干子步骤。
首先,步骤330包括经由LIN总线接收报头,报头中包括其所属报文的受保护标识符。如前所述,天窗ECU在LIN总线网络中作为从节点参与LIN总线上的通信。主节点根据调度表发送每帧报文的报头,其依次包括同步间隔段、同步段和受保护标识符段。接着,在步骤331中,基于经配置的报文属性对报头中的受保护标识符进行分析,以确定是否应答。具体地,在接收到受保护标识符之后,先使用奇偶校验码对帧ID进行校验。在校验成功之后,根据与该受保护标识符对应的收发方向来判断是否对该报头进行应答。也就是说,判断接收与该报头对应的响应、发送与该报头对应的响应,还是不进行应答。
之后,在步骤332中,当确定应答时,从存储器中读取预先存储的数据映射信息。数据映射信息用于确定数据映射方式。在本实施例中,数据映射方式包括响应中每个信号数据的信号名称、起始字节、起始位、排列格式和信号长度。根据不同的通信设计和实际需要,与天窗ECU交互的信号也不相同。例如,某个主机厂/车辆型号需要车辆速度达到某个阈值时自动关闭天窗,则需要周期性地将车辆速度发送给天窗ECU。又例如,某个主机厂/车辆型号需要在环境温度达到某个阈值时自动开启天窗,则需要周期性地将环境温度发送给天窗ECU。因此,对于不同的主机厂/车辆型号,预先存储在存储器中的数据映射信息和每帧报文的数据映射方式均不相同。在本实施例中,存储器为电可擦可编程只读存储器(EEPROM),数据映射信息包括主机厂的标识信息和/或车辆型号的标识信息。
接下来,在步骤333中,基于数据映射信息进行应答。在该步骤中,根据数据映射信息确定数据映射方式,并使用所确定的数据映射方式来解析或构建响应中的数据段各字节。在不同的数据映射方式下,数据段中的信号数据所表示的信号含义和数值也不同。图7示出了不同数据映射方式的示意图。如图7中示出的,(a)和(b)分别表示在两种不同的数据映射方式下信号数据的布局。从图中可以看到,该示例中,数据段总共具有8个字节(Byte0-Byte 7),共64位。在(a)中体现了三个信号数据的布局。第一个信号数据的起始字节为Byte 0,起始位为Bit 0,长度为4位,第二个信号数据的起始字节为Byte 1,起始位为Bit1,长度也为4位,第三个信号数据的起始字节为Byte 3,起始位为Bit 0,长度为16位。在(b)中同样体现了三个信号数据的布局。第一个信号数据的起始字节为Byte 0,起始位为Bit0,长度为8位,第二个信号数据的起始字节为Byte 2,起始位为Bit 4,长度为4位,第三个信号数据的起始字节为Byte 6,起始位为Bit 4,长度也为4位。在(a)和(b)中未使用的字节和/或位全部为0。
图5示出了图4的实施例中步骤333的若干子步骤,即解析响应中的数据段各字节的过程。
首先,步骤3330包括基于经配置的报文属性确定报文的校验和类型和报文长度。如前所述,根据特定主机厂/车辆型号的通信要求,每帧报文都具有其特定的受保护标识符、校验和类型和报文长度。因此,根据经配置的报文属性,能够确定与接收到的受保护标识符对应的校验和类型和报文长度。之后,在步骤3331中,接收响应,响应中包括一个或多个信号数据以及报文的校验和。可以理解,该响应是LIN总线上的主节点或其它从节点发送的。在接收响应中的数据段时,利用所确定的报文长度判断其是否已被完整地接收。在步骤3332中,使用所确定的校验和类型和校验和对报文进行校验。校验和类型包括标准型和增强型。当校验和类型为标准型时,校验对象为响应中的数据段各字节。当校验和类型为增强型时,校验对象为受保护标识符和数据段各字节。校验方法包括对校验对象作带进位二进制加法,将最终的和与接收到的校验和作加法。如果结果为255(或十六进制0xFF),则表示校验成功,否则表示校验失败。
接下来,步骤3333包括当校验成功时,选择与数据映射信息对应的数据映射方式。也就是说,在该步骤中选择特定于主机厂/车辆型号的数据映射方式。在本实施例中,数据映射方式包括响应中每个信号数据的信号名称、起始字节、起始位、排列格式和信号长度。在确定了数据映射方式最后,在步骤3334中,根据所确定的报文长度和所选择的数据映射方式,对一个或多个信号数据进行解析。也就是说,根据报文长度和数据映射方式对数据段中各信号数据的布局进行映射,从而确定数据段中各信号数据所表示的信号及其数值。之后,便可以将解析后的信号数据与预设的精度相乘后加上偏移量,从而转换为信号物理值(如环境温度、车辆速度等),并提供给应用功能,以例如生成控制信号来对天窗电机进行控制。可以理解,图5中各步骤的顺序并非必须按照图5所示的顺序来执行。例如,步骤3330和步骤3331的顺序可以互换。
图6示出了图4的实施例中步骤333的另外的若干子步骤,即构建响应中的数据段各字节的过程。
首先,步骤3335包括基于经配置的报文属性确定报文的校验和类型和报文长度。接下来,在步骤3336中,选择与数据映射信息对应的数据映射方式,即特定于主机厂/车辆型号的数据映射方式。在本实施例中,数据映射方式同样包括响应中每个信号数据的信号名称、起始字节、起始位、排列格式和信号长度。在步骤3337中,根据所确定的报文长度和所选择的数据映射方式,将待发送的数据转换为一个或多个信号数据。待发送的数据可以是从传感器接收到的一个或多个信号物理值(如天窗电机的关闭/开启速度、天窗状态等)。按照每个信号数据在数据段中的起始字节、起始位、排列格式、信号长度以及报文长度,利用预设的精度和偏移量将从传感器接收到的信号物理值转换为将在LIN总线上传输的信号数据。
之后,在步骤3338中,使用所确定的校验和类型生成报文的校验和。同样地,当校验和类型为标准型时,校验对象为所生成的信号数据,当校验和类型为增强型时,校验对象为受保护标识符和信号数据两者。校验方法包括将校验对象的各字节作带进位二进制加法,并将最终的和逐位取反,以该结果作为要发送的校验和。最后,在步骤3339中,将一个或多个信号数据以及校验和作为响应发送到LIN总线上。这样,接入LIN总线的主节点和其它从节点便可以接收该报文,并根据报头中包括的受保护标识符判断是否接收响应并执行下一步操作。可以理解,图6中各步骤的顺序并非必须按照图6所示的顺序来执行。例如,步骤3335和步骤3336的顺序可以互换。
在其它实施例中,报文属性还可以包括每帧报文的数据映射方式,包括信号数据的信号名称、排列格式、起始字节、起始位、信号长度等。这样,在ECU启动时便从存储器中直接读取特定于主机厂/车辆型号的所有报文信息,而无需在LIN总线上通信时再选择数据映射方式。
根据上述实施例,可以自动地配置报文属性,从而能够兼容报文属性值不同的车辆总线。特别地,无需再为不同主机厂/车辆型号定制不同的ECU。相反,同一个ECU可兼容不同主机厂/车辆型号,并能够满足不同主机厂/车辆型号的通信要求。这在很大程度上减轻了工程师的工作量,大幅减少了所需要的时间和精力,因而能够降低人力和经济成本。同时,由于ECU的通用性,在产品管理方面也显著降低了管理成本。
图9示出了根据本公开内容的一个实施例的用于车辆总线的通信装置的示意方框图。图9中的各单元可以利用软件、硬件(例如集成电路、FPGA等)或者软硬件结合的方式来实现。参照图9,装置900包括参数值读取单元901、属性配置单元902和总线通信单元903。参数值读取单元901被配置用于针对将在车辆总线上传输的每帧报文,从存储器中读取预先存储的一个或多个参数值。属性配置单元902被配置用于分别使用所读取的一个或多个参数值对每帧报文的报文属性进行配置。总线通信单元903被配置用于基于经配置的报文属性在车辆总线上进行通信。
可选地,在依据本公开内容的一个实施例之中,车辆总线为LIN总线,报文属性包括受保护标识符、报文长度、校验和类型和收发方向。
可选地,在依据本公开内容的一个实施例之中,总线通信单元903进一步包括报头接收单元、应答确定单元、信息读取单元以及应答单元(图9中未示出)。报头接收单元被配置用于经由LIN总线接收报头,报头中包括其所属报文的受保护标识符。应答确定单元被配置用于基于经配置的报文属性对报头中的受保护标识符进行分析,以确定是否应答。信息读取单元被配置用于当确定应答时,从存储器中读取预先存储的数据映射信息。应答单元被配置用于基于数据映射信息进行应答。
可选地,在依据本公开内容的一个实施例之中,数据映射信息包括主机厂的标识信息和/或车辆型号的标识信息。
可选地,在依据本公开内容的一个实施例之中,应答包括接收或发送与报头对应的响应,报头和响应共同组成报文。
可选地,在依据本公开内容的一个实施例之中,应答单元被进一步配置为:基于经配置的报文属性确定报文的校验和类型和报文长度;接收响应,响应中包括一个或多个信号数据以及报文的校验和;使用所确定的校验和类型和校验和对报文进行校验;当校验成功时,选择与数据映射信息对应的数据映射方式;以及根据所确定的报文长度和所选择的数据映射方式,对一个或多个信号数据进行解析。
可选地,在依据本公开内容的一个实施例之中,应答单元被进一步配置为:基于经配置的报文属性确定报文的校验和类型和报文长度;选择与数据映射信息对应的数据映射方式;根据所确定的报文长度和所选择的数据映射方式,将待发送的数据转换为一个或多个信号数据;使用所确定的校验和类型生成报文的校验和;以及将一个或多个信号数据以及校验和作为响应发送到LIN总线上。
可选地,在依据本公开内容的一个实施例之中,数据映射方式包括响应中每个信号数据的信号名称、起始字节、起始位、排列格式和信号长度。
图10示出了根据本公开内容的一个实施例的用于车辆总线的计算设备的示意方框图。应当理解,计算设备1000可以被实现为实现图3中的用于车辆总线的通信方法300的功能。从图10中可以看出,计算设备1000包括中央处理单元(CPU)1001(例如处理器),其可以根据存储在只读存储器(ROM)1002中的计算机程序指令或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序指令,来执行各种适当的动作和处理。在RAM 1003中,还可存储该计算设备1000操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
计算设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006、输出单元1007、存储单元1008、以及通信单元1009。通信单元1009允许该计算设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各种方法,例如用于车辆总线的通信方法300可由CPU 1001执行。例如,在一些实施例中,用于车辆总线的通信方法300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到计算设备1000上。当计算机程序被加载到RAM 1003并由处理器CPU 1001执行时,可以执行上文描述的用于车辆总线的通信方法300中的一个或多个动作或步骤。
因此,在另一个实施例中,本公开内容提出了一种计算机可读存储介质,该计算机可读存储介质具有存储在其上的计算机可执行指令,计算机可执行指令用于执行本公开内容的各个实施例中的用于车辆总线的通信方法。
在另一个实施例中,本公开内容提出了一种计算机程序产品,该计算机程序产品被有形地存储在计算机可读存储介质上,并且包括计算机可执行指令,该计算机可执行指令在被执行时使至少一个处理器执行本公开内容的各个实施例中的用于车辆总线的通信方法。
根据上述实施例,可以自动地配置报文属性,从而能够兼容报文属性值不同的车辆总线。特别地,无需再为不同主机厂/车辆型号定制不同的ECU。相反,同一个ECU可兼容不同主机厂/车辆型号,并能够满足不同主机厂/车辆型号的通信要求。这在很大程度上减轻了工程师的工作量,大幅减少了所需要的时间和精力,因而能够降低人力和经济成本。同时,由于ECU的通用性,在产品管理方面也显著降低了管理成本。
用于执行本公开内容的各个方面的计算机可读程序指令或者计算机程序产品也能够存储在云端,在需要调用时,用户能够通过移动互联网、固网或者其他网络访问存储在云端上的用于执行本公开内容的一方面的计算机可读程序指令,从而实施依据本公开内容的各个方面所公开的技术方案。
一般而言,本公开内容的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开内容的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
虽然上面描述了本公开内容的各种示例实施例可以在硬件或专用电路中实现,但是上述计算设备既可以以硬件的形式来实现,也可以通过软件的形式来实现,这是因为:在20世纪90年代,一个技术改进能够很容易地对该改进属于硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是属于软件上的改进(例如对于方法流程的改进)。然而,随着技术的持续发展,如今的很多方法流程的改进几乎都能够通过将改进的方法流程编程到硬件电路中来实现,换句话说,通过对于硬件电路编程不同的程序从而得到相应的硬件电路结构,即实现了硬件电路结构的改变,故这样的方法流程的改进也可以被视为硬件电路结构的直接改进。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device:PLD)(例如现场可编程门阵列(FieldProgrammable Gate Array:FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片可编程逻辑器件上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compi1er)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language:HDL),而HDL也并非仅有—种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(AlteraHardware Description Language)、Confluence、CUPL(Cornell University ProgrammingLanguage)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
虽然已经参考若干具体实施例描述了本公开内容的实施例,但是应当理解,本公开内容的实施例并不限于所公开内容的具体实施例。本公开内容的实施例旨在涵盖在所附权利要求的精神和范围内所包括的各种修改和等同布置。权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
Claims (19)
1.一种用于车辆总线的通信方法,其特征在于,所述通信方法包括:
针对将在所述车辆总线上传输的每帧报文,从存储器中读取预先存储的一个或多个参数值;
分别使用所读取的所述一个或多个参数值对所述每帧报文的报文属性进行配置;以及
基于经配置的报文属性在所述车辆总线上进行通信。
2.根据权利要求1所述的方法,其特征在于,所述车辆总线为LIN总线,所述报文属性包括受保护标识符、报文长度、校验和类型和收发方向。
3.根据权利要求2所述的方法,其特征在于,基于经配置的报文属性在所述车辆总线上进行通信进一步包括:
经由所述LIN总线接收报头,所述报头中包括其所属报文的受保护标识符;
基于所述经配置的报文属性对所述报头中的受保护标识符进行分析,以确定是否应答;
当确定应答时,从所述存储器中读取预先存储的数据映射信息;以及
基于所述数据映射信息进行应答。
4.根据权利要求3所述的方法,其特征在于,所述数据映射信息包括主机厂的标识信息和/或车辆型号的标识信息。
5.根据权利要求3所述的方法,其特征在于,所述应答包括接收或发送与所述报头对应的响应,所述报头和所述响应共同组成所述报文。
6.根据权利要求5所述的方法,其特征在于,基于所述数据映射信息进行应答进一步包括:
基于所述经配置的报文属性确定所述报文的校验和类型和报文长度;
接收所述响应,所述响应中包括一个或多个信号数据以及所述报文的校验和;
使用所确定的校验和类型和所述校验和对所述报文进行校验;
当校验成功时,选择与所述数据映射信息对应的数据映射方式;以及
根据所确定的报文长度和所选择的数据映射方式,对所述一个或多个信号数据进行解析。
7.根据权利要求5所述的方法,其特征在于,基于所述数据映射信息进行应答进一步包括:
基于所述经配置的报文属性确定所述报文的校验和类型和报文长度;
选择与所述数据映射信息对应的数据映射方式;
根据所确定的报文长度和所选择的数据映射方式,将待发送的数据转换为一个或多个信号数据;
使用所确定的校验和类型生成所述报文的校验和;以及
将所述一个或多个信号数据以及所述校验和作为所述响应发送到所述LIN总线上。
8.根据权利要求6或7所述的方法,其特征在于,所述数据映射方式包括所述响应中每个信号数据的信号名称、起始字节、起始位、排列格式和信号长度。
9.一种用于车辆总线的通信装置,其特征在于,所述通信装置包括:
参数值读取单元,所述参数值读取单元被配置用于针对将在所述车辆总线上传输的每帧报文,从存储器中读取预先存储的一个或多个参数值;
属性配置单元,所述属性配置单元被配置用于分别使用所读取的所述一个或多个参数值对所述每帧报文的报文属性进行配置;以及
总线通信单元,所述总线通信单元被配置用于基于经配置的报文属性在所述车辆总线上进行通信。
10.根据权利要求9所述的装置,其特征在于,所述车辆总线为LIN总线,所述报文属性包括受保护标识符、报文长度、校验和类型和收发方向。
11.根据权利要求10所述的装置,其特征在于,所述总线通信单元进一步包括:
报头接收单元,所述报头接收单元被配置用于经由所述LIN总线接收报头,所述报头中包括其所属报文的受保护标识符;
应答确定单元,所述应答确定单元被配置用于基于经配置的报文属性对所述报头中的受保护标识符进行分析,以确定是否应答;
信息读取单元,所述信息读取单元被配置用于当确定应答时,从所述存储器中读取预先存储的数据映射信息;以及
应答单元,所述应答单元被配置用于基于所述数据映射信息进行应答。
12.根据权利要求11所述的装置,其特征在于,所述数据映射信息包括主机厂的标识信息和/或车辆型号的标识信息。
13.根据权利要求11所述的装置,其特征在于,所述应答包括接收或发送与所述报头对应的响应,所述报头和所述响应共同组成所述报文。
14.根据权利要求13所述的装置,其特征在于,所述应答单元被进一步配置为:
基于所述经配置的报文属性确定所述报文的校验和类型和报文长度;
接收所述响应,所述响应中包括一个或多个信号数据以及所述报文的校验和;
使用所确定的校验和类型和所述校验和对所述报文进行校验;
当校验成功时,选择与所述数据映射信息对应的数据映射方式;以及
根据所确定的报文长度和所选择的数据映射方式,对所述一个或多个信号数据进行解析。
15.根据权利要求13所述的装置,其特征在于,所述应答单元被进一步配置为:
基于所述经配置的报文属性确定所述报文的校验和类型和报文长度;
选择与所述数据映射信息对应的数据映射方式;
根据所确定的报文长度和所选择的数据映射方式,将待发送的数据转换为一个或多个信号数据;
使用所确定的校验和类型生成所述报文的校验和;以及
将所述一个或多个信号数据以及所述校验和作为所述响应发送到所述LIN总线上。
16.根据权利要求14或15所述的装置,其特征在于,所述数据映射方式包括所述响应中每个信号数据的信号名称、起始字节、起始位、排列格式和信号长度。
17.计算设备,其特征在于,所述计算设备包括:
处理器;以及
存储器,其用于存储计算机可执行指令,当所述计算机可执行指令被执行时使得所述处理器执行根据权利要求1-8中任一项所述的方法。
18.一种有形的计算机可读存储介质,其特征在于,所述计算机可读存储介质具有存储在其上的计算机可执行指令,所述计算机可执行指令用于执行根据权利要求1-8中任一项所述的方法。
19.一种计算机程序产品,其特征在于,所述计算机程序产品被有形地存储在计算机可读存储介质上,并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110848528.4A CN115695067A (zh) | 2021-07-27 | 2021-07-27 | 用于车辆总线的通信方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110848528.4A CN115695067A (zh) | 2021-07-27 | 2021-07-27 | 用于车辆总线的通信方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115695067A true CN115695067A (zh) | 2023-02-03 |
Family
ID=85058657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110848528.4A Pending CN115695067A (zh) | 2021-07-27 | 2021-07-27 | 用于车辆总线的通信方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115695067A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117319224A (zh) * | 2023-10-15 | 2023-12-29 | 上海同星智能科技有限公司 | 汽车总线虚拟通道的实现方法及实现系统 |
-
2021
- 2021-07-27 CN CN202110848528.4A patent/CN115695067A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117319224A (zh) * | 2023-10-15 | 2023-12-29 | 上海同星智能科技有限公司 | 汽车总线虚拟通道的实现方法及实现系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10756930B2 (en) | Gateway device, vehicle network system, transfer method, and non-transitory computer-readable recording medium storing program | |
CN109240970B (zh) | 经串行通信总线传输数据的方法、总线接口和计算机程序 | |
CN105388858B (zh) | 网络中通信节点的操作方法 | |
US11256498B2 (en) | Node, a vehicle, an integrated circuit and method for updating at least one rule in a controller area network | |
US10594587B2 (en) | Operation method of communication node for diagnosing vehicle network | |
Talbot et al. | Comparision of fieldbus systems can, ttcan, flexray and lin in passenger vehicles | |
CN112075063B (zh) | 用于车辆中的数据通信的网关 | |
Cummings et al. | Exploring use of Ethernet for in-vehicle control applications: AFDX, TTEthernet, EtherCAT, and AVB | |
US20180103121A1 (en) | Operation method of communication node for selective wake-up in vehicle network | |
EP2573672B1 (en) | System and method for generating a slot table entry address for a communications device | |
US7548551B2 (en) | System and method of optimizing the bandwidth of a time triggered communication protocol with homogeneous slot sizes | |
KR20130099813A (ko) | 하나 이상의 장치의 동작 상태 전환 방법 | |
CN115695067A (zh) | 用于车辆总线的通信方法和装置 | |
CN101106438A (zh) | 通信网络系统和错误验证方法 | |
CN114073042A (zh) | 用于串行总线系统的用户站的发送/接收装置和通信控制装置以及用于在串行总线系统中通信的方法 | |
CN114978796A (zh) | 用于运行通信系统的方法、通信系统和计算系统 | |
US7283488B2 (en) | J1850 application specific integrated circuit (ASIC) and messaging technique | |
KR20140061043A (ko) | 차량용 lin 통신 시스템 및 이 시스템에서 슬레이브 모듈의 동작 방법 | |
US11337184B2 (en) | Method and apparatus for transmitting and receiving data stream performed in vehicle network | |
US20190305983A1 (en) | Method and apparatus for configuring backup path in vehicle network | |
US9118651B2 (en) | Control unit for in-vehicle ethernet and method for controlling thereof | |
Seo et al. | Development of network gateway between CAN and FlexRay protocols for ECU embedded systems | |
Marscholik et al. | Road Vehicles: Diagnostic Communication: Technology and Applications | |
Vrachkov et al. | Real time diagnostics in the automotive industry over the internet | |
US20240089142A1 (en) | Vehicle-mounted apparatus and a method for relaying |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |