一种基于PPS服务的车载系统进程间通信的方法与流程

文档序号:18007453发布日期:2019-06-25 23:33阅读:637来源:国知局
一种基于PPS服务的车载系统进程间通信的方法与流程

本发明涉及通信领域,尤其涉及一种基于pps服务的车载系统进程间通信的方法。



背景技术:

众所周知,汽车仪表,在汽车零部件中,所属非常重要的安全件,是汽车各ecu(电子控制单元)工作状态的反馈显示终端,集聚了大量ecu数据。全液晶仪表是带操作系统的高级显示终端,拥有多进程多线程特性,如果要保障整车ecu数据,在各进程中有效稳定传输,最终实时显示,就需要一种高效稳定的数据交换方式。



技术实现要素:

本发明要解决的技术问题是:为了解决ecu数据不能高效稳定传输的问题,本发明提供了一种基于pps服务的车载系统进程间通信的方法来解决上述问题。

本发明解决其技术问题所采用的技术方案是:一种基于pps服务的车载系统进程间通信的方法,包括以下步骤:

s1、判断系统内核是否配置了pps服务,如果没有配置所述pps服务则退出车载系统,如果已经配置了所述pps服务则启动所述pps服务,在所述车载系统中生成/pps/文件夹目录;

s2、数据处理中心在所述/pps/文件夹目录下创建多个具有唯一文件名的子文件夹,在所述子文件夹中创建通信文件;

s3、数据处理中心订阅和监听所有的通信文件,各个功能模块遍历所有的所述子文件夹,分别订阅与自身相关的所述通信文件并进行监听。

作为优选,所述功能模块包括电源管理模块、动画模块、显像模块和车辆数据模块,此方法还包括以下步骤:

s4、按照以下顺序启动车载系统:

s401、数据处理中心完成初始化;

s402、电源管理模块把电源状态数据写入对应的通信文件中,所述数据处理中心获取所述电源状态数据;如果所述电源状态数据为poweron,所述数据处理中心命令动画模块将启动动画数据写入对应的通信文件中,显像模块获取启动动画数据并在液晶仪表上播放启动动画,所述显像模块把对应的通信文件中的第一init值写1,如果所述电源状态数据为poweroff,不播放启动动画,所述显像模块把对应的通信文件中的第一init值写0;

s403、所述数据处理中心读取所述第一init值,如果第一init值为1,所述数据处理中心把第一init值发送至车辆数据接口,所述车辆数据接口将第一init值反馈至数据接收模块,车辆数据模块将车辆数据写入对应的通信文件中,所述显像模块获取车辆数据并在液晶仪表上显示车辆数据,如果第一init值为0,液晶仪表则不显示车辆数据;

s404、所述数据处理中心向所述数据接口模块发送心跳包,所述显像模块根据心跳包持续地获取车辆数据并在液晶仪表上显示车辆数据。

作为优选,所述功能模块还包括模拟数据模块和系统升级模块,所述步骤s4还包括以下步骤:

s405、所述模拟数据模块在对应的通信文件中的写入第二init值,所述数据处理中心读取所述第二init值,如果第二init值为1,屏蔽车辆数据并处理模拟数据,如果第二init值为0,屏蔽模拟数据并维持现状;

s406、所述系统升级模块在对应的通信文件中的写入第三init值,所述数据处理中心读取所述第三init值,如果第三init值为1,车机系统开始升级,所述系统升级模块将更新进度值写入对应的通信文件中,所述显像模块获取所述更新进度值并在液晶仪表上显示,升级完毕后重启系统,如果第三init值为0则维持现状。

作为优选,所述功能模块还包括应用模块和声音模块,此方法还包括以下步骤:

s5、应用模块设置每种需要播放声音的发声车机应用的目标配置,所述目标配置包括播放声道、音频流类型和抢占方式,将所述目标配置与发声车机应用的包名关联并存储在对应的通信文件中;

s6、所述数据处理中心遍历进程目录,如果找到发声车机应用的进程id,则将进程id对应的包名发送至声音模块,所述声音模块根据包名从通信文件中获取关联的目标配置,按照所述目标配置来控制发声车机应用的声音播放。

作为优选,还包括以下步骤:将所有会发出系统提示音的发声车机应用的应用类型标记1,将所有会发出导航音的发声车机应用的应用类型标记2,将所有会发出语言娱乐型的发声车机应用的应用类型标记3,将所有会发出音乐娱乐型的发声车机应用的应用类型标记4;

应用类型1的发声车机应用的播放声道为系统声道,应用类型2、应用类型3和应用类型4的发声车机应用的播放声道为媒体声道。

作为优选,所述应用类型1的发声车机应用的抢占方式为:

暂停其它所有进程中正在播放声音的发声车机应用的声音播放并播放此应用类型1的发声车机应用的声音,播放完毕后恢复其他发声车机应用的声音播放。

作为优选,所述应用类型2的发声车机应用的抢占方式为:

方式一、暂停进程中正在播放声音的应用类型3的发声车机应用的声音播放并且播放此应用类型2的发声车机应用的声音,播放完毕后恢复其他发声车机应用的声音播放;

方式二、降低进程中正在播放声音的应用类型4的发声车机应用的播放音量并且播放此应用类型2的发声车机应用的声音,播放完毕后恢复其他发声车机应用的播放音量;

方式三、继续播放进程中正在播放声音的应用类型1的发声车机应用的声音,播放完毕后播放此应用类型2的发声车机应用的声音。

作为优选,所述应用类型3的发声车机应用的抢占方式为:

方式一、暂停进程中正在播放声音的应用类型4的发声车机应用的声音播放并且播放此应用类型3的发声车机应用的声音,播放完毕后恢复其他发声车机应用的声音播放;

方式二、继续播放进程中正在播放声音的应用类型2的发声车机应用的声音,播放完毕后播放此应用类型3的发声车机应用的声音;

方式三、继续播放进程中正在播放声音的应用类型1的发声车机应用的声音,播放完毕后播放此应用类型3的发声车机应用的声音。

作为优选,所述应用类型4的发声车机应用的抢占方式为:

方式一、暂停进程中正在播放声音的应用类型3的发声车机应用的声音播放并且播放此应用类型4的发声车机应用的声音,播放完毕后恢复其他发声车机应用的声音播放;

方式二、继续播放进程中正在播放声音的应用类型2的发声车机应用的声音,播放此应用类型4的发声车机应用的声音并且降低其播放音量,应用类型2的发声车机应用播放完毕后恢复此应用类型4的发声车机应用的播放音量;

方式三、继续播放进程中正在播放声音的应用类型1的发声车机应用的声音,播放完毕后播放此应用类型4的发声车机应用的声音。

本发明的有益效果是,pps服务启动简单,对应的接口也很完善,而且不需要等待数据接收端返回数据,数据传输非常快,它通过通信文件为系统各个模块提供了信息交互通道,让车载系统的进程模块能够稳定高效的传输数据,在短时间内完成整车的数据通信。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1是本发明一种基于pps服务的车载系统进程间通信的方法的实施例的流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

如图1所示,一种基于pps服务的车载系统进程间通信的方法,包括以下步骤:

s1、判断系统内核是否配置了pps服务,如果没有配置pps服务则退出车载系统,如果已经配置了pps服务则启动pps服务,在车载系统中生成/pps/文件夹目录;

s2、数据处理中心在/pps/文件夹目录下创建多个具有唯一文件名的子文件夹,在子文件夹中创建通信文件;

s3、数据处理中心订阅和监听所有的通信文件,各个功能模块遍历所有的子文件夹,分别订阅与自身相关的通信文件并进行监听。功能模块包括电源管理模块、动画模块、显像模块、车辆数据模块、模拟数据模块和系统升级模块。

s4、按照以下顺序启动车载系统:

s401、数据处理中心完成初始化;

s402、电源管理模块把电源状态数据写入对应的通信文件(pps/sbus2dp/电源状态)中,数据处理中心获取电源状态数据;如果电源状态数据为poweron,数据处理中心命令动画模块将启动动画数据写入对应的通信文件中,显像模块获取启动动画数据并在液晶仪表上播放启动动画,显像模块把对应的通信文件(/pps/dp2hmi/dpinitdata)中的第一init值写1,如果电源状态数据为poweroff,不播放启动动画,显像模块把对应的通信文件中的第一init值写0;

s403、数据处理中心读取第一init值,如果第一init值为1,数据处理中心把第一init值发送至车辆数据接口,车辆数据接口将第一init值反馈至数据接收模块,车辆数据模块将车辆数据写入对应的通信文件中,显像模块获取车辆数据并在液晶仪表上显示车辆数据,如果第一init值为0,液晶仪表则不显示车辆数据;

s404、数据处理中心向数据接口模块发送心跳包,显像模块根据心跳包持续地获取车辆数据并在液晶仪表上显示车辆数据;

s405、模拟数据模块在对应的通信文件(/pps/dp2simulator/siminitdata)中的写入第二init值,数据处理中心读取第二init值,如果第二init值为1,屏蔽车辆数据并处理模拟数据,如果第二init值为0,屏蔽模拟数据并维持现状;

s406、系统升级模块在对应的通信文件中的写入第三init值,数据处理中心读取第三init值,如果第三init值为1,车机系统开始升级,系统升级模块将更新进度值写入对应的通信文件中,显像模块获取更新进度值并在液晶仪表上显示,升级完毕后重启系统,如果第三init值为0则维持现状。

根据其它的一些实施例,功能模块还包括应用模块和声音模块,此方法还包括以下步骤:

s5、应用模块设置每种需要播放声音的发声车机应用的目标配置,目标配置包括播放声道、音频流类型和抢占方式,将目标配置与发声车机应用的包名关联并存储在对应的通信文件中;无论是车机中出厂原生的发声车机应用设还是用户根据需求自行安装的第三方发声车机应用,用户都可以通过应用模块来设置每种发声车机应用的目标配置。发声车机应用一般分为四种类型,分别为:一种为会在必要时发出系统提示音的发声车机应用,将这些发声车机应用的应用类型标记1;一种为会发出导航音的发声车机应用,例如百度地图、腾讯地图、高德地图等等,将这些发声车机应用的应用类型标记2,一种为会发出语言娱乐型的发声车机应用,例如喜马拉雅、得到等等,将这些发声车机应用的应用类型标记3,还有一种为会发出音乐娱乐型的发声车机应用,例如qq音乐、酷我音乐、网易音乐等等,将这些发声车机应用的应用类型标记4。系统在出厂时即完成对原生应用的应用类型的标记,而用户后安装的第三方发声车机应用则可以通过操作界面进行标记。每种应用类型对应的播放声道和抢占方式是确定的,而音频流类型则可以通过操作界面进行变更。应用类型1的发声车机应用的播放声道为系统声道,应用类型2、应用类型3和应用类型4的发声车机应用的播放声道为媒体声道。应用类型1的发声车机应用多为系统应用,他们发出的系统提示音需要获得用户的特别关注,因此它的抢占方式为:暂停其它所有进程中正在播放声音的发声车机应用的声音播放并播放此应用类型1的发声车机应用的声音,播放完毕后恢复其他发声车机应用的声音播放。

应用类型2的发声车机应用为导航应用,它的抢占方式为:

方式一、如果此时应用类型3的发声车机应用正在播放声音,则暂停应用类型3所播放的声音,然后播放此应用类型2的发声车机应用的声音,播放完毕后恢复其他发声车机应用的声音播放;

方式二、如果此时应用类型4的发声车机应用正在播放声音,则降低应用类型4的发声车机应用的播放音量并且播放此应用类型2的发声车机应用的声音,播放完毕后恢复其他发声车机应用的播放音量;

方式三、继续播放进程中正在播放声音的应用类型1的发声车机应用的声音,播放完毕后播放此应用类型2的发声车机应用的声音。

应用类型3的发声车机应用的抢占方式为:

方式一、暂停进程中正在播放声音的应用类型4的发声车机应用的声音播放并且播放此应用类型3的发声车机应用的声音,播放完毕后恢复其他发声车机应用的声音播放;

方式二、继续播放进程中正在播放声音的应用类型2的发声车机应用的声音,播放完毕后播放此应用类型3的发声车机应用的声音;

方式三、继续播放进程中正在播放声音的应用类型1的发声车机应用的声音,播放完毕后播放此应用类型3的发声车机应用的声音。

应用类型4的发声车机应用的抢占方式为:

方式一、暂停进程中正在播放声音的应用类型3的发声车机应用的声音播放并且播放此应用类型4的发声车机应用的声音,播放完毕后恢复其他发声车机应用的声音播放;

方式二、继续播放进程中正在播放声音的应用类型2的发声车机应用的声音,播放此应用类型4的发声车机应用的声音并且降低其播放音量,应用类型2的发声车机应用播放完毕后恢复此应用类型4的发声车机应用的播放音量;

方式三、继续播放进程中正在播放声音的应用类型1的发声车机应用的声音,播放完毕后播放此应用类型4的发声车机应用的声音。

对于新开启的应用类型2、3和4的发声车机应用来说,如果有同类型的应用已经在运行中,在开启应用的同时关闭这些正在运行的应用。

s6、数据处理中心遍历进程目录,如果找到发声车机应用的进程id,则将进程id对应的包名发送至声音模块,声音模块根据包名从通信文件中获取关联的目标配置,按照目标配置来控制发声车机应用的声音播放。

此实例中通过配置发声车机应用的播放声道、音频流类型和抢占方式来避免声音的相互干扰,让车内的人能够及时和完整的获取车机应用提供的信息,也不会影响到对于音乐的享受;而基于pps服务的进程间通信方式,能够保证这种发声车机应用复杂的声道控制方法在实施时数据的传输更加稳定和高效,保证了整个系统的稳定性。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对所述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1