CN115408167A - 实现lin通信的系统和方法 - Google Patents

实现lin通信的系统和方法 Download PDF

Info

Publication number
CN115408167A
CN115408167A CN202110592509.XA CN202110592509A CN115408167A CN 115408167 A CN115408167 A CN 115408167A CN 202110592509 A CN202110592509 A CN 202110592509A CN 115408167 A CN115408167 A CN 115408167A
Authority
CN
China
Prior art keywords
frame
module
data
slave node
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
Application number
CN202110592509.XA
Other languages
English (en)
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Sanhua Automotive Components Co Ltd
Original Assignee
Zhejiang Sanhua Automotive Components Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Sanhua Automotive Components Co Ltd filed Critical Zhejiang Sanhua Automotive Components Co Ltd
Priority to CN202110592509.XA priority Critical patent/CN115408167A/zh
Publication of CN115408167A publication Critical patent/CN115408167A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Abstract

本申请涉及一种实现LIN通信的系统和方法,该实现LIN通信的系统包括主节点、从节点,以及连接主节点和从节点的总线,从节点包括第一从节点系统,主节点包括主节点系统,通过采用面向对象的方法,主节点系统包括第二从节点系统和通信发起模块,其中,第一从节点系统和第二从节点系统的模块架构一致,且均包括至少一个数据传输模块,其中,通信发起模块用于发送帧头或帧至数据传输模块;数据传输模块用于将通信发起模块发送的帧头或帧发送至总线上,以及从总线上接收帧头或帧,解决了实现LIN通信存在软件代码灵活性差,故障率高的问题,有利于提高软件代码运行时的灵活性,从而降低代码运行时的故障率。

Description

实现LIN通信的系统和方法
技术领域
本申请涉及通信技术领域,特别是涉及一种实现LIN通信的系统和方法。
背景技术
在软件上实现内部互联网络(local interconnect networks,简称LIN)通信包括以下三种方法:
第一种,购买商业化工具软件,得到项目授权,程序员对商业化工具软件进行数据配置,自动生成与指定的单片机相对应的商业化软件代码,程序员将商业化软件代码嵌入到自主研发的代码中,并用规定的方法使用和调试商业化软件代码,实现LIN通信;
第二种,购买商业化软件代码,得到项目授权后,为了使商业化软件代码能够应用在其他项目中,程序员将商业化软件代码移植到非指定的单片机上,使商业化软件代码能够与非指定的单片机绑定,并对商业化软件代码进行修改,使得修改后的商业化软件代码能够适应非指定的单片机;
第三种,程序员按照自己对LIN规范协议栈的理解,为各项目定制编写实现LIN通信的软件代码。
在相关技术中,以上三种实现LIN通信的方法的共同缺点是,均采用面向过程的编程方法实现LIN规范协议栈,编程时分析出解决问题所需要的步骤,把这些步骤一步一步实现,程序在运行时会按照预先编写好的步骤进行处理,因此,面向过程的方法是实现静态流程的,软件代码的灵活性差,程序执行时必须按预先设计好的步骤进行处理,在该系统需要调整流程的情况下,程序需要修改繁多的步骤,容易出现问题,从而造成系统故障。
针对相关技术中,实现LIN通信存在软件代码灵活性差,故障率高的问题,尚未提出有效的解决方案。
发明内容
本发明的目的在于提供一种实现LIN通信的系统和方法,有利于提高软件代码运行时的灵活性,从而降低代码运行时的故障率。
为实现上述目的,本发明采用如下技术方案:
一种实现LIN通信的系统,所述系统包括主节点、从节点,以及连接所述主节点和所述从节点的总线,所述从节点包括第一从节点系统,所述主节点包括主节点系统,所述主节点系统包括第二从节点系统和通信发起模块,其中,所述第一从节点系统和所述第二从节点系统的模块架构一致,且均包括至少一个数据传输模块;
所述通信发起模块用于管理一张或多张调度表,并根据所述调度表或者根据获取到的指令,发送帧头或帧至所述数据传输模块,其中,所述调度表包括所述帧头或帧的发送规则,所述指令携带所述调度表的调整规则;
所述数据传输模块用于将所述通信发起模块发送的所述帧头或帧发送至所述总线上,以及从所述总线上接收所述帧头或帧。
本发明还公开一种实现LIN通信的方法,所述方法应用于实现LIN通信的系统,所述系统包括主节点、从节点,以及连接所述主节点和所述从节点的总线,所述从节点包括第一从节点系统,所述主节点包括主节点系统,所述方法包括,采用面向对象的方法,所述主节点系统包括第二从节点系统和通信发起模块,所述第一从节点系统和所述第二从节点系统的模块架构一致,且均包括至少一个数据传输模块,其中:
所述通信发起模块用于管理一张或多张调度表,并根据所述调度表或者根据获取到的指令,发送帧头或帧至所述数据传输模块,其中,所述调度表包括所述帧头或帧的发送规则,所述指令携带一张或多张所述调度表间的切换规则;
所述数据传输模块用于将所述通信发起模块发送的所述帧头或帧发送至所述总线上,以及从所述总线上接收所述帧头或帧。
本申请中从节点包括第一从节点系统,主节点包括主节点系统,通过采用面向对象的方法,主节点系统包括第二从节点系统和通信发起模块,其中,第一从节点系统和第二从节点系统的模块架构一致,且均包括至少一个数据传输模块;通信发起模块用于管理一张或多张调度表,并根据调度表或者根据获取到的指令,发送帧头或帧至数据传输模块,其中,调度表包括帧头或帧的发送规则,指令携带调度表的调整规则;数据传输模块用于将通信发起模块发送的帧头或帧发送至总线上,以及从总线上接收帧头或帧,解决了实现LIN通信存在软件代码灵活性差,故障率高的问题,有利于提高软件代码运行时的灵活性,从而降低代码运行时的故障率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的实现LIN通信的系统的示意图;
图2是根据本申请第一实施例的节点内部示意图;
图3是根据本申请第一实施例的数据传输模块内部示意图;
图4是根据本申请第二实施例的节点内部示意图;
图5是根据本申请第三实施例的节点内部示意图;
图6是根据本申请第四实施例的节点内部示意图;
图7是根据本申请第五实施例的节点内部示意图;
图8是根据本申请实施例的系统间数据通信的示意图;
图9是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请提供了一种实现LIN通信的系统,该系统可以应用于车身网络中,图1是根据本申请实施例的实现LIN通信的系统的示意图,如图1所示,该实现LIN通信的系统10包括主节点11、从节点12和总线13,该系统采用单线制,即该系统通过一根总线13连接一个主节点11和一个或多个从节点12;其中,主节点11可以是接入到上层网络的电子控制单元(Electronic Control Unit,简称ECU),从节点12可以是开关、显示器、传感器和执行器等简单控制设备,例如,从节点12可以是使用LIN通信的水阀、泵、电子膨胀阀(ElectronicExpansion Valve,简称EEV/EXV)等控制设备;该实现LIN通信的系统10采用串行通讯的方式,主节点11发送数据至总线13,一条数据即为一帧报文,从节点12从总线13上获取报文,并根据报文中的标识符决定是否对报文进行响应,该系统通过这样的串行通信方式,将开关、显示器、传感器和执行器等简单控制设备连接起来,实现了汽车中的分布式电子系统控制。
在相关技术中,软件上实现LIN通信采用的是面向过程的编程方法,编程时分析出解决问题所需要的步骤,把这些步骤一步一步实现,程序在运行时会按照预先编写好的步骤进行处理,因此,面向过程的方法是实现静态流程的,软件代码的灵活性差,程序执行时必须按预先设计好的步骤进行处理,在该系统需要调整流程的情况下,程序需要修改繁多的步骤,容易出现问题,从而造成系统故障;在本实施例中,采用面向对象的编程方法实现LIN通信,将事务在整个解决问题的步骤中的行为进行归类和抽象描述封装,同时降低与其他模块的耦合度,方便后续的修改、维护和功能扩展,在主节点11和从节点12内按照归类后的行为建立出各个对象,各个对象之间耦合度低,从而容易设计出更加灵活、更加易于维护的系统。
图2是根据本申请第一实施例的节点内部示意图,为了描述简洁,仅设置1个从节点12作示意性说明,但非限制性说明,本申请实施例同样适用于存在多个从节点12的实现LIN通信的系统。
如图2所示,从节点12包括第一从节点系统21,主节点11包括主节点系统22,采用面向对象的方法抽象封装接口和数据,该主节点系统22包括第二从节点系统221和通信发起模块222,其中,第一从节点系统21和第二从节点系统221的模块架构一致,即,第一从节点系统21和第二从节点系统221包括相同的模块,进一步的,第一从节点系统21和第二从节点系统221均包括一个数据传输模块211;
通信发起模块222用于管理一张或多张调度表,并根据调度表或者根据获取到的指令或指定事件发生,发送帧头或帧至数据传输模块211,需要说明的是,通过定义该实现LIN通信的系统10内的程序配置表,可以控制数据在系统内的传输方向和传输对象,例如,定义程序配置表后,通信发起模块222发送帧头或帧至数据传输模块211时,该帧头或帧由主节点11内的数据传输模块211接收并进行后续处理;该调度表包括帧头或帧的发送规则,该指令携带调度表的调整规则,该调整规则可以是多张调度表的传输次序调整规则,也可以是单张调度表内各帧头或帧的传输次序调整规则;可选的,通信发起模块222还用于监测并处理错误数据,该通信发起模块222是数据传输模块211的其中一个监听者(listener),处理数据传输模块211产生的事件,该事件包括时间和数据;
数据传输模块211实现数据链路层功能,并为中央处理器(central processingunit,简称CPU)的中断提供接口函数和事件处理函数,该数据传输模块211设有监听者,数据经过数据传输模块211处理产生事件,监听者负责接收事件并对事件作出处理;数据传输模块211用于将通信发起模块222发送的帧头或帧发送至总线13上,以及从总线13上接收帧头或帧;可选的,数据传输模块211还用于采集发生在总线13上的错误事件含数据,并将获取到的错误事件通知到通信发起模块222;
本发明实施例采用面向对象方法,将事务在整个解决问题的步骤中的行为进行解耦、归类、抽象并封装,并在节点内按照归类后的行为建立出不同抽象层次模块或模型系统,例如,在主节点系统22内建立通信发起模块222和第二从节点系统221,在第一从节点系统21和第二从节点系统221内均建立数据传输模块211,各模块或系统间耦合度低,解决了实现LIN通信存在软件代码按预先设计好的步骤一步步进行处理,灵活性差,故障率高的问题,有利于提高软件代码开发时的灵活性和运行时的可靠性,从而提高代码运行时的容错能力。
另外,虽然实现LIN通信的系统10在硬件上包括主节点11和从节点12这两种不同的物理节点,但该实现LIN通信的系统10采用面向对象方法,在软件上包括通信发起模块222、第一从节点系统21和第二从节点系统221,第二从节点系统221和第一从节点系统21的模块架构一致,因而主节点11和从节点12可以使用同一套代码,从而减少了冗余代码,因此,本发明实施例的软件具有良好的可扩展性和灵活性;同时,减少冗余代码也有利于程序员在运维时理解代码,提高了代码运维的效率。
进一步的,图3是根据本申请第一实施例的数据传输模块211内部示意图,数据传输模块211包括第一单元31、第二单元32和第三单元33,其中,第一单元31、第二单元32和第三单元33的抽象层次由高至低,第三单元33携带具体硬件信息。
由于第三单元33是跟CPU相关的一个部件,为了便于程序员移植代码,第三单元33的命名可以携带硬件信息,同时,可以在第二单元32中设计需要重写的范围和重写的内容,设计好需要重写的范围和重写的内容之后,在CPU被更换且与CPU相关的硬件信息需要重新配置的情况下,程序员只要重写第三单元33,而由于第一单元31、第二单元32与具体的CPU硬件无关,则无需重写第一单元31和第二单元32,从而提高了代码移植的效率。
在其中一些实施例中,图4是根据本申请第二实施例的节点内部示意图,如图4所示,第一从节点系统21和第二从节点系统221还均包括一个收发管理模块41;
通信发起模块222用于管理一张或多张调度表,并根据调度表或者根据获取到的指令或指定事件发生,发送帧头或帧至数据传输模块211;通信发起模块222还用于监听LIN事件和处理通信错误和数据;
数据传输模块211用于在接收到通信发起模块222发送的帧头或帧的情况下,将帧头或帧发送至总线13上,以及从总线13上接收帧头或帧,并发送帧头或帧至收发管理模块41;数据传输模块211还用于在接收到收发管理模块41发送的应答的情况下,将应答发送至总线13上,以及从总线13上接收应答,并发送应答至收发管理模块41;可选的,数据传输模块211还用于采集发生在总线13上的错误数据,并将获取到的错误事件或数据发送至通信发起模块222;
收发管理模块41用于在接收到发送给自己的帧的情况下,解析帧;收发管理模块41还用于在接收到与自己有关的帧头的情况下,对帧头进行数据填充,生成应答或命令帧(命令帧和响应帧是由程序预先配置决定的),并将应答或命令发送至数据传输模块211;收发管理模块41还用于在接收到属于自己接收(由程序配置决定)应答或命令的情况下,解析应答或命令;该收发管理模块41是数据传输模块211的其中一个监听者,处理数据传输模块211产生的事件,该事件包括时间和数据;
本发明实施例采用面向对象方法,将事务在整个解决问题的步骤中的行为进行归类和抽象描述封装,同时降低与其他模块的耦合度,方便后续的修改、维护和功能扩展,并在节点内按照归类后的行为建立出不同模块或模型系统,例如,在主节点系统22内建立通信发起模块222和第二从节点系统221,在第一从节点系统21和第二从节点系统221内均建立数据传输模块211和收发管理模块41,各模块或系统间耦合度低,解决了实现LIN通信存在软件代码按预先设计好的步骤一步步进行处理,灵活性差,故障率高的问题,有利于提高软件代码开发时的灵活性和运行时的可靠性,从而提高代码运行时的容错率;同时,采用面向对象的编程方法,建立各模块或系统,也有利于程序员在运维时理解代码,提高了代码运维的效率。
在其中一些实施例中,图5是根据本申请第三实施例的节点内部示意图,如图5所示,第一从节点系统21和第二从节点系统221还均包括一个数据诊断模块51;
通信发起模块222用于管理一张或多张调度表,并根据调度表或者根据获取到的指令或指定事件发生,发送帧头或帧至数据传输模块211;通信发起模块222还用于监测并处理通信错误和错误数据;
数据传输模块211用于在接收到通信发起模块222发送的帧头或帧的情况下,将帧头或帧发送至总线13上,以及从总线13上接收帧头或帧,并发送帧头或帧至收发管理模块41;数据传输模块211还用于在接收到收发管理模块41发送的应答或命令(由程序预先配置决定)的情况下,将应答或命令发送至总线13上,以及从总线13上接收数据,并发送应答至收发管理模块41;数据传输模块211还用于在从总线13上接收到帧头或帧的情况下,将帧头或帧发送至数据诊断模块51;数据传输模块211还用于在接收到诊断信息的情况下,发送诊断信息至总线13上,以及从总线13上接收诊断信息,并发送诊断信息至数据诊断模块51;可选的,数据传输模块211还用于采集发生在总线13上的通信错误或错误数据,并将获取到的错误数据发送至通信发起模块222和收发管理模块41、数据诊断模块51;
收发管理模块41用于在接收到发送给自己的帧的情况下,解析帧;收发管理模块41还用于在接收到与自己有关的帧头的情况下,对帧头进行数据填充,生成应答或命令帧(命令帧和响应帧是由程序预先配置决定的),并将应答或命令发送至数据传输模块211;收发管理模块41还用于在接收到属于自己接收(由程序配置决定)应答或命令的情况下,解析应答或命令;
数据诊断模块51用于在接收到帧头或帧的情况下,对帧头或帧的标识符进行识别,在识别出特定标识符(例如,帧的LIN ID编号为0x3C、0x3D或0x3E、0x3F扩展)之后提供诊断服务,生成诊断信息,并将诊断信息发送至数据传输模块211;数据诊断模块51还用于在接收到诊断信息的情况下,解析诊断信息;
本发明实施例采用面向对象方法,将事务在整个解决问题的步骤中的行为进行归类和抽象描述封装,同时降低与其他模块的耦合度,方便后续的修改、维护和功能扩展,并在节点内按照归类后的行为建立出不同模块或模型系统,例如,在主节点系统22内建立通信发起模块222和第二从节点系统221,在第一从节点系统21和第二从节点系统221内均建立数据传输模块211、收发管理模块41和数据诊断模块51,各模块或系统间耦合度低,解决了实现LIN通信存在软件代码按预先设计好的步骤一步步进行处理,灵活性差,故障率高的问题,有利于提高软件代码开发时的灵活性,从而提高代码运行时的容错率;同时,采用面向对象的编程方法,建立各模块或系统,也有利于程序员在运维时理解代码,提高了代码运维的效率。
在其中一些实施例中,图6是根据本申请第四实施例的节点内部示意图,如图6所示,第一从节点系统21和第二从节点系统221还均包括一个产品业务模块61,该产品业务模块61属于应用软件层,用来表达与产品有关的逻辑功能,该逻辑功能由客户需求决定;
通信发起模块222用于管理一张或多张调度表,并根据调度表或者根据获取到的指令或指定事件发生,发送帧头或帧至数据传输模块211;通信发起模块222还用于监听LIN事件和处理通信错误和错误数据;
数据传输模块211用于在接收到通信发起模块222发送的帧头或帧的情况下,将帧头或帧发送至总线13上,以及从总线13上接收帧头或帧,并发送帧头或帧至收发管理模块41;数据传输模块211还用于在接收到收发管理模块41发送的应答或命令(由程序预先配置,一般主节点配成命令,从节点配成响应)的情况下,将应答或命令发送至总线13上,以及从总线13上接收应答或命令,并发送应答或命令至收发管理模块41;数据传输模块211还用于在从总线13上接收到帧头或帧的情况下,将帧头或帧发送至数据诊断模块51;数据传输模块211还用于在接收到诊断信息的情况下,发送诊断信息至总线13上,以及从总线13上接收诊断信息,并发送诊断信息至数据诊断模块51;可选的,数据传输模块211还用于采集发生在总线13上的错误数据,并将获取到的通信错误事件或错误数据发送至通信发起模块222、收发管理模块41或数据诊断模块51;
收发管理模块41用于在接收到发送给自己的(由程序预先配置决定)帧的情况下,解析帧;收发管理模块41还用于在接收到与自己有关的帧头的情况下,对帧头进行数据填充,生成应答或命令帧(命令帧和响应帧是由程序预先配置决定的),并将应答或命令发送至数据传输模块211;收发管理模块41还用于在接收到帧的情况下,发送帧至产品业务模块61;收发管理模块41还用于在接收到属于自己接收(由程序配置决定)应答或命令的情况下,解析应答或命令;
数据诊断模块51用于在接收到帧头或帧的情况下,对帧头或帧的标识符进行识别,在识别出特定标识符之后提供诊断服务,生成诊断信息,并将诊断信息发送至数据传输模块211;数据诊断模块51还用于在接收到帧的情况下,发送帧至产品业务模块61;数据诊断模块51还用于在接收到诊断信息的情况下,解析诊断信息;
产品业务模块61用于在接收到帧的情况下,处理帧,以及根据业务需求,发送指令至通信发起模块222;
本发明实施例采用面向对象方法,将事务在整个解决问题的步骤中的行为进行归类和抽象描述封装,同时降低与其他模块的耦合度,方便后续的修改、维护和功能扩展,并在节点内按照归类后的行为建立出不同模块或模型系统,例如,在主节点系统22内建立通信发起模块222和第二从节点系统221,在第一从节点系统21和第二从节点系统221内均建立数据传输模块211、收发管理模块41、数据诊断模块51和产品业务模块61,各模块或系统间耦合度低,解决了实现LIN通信存在软件代码按预先设计好的步骤一步步进行处理,灵活性差,故障率高的问题,有利于提高软件代码开发时的灵活性,从而提高代码运行时的容错率;同时,采用面向对象的编程方法,建立各模块或系统,也有利于程序员在运维时理解代码,提高了代码运维的效率。
在其中一些实施例中,图7是根据本申请第五实施例的节点内部示意图,如图7所示,第一从节点系统21和第二从节点系统221还均包括一个数据配置模块71,数据配置模块71是组装数据传输模块211、通信发起模块222、收发管理模块41和数据诊断模块51的场所,该数据配置模块71应用LIN组件(Component)的数据定义方法,定义LIN帧(Frame)格式和LIN帧的帧链表、LIN信号(Signal)机制和LIN信号的链表、调度表和各个事件的监听者及其链表等,准备好各种数据,为数据传输模块211、通信发起模块222、收发管理模块41和数据诊断模块51提供数据初始化服务,通过在数据传输模块211创建实例,使得数据传输模块211、通信发起模块222、收发管理模块41和数据诊断模块51能够按照LIN协议的规范要求正常运转;
通过建立该数据配置模块71,产品软件工程师可以修改数据配置模块71,从而给LIN通信软件产品提供数据,而修改数据配置模块71只涉及数据定义,不涉及代码逻辑,使得产品软件工程师能够从LIN通信的复杂过程中解放出来,方便了产品软件工程师使用LIN通信软件产品,提高了产品软件工程师的工作效率;
同时,本发明实施例采用面向对象方法,将事务在整个解决问题的步骤中的行为进行归类和抽象描述封装,同时降低与其他模块的耦合度,方便后续的修改、维护和功能扩展,并在节点内按照归类后的行为建立出不同模块或模型系统,例如,在主节点系统22内建立通信发起模块222和第二从节点系统221,在第一从节点系统21和第二从节点系统221内均建立数据传输模块211、收发管理模块41、数据诊断模块51、产品业务模块61和数据配置模块71,各模块或系统间耦合度低,解决了实现LIN通信存在软件代码按预先设计好的步骤一步步进行处理,灵活性差,故障率高的问题,有利于提高软件代码设计时的灵活性,从而提高代码运行时的容错能力;同时,采用面向对象的编程方法,建立各模块或系统,也有利于程序员在运维时理解代码,提高了代码运维的效率。
需要说明的是,本发明实施例中的数据传输模块211将数据发送至总线13上,以及数据传输模块211从总线13上获取数据,均可以通过通信端口和LIN收发器实现,LIN收发器属于硬件,通信端口是单片机的LIN通用异步收发传输器(Universal AsynchronousReceiver/Transmitter,简称UART)的功能部分,该通信端口是数据发送和接收的执行者,也是LIN中断的产生源,是数据传输模块211的事件驱动源头;图8是根据本申请实施例的系统间数据通信的示意图,如图8所示,通信端口81用于在数据传输模块211需要发送数据至总线13上的情况下,将数据由数字形式转换成方波形式,并通过LIN收发器82将数据发送至总线13上;通信端口81还用于在数据传输模块211需要从总线13上获取数据的情况下,通过LIN收发器82从总线13上获取数据,并将数据由方波形式转换成数字形式,其中,数据包括帧头、帧、应答和诊断信息。
本实施例还提供了一种实现LIN通信的方法,该方法应用于实现LIN通信的系统10,实现LIN通信的系统10包括主节点11、从节点12,以及连接主节点11和从节点12的总线13,主节点11包括主节点系统22,从节点12包括第一从节点系统21;
该实现LIN通信的方法包括,采用面向对象的方法,主节点系统22包括第二从节点系统221和通信发起模块222,第一从节点系统21和第二从节点系统221的模块架构一致,且均包括一个数据传输模块211,其中,通信发起模块222管理一张或多张调度表,并根据调度表或者根据获取到的指令或指定事件发生,发送帧头或帧至数据传输模块211,其中,调度表包括帧头或帧的发送规则,指令或事件携带一张或多张调度表间的切换规则;数据传输模块211用于将通信发起模块222发送的帧头或帧发送至总线13上,以及从总线13上接收帧头或帧。
进一步的,该实现LIN通信的方法包括,采用面向对象的方法,第一从节点系统21和第二从节点系统221还均包括一个收发管理模块41和数据诊断模块51;
数据传输模块211在接收到帧头或帧的情况下,发送帧头或帧至收发管理模块41;在接收到应答或命令的情况下,发送应答或命令至总线13上,以及从总线13上接收应答或命令,并发送应答或命令至收发管理模块41;在接收到帧头或帧的情况下,将帧头或帧发送至数据诊断模块51;在接收到诊断信息的情况下,发送诊断信息至总线13上,以及从总线13上接收诊断信息,并通知诊断信息至数据诊断模块51;
收发管理模块41在接收到发送给自己的(由程序预先配置决定)帧的情况下,解析帧;在接收到与自己有关的帧头的情况下,对帧进行数据填充,生成应答或命令,并将应答或命令发送至数据传输模块211;在接收到属于自己接收(由程序配置决定)应答或命令帧数据的情况下,解析应答;
数据诊断模块51在接收到帧头或帧的情况下,对帧头或帧的标识符进行识别,在识别出特定标识符之后提供诊断服务,生成诊断信息,并将诊断信息发送至数据传输模块211;在接收到诊断信息的情况下,数据诊断模块51解析诊断信息。
在一个实施例中,图9是根据本申请实施例的电子设备的内部结构示意图,如图9所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图9所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种实现LIN通信的方法,数据库用于存储数据。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种实现LIN通信的系统,所述系统包括主节点、从节点,以及连接所述主节点和所述从节点的总线,其特征在于,所述从节点包括第一从节点系统,所述主节点包括主节点系统,其中,所述主节点系统包括第二从节点系统和通信发起模块,所述第一从节点系统和所述第二从节点系统的模块架构一致,且均包括至少一个数据传输模块;
所述通信发起模块用于管理一张或多张调度表,并根据所述调度表或者根据获取到的指令,发送帧头或帧至所述数据传输模块,其中,所述调度表包括所述帧头或帧的发送规则,所述指令携带所述调度表的调整规则;
所述数据传输模块用于将所述通信发起模块发送的所述帧头或帧发送至所述总线上,以及从所述总线上接收所述帧头或帧。
2.根据权利要求1所述的系统,其特征在于,所述第一从节点系统和所述第二从节点系统还均包括至少一个收发管理模块;
所述数据传输模块还用于在接收到所述帧头或帧的情况下,发送所述帧头或帧至所述收发管理模块;在接收到应答的情况下,发送所述应答至所述总线上,以及从所述总线上接收所述应答,并发送所述应答至所述收发管理模块;
所述收发管理模块用于在接收到所述帧的情况下,解析所述帧;在接收到所述帧头的情况下,对所述帧头进行数据填充,生成所述应答,并将所述应答发送至所述数据传输模块;在接收到所述应答的情况下,解析所述应答。
3.根据权利要求2所述的系统,其特征在于,所述第一从节点系统和所述第二从节点系统还均包括至少一个数据诊断模块;
所述数据传输模块还用于在从总线上接收到所述帧头或帧的情况下,将所述帧头或帧发送至所述数据诊断模块;在接收到诊断信息的情况下,发送所述诊断信息至所述总线上,以及从所述总线上接收所述诊断信息,并发送所述诊断信息至所述数据诊断模块;
所述数据诊断模块用于在接收到所述帧头或帧的情况下,对所述帧头或帧的标识符进行识别,在识别出特定标识符之后提供诊断服务,生成所述诊断信息,并将所述诊断信息发送至所述数据传输模块;在接收到所述诊断信息的情况下,所述数据诊断模块解析所述诊断信息。
4.根据权利要求3所述的系统,其特征在于,所述第一从节点系统和所述第二从节点系统还均包括至少一个产品业务模块;
所述收发管理模块和所述数据诊断模块还用于在接收到所述帧的情况下,发送所述帧至所述产品业务模块;
所述产品业务模块用于在接收到所述帧的情况下,处理所述帧,以及根据业务需求,发送所述指令至所述通信发起模块。
5.根据权利要求3所述的系统,其特征在于,所述第一从节点系统和所述第二从节点系统还均包括至少一个数据配置模块,所述数据配置模块应用LIN组件的数据定义方法,为所述数据传输模块、所述通信发起模块、所述收发管理模块和所述数据诊断模块提供数据初始化服务。
6.根据权利要求1所述的系统,其特征在于,所述数据传输模块还用于采集发生在所述总线上的错误数据,并将获取到的所述错误数据发送至所述通信发起模块;所述通信发起模块还用于监测并处理所述错误数据。
7.根据权利要求1至6任一项所述的系统,其特征在于,所述数据传输模块包括第一单元、第二单元和第三单元,其中,所述第一单元、所述第二单元和所述第三单元的抽象层次由高至低,所述第三单元携带硬件信息。
8.根据权利要求3至6任一项所述的系统,其特征在于,所述第一从节点系统和所述第二从节点系统还均包括至少一个通信端口,所述通信端口用于:
在所述数据传输模块发送数据至所述总线上的情况下,将所述数据由数字形式转换成方波形式,其中,所述数据包括所述帧头、帧、应答和诊断信息;
在所述数据传输模块从所述总线上获取所述数据的情况下,将所述数据由方波形式转换成数字形式。
9.一种实现LIN通信的方法,所述方法应用于实现LIN通信的系统,所述系统包括主节点、从节点,以及连接所述主节点和所述从节点的总线,其特征在于,所述从节点包括第一从节点系统,所述主节点包括主节点系统,所述方法包括,采用面向对象的方法,所述主节点系统包括第二从节点系统和通信发起模块,所述第一从节点系统和所述第二从节点系统的模块架构一致,且均包括至少一个数据传输模块,其中:
所述通信发起模块管理一张或多张调度表,并根据所述调度表或者根据获取到的指令,发送帧头或帧至所述数据传输模块,其中,所述调度表包括所述帧头或帧的发送规则,所述指令携带一张或多张所述调度表间的切换规则;
所述数据传输模块将所述通信发起模块发送的所述帧头或帧发送至所述总线上,以及从所述总线上接收所述帧头或帧。
10.根据权利要求9所述的方法,其特征在于,所述方法包括,采用面向对象的方法,所述第一从节点系统和所述第二从节点系统还均包括至少一个收发管理模块和数据诊断模块;
所述数据传输模块在接收到所述帧头或帧的情况下,发送所述帧头或帧至所述收发管理模块;在接收到应答的情况下,发送所述应答至所述总线上,以及从所述总线上接收所述应答,并发送所述应答至所述收发管理模块;在接收到所述帧头或帧的情况下,将所述帧头或帧发送至所述数据诊断模块;在接收到诊断信息的情况下,发送所述诊断信息至所述总线上,以及从所述总线上接收所述诊断信息,并发送所述诊断信息至所述数据诊断模块;
所述收发管理模块在接收到所述帧的情况下,解析所述帧;在接收到所述帧头的情况下,对所述帧头进行数据填充,生成所述应答,并将所述应答发送至所述数据传输模块;在接收到所述应答的情况下,解析所述应答;
所述数据诊断模块在接收到所述帧头或帧的情况下,对所述帧头或帧的标识符进行识别,在识别出特定标识符之后提供诊断服务,生成所述诊断信息,并将所述诊断信息发送至所述数据传输模块;在接收到所述诊断信息的情况下,所述数据诊断模块解析所述诊断信息。
CN202110592509.XA 2021-05-28 2021-05-28 实现lin通信的系统和方法 Pending CN115408167A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110592509.XA CN115408167A (zh) 2021-05-28 2021-05-28 实现lin通信的系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110592509.XA CN115408167A (zh) 2021-05-28 2021-05-28 实现lin通信的系统和方法

Publications (1)

Publication Number Publication Date
CN115408167A true CN115408167A (zh) 2022-11-29

Family

ID=84154928

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110592509.XA Pending CN115408167A (zh) 2021-05-28 2021-05-28 实现lin通信的系统和方法

Country Status (1)

Country Link
CN (1) CN115408167A (zh)

Similar Documents

Publication Publication Date Title
CN113037603B (zh) 一种远程控制方法、装置和车辆
US5901058A (en) System and methods for achieving heterogeneous data flow between algorithm blocks in a distributed control system
US9224251B2 (en) Gateway device
US8335573B2 (en) Safety-oriented control system
CN104521186A (zh) 工业网络中的消息隧穿
CN111886576A (zh) 用于更新远程网络设备的方法和装置
CN110333713A (zh) 车辆故障诊断方法及系统
CN115543661B (zh) 数据分发装置及分发方法、车辆电子操作系统的架构
WO2020088278A1 (zh) 一种通信方法、装置及相关设备
CN112069511B (zh) 数据保护方法、装置、电子控制单元、设备及存储介质
CN114089713A (zh) 一种基于uds的通信方法、ecu及上位机
CN111262888B (zh) 一种列车连网控制的系统
CN105981319A (zh) 总线系统的用户站和提高总线系统的数据速率的方法
CN117319261A (zh) 一种基于autosar的管理方法、设备及系统
EP3699797B1 (en) Data processing method and device, and computer apparatus
CN115408167A (zh) 实现lin通信的系统和方法
CN112241383B (zh) 模块化系统的部件的更新
CN110687854B (zh) 一种pa总线控制器以及一种pa总线控制系统
CN112533173B (zh) 用于确保数据完整性以保证操作安全的方法以及车对外界信息交互的装置
CN113553285A (zh) 电子控制单元、帧生成方法和记录介质
JP2023546475A (ja) データ処理のためのデータ処理ネットワーク
Seo et al. A reliable gateway for in-vehicle networks
CN114978426B (zh) 数据传输方法及系统
CN115224685B (zh) 配电管理方法、装置、车辆及存储介质
CN220325632U (zh) 监测系统

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