发明内容
本发明实施例提供了一种双中央微处理器间的通信方法、装置及系统,以实现消除双CPU间通信过程中的冲突以及简化通信流程。
为达到上述目的,本发明的实施例采用如下技术方案:
本发明实施例提供的一种双中央微处理器间的通信方法,包括:
基带功能模块接收应用功能模块经由服务通道、虚拟通道发送的基带功能调用请求消息;其中,所述基带功能调用请求消息携带有虚拟通道标识,所述虚拟通道标识与所述虚拟通道对应;
根据所述基带功能调用请求消息,所述基带功能模块向所述应用功能模块返回基带功能调用响应消息,其中,所述基带功能调用响应消息中携带有所述虚拟通道标识。
本发明实施例提供的另一种双中央微处理器间的通信方法,包括:
经由服务通道、虚拟通道,应用功能模块向基带功能模块发送基带功能调用请求消息;其中,所述基带功能调用请求消息携带有虚拟通道标识,所述虚拟通道标识与所述虚拟通道对应;
应用功能模块接收所述基带功能模块返回的基带功能调用响应消息,所述基带功能调用响应消息与所述基带功能调用请求消息对应。
本发明实施例提供的一种基带中央微处理器侧的通信装置,该装置包括:基带功能模块;所述基带功能模块包括:消息接收单元和响应消息发送单元;
所述消息接收单元,用于接收应用功能模块经由服务通道、虚拟通道发送的基带功能调用请求消息;其中,所述基带功能调用请求消息携带有虚拟通道标识;
所述响应消息发送单元,用于根据所述基带功能调用请求消息,向所述应用功能模块返回基带功能调用响应消息,其中,所述基带功能调用响应消息中携带有所述虚拟通道标识。
本发明实施例提供的一种应用中央微处理器侧的通信装置,该装置包括:
应用功能模块;所述应用功能模块包括:请求消息发送单元和消息接收单元;
所述请求消息发送单元,用于经由服务通道、虚拟通道,向基带功能模块发送基带功能调用请求消息;其中,所述基带功能调用请求消息携带有虚拟通道标识,所述虚拟通道标识与所述虚拟通道对应;
所述消息接收单元,用于接收所述基带功能模块返回的基带功能调用响应消息,所述基带功能调用响应消息与所述基带功能调用请求消息对应。
本发明实施例提供的一种双中央微处理器系统,该系统包括:如上所述的基带中央微处理器侧的通信装置和所述的应用中央微处理器侧的通信装置。
本发明实施例提供的一种双中央微处理器间的通信方法、装置及系统,基带功能模块通过接收应用功能模块经由服务通道、虚拟通道发送的基带功能调用请求消息;其中,所述基带功能调用请求消息携带有虚拟通道标识,所述虚拟通道标识与所述虚拟通道对应;根据所述基带功能调用请求消息,所述基带功能模块向所述应用功能模块返回基带功能调用响应消息,其中,所述基带功能调用响应消息中携带有所述虚拟通道标识。与现有技术相比,本发明中双中央微处理器间的通信通过服务通道以及虚拟通道进行信息交互,不但能够使得双CPU间通信过程不会产生冲突,而且也简化了通信过程的复杂度。
具体实施方式
下面结合附图对本发明实施例提供的一种双中央微处理器间的通信方法、装置及系统进行详细的说明。
在本发明实现过程中,所述双中央微处理器间的通信方法、装置及系统基于双CPU系统如图1所示,该系统主要分为四个层次;基础通道层、虚拟通道层,服务通道层和应用层。
所述基础通道层由串口/高速串口/USB口/共享内存等提供原始的通信通路。
所述虚拟通道层在所述基础通道层的基础上,采用多路复用机制,虚拟出多个并行的通道,这些通道可以同时使用,之间不存在任何冲突。每个虚拟通道对于服务通道层来说都是一个独立的通道,所有虚拟通道共享一个基础通道层。当虚拟通道接收到服务通道层发送过来的数据时,虚拟通道层将每个虚拟通道的数据打包并加上虚拟通道标识发到基础通道上;当虚拟通道接收到基础通道发送过来的数据包时,虚拟通道将从基础通道接收到的数据包进行解包处理,并取出虚拟通道标识,根据所述虚拟通道标识将数据通过所述标识对应的虚拟通道发送到服务通道层上的服务通道(Service Channel)。
所述服务通道层由Service Channel和基带功能管理模块(Service Mgr)组成。其中,所述Service Mgr负责管理基带CPU上的各个基带功能模块(Service),并给每个Service Channel分配虚拟通道;所述Service Channel通过Service Mgr申请虚拟通道,并通过虚拟通道连接到基带CPU上的一个Service上。而应用CPU中的应用程序只需要创建一个Service Channel实例,并指定要连接的Service即可使用,而不需要知道该Service Channel具体连接到哪个虚拟通道上。
所述应用层由应用CPU上的应用功能模块(例如:应用1、应用2、...、应用n)和基带CPU上的Service组成,应用功能模块通过Service Channel与Service建立的连接,调用基带CPU中Service。
如图2所示,为本发明实施例提供的一种双中央微处理器间的通信方法,该方法包括:
201:基带功能模块接收应用功能模块经由服务通道、虚拟通道发送的基带功能调用请求消息;其中,所述基带功能调用请求消息携带有虚拟通道标识,所述虚拟通道标识与所述虚拟通道对应;
202:根据所述基带功能调用请求消息,所述基带功能模块向所述应用功能模块返回基带功能调用响应消息,其中,所述基带功能调用响应消息中携带有所述虚拟通道标识。
基于以上实施例,如图3所示,为本发明实施例提供的另一种双中央微处理器间的通信方法流程图。该方法,包括:
301:经由服务通道、虚拟通道,应用功能模块向基带功能模块发送基带功能调用请求消息;其中,所述基带功能调用请求消息携带有虚拟通道标识,所述虚拟通道标识与所述虚拟通道对应;
302:应用功能模块接收所述基带功能模块返回的基带功能调用响应消息,所述基带功能调用响应消息与所述基带功能调用请求消息对应。
基于以上实施例,本发明实施例所提供的一种双中央微处理器间的通信方法中应用CPU侧Service Channel与基带CPU侧Service建立连接的过程如图4所示,其具体连接过程如下:
401:应用功能模块创建与其所对应的服务通道Service Channel实例;换言之,就是应用CPU中的各个应用程序创建各自的Service Channel实例时,指定其需要连接的服务标识(Service ID);其中,所述Service ID为基带CPU侧Service的标识。具体的讲,就是所述应用功能模块创建与其所对应的服务通道ServiceChannel;所述服务通道获取其所对应的服务标识Service ID;所述服务通道Service Channel与所述服务标识Service ID相互关联。例如:应用CPU中的应用功能1需要调用基带CPU中基带功能1;其中,基带功能1的标识为Service1,则应用CPU在为应用功能1创建Service Channel 1时,将所述Service 1与所述Service Channel 1相关联。所述的Service ID可以是预先存储在应用CPU中的信息。
402:当所述应用功能需要调用基带CPU中的基带功能时,所述应用功能模块通过其所创建的Service Channel向虚拟公共通道(Common tty)发送携带有所述Service ID的基带功能绑定请求消息。
403:基带CPU侧的Service Mgr通过虚拟通道中的Common tty接收所述基带功能绑定请求消息。
404:Service Mgr为所述Service Channel分配一个空闲的虚拟通道,并将所述虚拟通道标识通过所述Common tty发送给所述Service Channel。
405:Service Mgr根据所述接收到的基带功能绑定请求消息中携带的Service ID查找对应的Service。
406:Service Mgr将分配的空闲虚拟通道标识发送给Service,令Service开始提供基带功能。
407:Service根据所述虚拟通道标识打开对应的虚拟通道并开始提供基带功能。
可选的,Service Mgr如果在上述的任何一步出现错误,则通过虚拟通道的Common tty向Service和Service Channel返回失败及失败原因。
408:Service Channel通过Common tty收到Service Mgr的返回结果;如果Service Mgr的返回结果为连接成功,则Service Channel根据返回的虚拟通道标识打开相应的虚拟通道,并向应用层的应用功能模块返回连接成功响应,从而应用CPU中的相应应用程序能够通过Service Channel以及虚拟通道与基带CPU中对应的Service进行信息交互。所述Service Channel若收到所述Service Mgr通过虚拟通道中的Common tty返回的分配的空闲虚拟通道标识,即可认为连接成功。
可选的,如果Service Mgr的返回结果为连接失败,则Service Channel对应用层的应用功能模块返回连接失败响应。
基于以上实施例,本发明实施例所提供的一种双中央微处理器间的通信方法中应用CPU侧Service Channel与基带CPU侧Service之间进行功能调用的过程如图5所示,其具体调用过程如下:
501:应用CPU侧的服务通道接收应用功能模块所发送的基带功能调用请求消息;然后将所述基带功能调用请求消息,发送到所述虚拟通道中。其中,所述虚拟通道为在所述Service Channel与Service之间建立连接时,由基带CPU侧Service Mgr为所述Service Channel所分配的空闲虚拟通道。
502:将所述功能调用请求消息通过应用CPU侧的虚拟通道封装所述虚拟通道标识,并将所述封装有虚拟通道标识的功能调用请求消息发送到基带CPU侧;具体的讲,就是应用CPU侧的虚拟通道将所述Service Channel发送的功能调用请求消息封装上所述虚拟通道对应的标识,即虚拟通道标识。
503:当基带CPU侧接收到应用功能模块经由服务通道、虚拟通道发送的所述基带功能调用请求消息后,基带CPU侧的与所述虚拟通道标识对应的虚拟通道将所述基带功能调用请求消息发送到对应的基带功能模块Service;
504:根据所述功能调用请求消息,基带CPU侧的Service通过所述虚拟通道标识对应的虚拟通道向所述应用功能模块返回基带功能调用响应消息,其中,所述基带功能调用响应消息中携带有所述虚拟通道标识。
需要说明的是,所述基带功能调用响应消息中携带有Service Channel需要向Service所调用的功能信息。
505:应用CPU侧的与所述虚拟通道标识对应的虚拟通道,接收所述基带功能模块返回的基带功能调用响应消息,其中,所述基带功能调用响应消息携带有所述虚拟通道标识。
506:应用CPU侧的所述虚拟通道将所述基带功能调用响应消息中所携带的虚拟通道标识去封装;通过与其对应的Service Channel,将所述去封装后的基带功能调用响应消息发送给对应的应用功能模块,这样就完成了应用功能模块通过Service Channel向Service调用功能的过程。
基于以上实施例,本发明实施例所提供的一种双中央微处理器间的通信方法中应用CPU侧Service Channel与基带CPU侧Service之间断开连接的过程如图6所示,其具体调用过程如下:
601:应用CPU侧的应用功能模块通过Service Channel向虚拟通道的Common tty发送基带功能断开请求消息;所述的基带功能断开请求消息中携带有Service ID和虚拟通道标识。
602:Service Mgr通过所述虚拟通道的Common tty接收所述基带功能断开请求消息。
603:Service Mgr根据所述基带功能断开请求消息中携带的Service ID,向所述Service ID对应的Service发送停止基带功能请求消息,以便通知Service停止基带功能;其中,所述停止基带功能请求消息携带有所述虚拟通道标识。
604:Service接收到所述停止基带功能请求消息后,停止所述虚拟通道标识所对应虚拟通道上的基带功能并关闭该通道。
605:Service Mgr检测所述Service是否停止相应的基带功能,如果所述Service Mgr检测到所述Service停止相应的基带功能,则将所述基带功能所对应的虚拟通道标识通过基带功能断开响应消息返回给Common tty;其中,所述基带功能所对应的虚拟通道标识为需要关闭的虚拟通道标识。
606:Service Channel通过所述Common tty接收所述Service Mgr发送的携带有虚拟通道标识的基带功能断开响应消息。
607:Service Channel根据所述基带功能断开响应消息中携带的虚拟通道标识关闭相应的虚拟通道。
608:可选的,Service Channe1向应用层的应用功能模块返回成功响应。
如图7所示,为本发明实施例提供的一种基带中央微处理器侧的通信装置,该装置包括:基带功能模块700;所述基带功能模块700包括:消息接收单元701和响应消息发送单元702;
所述消息接收单元701,用于接收应用功能模块经由服务通道、虚拟通道发送的基带功能调用请求消息;其中,所述基带功能调用请求消息携带有虚拟通道标识;
所述响应消息发送单元702,用于根据所述基带功能调用请求消息,向所述应用功能模块返回基带功能调用响应消息,其中,所述基带功能调用响应消息中携带有所述虚拟通道标识。
需要注意的是,该装置还包括:基带功能管理模块。如图8所示;所述基带功能管理模块800包括:绑定消息发送单元801、标识分配单元802和标识发送单元803;
所述绑定消息接收单元801,用于接收所述应用功能模块经由服务通道、虚拟公共通道发送的基带功能绑定请求消息;其中,所述基带功能绑定请求消息中携带有基带功能标识;
所述标识分配单元802,用于为所述发送基带功能绑定请求消息的服务通道分配虚拟通道标识;
所述标识发送单元803,用于将所述虚拟通道标识通过所述虚拟公共通道发送给所述服务通道;和/或,将所述分配的虚拟通道标识发送给所述基带功能标识所对应的基带功能模块。
还需要注意的是,所述基带功能管理模块800还包括:连接断开消息接收单元804、停止基带功能请求消息发送单元805、检测单元806和通道关闭消息发送单元807;
所述连接断开消息接收单元804,用于接收所述应用功能模块经由服务通道、虚拟通道发送的基带功能断开请求消息;其中,所述基带功能断开请求消息中携带有基带功能标识和与所述虚拟通道对应的虚拟通道标识;
所述停止基带功能请求消息发送单元805,用于根据所述基带功能标识,向所述基带功能标识所对应的基带功能模块发送停止基带功能请求消息,所述停止基带功能请求消息中携带所述虚拟通道标识,以使所述基带功能模块停止与所述基带功能标识对应的基带功能并关闭与所述虚拟通道标识对应的虚拟通道;
所述检测单元806,用于检测所述基带功能模块是否停止相应的基带功能;
所述通道关闭消息发送单元807,用于如果所述相应的基带功能停止,则通过所述公共虚拟通道向所述服务通道返回基带功能断开响应消息,所述基带功能断开响应消息中携带所述虚拟通道标识。
如图9所示,为本发明实施例提供的一种应用中央微处理器侧的通信装置,该装置包括:应用功能模块900;所述应用功能模块900包括:请求消息发送单元9001和消息接收单元9002;
所述请求消息发送单元9001,用于经由服务通道、虚拟通道,向基带功能模块发送基带功能调用请求消息;其中,所述基带功能调用请求消息携带有虚拟通道标识,所述虚拟通道标识与所述虚拟通道对应;
所述消息接收单元9002,用于接收所述基带功能模块返回的基带功能调用响应消息,所述基带功能调用响应消息与所述基带功能调用请求消息对应。
需要注意的是,该装置还可以包括:服务通道模块901;所述服务通道模块901包括:服务标识获取单元9011和关联单元9012;所述应用功能模块900还包括:应用创建单元9003;
其中,所述应用创建单元9003,用于创建与其所对应的服务通道;
所述服务标识获取单元9011,用于获取其所对应的服务标识;
所述关联单元9012,用于所述服务通道与所述服务标识相互关联。
还需要注意的是,所述应用功能模块900还包括:绑定请求消息发送单元9004;所述服务通道模块901还包括:标识接收单元9013和通道打开单元9014;其中,
所述绑定请求消息发送单元9004,用于经由服务通道、虚拟公共通道,发送基带功能绑定请求消息给基带功能管理模块;其中,所述基带功能绑定请求消息中携带有基带功能标识;
所述标识接收单元9013,用于通过所述虚拟公共通道,接收所述基带功能管理模块为所述服务通道分配虚拟通道标识;
所述通道打开单元9014,用于打开所述虚拟通道标识所对应的虚拟通道。
还需要注意的是,该装置还可以包括:虚拟通道模块902;所述虚拟通道模块902包括:通道标号封装单元9021和封装消息发送单元9022;所述服务通道模块901还包括:响应消息接收单元9015和通道关闭单元9016;所述应用功能模块900,还包括:断开请求消息发送单元9005;其中,
所述断开请求消息发送单元9005,用于通过服务通道发送基带功能断开请求消息;其中,所述基带功能断开请求消息中携带有服务标识;
所述通道标号封装单元9021,用于为所述基带功能断开请求消息封装虚拟通道标识;
所述封装消息发送单元9022,用于向基带管理功能模块发送所述封装有虚拟通道标识的基带功能断开请求消息;
所述响应消息接收单元9015,用于接收所述基带功能管理模块发送的与所述基带功能断开请求消息对应的基带功能断开响应消息;
所述通道关闭单元9016,用于根据所述服务标识,所述关闭相应的服务通道,可选的,还可以向应用功能模块返回成功响应消息。
如图10所示,为本发明实施例提供的一种双中央微处理器系统,该系统包括:如上所述基带中央微处理器侧的通信装置1001和所述的应用中央微处理器侧的通信装置1002。
本发明实施例提供的一种双中央微处理器间的通信方法、装置及系统,基带中央微处理器侧通过接收应用功能模块经由服务通道、虚拟通道发送的基带功能调用请求消息;其中,所述基带功能调用请求消息携带有虚拟通道标识;根据所述基带功能调用请求消息,基带功能模块向所述应用功能模块返回基带功能调用响应消息,其中,所述基带功能调用响应消息中携带有所述虚拟通道标识。与现有技术相比,本发明中双中央微处理器间的通信过程能够通过基带中央微处理器侧的基带功能管理模块统一为应用微处理器侧的各个应用功能模块所对应的服务通道分配虚拟通道,并通过所述虚拟通道进行信息交互。由于应用微处理器通过服务通道与基带中央微处理器中的基带功能模块通过连接建立所分配的虚拟通道进行信息交互,从而消除了双CPU间通信过程中产生的冲突,同时也简化了通信过程的复杂度。
通过以上的实施方式的描述,本领域普通技术人员可以理解:实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如上述方法实施例的步骤,所述的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。