双机通信方法、终端设备及存储介质与流程

文档序号:23903256发布日期:2021-02-09 14:14阅读:56来源:国知局
双机通信方法、终端设备及存储介质与流程

[0001]
本发明涉及通信技术领域,尤其涉及双机通信方法、终端设备及计算机可读存储介质。


背景技术:

[0002]
在相关技术中,为了降低功耗,许多设备采用ap(application processor,应用处理器)和mcu(microcontroller unit,微控制单元)共同协作的双机控制架构。其中,ap与mcu之间基于spi(serial peripheral interface,串行外设接口)通信协议进行通信。并且,在apollo mcu(一种芯片)等芯片的使用过程中,采用一问一答的串行方式进行通信,这样导致传统双机设备的工作效率较低。
[0003]
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

[0004]
本发明的主要目的在于提供一种双机通信方法、终端设备及计算机可读存储介质,旨在达成提高双机通信系统的通信效率的效果。
[0005]
为实现上述目的,本发明提供一种双机通信方法,所述双机通信方法包括以下步骤:
[0006]
检测到指令数据时,将所述指令数据写入目标存储器的第一存储区域,其中,微处理器读取所述第一存储区域内保存的所述指令数据后,将所述指令数据对应的响应数据写入所述目标存储器的第二存储区域;
[0007]
读取所述第二存储区域保存的所述响应数据。
[0008]
可选地,所述目标存储器为先进先出存储器。
[0009]
可选地,所述第一存储区域对应的指令地址段为连续地址段或者非连续的地址段;所述第二存储区域对应的结果地址段为连续地址段或者非连续地址段。
[0010]
可选地,所述指令地址段和所述结果地址段均设置为非连续地址段时,所述指令地址段包括多个第一子地址段,所述结果地址段包括多个第二子地址段;所述第一子地址段和所述第二子地址段间隔设置。
[0011]
可选地,所述读取所述第二存储区域保存的所述响应数据的步骤包括:
[0012]
在所述第二存储区域保存有多个所述响应数据时,根据所述响应数据的写入顺序,依次读取所述响应数据。
[0013]
此外,为实现上述目的,本发明提供一种双机通信方法,所述双机通信方法包括以下步骤:
[0014]
读取所述第一存储区域内保存的所述指令数据;
[0015]
获取所述指令数据对应的响应数据;
[0016]
将所述响应数据写入第二存储区域。
[0017]
可选地,所述双机通信方法还包括以下步骤:
[0018]
获取所述第一存储区域的剩余存储空间或者已存储数据量;
[0019]
在所述剩余存储空间小于第一阈值,或者所述已存储数据量大于第二阈值时,控制应用处理器停止向所述第一存储区域写入数据。
[0020]
可选地,所述读取所述第一存储区域内保存的所述指令数据的步骤包括:
[0021]
在所述第一存储区域内保存有多个所述指令数据时,根据所述指令数据的写入顺序,依次读取所述第一存储区域内保存的所述指令数据。
[0022]
此外,为实现上述目的,本发明还提供一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的双机通信程序,所述双机通信程序被所述处理器执行时实现如上所述的双机通信方法的步骤。
[0023]
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有双机通信程序,所述双机通信程序被处理器执行时实现如上所述的双机通信方法的步骤。
[0024]
本发明实施例提出的一种双机通信方法、终端设备及计算机可读存储介质,将所述指令数据写入目标存储器的第一存储区域,其中,微处理器读取所述第一存储区域内保存的所述指令数据后,将所述指令数据对应的响应数据写入所述目标存储器的第二存储区域,以及读取所述第二存储区域保存的所述响应数据。由于在本实施例公开的技术方案中,指令数据与响应数据分别保存于不同的存储区域,使得指令数据写入操作与响应数据的读取操作,在一定场景中可以并行执行。并且,不会因为ap和mcu的数据处理速度的不同,导致指令数据丢失或者响应数据丢失的现象发生,因此,本发明提出的双机通信方法,达成了在提高双机通信系统的通信效率的同时,提高双机通信系统的稳定性的效果。
附图说明
[0025]
图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;
[0026]
图2为本发明双机通信方法的一实施例的流程示意图;
[0027]
图3为本发明双机通信方法的另一实施例的流程示意图。
[0028]
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0029]
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0030]
由于在相关技术中,为了降低功耗,许多设备采用ap(application processor,应用处理器)和mcu(microcontroller unit,微控制单元)共同协作的双机控制架构。其中,ap与mcu之间基于spi(serial peripheral interface,串行外设接口)通信协议进行通信。并且,在apollo mcu(一种芯片)等芯片的使用过程中,采用一问一答的串行方式进行通信,这样导致传统双机设备的工作效率较低。
[0031]
为解决相关技术中存在的上述缺陷,本发明实施例提出一种双机通信方法,其主要解决方案包括以下步骤:
[0032]
检测到指令数据时,将所述指令数据写入目标存储器的第一存储区域,其中,微处理器读取所述第一存储区域内保存的所述指令数据后,将所述指令数据对应的响应数据写
入所述目标存储器的第二存储区域;
[0033]
读取所述第二存储区域保存的所述响应数据。
[0034]
由于在本实施例公开的技术方案中,指令数据与响应数据分别保存于不同的存储区域,使得指令数据写入操作与响应数据的读取操作,在一定场景中可以并行执行。并且,不会因为ap和mcu的数据处理速度的不同,导致指令数据丢失或者响应数据丢失的现象发生,因此,本发明提出的双机通信方法,达成了在提高双机通信系统的通信效率的同时,提高双机通信系统的稳定性的效果。
[0035]
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
[0036]
本发明实施例终端可以是智能手环、智能手表、音响或手机等终端设备。
[0037]
如图1所示,该终端可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard)、鼠标等,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
[0038]
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0039]
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及双机通信程序。
[0040]
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的双机通信程序,并执行以下操作:
[0041]
检测到指令数据时,将所述指令数据写入目标存储器的第一存储区域,其中,微处理器读取所述第一存储区域内保存的所述指令数据后,将所述指令数据对应的响应数据写入所述目标存储器的第二存储区域;
[0042]
读取所述第二存储区域保存的所述响应数据
[0043]
进一步地,处理器1001可以调用存储器1005中存储的双机通信程序,还执行以下操作:
[0044]
在所述第二存储区域保存有多个所述响应数据时,根据所述响应数据的写入顺序,依次读取所述响应数据。
[0045]
可选地,处理器1001可以用于调用存储器1005中存储的双机通信程序,并执行以下操作:
[0046]
读取所述第一存储区域内保存的所述指令数据;
[0047]
获取所述指令数据对应的响应数据;
[0048]
将所述响应数据写入第二存储区域。
[0049]
进一步地,处理器1001可以调用存储器1005中存储的双机通信程序,还执行以下操作:
[0050]
获取所述第一存储区域的剩余存储空间或者已存储数据量;
[0051]
在所述剩余存储空间小于第一阈值,或者所述已存储数据量大于第二阈值时,控
制应用处理器停止向所述第一存储区域写入数据。
[0052]
进一步地,处理器1001可以调用存储器1005中存储的双机通信程序,还执行以下操作:
[0053]
在所述第一存储区域内保存有多个所述指令数据时,根据所述指令数据的写入顺序,依次读取所述第一存储区域内保存的所述指令数据。
[0054]
参照图2,在本发明双机通信方法的一实施例中,所述双机通信方法包括以下步骤:
[0055]
ap(application processor,应用处理器)又称之为多媒体应用处理器(multimedia application processor)简称map。应用处理器是在低功耗cpu(central processing unit,中央处理器)的基础上扩展音视频功能和专用接口的超大规模集成电路。map是伴随着智能手机而产生的,普通手机只有通话和短信收发功能,称为语音压缩无线收发机更确切一些。非智能手机的处理器的技术核心是一个语音压缩芯片,即基带处理器。发送时对语音进行压缩,接收时解压缩,传输码率只是未压缩的几十分之一,在相同的带宽下可服务更多的人。智能手机上除通信功能外还增加了数码相机、mp3播放器、fm(frequency modulation,调频)广播接收、视频图像播放等功能,基带处理器已经没有能力处理这些新加的功能。另外视频、音频(高保真音乐)处理的方法和语音不一样,语音只要能听懂,达到传达信息的目的就行了。视频要求亮丽的彩色图像,动听的立体声伴音,目的使人能得到最大的感官享受。为了实现这些功能,需要另外一个协处理器专门处理这些信号,它就是应用处理器。
[0056]
mcu(microcontroller unit,微控制单元)又称单片微型计算机(single chip microcomputer)或者单片机,是把cpu的频率与规格做适当缩减,并将内存(memory)、计数器(timer)、usb(universal serial bus,通用串行总线)、adc(analog to digital converter,模数转换器)、uart(universal asynchronous receiver/transmitter,通用异步收发传输器)、plc(programmable logic controller,可编程逻辑控制器)、dma(direct memory access,直接存储器访问)等周边接口,甚至lcd(liquid crystal display,液晶显示器)驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。诸如手机、pc(personal computer个人计算机)外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到mcu的身影。
[0057]
为了降低设备的功耗,目前,在多种设备中均采用ap与mcu双机,基于spi协议通信,以共同协作的双机控制架构。并且,目前的mcu,如apollo mcu,在使用过程中,采用的是“一问一答”的串行通信方式,这样导致传统双机设备的工作效率较低。
[0058]
具体地,在传统的双机通信系统中,ap与mcu之间的通信流程如下:
[0059]
ap将数据指令写入mcu的fifo(first input first output,先进先出)存储器中,在写入完成后,mcu从fifo存储器中读取ap写入的数据指令,并清空fifo存储器;进而,mcu获取当前读取到的数据指令对应的响应数据,并将该响应数据写入fifo存储器中;然后通过中断通知ap,使得ap在接收到中断时,从fifo存储器中读取上述响应数据,并在ap读取结束后,清空fifo存储器。
[0060]
由于在传统双机通信系统中,指令数据和响应数据需要共用同一个fifo存储器,因此,若mcu将响应数据写入fifo存储器后,若ap没有读取该响应数据,而是继续写入指令
数据的话,该响应数据会被清理掉。这样就造成了数据丢失。或者,当mcu还未读取ap写入的前一指令数据时,ap又写入一新的指令数据,则会导致前一指令数据丢失,而mcu直接根据当前写的新指令数据执行。如果ap一直不断的写指令会导致mcu处理不及时而崩溃。
[0061]
基于上述原因,传统的双击通信系统采用的串行通信方案,存在通信效率地,通信系统稳定性差的缺陷。为解决这一缺陷,本发明实施例提出一种双机通信方法,其中,所述双击通信方法的主要解决方案包括以下步骤:
[0062]
步骤s1、检测到指令数据时,将所述指令数据写入目标存储器的第一存储区域,其中,微处理器读取所述第一存储区域内保存的所述指令数据后,将所述指令数据对应的响应数据写入所述目标存储器的第二存储区域;
[0063]
步骤s2、读取所述第二存储区域保存的所述响应数据。
[0064]
在本实施例中,可以先确定用于存储指令数据和指令数据的响应数据的目标存储器。例如,在以终端设备中,可以将mcu的fifo存储器作为目标存储器。可以理解的是,目标存储器在一些其它的实时方案中,也有可以能设置为独立与mcu和ap的其它存储器。本发明对此不作限定。
[0065]
当确定目标存储器后,可以获取目标存储器中,用于存储指令数据的所述响应数据的目标地址段。然后将所述目标地址段根据预设规则划分为指令地址段和结果地址段。其中,所述指令地址段对应的存储区域为第一存储区域,所述结果地址段对应的存储区域为第二存储区域。可以理解的是,指令地址段和结果地址段的划分,是有系统的开发者预先设定的。
[0066]
需要说明的是,指令地址段可以设置为连续地址段或者非连续的地址段,结果地址段也可以设置为连续地址段或者非连续地址段。所述指令地址段和所述结果地址段均设置为非连续地址段时,所述指令地址段包括多个第一子地址段,所述结果地址段包括多个第二子地址段;所述第一子地址段和所述第二子地址段间隔设置。
[0067]
当前确定指令地址段后,当ap在运行中,需要与mcu进行通信时,可以将指令数据,根据所述指令地址段,写入第一存储区域。然后检测第二存储区域内是否保存有响应数据。如果是,则根据响应数据的写入顺序,依次读取所述第二存储区域保存的响应数据。
[0068]
具体地,当目标存储器为fifo存储器时,由于fifo存储器的特性即为先进先出,因此,只需顺序读取即可。否则,在所述第二存储区域保存有多个所述响应数据时,先获取响应数据的写入顺序,进而根据响应数据的写入顺序,依次读取所述响应数据。即优先读取先写入的响应数据。以避免数据紊乱。
[0069]
可以理解的是,上述指令地址和结果地址的划分,对于一个新设备来说,可以在其出厂前,生产者将指令地址和结果地址的划分数据,直接写入系统文件,设备装载系统后,可以直接根据系统文件获取。当基于一已经使用的设备,则可以在对设备进行系统更新是,对其系统文件以及mcu和ap通信控制逻辑进行更新,使得器可以获取指令地址和结果地址的划分数据,以及根据更新后的控制逻辑执行本发明提出的双机通信方法。这是因为实现本发明提出的双机通信方法无需对硬件进行改进。因此,本发明提出的双机通信方法存在适应性广的优点。
[0070]
可选地,在ap读取第二存储区域内存储的响应数据后,若第二存储区域内仅保存有被读取的这一响应数据,则清空第二存储区域。当第二存储区域内保存有多个响应数据,
则从所述第二存储区域内读取一响应数据后,清除所述应用处理器已读取的所述响应数据。
[0071]
在本实施例公开的技术方案中,检测到指令数据时,将所述指令数据写入目标存储器的第一存储区域,其中,微处理器读取所述第一存储区域内保存的所述指令数据后,将所述指令数据对应的响应数据写入所述目标存储器的第二存储区域,以及读取所述第二存储区域保存的所述响应数据。由于在本实施例公开的技术方案中,指令数据与响应数据分别保存于不同的存储区域,使得指令数据写入操作与响应数据的读取操作,在一定场景中可以并行执行。并且,不会因为ap和mcu的数据处理速度的不同,导致指令数据丢失或者响应数据丢失的现象发生,因此,本发明提出的双机通信方法,达成了在提高双机通信系统的通信效率的同时,提高双机通信系统的稳定性的效果。
[0072]
参照图3、在本发明双机通信方法的一实施例中,所述双机通信方法包括以下步骤:
[0073]
步骤s10、读取所述第一存储区域内保存的所述指令数据;
[0074]
步骤s20、获取所述指令数据对应的响应数据;
[0075]
步骤s30、将所述响应数据写入第二存储区域。
[0076]
在本实施例中、mcu可以检测第一存储区域内是否有指令数据写入,在检测到第一存储区域内有指令数据写入时,可以读取第一存储区域内保存的指令数据。其中,在所述第一存储区域内保存有多个所述指令数据时,根据所述指令数据的写入顺序,依次读取所述第一存储区域内保存的所述指令数据。可以理解的是,当第一存储区域为fifo存储器中的一存储区域时,由于fifo存储器具备先进先出的特性,因此只需顺序读取第一存储区域中保存的指令数据。否则,先获取指令数据的写入顺序,在根据所述指令数据的写入顺序,依次读取所述第一存储区域内保存的所述指令数据。
[0077]
进一步地,在mcu读取第一存储区域内存储的指令数据后,若第一存储区域内仅保存有被读取的这一指令数据,则清空第一存储区域。当第一存储区域内保存有多个指令数据,则从所述第一存储区域内读取一指令数据后,清除所述应用处理器已读取的所述响应数据。
[0078]
可选地、获取所述第一存储区域的剩余存储空间或者已存储数据量,在所述剩余存储空间小于第一阈值,或者所述已存储数据量大于第二阈值时,控制应用处理器停止向所述第一存储区域写入数据。其中,所述第一阈值和所述第二阈值为预先设定的固定数值。
[0079]
在本实施例公开的技术方案中,先读取所述第一存储区域内保存的所述指令数据,然后获取所述指令数据对应的响应数据,进而将所述响应数据写入第二存储区域。由于在本实施例公开的技术方案中,指令数据与响应数据分别保存于不同的存储区域,使得指令数据写入操作与响应数据的读取操作,在一定场景中可以并行执行。并且,不会因为ap和mcu的数据处理速度的不同,导致指令数据丢失或者响应数据丢失的现象发生,因此,本发明提出的双机通信方法,达成了在提高双机通信系统的通信效率的同时,提高双机通信系统的稳定性的效果。
[0080]
此外,本发明实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的双机通信程序,所述双机通信程序被所述处理器执行时实现如上各个实施例所述的双机通信方法的步骤。
[0081]
具体地,所述终端设备还可以设置有用户接口,从而通过用户接口与用户进行人机交互。在人机交互过程汇总,会使得ap产生指令数据。可选地,终端设备还设置有网络接口,使得终端可以与后台服务器进行数据通信,从而在于服务器的通信过程中,使ap产生指令数据。
[0082]
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有双机通信程序,所述双机通信程序被处理器执行时实现如上各个实施例所述的双机通信方法的步骤。
[0083]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0084]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0085]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
[0086]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1