一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

实现LIN通信的系统和方法与流程

2022-11-30 08:03:53 来源:中国专利 TAG:

实现lin通信的系统和方法
技术领域
1.本技术涉及通信技术领域,特别是涉及一种实现lin通信的系统和方法。


背景技术:

2.在软件上实现内部互联网络(local interconnect networks,简称lin)通信包括以下三种方法:
3.第一种,购买商业化工具软件,得到项目授权,程序员对商业化工具软件进行数据配置,自动生成与指定的单片机相对应的商业化软件代码,程序员将商业化软件代码嵌入到自主研发的代码中,并用规定的方法使用和调试商业化软件代码,实现lin通信;
4.第二种,购买商业化软件代码,得到项目授权后,为了使商业化软件代码能够应用在其他项目中,程序员将商业化软件代码移植到非指定的单片机上,使商业化软件代码能够与非指定的单片机绑定,并对商业化软件代码进行修改,使得修改后的商业化软件代码能够适应非指定的单片机;
5.第三种,程序员按照自己对lin规范协议栈的理解,为各项目定制编写实现lin通信的软件代码。
6.在相关技术中,以上三种实现lin通信的方法的共同缺点是,均采用面向过程的编程方法实现lin规范协议栈,编程时分析出解决问题所需要的步骤,把这些步骤一步一步实现,程序在运行时会按照预先编写好的步骤进行处理,因此,面向过程的方法是实现静态流程的,软件代码的灵活性差,程序执行时必须按预先设计好的步骤进行处理,在该系统需要调整流程的情况下,程序需要修改繁多的步骤,容易出现问题,从而造成系统故障。
7.针对相关技术中,实现lin通信存在软件代码灵活性差,故障率高的问题,尚未提出有效的解决方案。


技术实现要素:

8.本发明的目的在于提供一种实现lin通信的系统和方法,有利于提高软件代码运行时的灵活性,从而降低代码运行时的故障率。
9.为实现上述目的,本发明采用如下技术方案:
10.一种实现lin通信的系统,所述系统包括主节点、从节点,以及连接所述主节点和所述从节点的总线,所述从节点包括第一从节点系统,所述主节点包括主节点系统,所述主节点系统包括第二从节点系统和通信发起模块,其中,所述第一从节点系统和所述第二从节点系统的模块架构一致,且均包括至少一个数据传输模块;
11.所述通信发起模块用于管理一张或多张调度表,并根据所述调度表或者根据获取到的指令,发送帧头或帧至所述数据传输模块,其中,所述调度表包括所述帧头或帧的发送规则,所述指令携带所述调度表的调整规则;
12.所述数据传输模块用于将所述通信发起模块发送的所述帧头或帧发送至所述总线上,以及从所述总线上接收所述帧头或帧。
13.本发明还公开一种实现lin通信的方法,所述方法应用于实现lin通信的系统,所述系统包括主节点、从节点,以及连接所述主节点和所述从节点的总线,所述从节点包括第一从节点系统,所述主节点包括主节点系统,所述方法包括,采用面向对象的方法,所述主节点系统包括第二从节点系统和通信发起模块,所述第一从节点系统和所述第二从节点系统的模块架构一致,且均包括至少一个数据传输模块,其中:
14.所述通信发起模块用于管理一张或多张调度表,并根据所述调度表或者根据获取到的指令,发送帧头或帧至所述数据传输模块,其中,所述调度表包括所述帧头或帧的发送规则,所述指令携带一张或多张所述调度表间的切换规则;
15.所述数据传输模块用于将所述通信发起模块发送的所述帧头或帧发送至所述总线上,以及从所述总线上接收所述帧头或帧。
16.本技术中从节点包括第一从节点系统,主节点包括主节点系统,通过采用面向对象的方法,主节点系统包括第二从节点系统和通信发起模块,其中,第一从节点系统和第二从节点系统的模块架构一致,且均包括至少一个数据传输模块;通信发起模块用于管理一张或多张调度表,并根据调度表或者根据获取到的指令,发送帧头或帧至数据传输模块,其中,调度表包括帧头或帧的发送规则,指令携带调度表的调整规则;数据传输模块用于将通信发起模块发送的帧头或帧发送至总线上,以及从总线上接收帧头或帧,解决了实现lin通信存在软件代码灵活性差,故障率高的问题,有利于提高软件代码运行时的灵活性,从而降低代码运行时的故障率。
附图说明
17.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
18.图1是根据本技术实施例的实现lin通信的系统的示意图;
19.图2是根据本技术第一实施例的节点内部示意图;
20.图3是根据本技术第一实施例的数据传输模块内部示意图;
21.图4是根据本技术第二实施例的节点内部示意图;
22.图5是根据本技术第三实施例的节点内部示意图;
23.图6是根据本技术第四实施例的节点内部示意图;
24.图7是根据本技术第五实施例的节点内部示意图;
25.图8是根据本技术实施例的系统间数据通信的示意图;
26.图9是根据本技术实施例的电子设备的内部结构示意图。
具体实施方式
27.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
28.显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用
于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
29.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
30.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
31.本技术提供了一种实现lin通信的系统,该系统可以应用于车身网络中,图1是根据本技术实施例的实现lin通信的系统的示意图,如图1所示,该实现lin通信的系统10包括主节点11、从节点12和总线13,该系统采用单线制,即该系统通过一根总线13连接一个主节点11和一个或多个从节点12;其中,主节点11可以是接入到上层网络的电子控制单元(electronic control unit,简称ecu),从节点12可以是开关、显示器、传感器和执行器等简单控制设备,例如,从节点12可以是使用lin通信的水阀、泵、电子膨胀阀(electronic expansion valve,简称eev/exv)等控制设备;该实现lin通信的系统10采用串行通讯的方式,主节点11发送数据至总线13,一条数据即为一帧报文,从节点12从总线13上获取报文,并根据报文中的标识符决定是否对报文进行响应,该系统通过这样的串行通信方式,将开关、显示器、传感器和执行器等简单控制设备连接起来,实现了汽车中的分布式电子系统控制。
32.在相关技术中,软件上实现lin通信采用的是面向过程的编程方法,编程时分析出解决问题所需要的步骤,把这些步骤一步一步实现,程序在运行时会按照预先编写好的步骤进行处理,因此,面向过程的方法是实现静态流程的,软件代码的灵活性差,程序执行时必须按预先设计好的步骤进行处理,在该系统需要调整流程的情况下,程序需要修改繁多的步骤,容易出现问题,从而造成系统故障;在本实施例中,采用面向对象的编程方法实现lin通信,将事务在整个解决问题的步骤中的行为进行归类和抽象描述封装,同时降低与其他模块的耦合度,方便后续的修改、维护和功能扩展,在主节点11和从节点12内按照归类后的行为建立出各个对象,各个对象之间耦合度低,从而容易设计出更加灵活、更加易于维护
的系统。
33.图2是根据本技术第一实施例的节点内部示意图,为了描述简洁,仅设置1个从节点12作示意性说明,但非限制性说明,本技术实施例同样适用于存在多个从节点12的实现lin通信的系统。
34.如图2所示,从节点12包括第一从节点系统21,主节点11包括主节点系统22,采用面向对象的方法抽象封装接口和数据,该主节点系统22包括第二从节点系统221和通信发起模块222,其中,第一从节点系统21和第二从节点系统221的模块架构一致,即,第一从节点系统21和第二从节点系统221包括相同的模块,进一步的,第一从节点系统21和第二从节点系统221均包括一个数据传输模块211;
35.通信发起模块222用于管理一张或多张调度表,并根据调度表或者根据获取到的指令或指定事件发生,发送帧头或帧至数据传输模块211,需要说明的是,通过定义该实现lin通信的系统10内的程序配置表,可以控制数据在系统内的传输方向和传输对象,例如,定义程序配置表后,通信发起模块222发送帧头或帧至数据传输模块211时,该帧头或帧由主节点11内的数据传输模块211接收并进行后续处理;该调度表包括帧头或帧的发送规则,该指令携带调度表的调整规则,该调整规则可以是多张调度表的传输次序调整规则,也可以是单张调度表内各帧头或帧的传输次序调整规则;可选的,通信发起模块222还用于监测并处理错误数据,该通信发起模块222是数据传输模块211的其中一个监听者(listener),处理数据传输模块211产生的事件,该事件包括时间和数据;
36.数据传输模块211实现数据链路层功能,并为中央处理器(central processing unit,简称cpu)的中断提供接口函数和事件处理函数,该数据传输模块211设有监听者,数据经过数据传输模块211处理产生事件,监听者负责接收事件并对事件作出处理;数据传输模块211用于将通信发起模块222发送的帧头或帧发送至总线13上,以及从总线13上接收帧头或帧;可选的,数据传输模块211还用于采集发生在总线13上的错误事件含数据,并将获取到的错误事件通知到通信发起模块222;
37.本发明实施例采用面向对象方法,将事务在整个解决问题的步骤中的行为进行解耦、归类、抽象并封装,并在节点内按照归类后的行为建立出不同抽象层次模块或模型系统,例如,在主节点系统22内建立通信发起模块222和第二从节点系统221,在第一从节点系统21和第二从节点系统221内均建立数据传输模块211,各模块或系统间耦合度低,解决了实现lin通信存在软件代码按预先设计好的步骤一步步进行处理,灵活性差,故障率高的问题,有利于提高软件代码开发时的灵活性和运行时的可靠性,从而提高代码运行时的容错能力。
38.另外,虽然实现lin通信的系统10在硬件上包括主节点11和从节点12这两种不同的物理节点,但该实现lin通信的系统10采用面向对象方法,在软件上包括通信发起模块222、第一从节点系统21和第二从节点系统221,第二从节点系统221和第一从节点系统21的模块架构一致,因而主节点11和从节点12可以使用同一套代码,从而减少了冗余代码,因此,本发明实施例的软件具有良好的可扩展性和灵活性;同时,减少冗余代码也有利于程序员在运维时理解代码,提高了代码运维的效率。
39.进一步的,图3是根据本技术第一实施例的数据传输模块211内部示意图,数据传输模块211包括第一单元31、第二单元32和第三单元33,其中,第一单元31、第二单元32和第
三单元33的抽象层次由高至低,第三单元33携带具体硬件信息。
40.由于第三单元33是跟cpu相关的一个部件,为了便于程序员移植代码,第三单元33的命名可以携带硬件信息,同时,可以在第二单元32中设计需要重写的范围和重写的内容,设计好需要重写的范围和重写的内容之后,在cpu被更换且与cpu相关的硬件信息需要重新配置的情况下,程序员只要重写第三单元33,而由于第一单元31、第二单元32与具体的cpu硬件无关,则无需重写第一单元31和第二单元32,从而提高了代码移植的效率。
41.在其中一些实施例中,图4是根据本技术第二实施例的节点内部示意图,如图4所示,第一从节点系统21和第二从节点系统221还均包括一个收发管理模块41;
42.通信发起模块222用于管理一张或多张调度表,并根据调度表或者根据获取到的指令或指定事件发生,发送帧头或帧至数据传输模块211;通信发起模块222还用于监听lin事件和处理通信错误和数据;
43.数据传输模块211用于在接收到通信发起模块222发送的帧头或帧的情况下,将帧头或帧发送至总线13上,以及从总线13上接收帧头或帧,并发送帧头或帧至收发管理模块41;数据传输模块211还用于在接收到收发管理模块41发送的应答的情况下,将应答发送至总线13上,以及从总线13上接收应答,并发送应答至收发管理模块41;可选的,数据传输模块211还用于采集发生在总线13上的错误数据,并将获取到的错误事件或数据发送至通信发起模块222;
44.收发管理模块41用于在接收到发送给自己的帧的情况下,解析帧;收发管理模块41还用于在接收到与自己有关的帧头的情况下,对帧头进行数据填充,生成应答或命令帧(命令帧和响应帧是由程序预先配置决定的),并将应答或命令发送至数据传输模块211;收发管理模块41还用于在接收到属于自己接收(由程序配置决定)应答或命令的情况下,解析应答或命令;该收发管理模块41是数据传输模块211的其中一个监听者,处理数据传输模块211产生的事件,该事件包括时间和数据;
45.本发明实施例采用面向对象方法,将事务在整个解决问题的步骤中的行为进行归类和抽象描述封装,同时降低与其他模块的耦合度,方便后续的修改、维护和功能扩展,并在节点内按照归类后的行为建立出不同模块或模型系统,例如,在主节点系统22内建立通信发起模块222和第二从节点系统221,在第一从节点系统21和第二从节点系统221内均建立数据传输模块211和收发管理模块41,各模块或系统间耦合度低,解决了实现lin通信存在软件代码按预先设计好的步骤一步步进行处理,灵活性差,故障率高的问题,有利于提高软件代码开发时的灵活性和运行时的可靠性,从而提高代码运行时的容错率;同时,采用面向对象的编程方法,建立各模块或系统,也有利于程序员在运维时理解代码,提高了代码运维的效率。
46.在其中一些实施例中,图5是根据本技术第三实施例的节点内部示意图,如图5所示,第一从节点系统21和第二从节点系统221还均包括一个数据诊断模块51;
47.通信发起模块222用于管理一张或多张调度表,并根据调度表或者根据获取到的指令或指定事件发生,发送帧头或帧至数据传输模块211;通信发起模块222还用于监测并处理通信错误和错误数据;
48.数据传输模块211用于在接收到通信发起模块222发送的帧头或帧的情况下,将帧头或帧发送至总线13上,以及从总线13上接收帧头或帧,并发送帧头或帧至收发管理模块
41;数据传输模块211还用于在接收到收发管理模块41发送的应答或命令(由程序预先配置决定)的情况下,将应答或命令发送至总线13上,以及从总线13上接收数据,并发送应答至收发管理模块41;数据传输模块211还用于在从总线13上接收到帧头或帧的情况下,将帧头或帧发送至数据诊断模块51;数据传输模块211还用于在接收到诊断信息的情况下,发送诊断信息至总线13上,以及从总线13上接收诊断信息,并发送诊断信息至数据诊断模块51;可选的,数据传输模块211还用于采集发生在总线13上的通信错误或错误数据,并将获取到的错误数据发送至通信发起模块222和收发管理模块41、数据诊断模块51;
49.收发管理模块41用于在接收到发送给自己的帧的情况下,解析帧;收发管理模块41还用于在接收到与自己有关的帧头的情况下,对帧头进行数据填充,生成应答或命令帧(命令帧和响应帧是由程序预先配置决定的),并将应答或命令发送至数据传输模块211;收发管理模块41还用于在接收到属于自己接收(由程序配置决定)应答或命令的情况下,解析应答或命令;
50.数据诊断模块51用于在接收到帧头或帧的情况下,对帧头或帧的标识符进行识别,在识别出特定标识符(例如,帧的lin id编号为0x3c、0x3d或0x3e、0x3f扩展)之后提供诊断服务,生成诊断信息,并将诊断信息发送至数据传输模块211;数据诊断模块51还用于在接收到诊断信息的情况下,解析诊断信息;
51.本发明实施例采用面向对象方法,将事务在整个解决问题的步骤中的行为进行归类和抽象描述封装,同时降低与其他模块的耦合度,方便后续的修改、维护和功能扩展,并在节点内按照归类后的行为建立出不同模块或模型系统,例如,在主节点系统22内建立通信发起模块222和第二从节点系统221,在第一从节点系统21和第二从节点系统221内均建立数据传输模块211、收发管理模块41和数据诊断模块51,各模块或系统间耦合度低,解决了实现lin通信存在软件代码按预先设计好的步骤一步步进行处理,灵活性差,故障率高的问题,有利于提高软件代码开发时的灵活性,从而提高代码运行时的容错率;同时,采用面向对象的编程方法,建立各模块或系统,也有利于程序员在运维时理解代码,提高了代码运维的效率。
52.在其中一些实施例中,图6是根据本技术第四实施例的节点内部示意图,如图6所示,第一从节点系统21和第二从节点系统221还均包括一个产品业务模块61,该产品业务模块61属于应用软件层,用来表达与产品有关的逻辑功能,该逻辑功能由客户需求决定;
53.通信发起模块222用于管理一张或多张调度表,并根据调度表或者根据获取到的指令或指定事件发生,发送帧头或帧至数据传输模块211;通信发起模块222还用于监听lin事件和处理通信错误和错误数据;
54.数据传输模块211用于在接收到通信发起模块222发送的帧头或帧的情况下,将帧头或帧发送至总线13上,以及从总线13上接收帧头或帧,并发送帧头或帧至收发管理模块41;数据传输模块211还用于在接收到收发管理模块41发送的应答或命令(由程序预先配置,一般主节点配成命令,从节点配成响应)的情况下,将应答或命令发送至总线13上,以及从总线13上接收应答或命令,并发送应答或命令至收发管理模块41;数据传输模块211还用于在从总线13上接收到帧头或帧的情况下,将帧头或帧发送至数据诊断模块51;数据传输模块211还用于在接收到诊断信息的情况下,发送诊断信息至总线13上,以及从总线13上接收诊断信息,并发送诊断信息至数据诊断模块51;可选的,数据传输模块211还用于采集发
生在总线13上的错误数据,并将获取到的通信错误事件或错误数据发送至通信发起模块222、收发管理模块41或数据诊断模块51;
55.收发管理模块41用于在接收到发送给自己的(由程序预先配置决定)帧的情况下,解析帧;收发管理模块41还用于在接收到与自己有关的帧头的情况下,对帧头进行数据填充,生成应答或命令帧(命令帧和响应帧是由程序预先配置决定的),并将应答或命令发送至数据传输模块211;收发管理模块41还用于在接收到帧的情况下,发送帧至产品业务模块61;收发管理模块41还用于在接收到属于自己接收(由程序配置决定)应答或命令的情况下,解析应答或命令;
56.数据诊断模块51用于在接收到帧头或帧的情况下,对帧头或帧的标识符进行识别,在识别出特定标识符之后提供诊断服务,生成诊断信息,并将诊断信息发送至数据传输模块211;数据诊断模块51还用于在接收到帧的情况下,发送帧至产品业务模块61;数据诊断模块51还用于在接收到诊断信息的情况下,解析诊断信息;
57.产品业务模块61用于在接收到帧的情况下,处理帧,以及根据业务需求,发送指令至通信发起模块222;
58.本发明实施例采用面向对象方法,将事务在整个解决问题的步骤中的行为进行归类和抽象描述封装,同时降低与其他模块的耦合度,方便后续的修改、维护和功能扩展,并在节点内按照归类后的行为建立出不同模块或模型系统,例如,在主节点系统22内建立通信发起模块222和第二从节点系统221,在第一从节点系统21和第二从节点系统221内均建立数据传输模块211、收发管理模块41、数据诊断模块51和产品业务模块61,各模块或系统间耦合度低,解决了实现lin通信存在软件代码按预先设计好的步骤一步步进行处理,灵活性差,故障率高的问题,有利于提高软件代码开发时的灵活性,从而提高代码运行时的容错率;同时,采用面向对象的编程方法,建立各模块或系统,也有利于程序员在运维时理解代码,提高了代码运维的效率。
59.在其中一些实施例中,图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协议的规范要求正常运转;
60.通过建立该数据配置模块71,产品软件工程师可以修改数据配置模块71,从而给lin通信软件产品提供数据,而修改数据配置模块71只涉及数据定义,不涉及代码逻辑,使得产品软件工程师能够从lin通信的复杂过程中解放出来,方便了产品软件工程师使用lin通信软件产品,提高了产品软件工程师的工作效率;
61.同时,本发明实施例采用面向对象方法,将事务在整个解决问题的步骤中的行为进行归类和抽象描述封装,同时降低与其他模块的耦合度,方便后续的修改、维护和功能扩展,并在节点内按照归类后的行为建立出不同模块或模型系统,例如,在主节点系统22内建
立通信发起模块222和第二从节点系统221,在第一从节点系统21和第二从节点系统221内均建立数据传输模块211、收发管理模块41、数据诊断模块51、产品业务模块61和数据配置模块71,各模块或系统间耦合度低,解决了实现lin通信存在软件代码按预先设计好的步骤一步步进行处理,灵活性差,故障率高的问题,有利于提高软件代码设计时的灵活性,从而提高代码运行时的容错能力;同时,采用面向对象的编程方法,建立各模块或系统,也有利于程序员在运维时理解代码,提高了代码运维的效率。
62.需要说明的是,本发明实施例中的数据传输模块211将数据发送至总线13上,以及数据传输模块211从总线13上获取数据,均可以通过通信端口和lin收发器实现,lin收发器属于硬件,通信端口是单片机的lin通用异步收发传输器(universal asynchronous receiver/transmitter,简称uart)的功能部分,该通信端口是数据发送和接收的执行者,也是lin中断的产生源,是数据传输模块211的事件驱动源头;图8是根据本技术实施例的系统间数据通信的示意图,如图8所示,通信端口81用于在数据传输模块211需要发送数据至总线13上的情况下,将数据由数字形式转换成方波形式,并通过lin收发器82将数据发送至总线13上;通信端口81还用于在数据传输模块211需要从总线13上获取数据的情况下,通过lin收发器82从总线13上获取数据,并将数据由方波形式转换成数字形式,其中,数据包括帧头、帧、应答和诊断信息。
63.本实施例还提供了一种实现lin通信的方法,该方法应用于实现lin通信的系统10,实现lin通信的系统10包括主节点11、从节点12,以及连接主节点11和从节点12的总线13,主节点11包括主节点系统22,从节点12包括第一从节点系统21;
64.该实现lin通信的方法包括,采用面向对象的方法,主节点系统22包括第二从节点系统221和通信发起模块222,第一从节点系统21和第二从节点系统221的模块架构一致,且均包括一个数据传输模块211,其中,通信发起模块222管理一张或多张调度表,并根据调度表或者根据获取到的指令或指定事件发生,发送帧头或帧至数据传输模块211,其中,调度表包括帧头或帧的发送规则,指令或事件携带一张或多张调度表间的切换规则;数据传输模块211用于将通信发起模块222发送的帧头或帧发送至总线13上,以及从总线13上接收帧头或帧。
65.进一步的,该实现lin通信的方法包括,采用面向对象的方法,第一从节点系统21和第二从节点系统221还均包括一个收发管理模块41和数据诊断模块51;
66.数据传输模块211在接收到帧头或帧的情况下,发送帧头或帧至收发管理模块41;在接收到应答或命令的情况下,发送应答或命令至总线13上,以及从总线13上接收应答或命令,并发送应答或命令至收发管理模块41;在接收到帧头或帧的情况下,将帧头或帧发送至数据诊断模块51;在接收到诊断信息的情况下,发送诊断信息至总线13上,以及从总线13上接收诊断信息,并通知诊断信息至数据诊断模块51;
67.收发管理模块41在接收到发送给自己的(由程序预先配置决定)帧的情况下,解析帧;在接收到与自己有关的帧头的情况下,对帧进行数据填充,生成应答或命令,并将应答或命令发送至数据传输模块211;在接收到属于自己接收(由程序配置决定)应答或命令帧数据的情况下,解析应答;
68.数据诊断模块51在接收到帧头或帧的情况下,对帧头或帧的标识符进行识别,在识别出特定标识符之后提供诊断服务,生成诊断信息,并将诊断信息发送至数据传输模块
211;在接收到诊断信息的情况下,数据诊断模块51解析诊断信息。
69.在一个实施例中,图9是根据本技术实施例的电子设备的内部结构示意图,如图9所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图9所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种实现lin通信的方法,数据库用于存储数据。
70.本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
71.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
72.本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
73.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献