主从设备间的数据操作方法和装置与流程

文档序号:16880352发布日期:2019-02-15 22:04阅读:404来源:国知局
主从设备间的数据操作方法和装置与流程

本发明涉及数据处理领域,具体而言,涉及一种主从设备间的数据操作方法和装置。



背景技术:

在相关技术中,在主设备(master)与从设备(slave)进行数据通信时,一般采用如下中断或者查询方式。

图1是相关技术中主从设备进行数据通信时的示意图,如图1所示,每次操作(读操作、或者写操作),data都会先指定操作符,从机根据操作符判断是要准备发送数据,还是准备接收数据。

无论采用中断形式,还是查询方式,在操作符与数据传输之间,由于都需要从机参与判断,因此,占用中央处理器(centralprocessingunit,简称为cpu)资源、通信时钟不能太高,从而影响传输效率。下面举例说明。

例如,图2是相关技术中主机发起写操作的示意图,如图2所示,流程如下:

s001:主机(master端)发起串行外设接口(serialperipheralinterface,简称为spi)通信开始,先发送操作符码值(例如,1字节数据)。

s002:从机(slave端)收到第1字节数据,解析是读操作,还是写操作?此处为写操作(数据由master到salve),所以从机需要准备接收数据。

s003:主机发送数据,从机接收数据并且缓存到缓冲队列,直到数据传输完成。

s004:从机处理接收到的数据。

备注:在涂黑区域,为从机解析操作符,并且准备接收数据的处理时间,故最大处理时间不能超过一个clk周期,否则就会导致数据错误。

例如,图3是相关技术中主机发起读操作的示意图,如图3所示,流程如下:

s001:主机(master端)发起spi通信开始,先发送操作符码值(例如,1字节数据)。

s002:从机(slave端)收到第1字节数据,解析是读操作,还是写操作?此处为读操作(数据由salve到master),所以从机需要准备发送数据。

s003:主机接收数据,主机接收数据并且缓存到缓冲队列,直到数据传输完成。

s004:主机处理接收到的数据。

备注:在涂黑区域,为从机解析操作符,并且准备发送数据的处理时间,故最大处理时间不能超过一个clk周期,否则就会导致数据错误。

因此,在相关技术中,主从设备进行通信时,需要占用cpu来执行对操作符的解析操作,因此,通信效率低下。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种主从设备间的数据操作方法和装置,以至少解决相关技术中,需要占用cpu资源来实现主从设备进行通信,导致通信效率低下的技术问题。

根据本发明实施例的一个方面,提供了一种主从设备间的数据操作方法,包括:确定主设备与从设备之间采用直接内存访问dma方式进行数据操作;控制所述主设备采用所述dma方式,执行与所述从设备进行数据操作。

可选地,控制所述主设备采用所述dma方式,执行与所述从设备进行数据操作包括:控制所述主设备采用所述dma方式,对所述从设备执行数据写操作,其中,所述数据写操作包括:所述主设备向所述从设备发送的发送帧中包括:所述主设备向所述从设备发送的有效数据。

可选地,在采用所述dma方式下的双工模式的情况下,所述数据写操作还包括:所述主设备从所述从设备接收的接收帧中为空白的无效数据,其中,所述双工模式为在进行数据发送的同时也允许进行数据接收。

可选地,控制所述主设备采用所述dma方式,执行与所述从设备进行数据操作包括:在所述主设备接收到所述从设备发送的触发信号的情况下,控制所述主设备采用所述dma方式,执行对所述从设备进行数据读操作,其中,所述触发信号用于指示所述从设备备有数据供所述主设备读取。

可选地,控制所述主设备采用所述dma方式,执行对所述从设备进行数据读操作包括:采用所述dma方式下的双工模式,控制所述主设备对所述从设备执行数据读操作,其中,所述数据读操作包括:所述主设备向所述从设备发送的发送帧中包括:所述主设备向所述从设备发送的有效数据,或者空白的无效数据;所述主设备从所述从设备接收的接收帧中包括:所述从设备备所述主设备读取的有效数据。

可选地,所述触发信号为通用输入/输出gpio信号。

根据本发明的另一方面,提供了一种主从设备间的数据操作方法,包括:确定从设备与主设备间采用直接内存访问dma方式进行数据操作;控制所述从设备采用所述dma方式,执行与所述主设备进行数据操作。

可选地,控制所述从设备采用所述dma方式,执行与所述主设备进行数据操作包括:控制所述从设备采用所述dma方式下双工模式,完成所述主设备对所述从设备的数据写操作,其中,所述数据写操作包括:所述从设备从所述主设备接收的接收帧中包括:所述主设备向所述从设备发送的有效数据;所述从设备向所述主设备发送的发送帧中为空白的无效数据,其中,所述双工模式为在进行数据发送的同时也允许进行数据接收。

可选地,控制所述从设备采用所述dma方式,执行与所述主设备进行数据操作包括:向主设备发送触发信号,其中,所述触发信号用于指示从设备备有数据供所述主设备读取;控制所述从设备采用所述dma方式下双工模式,完成所述主设备对所述从设备的数据读操作,其中,所述数据读操作包括:所述从设备从所述主设备接收的接收帧中包括:所述从设备从所述主设备接收的有效数据或者空白的无效数据;所述从设备向所述主设备发送的发送帧中包括:所述从设备备所述主设备读取的有效数据。

可选地,所述触发信号为通用输入/输出gpio信号。

根据本发明一方面,提供了一种主从设备间的数据操作装置,包括:第一确定模块,用于确定主设备与从设备之间采用直接内存访问dma方式进行数据操作;第一控制模块,用于控制所述主设备采用所述dma方式,执行与所述从设备进行数据操作。

根据本发明另一方面,提供了一种主从设备间的数据操作装置,包括:第二确定模块,用于确定从设备与主设备间采用直接内存访问dma方式进行数据操作;第二控制模块,用于控制所述从设备采用所述dma方式,执行与所述主设备进行数据操作。

根据本发明另一方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述任意一项所述的主从设备间的数据操作方法。

根据本发明另一方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的主从设备间的数据操作方法。

在本发明实施例中,先确定主设备与从设备之间采用dma方式进行数据操作,之后,控制所述主设备采用所述dma方式,执行与所述从设备进行数据操作,相对于相关技术中在进行主从设备通信时,需要占用cpu来执行对应的数据操作(例如,由于需要采用操作符来对数据操作的类型进行指示,从而需要占用cpu(对cpu的占用是及其有限的)来执行对操作符的解析操作)而言,由于dma方式与cpu的处理方式完全独立,采用dma方式进行主从设备间的通信,有效地避免了主从设备通信占用cpu资源,有效地解决了相关技术中,需要占用cpu资源来实现主从设备进行通信,导致通信效率低下的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是相关技术中主从设备进行数据通信时的示意图;

图2是相关技术中主机发起写操作的示意图;

图3是相关技术中主机发起读操作的示意图;

图4是根据本发明实施例一的主从设备间的数据操作方法的流程图;

图5是根据本发明实施例二的主从设备间的数据操作方法的流程图;

图6是根据本发明实施例的主从设备间采用dma-spi的单向通信的示意图;

图7是根据本发明实施例三的主从设备间的数据操作方法的流程图;

图8是根据本发明实施例的主从设备间的dma-spi的双向通信的示意图;

图9是根据本发明优选实施方式的主从设备的数据读操作和数据写操作的示意图;

图10是根据本发明实施例四的主从设备间的数据操作方法的流程图;

图11是根据本发明实施例五的主从设备间的数据操作方法的流程图;

图12为本发明实施例六提供的一种主从设备间的数据操作装置的结构示意图;

图13为本发明实施例七提供的一种主从设备间的数据操作装置的结构示意图;

图14为本发明实施例六提供的一种主从设备间的数据操作设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例一

根据本发明实施例,提供了一种主从设备间的数据操作方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图4是根据本发明实施例一的主从设备间的数据操作方法的流程图。

本实施例提供的主从设备间的数据操作方法可以由主从设备间的数据操作设备执行,该主从设备间的数据操作设备可以通过软件和/或硬件的方式实现,该主从设备间的数据操作设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。该主从设备间的数据操作设备可以是具备主从关系的两个设备中的主设备,例如,该主设备可以是电脑,手机,平板,投影仪或交互智能平板等。需要说明的是,具备主从关系的两个设备可以应用于多种场景,例如,数据库对数据进行存储时,一般在主设备上存储后,在主设备正常或者故障的情况下,在对应的从设备上也能够进行相应的存储;在进行数据通信的场景下,在通过主设备进行发送或者接收数据时,在主设备正常或者故障的情况下,在主设备对应的从设备上也能够进行相应的发送或者接收;在进行数据显示的场景下,在通过主设备对数据进行显示时,在主设备正常或者发生故障的情况下,通过与主设备对应的从设备也能够进行相应的显示。在本发明实施例中,为实现主从设备的功能,提供了一种主从设备间高效、准确的数据传输方式。需要说明的是,主设备与从设备之间的数据传输可以包括多种,例如,可以是主设备向从设备读数据,也可以是主设备向从设备写数据;可以是从设备向主设备读数据,也可以是从设备向主设备写数据。即主设备与从设备间的数据操作可以是相互的。

在实施例中,该具备主从关系的两个设备中的主设备与至少一个外部装置建立数据连接。其中,外部装置包括但不限于:手机、笔记本电脑、usb闪存盘、平板电脑及台式电脑等。外部装置与主设备的数据连接的通信方式实施例中不作限定,可以通过usb连接、互联网、局域网、蓝牙、wi-fi或紫峰协议(zigbee)等通信方式。

进一步的,该主设备与至少一个外部装置发生数据交互时,向主设备发送数据以使主设备能够依据该数据进行与其对应的从设备之间的数据操作,一般而言,从设备也可以有一个或者多个,视具体的应用场景来设置,实施例不做限定。

需要说明的是,本发明实施例的主从设备间的数据操作方法可以应用于嵌入式软件系统。嵌入式系统是嵌入在硬件中的操作系统和开发工具软件,是用于执行独立功能的专用计算机系统。在本发明实施例中,通过在嵌入式软件系统中嵌入该主从设备间的数据操作方法,实现系统中主从设备间的数据操作功能。

进一步的,主设备与从设备之间传输的数据的类型可以多种,例如,可以为文字格式,也可以为图片格式,其可以是任何在主设备与从设备之间传输的数据。

具体的,参考图4,本实施例提供的主从设备间的数据操作方法具体包括:

s410,确定主设备与从设备之间采用直接内存访问(directmemoryaccess,简称为dma)方式进行数据操作;

其中,dma是一种不经过cpu而直接从内存存取数据的数据交换模式。在dma方式下,cpu只须向dma控制器下达指令,让dma控制器来处理数据的传送,数据传送完毕再把信息反馈给cpu,这样就很大程度上减轻了cpu资源占有率,可以大大节省系统资源。dma方式又可以分为single-worddma(单字节dma)和multi-worddma(多字节dma)两种。采用该dma方式可以用于快速设备和主存储器成批交换数据的场合。一方面,不会丢失快速设备提供出来的数据,二是进一步减少快速设备入出操作过程中对cpu的打扰。在采用dma方式进行数据传输时,可以通过把数据的传输过程交由一块专用的接口卡(dma接口)来控制,让dma卡代替cpu控制在快速设备与主存储器之间直接传输数据,此时每传输一个数据只需一个总线周期即可。dma方式是与cpu独立的一种数据传输方式。

在本发明实施例中,是具备主从关系的两个设备中的主设备确定主设备与从设备之间采用dma方式进行数据操作。需要说明的是,主设备确定主设备与从设备之间采用dma方式进行数据操作可以包括多种方式,例如,可以由主设备直接独立来确定,可以由主设备通过接收到外部设备的触发信号来确定,也可以由预先设置的相关配置来确定,还可以由主设备依据主从设备间数据的具体操作场景来确定。

举例来说,在由主设备直接独立来确定时,可以是主设备在接收到数据后,主设备判断需要与从设备进行数据同步,因此,确定需要向从设备进行数据传输,即确定主设备与从设备之间采用dma方式进行数据操作。

当由主设备通过接收到外部设备的触发信号来确定时,其中,该外部设备也可以是从设备,也可以是不同于从设备的外部设备,例如,该外部设备可以是主设备的控制器等。即,通过主设备接收到外部设备发送的一个触发信号来确定主设备与从设备之间采用dma方式进行数据操作。需要说明的是,该触发信号的方式也可以是多种,例如,可以是控制器发送的一个控制指令,也可以是依据具体的触发条件产生的触发信号,在此不对触发信号的具体形式进行一一说明。

当由预先设置的相关配置来确定时,由于可以对主设备的相关配置可以灵活设置,因此,当检测到主设备的设备参数满足预先设置的用来指示主设备与从设备之间采用dma方式进行数据操作的配置时,则主设备自动确定主设备与从设备之间采用dma方式进行数据操作。需要说明的是,在对主设备的配置进行相应的指示时,可以采用多种方式,例如,可以由指示符直接指示的方式来明确指示,也可以通过默认的推导参数来隐含指示。

在由主设备依据主从设备间数据的具体操作场景来确定时,主设备依据具体操作场景来确定主设备与从设备之间采用dma方式进行数据操作时,主设备可以在主设备需要向从设备发送数据时(即执行数据写操作)时,或者主设备需要向从设备执行数据读操作时,确定采用dma方式进行对应的数据操作。

s412,控制主设备采用dma方式,执行与从设备进行数据操作。

在主设备与从设备之间采用dma方式进行数据操作之后,控制主设备采用该dma方式,执行与从设备进行数据操作时,需要对主设备和从设备执行对应的控制。在本发明实施例中,通过对主设备的控制完成主设备与从设备间的数据操作。其中,控制主设备完成主设备与从设备之间的数据操作可以包括多种,例如,可以是控制主设备完成主设备对从设备的数据读操作,即主设备从从设备中读取数据;可以是控制主设备完成主设备对从设备的数据写操作,即主设备将数据写入从设备中;可以是控制主设备完成从设备对主设备的数据读操作,即从设备从主设备中读数据;还可以是控制主设备完成从设备对主设备的数据写操作,即从设备将数据写入主设备。需要指出的是,虽然主设备从从设备读数据可以在一定程度上等同于从设备将数据写入主设备,但由于从主设备一侧而言,主观性的程度不同(一个是主动读取,一个是被动写入),因此,在此也认为是不同的数据操作。对于主设备将数据写入从设备与从设备从主设备中读取数据的操作与上述情况是类似的。

通过上述步骤,先确定主设备与从设备之间采用dma方式进行数据操作,之后,控制主设备采用dma方式,执行与从设备进行数据操作,相对于相关技术中在进行主从设备通信时,需要占用cpu来执行对应的数据操作(例如,由于需要采用操作符来对数据操作的类型进行指示,从而需要占用cpu(对cpu的占用是及其有限的)来执行对操作符的解析操作)而言,由于dma方式与cpu的处理方式完全独立,采用dma方式进行主从设备间的通信,有效地避免了主从设备通信占用cpu资源,有效地解决了相关技术中,需要占用cpu资源来实现主从设备进行通信,导致通信效率低下的技术问题。

实施例二

图5是根据本发明实施例二的主从设备间的数据操作方法的流程图,本实施例是在上述实施例一的基础上进行具体化。参考图5,本实施例提供的主从设备间的数据操作方法包括:

s510,确定主设备与从设备之间采用dma方式进行数据操作;

s512,控制主设备采用dma方式,执行与从设备进行数据操作。

其中,s512,控制主设备采用dma方式,执行与从设备进行数据操作包括:

s5120,控制主设备采用dma方式,对从设备执行数据写操作,其中,数据写操作包括:主设备向从设备发送的发送帧中包括:主设备向从设备发送的有效数据。

其中,控制主设备采用dma方式,执行与从设备进行数据操作时,由于数据操作的具体类型不同,因此,所采用的方式也可以不同。例如,可以控制主设备采用dma方式,对从设备执行数据写操作,其中,数据写操作包括:主设备向从设备发送的发送帧中包括:主设备向从设备发送的有效数据。

需要说明的是,由于主从设备间进行通信时可以采用多种通信方式,例如,可以采用spi通信方式进行通信。在本发明实施例中仅基于spi通信举例,并不局限于此,同样使用其他串行通信。

在本发明实施例中,提供了一种采用dma-spi的单向通信方式来实现主从设备之间的通信。

图6是根据本发明实施例的主从设备间采用dma-spi的单向通信的示意图,如图6所示,通过dma的方式传输数据,传输效率高,无需关注操作符或者数据内容(不进行传输时候的解析操作,不占用cpu资源)。采用该方法,能够实现由主机设备发起的单向通信。

在进行主从设备间的数据通信时,在控制主设备采用dma方式,对从设备执行数据写操作时,可以应用于主从设备间简单的数据写操作的场景,也可以应用于主从设备间基于双工模式而进行的数据写操作场景。在主从设备间采用dma方式下的双工模式来进行数据写操作的情况下,数据写操作不仅有:主设备向从设备发送的发送帧中包括:主设备向从设备发送的有效数据,而且数据写操作还有:主设备从从设备接收的接收帧中为空白的无效数据,其中,双工模式为在进行数据发送的同时也允许进行数据接收。即双工模式是指在同一时刻信息可以进行双向传输,和打电话一样,说的同时也能听,边说边听。这种发射机和接收机分别在两个不同的频率上(两个频率差有一定要求)能同时进行工作的双工设备也称为异频双工设备。

通过上述步骤,先确定主设备与从设备之间采用dma方式进行数据操作,之后,控制主设备采用dma方式,执行与从设备进行数据操作,其中,控制主设备采用dma方式,执行与从设备进行数据操作可以采用方式一进行控制:控制主设备采用dma方式,对从设备执行数据写操作,其中,数据写操作包括:主设备向从设备发送的发送帧中包括:主设备向从设备发送的有效数据。在控制主设备采用dma方式,执行与从设备进行数据操作时,在主从设备间采用dma方式下的双工模式来进行数据写操作的情况下,数据写操作除包括方式一的内容外,还包括:主设备从从设备接收的接收帧中为空白的无效数据。

通过将数据操作应用于主从设备间简单的数据写操作的场景,以及应用于主从设备间基于双工模式而进行的数据写操作场景,相对于相关技术中在进行主从设备通信时,需要占用cpu来执行对应的数据操作(例如,由于需要采用操作符来对数据操作的类型进行指示,从而需要占用cpu(对cpu的占用是及其有限的)来执行对操作符的解析操作)而言,由于在不同场景下,dma方式与cpu的处理方式均是完全独立的,采用dma方式进行主从设备间的通信,有效地避免了主从设备通信占用cpu资源,不仅有效地解决了相关技术中,需要占用cpu资源来实现主从设备进行通信,导致通信效率低下的技术问题,而且对于相关技术中主从设备间的进行数据通信的各种场景的问题也能够对应解决。

实施例三

图7是根据本发明实施例三的主从设备间的数据操作方法的流程图,本实施例是在上述实施例一的基础上进行具体化。参考图7,本实施例提供的主从设备间的数据操作方法包括:

s710,确定主设备与从设备之间采用dma方式进行数据操作;

s712,控制主设备采用dma方式,执行与从设备进行数据操作。

其中,s712,控制主设备采用dma方式,执行与从设备进行数据操作包括:

s7120,在主设备接收到从设备发送的触发信号的情况下,控制主设备采用dma方式,执行对从设备进行数据读操作,其中,触发信号用于指示从设备备有数据供主设备读取。

其中,在控制主设备采用dma方式,执行对从设备进行数据读操作时,鉴于由主设备单独发起通信的单一性,在本发明实施例中,采用由从设备向主设备发送触发信号的方式来执行从设备发起通信的双向主动通信。相对于仅能由主设备发起通信而言,有效地实现了发起通信主体的自由性。

同样地,在控制主设备采用dma方式,对从设备执行数据读操作时,不仅可以应用于主从设备间简单的数据读操作的场景,也可以应用于主从设备间基于双工模式而进行的数据读操作场景。例如,在控制主设备采用dma方式,执行对从设备进行数据读操作时,可以包括:采用dma方式下的双工模式,控制主设备对从设备执行数据读操作,其中,数据读操作包括:主设备向从设备发送的发送帧中包括:主设备向从设备发送的有效数据,或者空白的无效数据;主设备从从设备接收的接收帧中包括:从设备备主设备读取的有效数据。

需要说明的是,此处的触发信号可以为多种,例如,可以是由硬件设备发起的触发信号,也可以是由功能软件发起的触发信号。由功能软件发起的触发信号可以通过对软件进行相应的设置或者设计得到。相对于通过软件设计得到的触发信号,采用硬件设备发起的触发信号会更直接、快捷一些。在本发明实施例中,提供了一种直接、快捷的硬件设备发起的触发信号,例如,该硬件设备发起的触发信号可以为通用输入/输出(generalpurposeinputoutput,简称为gpio)信号。

gpio信号是gpio口输出的信号。gpio(或称总线扩展器)口是简化了i/o口的扩展。当微控制器或芯片组没有足够的i/o端口,或当系统需要采用远端串行通信或控制时,gpio能够提供额外的控制和监视功能。

每个gpio口可通过软件分别配置成输入或输出。

gpio口具有以下优点:

低功耗:gpio具有更低的功率损耗(大约1μa,μc的工作电流则为100μa)。

集成电路总线(inter-integratedcircuit,简称为iic)从机接口:gpio内置iic从机接口,即使在待机模式下也能够全速工作。

小封装:gpio器件提供最小的封装尺寸―3mmx3mmqfn!

低成本:不用为没有使用的功能买单。

快速上市:不需要编写额外的代码、文档,不需要任何维护工作。

灵活的灯光控制:内置多路高分辨率的脉冲宽度调制(pulsewidthmodulation,简称为pwm)输出。

可预先确定响应时间:缩短或确定外部事件与中断之间的响应时间。

更好的灯光效果:匹配的电流输出确保均匀的显示亮度。

布线简单:仅需使用2条就可以组成iic总线或3条组成spi总线。

还是以主从设备间的dma-spi通信为例,在本发明实施例中,还提供了一种主从设备间的dma-spi的双向通信方式,图8是根据本发明实施例的主从设备间的dma-spi的双向通信的示意图,如图8所示,从机通过gpio中断形式告知主机,从机待发送数据已就绪,主机可以读取。实现从机也能主动发起通信,有效解决了只由主机发起读写请求的缺陷。在读取从机数据的同时,也可以往从机写数据,有效地实现了双向通信。另外,采用dma,不依赖clk的局限,可以大大提高传输效率。

下面对本发明优选实施方式的主从设备的数据读操作和数据写操作进行说明。

图9是根据本发明优选实施方式的主从设备的数据读操作和数据写操作的示意图,如图9所示,包括数据读操作和数据写操作,下面分别说明。

数据读操作(图9中的a或者c部分):

s900:从机准备发送数据就绪,主机可以随时读取。

s901:从机主动通过gpio中断告知主机,可以来读取数据。采用dma读取方式,收发全双工模式(主机发送同时也可以接收)。

其中:

validdata——有效数据。

dummydata——无效数据,本方案为全0(零),空白数据。

数据写操作(图9中的b部分):

完全由主机发起,从机返回的是dummydata。

另外,需要说明的是,无论是读操作、还是写操作,在传输数据(dma中断)完成后,都会把有效数据放到先入先出(firstinputfirstoutput,简称为fifo)。等待其他线程处理,从而不影响重复或者连续dma的收发。

通过上述实施例及优选实施方式,通过结合gpio信号,dma方式以及全双工模式的通信方式,数据传输速率提升、数据处理效率提升的方法。

通过上述步骤,不仅能够实现采用dma方式执行主从设备间的数据通信,而且可以有效地实现由主设备来发起主从设备间的数据通信,也可以由从设备来发起主从设备间的数据通信。而且能够在不同场景下,采用与cpu独立的dma方式进行主从设备间的通信,有效地避免了主从设备通信占用cpu资源,不仅有效地解决了相关技术中,需要占用cpu资源来实现主从设备进行通信,导致通信效率低下的技术问题,而且对于相关技术中主从设备间的进行数据通信的各种场景下实现主设备或者从设备发起数据通信的问题也能够对应解决。

实施例四

图10是根据本发明实施例四的主从设备间的数据操作方法的流程图。

本实施例提供的主从设备间的数据操作方法可以由主从设备间的数据操作设备执行,该主从设备间的数据操作设备可以通过软件和/或硬件的方式实现,该主从设备间的数据操作设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。该主从设备间的数据操作设备可以是具备主从关系的两个设备中的从设备,例如,该主设备可以是电脑,手机,平板,投影仪或交互智能平板等。需要说明的是,具备主从关系的两个设备可以应用于多种场景,例如,数据库对数据进行存储时,一般在主设备上存储后,在主设备正常或者故障的情况下,在对应的从设备上也能够进行相应的存储;在进行数据通信的场景下,在通过主设备进行发送或者接收数据时,在主设备正常或者故障的情况下,在主设备对应的从设备上也能够进行相应的发送或者接收;在进行数据显示的场景下,在通过主设备对数据进行显示时,在主设备正常或者发生故障的情况下,通过与主设备对应的从设备也能够进行相应的显示。在本发明实施例中,为实现主从设备的功能,提供了一种主从设备间高效、准确的数据传输方式。需要说明的是,主设备与从设备之间的数据传输可以包括多种,例如,可以是主设备向从设备读数据,也可以是主设备向从设备写数据;可以是从设备向主设备读数据,也可以是从设备向主设备写数据。即主设备与从设备间的数据操作可以是相互的。

在实施例中,该具备主从关系的两个设备中的从设备与至少一个外部装置建立数据连接。其中,外部装置包括但不限于:手机、笔记本电脑、usb闪存盘、平板电脑及台式电脑等。外部装置与从设备的数据连接的通信方式实施例中不作限定,可以通过usb连接、互联网、局域网、蓝牙、wi-fi或紫峰协议(zigbee)等通信方式。

进一步的,该从设备与至少一个外部装置发生数据交互时,向从设备发送数据以使从设备能够依据该数据进行与其对应的主设备之间的数据操作,一般而言,主设备也可以有一个或者多个,视具体的应用场景来设置,实施例不做限定。

需要说明的是,本发明实施例的主从设备间的数据操作方法可以应用于嵌入式软件系统。嵌入式系统是嵌入在硬件中的操作系统和开发工具软件,是用于执行独立功能的专用计算机系统。在本发明实施例中,通过在嵌入式软件系统中嵌入该主从设备间的数据操作方法,实现系统中主从设备间的数据操作功能。

进一步的,主设备与从设备之间传输的数据的类型可以多种,例如,可以为文字格式,也可以为图片格式,其可以是任何在主设备与从设备之间传输的数据。

具体的,参考图10,本实施例提供的主从设备间的数据操作方法具体包括:

s1010,确定从设备与主设备间采用直接内存访问dma方式进行数据操作;

在本发明实施例中,是具备主从关系的两个设备中的从设备确定主设备与从设备之间采用dma方式进行数据操作。需要说明的是,从设备确定主设备与从设备之间采用dma方式进行数据操作可以包括多种方式,例如,可以由从设备直接独立来确定,可以由从设备通过接收到外部设备的触发信号来确定,也可以由预先设置的相关配置来确定,还可以由从设备依据主从设备间数据的具体操作场景来确定。

举例来说,在由从设备直接独立来确定时,可以是从设备在接收到数据后,从设备判断需要与主设备进行数据同步,因此,确定需要向主设备进行数据传输,即确定主设备与从设备之间采用dma方式进行数据操作。

当由从设备通过接收到外部设备的触发信号来确定时,其中,该外部设备也可以是与从设备对应的主设备,也可以是不同于主设备的外部设备,例如,该外部设备可以是从设备的控制器等。即,通过从设备接收到外部设备发送的一个触发信号来确定主设备与从设备之间采用dma方式进行数据操作。需要说明的是,该触发信号的方式也可以是多种,例如,可以是控制器发送的一个控制指令,也可以是依据具体的触发条件产生的触发信号,在此不对触发信号的具体形式进行一一说明。

当由预先设置的相关配置来确定时,由于可以对从设备的相关配置可以灵活设置,因此,当检测到从设备的设备参数满足预先设置的用来指示主设备与从设备之间采用dma方式进行数据操作的配置时,则从设备自动确定主设备与从设备之间采用dma方式进行数据操作。需要说明的是,在对从设备的配置进行相应的指示时,可以采用多种方式,例如,可以由指示符直接指示的方式来明确指示,也可以通过默认的推导参数来隐含指示。

在由从设备依据主从设备间数据的具体操作场景来确定时,从设备依据具体操作场景来确定主设备与从设备之间采用dma方式进行数据操作时,从设备可以在从设备需要向主设备发送数据时(即执行数据写操作)时,或者从设备需要向主设备执行数据读操作时,确定采用dma方式进行对应的数据操作。

s1012,控制从设备采用dma方式,执行与主设备进行数据操作。

在主设备与从设备之间采用dma方式进行数据操作之后,控制从设备采用该dma方式,执行与主设备进行数据操作时,需要对主设备和从设备执行对应的控制。在本发明实施例中,通过对从设备的控制完成主设备与从设备间的数据操作。其中,控制从设备完成主设备与从设备之间的数据操作可以包括多种,例如,可以是控制从设备完成主设备对从设备的数据读操作,即主设备从从设备中读取数据;可以是控制从设备完成主设备对从设备的数据写操作,即主设备将数据写入从设备中;可以是控制从设备完成从设备对主设备的数据读操作,即从设备从主设备中读数据;还可以是控制从设备完成从设备对主设备的数据写操作,即从设备将数据写入主设备。需要指出的是,虽然主设备从从设备读数据可以在一定程度上等同于从设备将数据写入主设备,但由于从主设备一侧而言,主观性的程度不同(一个是主动读取,一个是被动写入),因此,在此也认为是不同的数据操作。对于主设备将数据写入从设备与从设备从主设备中读取数据的操作与上述情况是类似的。

通过上述步骤,先确定主设备与从设备之间采用dma方式进行数据操作,之后,控制从设备采用dma方式,执行与主设备进行数据操作,相对于相关技术中在进行主从设备通信时,需要占用cpu来执行对应的数据操作(例如,由于需要采用操作符来对数据操作的类型进行指示,从而需要占用cpu(对cpu的占用是及其有限的)来执行对操作符的解析操作)而言,由于dma方式与cpu的处理方式完全独立,采用dma方式进行主从设备间的通信,有效地避免了主从设备通信占用cpu资源,有效地解决了相关技术中,需要占用cpu资源来实现主从设备进行通信,导致通信效率低下的技术问题。

实施例五

图11是根据本发明实施例五的主从设备间的数据操作方法的流程图,本实施例是在上述实施例四的基础上进行具体化。参考图11,本实施例提供的主从设备间的数据操作方法包括:

s1110,确定从设备与主设备间采用直接内存访问dma方式进行数据操作;

s1112,控制从设备采用dma方式,执行与主设备进行数据操作。

其中,s1112,控制从设备采用dma方式,执行与主设备进行数据操作包括:

s11120,控制从设备采用dma方式下双工模式,完成主设备对从设备的数据写操作,其中,数据写操作包括:从设备从主设备接收的接收帧中包括:主设备向从设备发送的有效数据;从设备向主设备发送的发送帧中为空白的无效数据,其中,双工模式为在进行数据发送的同时也允许进行数据接收。

在进行主从设备间的数据通信时,在控制从设备采用dma方式,对从设备执行数据写操作时,可以应用于主从设备间简单的数据写操作的场景,也可以应用于主从设备间基于双工模式而进行的数据写操作场景。实现了主从设备间数据通信的多场景应用。

对于从设备一侧而言,不仅能够实现对主设备的数据写操作,在本发明实施例中,控制从设备采用dma方式,执行与主设备进行数据操作,还可以包括:在控制从设备采用dma方式,执行对主设备进行数据读操作时。

而且鉴于相关技术中,仅能够由主机设备发起主从设备间的数据通信而言,即由主设备单独发起通信的单一性,在本发明实施例中,为实现多方触发数据通信,采用由从设备向主设备发送触发信号的方式来执行从设备发起通信的双向主动通信。相对于仅能由主设备发起通信而言,有效地实现了发起通信主体的自由性。

举例来说,向主设备发送触发信号,其中,触发信号用于指示从设备备有数据供主设备读取;之后,控制从设备采用dma方式下双工模式,完成主设备对从设备的数据读操作,其中,数据读操作包括:从设备从主设备接收的接收帧中包括:从设备从主设备接收的有效数据或者空白的无效数据;从设备向主设备发送的发送帧中包括:从设备备主设备读取的有效数据。

在控制从设备采用dma方式,对主设备执行数据读操作时,不仅可以应用于主从设备间简单的数据读操作的场景,也可以应用于主从设备间基于双工模式而进行的数据读操作场景。例如,在控制从设备采用dma方式,执行对主设备进行数据读操作时,可以包括:采用dma方式下的双工模式,控制从设备对主设备执行数据读操作,其中,数据读操作包括:主设备向从设备发送的发送帧中包括:主设备向从设备发送的有效数据,或者空白的无效数据;主设备从从设备接收的接收帧中包括:从设备备主设备读取的有效数据。

需要说明的是,此处的触发信号可以为多种,例如,可以是由硬件设备发起的触发信号,也可以是由功能软件发起的触发信号。由功能软件发起的触发信号可以通过对软件进行相应的设置或者设计得到。相对于通过软件设计得到的触发信号,采用硬件设备发起的触发信号会更直接、快捷一些。在本发明实施例中,提供了一种直接、快捷的硬件设备发起的触发信号,例如,该硬件设备发起的触发信号可以为通用输入/输出信号。

通过上述步骤,不仅能够实现采用dma方式执行主从设备间的数据通信,而且可以有效地实现由主设备来发起主从设备间的数据通信,也可以由从设备来发起主从设备间的数据通信,能够在不同场景下,采用与cpu独立的dma方式进行主从设备间的通信,有效地避免了主从设备通信占用cpu资源,有效地解决了相关技术中,需要占用cpu资源来实现主从设备进行通信,导致通信效率低下的技术问题,而且对于相关技术中主从设备间的进行数据通信的各种场景下实现主设备或者从设备发起数据通信的问题也能够对应解决。

实施例六

图12为本发明实施例六提供的一种主从设备间的数据操作装置的结构示意图。本实施例提供的主从设备间的数据操作装置可以集成在主从设备间的数据操作设备中,例如,具有主从关系的主设备中。该主从设备间的数据操作设备可以是两个或多个物理实体构成,也可以是一个物理实体构成,该批注显示设备可以是电脑、手机、平板、投影仪或交互智能平板等。参考图12,本实施例提供的主从设备间的数据操作装置包括:第一确定模块120和第一控制模块122。

其中,第一确定模块120,用于确定主设备与从设备之间采用直接内存访问dma方式进行数据操作;第一控制模块122,连接至上述第一确定模块120,用于控制主设备采用dma方式,执行与从设备进行数据操作。

通过上述装置,先确定主设备与从设备之间采用dma方式进行数据操作,之后,控制主设备采用dma方式,执行与从设备进行数据操作,相对于相关技术中在进行主从设备通信时,需要占用cpu来执行对应的数据操作(例如,由于需要采用操作符来对数据操作的类型进行指示,从而需要占用cpu(对cpu的占用是及其有限的)来执行对操作符的解析操作)而言,由于dma方式与cpu的处理方式完全独立,采用dma方式进行主从设备间的通信,有效地避免了主从设备通信占用cpu资源,有效地解决了相关技术中,需要占用cpu资源来实现主从设备进行通信,导致通信效率低下的技术问题。

在上述实施例的基础上,上述第一控制模块122,还用于控制主设备采用dma方式,对从设备执行数据写操作,其中,数据写操作包括:主设备向从设备发送的发送帧中包括:主设备向从设备发送的有效数据。

其中,在采用dma方式下的双工模式的情况下,数据写操作还包括:主设备从从设备接收的接收帧中为空白的无效数据,其中,双工模式为在进行数据发送的同时也允许进行数据接收。

在上述实施例的基础上,上述第一控制模块122,还用于在主设备接收到从设备发送的触发信号的情况下,控制主设备采用dma方式,执行对从设备进行数据读操作,其中,触发信号用于指示从设备备有数据供主设备读取。

其中,上述第一控制模块122,还用于采用dma方式下的双工模式,控制主设备对从设备执行数据读操作,其中,数据读操作包括:主设备向从设备发送的发送帧中包括:主设备向从设备发送的有效数据,或者空白的无效数据;主设备从从设备接收的接收帧中包括:从设备备主设备读取的有效数据。

其中,上述触发信号可以为通用输入/输出gpio信号。

实施例七

图13为本发明实施例七提供的一种主从设备间的数据操作装置的结构示意图。本实施例提供的主从设备间的数据操作装置可以集成在主从设备间的数据操作设备中,例如,具有主从关系的从设备中。该主从设备间的数据操作设备可以是两个或多个物理实体构成,也可以是一个物理实体构成,该批注显示设备可以是电脑、手机、平板、投影仪或交互智能平板等。参考图13,本实施例提供的主从设备间的数据操作装置包括:第二确定模块130和第二控制模块132。

其中,第二确定模块130,用于确定从设备与主设备间采用直接内存访问dma方式进行数据操作;第二控制模块132,连接至上述第二确定模块130,用于控制从设备采用dma方式,执行与主设备进行数据操作。

其中,该第二控制模块132,还用于控制从设备采用dma方式下双工模式,完成主设备对从设备的数据写操作,其中,数据写操作包括:从设备从主设备接收的接收帧中包括:主设备向从设备发送的有效数据;从设备向主设备发送的发送帧中为空白的无效数据,其中,双工模式为在进行数据发送的同时也允许进行数据接收。

其中,该第二控制模块132,还用于向主设备发送触发信号,其中,触发信号用于指示从设备备有数据供主设备读取;控制从设备采用dma方式下双工模式,完成主设备对从设备的数据读操作,其中,数据读操作包括:从设备从主设备接收的接收帧中包括:从设备从主设备接收的有效数据或者空白的无效数据;从设备向主设备发送的发送帧中包括:从设备备主设备读取的有效数据。

其中,上述触发信号可以为通用输入/输出gpio信号。

实施例八

图14为本发明实施例六提供的一种主从设备间的数据操作设备的结构示意图。如图14所示,该主从设备间的数据操作设备包括:处理器140、存储器141、具有触摸功能的显示屏142、输入装置143、输出装置144以及通信装置145。该主从设备间的数据操作设备中处理器140的数量可以是一个或者多个,图14中以一个处理器140为例。该主从设备间的数据操作设备中存储器141的数量可以是一个或者多个,图14中以一个存储器141为例。该主从设备间的数据操作设备的处理器140、存储器141、显示屏142、输入装置143、输出装置144以及通信装置145可以通过总线或者其他方式连接,图14中以通过总线连接为例。实施例中,批注显示设备可以是电脑,手机,平板,投影仪或交互智能平板等。

存储器141作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例的主从设备间的数据操作方法对应的程序指令/模块(例如,主从设备间的数据操作装置中的第一确定模块120、第一控制模块122、第二确定模块130和第二控制模块132)。存储器141可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器141可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器141可进一步包括相对于处理器140远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

具有触摸功能的显示屏142,其可以是电容屏、电磁屏或者红外屏。一般而言,显示屏142用于根据处理器140的指示显示数据,还用于接收作用于显示屏142的触摸操作,并将相应的信号发送至处理器140或其他装置。可选的,当显示屏142为红外屏时,其还包括红外触摸框,该红外触摸框设置在显示屏142的四周,其还可以用于接收红外信号,并将该红外信号发送至处理器140或者其他设备。

通信装置145,用于与其他设备建立通信连接,其可以是有线通信装置和/或无线通信装置。

输入装置143可用于接收输入的数字或者字符信息,以及产生与批注显示设备的用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。输出装置14可以包括扬声器等音频设备。

需要说明的是,输入装置143和输出装置144的具体组成可以根据实际情况设定。

处理器140通过运行存储在存储器141中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的主从设备间的数据操作方法。

具体的,实施例中,在上述主从设备间的数据操作设备为具备主从关系的主设备的情况下,处理器140执行存储器141中存储的一个或多个程序时,具体实现如下操作:

确定主设备与从设备之间采用直接内存访问dma方式进行数据操作;

控制主设备采用dma方式,执行与从设备进行数据操作。

在上述实施例的基础上,控制主设备采用dma方式,执行与从设备进行数据操作包括:控制主设备采用dma方式,对从设备执行数据写操作,其中,数据写操作包括:主设备向从设备发送的发送帧中包括:主设备向从设备发送的有效数据。

在上述实施例的基础上,在采用dma方式下的双工模式的情况下,数据写操作还包括:主设备从从设备接收的接收帧中为空白的无效数据,其中,双工模式为在进行数据发送的同时也允许进行数据接收。

在上述实施例的基础上,控制主设备采用dma方式,执行与从设备进行数据操作包括:在主设备接收到从设备发送的触发信号的情况下,控制主设备采用dma方式,执行对从设备进行数据读操作,其中,触发信号用于指示从设备备有数据供主设备读取。

在上述实施例的基础上,控制主设备采用dma方式,执行对从设备进行数据读操作包括:采用dma方式下的双工模式,控制主设备对从设备执行数据读操作,其中,数据读操作包括:主设备向从设备发送的发送帧中包括:主设备向从设备发送的有效数据,或者空白的无效数据;主设备从从设备接收的接收帧中包括:从设备备主设备读取的有效数据。

在上述实施例的基础上,触发信号为通用输入/输出gpio信号。

具体的,实施例中,在上述主从设备间的数据操作设备为具备主从关系的从设备的情况下,处理器140执行存储器141中存储的一个或多个程序时,具体实现如下操作:

确定从设备与主设备间采用直接内存访问dma方式进行数据操作;

控制从设备采用dma方式,执行与主设备进行数据操作。

在上述实施例的基础上,控制从设备采用dma方式,执行与主设备进行数据操作包括:控制从设备采用dma方式下双工模式,完成主设备对从设备的数据写操作,其中,数据写操作包括:从设备从主设备接收的接收帧中包括:主设备向从设备发送的有效数据;从设备向主设备发送的发送帧中为空白的无效数据,其中,双工模式为在进行数据发送的同时也允许进行数据接收。

在上述实施例的基础上,控制从设备采用dma方式,执行与主设备进行数据操作包括:向主设备发送触发信号,其中,触发信号用于指示从设备备有数据供主设备读取;控制从设备采用dma方式下双工模式,完成主设备对从设备的数据读操作,其中,数据读操作包括:从设备从主设备接收的接收帧中包括:从设备从主设备接收的有效数据或者空白的无效数据;从设备向主设备发送的发送帧中包括:从设备备主设备读取的有效数据。

在上述实施例的基础上,触发信号为通用输入/输出gpio信号。

实施例九

本发明实施例九还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种主从设备间的数据操作方法,包括:

确定主设备与从设备之间采用直接内存访问dma方式进行数据操作;

控制主设备采用dma方式,执行与从设备进行数据操作。

本发明实施例九还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种主从设备间的数据操作方法,包括:

确定从设备与主设备间采用直接内存访问dma方式进行数据操作;

控制从设备采用dma方式,执行与主设备进行数据操作。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的批注显示方法操作,还可以执行本发明任意实施例所提供的批注显示方法中的相关操作,且具备相应的功能和有益效果。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例的批注显示方法。

值得注意的是,上述批注显示装置中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。

在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

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

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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