CN116701009A - 数据通信的方法及电子设备 - Google Patents
数据通信的方法及电子设备 Download PDFInfo
- Publication number
- CN116701009A CN116701009A CN202211454335.1A CN202211454335A CN116701009A CN 116701009 A CN116701009 A CN 116701009A CN 202211454335 A CN202211454335 A CN 202211454335A CN 116701009 A CN116701009 A CN 116701009A
- Authority
- CN
- China
- Prior art keywords
- message
- priority
- electronic device
- sent
- soc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000006854 communication Effects 0.000 title claims abstract description 39
- 238000004891 communication Methods 0.000 title claims abstract description 37
- 230000002093 peripheral effect Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 239000000872 buffer Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种数据通信的方法及电子设备,涉及通信技术领域。本申请中的数据通信的方法,包括:第一电子设备响应于消息发送指令,获取第一消息的第一优先级;判断第一优先级是否大于存储的第二优先级,第二优先级为第一电子设备上一次接收的第二电子设备发送的消息的优先级,第一优先级与第二优先级不同;当检测到第一优先级大于第二优先级,则向第二电子设备发送第一消息;当检测到第一优先级小于第二优先级,则放弃发送第一消息。采用本申请中的方法,使得电子设备的SOC与外接的设备MCU进行数据通通信时,可以避免SOC和MCU同时发送数据导致出现业务冲突的问题,提高了电子设备与外接的设备之间的通信质量。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据通信的方法及电子设备。
背景技术
目前电子设备往往通过3孔的pogo pin连接器与外接的设备进行通信,例如,平板电脑与键盘,平板电脑与手写笔等。通常电子设备(如平板电脑)包括SOC(System on Chip,“系统级芯片”)和MCU(Microcontroller Unit,“微控制单元”),外接的设备(如手写笔)包括MCU(Microcontroller Unit,“微控制单元”),电子设备通过SOC和MCU的组合与外接的设备的MCU进行数据通信。
为了降低电子设备的成本,电子设备通过SOC直接与外接的设备的MCU进行通信,然而,基于该硬件结构,在数据通信过程中容易出现业务冲突的问题,影响电子设备与外接的设备进行数据通信的质量。
发明内容
为了解决上述技术问题,本申请提供一种数据通信的方法及电子设备,使得电子设备的SOC与外接的设备MCU进行数据通通信时,可以避免SOC和MCU同时发送数据导致出现业务冲突的问题,提高了电子设备与外接的设备之间的通信质量。
第一方面,本申请提供一种数据通信的方法,包括:第一电子设备响应于消息发送指令,获取第一消息的第一优先级;判断第一优先级是否大于存储的第二优先级,第二优先级为第一电子设备上一次接收的第二电子设备发送的消息的优先级,第一优先级与第二优先级不同;当检测到第一优先级大于第二优先级,则向第二电子设备发送第一消息;当检测到第一优先级小于第二优先级,则放弃发送第一消息;其中,第一电子设备与第二电子设备之间通过单线连接。
这样,当第一电子设备在发送第一消息之前,先获取该第一消息的第一优先级,将第一消息的第一优先级与对端设备的第二优先级进行比较,且第一优先级和第二优先级不同,使得对端设备可以控制本端设备是否发送消息,确保了第一电子设备和第二电子设备不会同时发送消息,从而可以避免第一电子设备和第二电子设备在单线上进行数据通信时,发生业务冲突的问题。同时,第一电子设备根据优先级比较的结果,决定是否发送第一消息,使得可以优先发送优先级高的消息,以满足消息所属业务的需要。
根据第一方面,在获取第一消息的第一优先级之前,该方法还包括:第一电子设备获取本端生成的待发送消息,待发送消息包括:优先级标识信息,优先级标识信息用于指示待发送消息的业务类型;第一电子设备根据待发送消息的优先级标识信息以及第一对应关系,为待发送消息设置与优先级标识匹配的优先级,第一对应关系用于指示优先级标识与优先级之间的对应关系;根据待发送消息的优先级,获取最高优先级的待发送消息作为第一消息。这样,第一电子设备可以根据待发送消息的业务类型为待发送消息设置优先级,使得待发送消息的优先级符合业务需求;优先发送高优先级的待发送消息,使得实时性高的消息优先发送,满足消息所属业务类型的需求。
根据第一方面,根据待发送消息的优先级,获取最高优先级的待发送消息作为第一消息,该方法包括:将待发送消息添加至与待发送消息的优先级对应的消息队列中;根据每个消息队列的优先级,从消息队列中选取最高优先级的待发送消息作为所述第一消息。这样,在第一电子设备中设置不同优先级的队列,便于快速按照优先级对获取的待发送消息进行分类,快速查找到最高优先级的待发送消息。
根据第一方面,在第一电子设备发送第一消息之后,该方法还包括:第一电子设备检测每个消息队列是否均为空;当第一电子设备检测到每个消息队列均为空,则生成空消息,空消息的优先级为第一电子设备允许的最小优先级;第一电子设备检测到空消息时,向第二电子设备发送空消息,以供第二电子设备将存储的第一电子设备的优先级更新为空消息的优先级。这样,第一电子设备向第二电子设备发送空消息,以供第二电子设备更新第一电子设备的优先级,使得第二电子设备存储的第一电子设备的优先级可以回落至最小优先级,确保第二电子电子设备可以及时向第一电子设备发送消息。
根据第一方面,在第一电子设备放弃发送第一消息之后,该方法还包括:第一电子设备接收第二电子设备发送的第二消息;第一电子设备获取第二消息的优先级;第一电子设备将存储的第二优先级更新为第二消息的优先级。这样,第一电子设备可以及时更新存储的第二电子设备的优先级,避免对下一次优先级的比较造成影响。
根据第一方面,第一电子设备确定的待发送消息的优先级的数值与第二电子设备确定的待发送消息的优先级的数值不同。这样,第一电子设备预先设定的优先级与第二电子设备设定的优先级不同,避免出现第一电子设备中待发送消息的优先级与第二电子设备中待发送消息的优先级相同的问题。
根据第一方面,优先级标识包括:业务服务标识和消息中的命令标识。
根据第一方面,第一电子设备包括系统级芯片SOC,第二电子设备包括微控制单元MCU;或者,第一电子设备包括MCU,第二电子设备包括SOC;SOC和MCU通过单线电连接。这样,该数据通信的方法可以由SOC执行,也可以有MCU执行,提高了该数据通信方法的适用性。
根据第一方面,第一电子设备包括以下任一种:平板电脑、笔记本电脑或手机;第二电子设备包括以下任一种:键盘、手写笔、外设画板、外设触摸板。
根据第一方面,第一电子设备包括n个优先级,第i个优先级的数值为2i,0≤i≤n,i为整数,n为大于0的整数,且0为最高优先级;第二电子设备包括n个优先级,第二电子设备中第i个优先级的数值为2i+1。这样,当第一电子设备为平板电脑等设备时,第一电子设备的最高优先级高于第二电子设备的最高优先级,使得在对第二电子设备进行软件更新时,不会被第二电子设备打断更新,确保了软件更新的稳定性。
第二方面,本申请提供了一种电子设备,包括:存储器和处理器,存储器与处理器耦合;存储器存储有程序指令,当程序指令由处理器执行时,使得电子设备执行第一方面以及第一方面的任意一种实现方式对应的数据通信的方法。
第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,本申请提供了一种计算机可读介质,用于存储计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行上述第一方面以及第一方面的任意一种实现方式所对应的数据通信的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是示例性示出的外接的键盘的示意图;
图2是示例性示出的平板电脑和外接的键盘的结构示意图;
图3是示例性示出的该SOC与MCU之间的连接示意图;
图4是示例性示出的一种数据通信的方法的流程图;
图5是示例性示出的SOC和MCU消息传输的示意图;
图6为采用如图5所示的结构进行数据传输两个设备之间的交互示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
在一些实施例中,平板电脑和外接的键盘之间通常通过3孔的pog pin连接器连接,如图1所示的键盘10,该键盘10中的101为pog pin连接器的对外接口,该pog pin101与平板电脑中的对应位置连接,即可实现平板电脑与键盘10之间的数据通信。
平板电脑中通常包括SOC和MCU,外接的键盘中包括MCU。平板电脑中的SOC通过MCU与外接的键盘的MCU进行传输数据。但是,MCU的成本较高,额外设置的MCU导致电子设备的成本增加。为了降低电子设备的成本,目前的电子设备中不再额外设置单独的MCU与外接的设备的MCU进行数据通信,而是将电子设备中的SOC直接与外接的设备的MCU连接,由电子设备中的SOC与外接的设备的MCU进行数据通信。
图2为示例性示出了平板电脑和外接的键盘的结构示意图。如图2所示,本示例中的电子设备可以平板电脑,与该电子设备进行单线通信的外接的设备可以是键盘。电子设备还可以是其他设备,如笔记本电脑、手机,对应的外接的设备可以是键盘、手写笔、外设画板、外设触摸板等。本申请实施例不对电子设备的具体形式进行限定。为了方便说明,下文中电子设备以平板电脑为例,外接的设备以键盘为例进行说明。
该外接的设备10(如键盘)可以包括:微控制单元102、触控板、按键、电源和电源地等。该触控板可以通过I2C(Inter-Integrated Circuit,集成电路总线)与MCU102进行数据传输,按键可以通过GPIO(General Purpose Input Output,通用输入/输出口)与MCU102进行数据传输。可选地,键盘还可以包括:微控制单元、按键、电源和电源地等。
该平板电脑20可以包括主板、显示屏、电池等。其中,主板上可以集成有SOC(System on Chip,系统级芯片)201、内部存储器(如DDR)、UFS(Universal Flash Storage,通用闪存存储)、EMMC(Embeded MultiMedia Card,嵌入式多媒体卡)、电源、电源地等。该SOC可以与DDR、UFS以及EMMC进行数据传输。当然,平板电脑20还可以包括其他组成器件,主板上还可以集成其他电路结构,本申请实施例对此不作限定。
平板电脑20中的内部存储器可以用于存储计算机可执行程序代码,可执行程序代码可以包括指令。主板上还集成有处理器,处理器通过运行存储在内部存储器的指令,从而执行平板电脑的各种功能应用以及数据处理。上述集成在主板上的处理器、内部存储器、充电电路等,均包括一个或多个芯片。
在该平板电脑与外接的键盘组成的单线通信系统中,平板电脑中的SOC与键盘中的MCU通过单线进行通信,当平板电脑与键盘接通后,平板电脑为该键盘供电。
图2为本申请实施例示出的一种平板电脑以及外接的键盘的结构示意图。应该理解的是,图2所示的平板电脑20仅是电子设备的一个范例,并且电子设备可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图2所示外接的键盘10仅是外接的设备的一个范例,并且外接的键盘10可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。
图3为示例性示出的该SOC与MCU之间的连接示意图。如图3所示,虚线的左端示出了平板电脑中SOC201的接口,该SOC201包括发送接口(TX)和接收接口(RX),TX用于发送数据,RX用于接收数据。本示例中,SOC201中的TX和RX短接形成一根线。图3中虚线的右端示出了键盘中的MCU102,该MCU102包括发送接口(TX)和接收接口(RX),该MCU102中TX和RX短接,且该MCU102中TX/RX电连接SOC201中的TX/RX。
需要说明的是,图3中该平板电脑与该键盘已经电连接,由该平板电脑的电源为MCU201供电。该图3中未示出SOC与MCU连接的其他器件。
在一些实施例中,平板电脑与键盘的硬件结构如图2所示,该SOC通过一路专门的串口与MCU进行通信。Pog pin连接器中仅有一个孔用于进行SOC与MCU之间的数据通信。串口采用全双工的工作模式,由于SOC与MCU之间通过一路串口进行通信,需要将该串口配置为半双工的工作模式(如采用分时机制),即在SOC和MCU不能同时传输数据。
然而,SOC与MCU之间采用半双工的工作模式,在数据传输过程中,容易会出现SOC和MCU同时发送传输数据,导致SOC和MCU出现业务冲突的问题。
本申请提供一种数据通信的方法,该方法可以由接收端或发送端的电子设备执行。发送端设备可以获取待发送消息的优先级,将待发送消息的优先级与存储的对端设备的优先级进行比较,当待发送消息的优先级高于对端设备的优先级时,发送该消息。待发送消息的优先级与对端设备的优先级不同。本申请中,通过与对端设备的优先级比较,使得对端设备可以控制本端设备是否发送数据,确保对端设备和本端设备不会同时发送消息,避免了本端设备与对端设备在数据通信过程中,发生业务冲突的问题。
图4为示例性示出的一种数据通信的方法的流程图,该数据通信的过程包括如下步骤:
步骤401:第一电子设备响应于消息发送指令,获取第一消息的第一优先级。
本示例中,第一电子设备可以包括SOC,第二电子设备包括MCU,该第一电子设备可以是平板电脑、笔记本电脑、智能手机等设备,该第二电子设备可以是键盘、手写笔、外设画板、外设触摸板等。
可选地,第一电子设备可以包括MCU,第二电子设备包括SOC,该第一电子设备可以是键盘、手写笔、外设画板、外设触摸板等。第二电子设备可以是平板电脑、笔记本电脑、智能手机等设备。
第一电子设备可以作为发送端,也可以作为接收端,第二电子设备可以作为发送端,也可以作为接收端。
本示例中第一电子设备以平板电脑为例,第二电子设备以外接的键盘为例。平板电脑可以接收用户输入的消息发送指令,也可以接收其他设备发送的消息发送指令,其他设备如服务器。消息发送指令可以是:软件更新指令、对外接的设备的配置信息等。
该平板电脑可以将消息发送指令传输至SOC,以指示SOC发送消息。该SOC接收平板电脑中的上层应用产生的待发送消息,该待发送消息包括:优先级标识信息,该优先级标识信息可以用于指示该待发送消息的业务类型。该平板电脑的SOC根据待发送消息的优先级标识信息以及第一对应关系,为待发送消息设置与优先级标识匹配的优先级,该第一对应关系用于指示优先级标识与优先级之间的对应关系;该平板电脑的SOC根据待发送消息的优先级,获取最高优先级的待发送消息作为第一消息。
可选地,平板电脑的SOC中可以预先存储不同等级的优先级,例如,该SOC包括k个优先级,分别为0、2、4……2k,k为大于2的整数;其中,0的优先级最高,2k的优先级最低。每种消息所属的业务类型不同,对应的优先级不同,例如,软件升级消息对应的优先级为0;其他消息(如版本更新完成消息)对应的优先级为4。该平板电脑的SOC预先存储每个业务类型与对应优先级的对应关系。可选地,待发送消息携带有用于指示业务类型的优先级标识信息。可选地,该优先级标识信息可以是服务标识(即ServiceID)和消息中的命令标识(即CommandID)。该平板电脑的SOC可以根据待发送消息中的ServiceID和CommandID,以及存储的第一对应关系,确定该待发送消息的优先级。
举例来说,平板电脑的SOC接收到的待发送消息A,该待发送消息A的ServiceID为2,CommandID为3;该SOC根据第一对应关系指示当ServiceID为2,CommandID为3的消息,对应的优先级为a。该SOC根据该第一对应关系确定待发送消息A的优先级为a。
在一个实施例中,该平板电脑中的SOC可以将待发送消息添加至与待发送消息的优先级对应的消息队列中;根据每个消息队列的优先级,从消息队列中选取最高优先级的待发送消息作为第一消息。
具体地,该SOC可以预先为每个优先级设置对应的消息队列,例如,该SOC预先设置n个优先级,该SOC为每个优先级设置对应的消息队列,即该SOC中包括n个不同优先级的消息队列。当SOC为待发送消息设置了优先级后,可以根据待发送消息的优先级,将该待发送消息缓存至与该待发送消息的优先级匹配的消息队列中。该SOC可以按照优先级从高到低的顺序,查找存在消息的最高优先级的消息队列。该SOC可以从查找到的最高优先级的对列中获取到最高优先级的待发送消息。举例来说,该SOC中设置有3个优先级,分别为0、2、4。与3个优先级对应的消息队列,分别为消息队列a、消息队列b以及消息队列c,消息队列a的优先级为0;消息队列的优先级为2;消息队列c的优先级为4。其中,在T1时刻,该消息队列a中没有存储消息、该消息队列b中包括待发送消息B、该消息队列c中包括待发送消息C。
该SOC在T2时刻(T1<T2)接收到待发送消息A,并确定该待发送消息A的优先级为4。该SOC将待发送消息缓存至消息队列c中。由于消息队列a的优先级最高,该SOC从消息队列a开始查找,该SOC检测到消息队列a为空,则检测下一个优先级为2的消息队列(即消息对列b)是否为空。由于消息队列b中存在待发送消息B,则该SOC从消息队列b中获取待发送消息B作为第一消息。
本示例中,消息队列采用先进先出的机制,使得可以按照存入消息队列的时间顺序,获取待发送消息。每个消息队列有各自对应的优先级,该SOC按照优先级将待发送消息缓存至对应的消息队列中,无需对每个待发送消息进行优先级的排序,节约了获取最高优先级的待发送消息的速度。
在另一个实施例中,SOC也可以无需为每个优先级设置对应的消息队列,而是直接将待发送消息进行缓存,从缓存中查找最高优先级的消息作为第一消息。当存在多个最高优先级的消息时,可以从多个最高优先级的待发送消息中选取最早缓存的待发送消息作为第一消息。
步骤402:第一电子设备判断第一优先级是否大于存储的第二优先级,若确定第一优先级大于第二优先级,则执行步骤403;若确定第一优先级小于第二优先级,则执行步骤404。
本示例中,平板电脑的SOC在接收到键盘发送的消息时,可以获取键盘发送的消息的优先级,将键盘发送的消息的优先级作为对端设备的优先级并存储,对端设备的优先级即第二优先级。
该平板电脑的SOC可以将第一消息的第一优先级与存储的第二优先级进行比较。当该SOC检测到第一优先级高于第二优先级,执行步骤403。当该SOC检测到第一优先级小于第二优先级,则执行步骤404。例如,第一消息的优先级为0,存储的第二优先级为4,其中,数值越低,优先级越高;该SOC检测到第一消息的优先级高于存储的第二优先级,则向键盘发送第一消息。
步骤403:第一电子设备向第二电子设备发送第一消息。
具体地,第一消息包括该第一消息的优先级。可选地,当平板电脑向键盘发送第一消息之后,该平板电脑的SOC还可以检测平板电脑中的消息队列是否均为空,若检测到存在消息的消息队列,可以从存在消息的消息队列中重新获取最高优先级的待发送消息作为第一消息,返回执行上述步骤402。
若平板电脑的SOC检测到每个消息对列均为空,可以生成空消息,该空消息的优先级为该平板电脑的SOC所允许的最小优先级,并向外接的键盘发送该空消息,以供键盘重新更新平板电脑的优先级更新为该空消息的优先级。
举例来说,平板电脑的SOC中包括3个消息队列,分别为消息队列a、消息队列b以及消息队列c,消息队列a的优先级为0;消息队列的优先级为2;消息队列c的优先级为4。其中,在T2时刻该SOC将第一消息发送至键盘后,该SOC检测到该消息队列a为空、该消息队列b为空、该消息队列c为空,则该SOC生成空消息,且为该空消息设置为该SOC所允许的最小优先级,如为6。该SOC检测到待发送消息为空消息,则无需将空消息的优先级与存储的第二优先级比对,直接将该空消息发送至键盘。键盘接收到该空消息后,存储该空消息的优先级作为该SOC的优先级,也就是说,平板电脑的SOC通过发送空消息,使得键盘可以将存储的平板电脑的优先级回落至最小优先级,避免键盘长时间无法向平板电脑发送消息的问题。
步骤404:第一电子设备放弃发送第一消息。
具体地,当该SOC检测到第一消息的第一优先级小于存储的第二优先级,放弃发送该第一消息。该SOC放弃发送第一消息,可以将第一消息缓存至与该第一优先级对应的消息队列中。可选地,若该SOC未从消息队列中获取第一消息,该SOC确定放弃发送第一消息时,可以结束当前的发送流程。
可选地,当平板电脑的SOC放弃发送第一消息时,可以接收键盘发送的第二消息,获取键盘发送的第二消息的优先级,并将存储的第二优先级更新为该第二消息的优先级。例如,平板电脑的SOC在T1时刻接收到键盘发送的消息D,获取消息D的优先级为2;存储该消息D的优先级作为第二优先级。在T2时刻,该SOC获取到第一消息的第一优先级为4,该SOC检测到第一优先级小于第二优先级,放弃发送第一消息。该SOC接收到键盘发送的消息E,获取消息E的优先级为4,将存储的第二优先级更新为4。
本示例中,平板电脑在接收到消息发送指令时,可以根据待发送消息的优先级,选取最高优先级的待发送消息作为第一消息,以确保实时性高的消息可以及时发送到对端设备。该平板电脑将第一消息的第一优先级与对端设备的优先级进行比较,根据比较结果决定是否发送第一消息,当第一优先级高于第二优先级时,表明当前第一消息的业务类型高于对端设备待发送消息的业务类型,该平板电脑优先发送该第一消息,当第一优先级低于第二优先级时,表明当前第一消息的业务类型低于对端设备待发送消息的业务类型,该平板电脑放弃发送第一消息。通过优先级的判断,平板电脑和对端设备(键盘)可以避免同时向对端发送消息的问题,从而解决了因半双工的工作模式导致业务发生冲突的问题,提高了平板电脑与外接的键盘之间的通信质量。
图5为示例性示出的SOC和MCU消息传输的示意图。如图5所示,在SOC和MCU中各自设置有不同优先级的消息队列,SOC中包括k个不同优先级的消息队列,分别为优先级为0的消息队列、优先级为2的消息队列、……、优先级为2n的消息队列,n为大于1的整数。另外,该SOC中还存储有对端设备的优先级,对端设备的优先级为该SOC上一次接收到对端设备发送的消息的优先级。同理,外接的设备中的MCU中也设置有不同优先级的消息队列。该MCU中消息队列的个数可以与SOC中消息队列的个数一致,也可以与SOC中消息队列的个数不一致。由于每个消息队列对应一个优先级,可以理解为,该MCU中包括的优先级的个数与SOC中包括的优先级个数可以相同,也可以不相同。本示例中以MCU中消息队列的个数与SOC中消息队列的个数一致为例。如图5所示,该MCU中设置有n个消息队列,分别为优先级为1的消息队列、优先级为3的消息队列、……、优先级为2n+1的消息队列,n为大于1的整数。另外,该MCU中还存储有对端设备的优先级,对端设备的优先级为该MCU上一次接收到对端设备发送的消息的优先级。
该MCU和SOC之间通过串口进行数据传输。图6为采用如图5所示的结构进行数据传输两个设备之间的交互示意图。
图6中所示的A端可以是平板电脑、笔记本电脑、智能手机等设备,B端可以是键盘、手写笔、外设画板、外设触摸板等设备。或者,A端可以是键盘、手写笔、外设画板、外设触摸板等设备,B端可以是平板电脑、笔记本电脑、智能手机等设备。也就是说,A端设备和B端设备均可采用本申请中的数据通信的方法。下面具体说明该数据通信的过程:
步骤601:A端设备获取待发送消息A。
具体地,本示例中以A端设备为分体式设备中的主设备为例进行说明,如平板电脑、笔记本电脑、智能手机等设备,该A端设备中的上层应用可以根据用户的指令,生成待发送消息,该待发送消息中包括优先级标识信息,该优先级标识信息用于指示该消息的业务类型。用户的指令,可以是配置B端设备的信息。该A端设备还可以接收服务器发送的软件更新信息信息,上层应用可以将该软件更新信息作为待发送消息。
A端设备中的上层应用将待发送消息传输至A端设备中的SOC中,该SOC获取待发送消息A。
步骤602:A端设备根据待发送消息A的优先级标识信息,确定待发送消息A的优先级为优先级a。
具体地,A端设备可以预先存储不同业务类型的优先级标识信息,以及每个优先级标识信息与优先级之间的对应关系。
在一个示例中,若A端设备为平板电脑,该A端设备中的SOC可以根据待发送消息中的优先级标识信息和存储的对应关系,确定该待发送消息A的优先级。例如,若待发送消息A的优先级标识信息包括:ServiveID=2和command=3,该A端设备中的SOC存储有优先级标识信息(ServiveID=2和command=3)与优先级a之间的对应关系,根据待发送消息A的优先级标识信息和存储的对应关系,确定该A端设备的优先级为优先级a。
步骤603:A端设备将待发送消息A缓存至与该优先级a对应的消息队列中。
具体地,A端设备SOC可以设置有n个消息队列,如图5中的SOC所示,n为大于1的整数。该SOC可以根据待发送消息A的优先级a,查找与该优先级a匹配的消息队列,将该待发送消息A缓存至与优先级a对应的消息队列中。例如,该优先级a为6,则该A端设备的SOC可以将该待发送消息A缓存至优先级为6的消息队列中。
步骤604:A端设备根据消息队列的优先级,获取最高优先级的待发送消息作为第一消息。
具体地,A端设备的SOC可以按照消息队列的优先级从高到低的顺序,查找存在消息的消息队列,从存在消息的消息队列中查找最高优先级的消息队列。并从查找到的最高优先级队列中获取消息作为第一消息。
步骤605:A端设备获取第一消息的第一优先级。
具体地,该第一消息携带有第一优先级。
步骤606:A端设备判断第一优先级是否大于存储的第二优先级。若A端设备检测到第一优先级大于第二优先级,则执行步骤607;若A端设备检测到第一优先级小于第二优先级,则执行步骤609。
具体地,A端设备的SOC中存储的第二优先级为B端设备的优先级,B端设备的优先级为SOC上一次接收到B端发送的消息的优先级。本示例中,优先级的级数的数值越小,优先级越高,如,优先级为0的优先级高于优先级为2的优先级。可选地,在其他实施例中,也可以优先级的数值越高对应的级别越大,如优先级为100的优先级小于优先级为110的优先级。本示例中不再一一列举。
步骤607:A端设备向B端设备发送第一消息。
具体地,A端设备的SOC通过与MCU的串口将第一消息发送至B端设备。该第一消息携带有对应的优先级。
A端设备在执行完步骤607后,可以检测每个消息队列中是否均为空,若检测到存在有消息的消息队列,则可以重新获取第一消息,即执行步骤604以及步骤605。若检测到每个消息队列均为空,则执行步骤610。
步骤608:B端设备将存储的对端的优先级更新为第一消息的优先级。
具体地,B端设备的MCU接收第一消息后,获取第一消息的优先级,并将存储的A端设备的优先级更新为第一消息的优先级。
B端设备在接收到A端设备发送的新的消息后,更新存储的对端设备的优先级,可以确保本端发送消息的准确性,避免出现延迟发送,或发送消息冲突的问题。
步骤609:A端设备放弃发送第一消息。
具体地,A端设备放弃发送第一消息,可以接收B端设备发送的第二消息,并获取第二消息的优先级。该A端设备将存储的对端的优先级更新为第二消息的优先级。更新存储的对端的优先级后,若A端设备的SOC未收到上层应用下发的新的消息,该A端设备可以再次执行步骤604、605、606,即SOC根据存储的B端设备的优先级,再次判断是否向B端设备发送第一消息。
步骤610:A端设备若检测到各消息队列均为空,则生成空消息。
具体地,当A端设备在检测到各消息队列均为空,可以生成空消息,该空消息的优先级可以设置为该SOC所允许的最小优先级。
步骤611:A端设备向B端设备发送空消息。
A端设备在检测到空消息后,执行步骤612。A端设备向B端设备发送空消息,以供B端设备更新A端的优先级,使得存储的A端设备的优先级回落,B端设备可以及时向A端设备发送消息。
步骤612:B端设备将存储的对端的优先级更新为空消息的优先级。
需要说明的是,本示例中的步骤A端设备以分体式的主设备为例,B端设备以外接的设备为例进行说明。在其他实施例中,A端设备也可以是外接的设备。当A端设备为分体式设备中的外接的设备,如键盘、手写板、手写笔、触控板等;该A端设备的MCU接收用户输入的指令,生成待发送消息,如A端设备为键盘,用户通过按压键盘输入信息,该待发送消息即为用户输入的信息。如A端设备为触控板,该A端设备可以获取用户在触控板上的手势信息,并作为待发送消息。同理,该图6中的其他步骤也由外接的设备中的MCU执行,B端设备由主设备的SOC执行。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的数据通信的方法。存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的数据通信的方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本申请各个实施例的任意内容,以及同一实施例的任意内容,均可以自由组合。对上述内容的任意组合均在本申请的范围之内。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (11)
1.一种数据通信的方法,其特征在于,包括:
第一电子设备响应于消息发送指令,获取第一消息的第一优先级;
判断所述第一优先级是否大于存储的第二优先级,所述第二优先级为所述第一电子设备上一次接收的第二电子设备发送的消息的优先级,所述第一优先级与所述第二优先级不同;
当检测到所述第一优先级大于所述第二优先级,则向第二电子设备发送所述第一消息;
当检测到所述第一优先级小于所述第二优先级,则放弃发送所述第一消息;
其中,所述第一电子设备与所述第二电子设备之间通过单线连接。
2.根据权利要求1所述的方法,其特征在于,在获取第一消息的第一优先级之前,所述方法还包括:
所述第一电子设备获取本端生成的待发送消息,所述待发送消息包括:优先级标识信息,所述优先级标识信息用于指示所述待发送消息的业务类型;
所述第一电子设备根据所述待发送消息的优先级标识信息以及第一对应关系,为所述待发送消息设置与所述优先级标识匹配的优先级,所述第一对应关系用于指示所述优先级标识与优先级之间的对应关系;
根据待发送消息的优先级,获取最高优先级的待发送消息作为第一消息。
3.根据权利要求2所述的方法,其特征在于,根据待发送消息的优先级,获取最高优先级的待发送消息作为第一消息,所述方法包括:
将所述待发送消息添加至与所述待发送消息的优先级对应的消息队列中;
根据每个消息队列的优先级,从消息队列中选取最高优先级的待发送消息作为所述第一消息。
4.根据权利要求3所述的方法,其特征在于,在所述第一电子设备发送所述第一消息之后,所述方法还包括:
所述第一电子设备检测每个消息队列是否均为空;
当所述第一电子设备检测到每个消息队列均为空,则生成空消息,所述空消息的优先级为所述第一电子设备允许的最小优先级;
所述第一电子设备检测到所述空消息时,向所述第二电子设备发送所述空消息,以供所述第二电子设备将存储的第一电子设备的优先级更新为所述空消息的优先级。
5.根据权利要求1所述的方法,其特征在于,在所述第一电子设备放弃发送所述第一消息之后,所述方法还包括:
所述第一电子设备接收所述第二电子设备发送的第二消息;
所述第一电子设备获取所述第二消息的优先级;
所述第一电子设备将存储的所述第二优先级更新为所述第二消息的优先级。
6.根据权利要求3所述的方法,其特征在于,所述优先级标识包括:业务服务标识和消息中的命令标识。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述第一电子设备包括系统级芯片SOC,所述第二电子设备包括微控制单元MCU;或者,所述第一电子设备包括MCU,所述第二电子设备包括SOC;
所述SOC和所述MCU通过单线电连接。
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述第一电子设备包括以下任一种:平板电脑、笔记本电脑或手机;
所述第二电子设备包括以下任一种:键盘、手写笔、外设画板、外设触摸板。
9.根据权利要求7所述的方法,其特征在于,所述第一电子设备包括n个优先级,第i个优先级的数值为2i,0≤i≤n,i为整数,n为大于0的整数,且0为最高优先级;
所述第二电子设备包括n个优先级,第二电子设备中第i个优先级的数值为2i+1。
10.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器与所述处理器耦合;
所述存储器存储有程序指令,当所述程序指令由所述处理器执行时,使得所述电子设备执行权利要求1-9中任意一项所述的数据通信的方法。
11.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-9中任意一项所述电子设备所执行的数据通信的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211454335.1A CN116701009B (zh) | 2022-11-21 | 2022-11-21 | 数据通信的方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211454335.1A CN116701009B (zh) | 2022-11-21 | 2022-11-21 | 数据通信的方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116701009A true CN116701009A (zh) | 2023-09-05 |
CN116701009B CN116701009B (zh) | 2024-05-17 |
Family
ID=87836259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211454335.1A Active CN116701009B (zh) | 2022-11-21 | 2022-11-21 | 数据通信的方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116701009B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102164384A (zh) * | 2010-06-17 | 2011-08-24 | 华为技术有限公司 | 提高服务成功率的方法、装置及系统 |
US20120243421A1 (en) * | 2011-03-23 | 2012-09-27 | General Electric Company | Power loss packet priority |
CN104184681A (zh) * | 2014-09-16 | 2014-12-03 | 南车株洲电力机车有限公司 | Ecp系统显示终端与头端控制单元间的通信方法和装置 |
CN109286578A (zh) * | 2018-09-27 | 2019-01-29 | 上海联寓智能科技有限公司 | 消息处理方法、装置、网关设备及存储介质 |
CN109698799A (zh) * | 2019-01-14 | 2019-04-30 | 广州荔支网络技术有限公司 | 一种消息推送方法、装置和移动终端 |
CN112199174A (zh) * | 2020-09-30 | 2021-01-08 | 北京字节跳动网络技术有限公司 | 消息发送的控制方法、装置、电子设备及计算机可读存储介质 |
CN112231260A (zh) * | 2020-10-21 | 2021-01-15 | 中煤科工集团重庆研究院有限公司 | 一种基于动态优先级的抢占式多主rs485总线通讯方法 |
CN113347211A (zh) * | 2021-08-04 | 2021-09-03 | 北京微芯感知科技有限公司 | 身份分层加密方法、装置、系统、计算机设备及存储介质 |
-
2022
- 2022-11-21 CN CN202211454335.1A patent/CN116701009B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102164384A (zh) * | 2010-06-17 | 2011-08-24 | 华为技术有限公司 | 提高服务成功率的方法、装置及系统 |
US20120243421A1 (en) * | 2011-03-23 | 2012-09-27 | General Electric Company | Power loss packet priority |
CN104184681A (zh) * | 2014-09-16 | 2014-12-03 | 南车株洲电力机车有限公司 | Ecp系统显示终端与头端控制单元间的通信方法和装置 |
CN109286578A (zh) * | 2018-09-27 | 2019-01-29 | 上海联寓智能科技有限公司 | 消息处理方法、装置、网关设备及存储介质 |
CN109698799A (zh) * | 2019-01-14 | 2019-04-30 | 广州荔支网络技术有限公司 | 一种消息推送方法、装置和移动终端 |
CN112199174A (zh) * | 2020-09-30 | 2021-01-08 | 北京字节跳动网络技术有限公司 | 消息发送的控制方法、装置、电子设备及计算机可读存储介质 |
CN112231260A (zh) * | 2020-10-21 | 2021-01-15 | 中煤科工集团重庆研究院有限公司 | 一种基于动态优先级的抢占式多主rs485总线通讯方法 |
CN113347211A (zh) * | 2021-08-04 | 2021-09-03 | 北京微芯感知科技有限公司 | 身份分层加密方法、装置、系统、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116701009B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10715381B2 (en) | Intelligent role selection for dual-role devices | |
CN109491801B (zh) | 微服务访问调度方法、装置、介质及电子设备 | |
EP2871575A1 (en) | Redirecting notifications to a wearable computing device | |
CN106708554B (zh) | 程序运行方法及装置 | |
US20150128068A1 (en) | Method for operating message application and electronic device implementing the same | |
US10372383B2 (en) | Providing secure access to data in mobile devices | |
WO2000046655A1 (en) | System and method for automatic device synchronization | |
CN106681860B (zh) | 一种数据备份方法及数据备份装置 | |
WO2018209635A1 (zh) | 一种搜索方法及装置 | |
CN103346921A (zh) | 用户管理方法和相关设备及通信系统 | |
CN101772761A (zh) | 电子设备接口控制系统 | |
CN114742000B (zh) | 基于FPGA集群的SoC芯片验证系统、验证方法、装置 | |
CN115934625A (zh) | 一种用于远程直接内存访问的敲门铃方法、设备及介质 | |
CN108140039B (zh) | 流式传输来自并行批次的数据库访问的记录 | |
JP2017062711A (ja) | 通信方法、通信プログラムおよび情報処理装置 | |
CN116701009B (zh) | 数据通信的方法及电子设备 | |
US8918572B2 (en) | Micro SD card adapter device for dynamically switching requests between a wireless transmission interface and an SD interface | |
CN111857546B (zh) | 用于处理数据的方法、网络适配器和计算机程序产品 | |
CN112711955A (zh) | 一种nfc的信息传输方法、信息传输装置及终端 | |
CN108696917B (zh) | 通信连接方法、装置、电子装置及计算机可读介质 | |
CN115016921B (zh) | 资源调度方法、装置及存储介质 | |
CN116149881A (zh) | 通知消息的发送方法、装置、设备及存储介质 | |
CN102204199A (zh) | 用于通信接口的位反转 | |
CN111488307A (zh) | 多处理器串行通信方法、装置、电子终端及存储介质 | |
CN116737405B (zh) | 一种快应用卡片的数据通信的方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |