CN114676088B - 一种通讯方法、装置及存储介质 - Google Patents

一种通讯方法、装置及存储介质 Download PDF

Info

Publication number
CN114676088B
CN114676088B CN202210154163.XA CN202210154163A CN114676088B CN 114676088 B CN114676088 B CN 114676088B CN 202210154163 A CN202210154163 A CN 202210154163A CN 114676088 B CN114676088 B CN 114676088B
Authority
CN
China
Prior art keywords
target equipment
communication rate
host
address
highest
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.)
Active
Application number
CN202210154163.XA
Other languages
English (en)
Other versions
CN114676088A (zh
Inventor
翁志龙
林耀树
雷祥锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Allwinner Technology Co Ltd
Original Assignee
Allwinner Technology Co Ltd
Filing date
Publication date
Application filed by Allwinner Technology Co Ltd filed Critical Allwinner Technology Co Ltd
Priority to CN202210154163.XA priority Critical patent/CN114676088B/zh
Publication of CN114676088A publication Critical patent/CN114676088A/zh
Application granted granted Critical
Publication of CN114676088B publication Critical patent/CN114676088B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种通讯方法、装置及存储介质,其中方法包括以下步骤:在目标设备端获取目标设备的最高通讯速率,并将所述最高通讯速率设置为所述目标设备的通讯速率;对主机系统内核空间的第一结构体进行第一操作,得到第二结构体;所述第一结构体包括所述目标设备的第一信息,所述第二结构体包括所述目标设备的第一信息和所述最高通讯速率,所述第一信息包括所述目标设备的地址;主机发起与所述目标设备的通讯操作,根据所述目标设备的地址确定主机通讯速率。本发明通过充分利用各个设备所支持的最高速率进行通讯,从而提升系统整体的通讯速率,进而提升系统的实时性及用户体验。

Description

一种通讯方法、装置及存储介质
技术领域
本发明涉及计算机技术领域,特别涉及一种通讯方法、装置及存储介质。
背景技术
Linux系统下,I2C总线只能以一种固定速率(即多路I2C传感器设备中最低速率)与设备进行通讯。因此,其他I2C设备通讯速率无法利用其支持的最高速率进行通讯。目前行业内对该问题并无开放的针对性解决方案。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种通讯方法、装置及存储介质,能够提升多路I2C设备综合通讯速率。
本发明实施例一方面提供一种通讯方法,包括以下步骤:在目标设备端获取目标设备的最高通讯速率,并将所述最高通讯速率设置为所述目标设备的通讯速率;对主机系统内核空间的第一结构体进行第一操作,得到第二结构体;所述第一结构体包括所述目标设备的第一信息,所述第二结构体包括所述目标设备的第一信息和所述最高通讯速率,所述第一信息包括所述目标设备的地址;主机发起与所述目标设备的通讯操作,根据所述目标设备的地址确定主机通讯速率。
根据本发明的一些实施例,所述根据所述目标设备的地址确定主机通讯速率包括:根据所述目标设备的地址获取对应的第二结构体,得到所述目标设备的最高通讯速率;将所述主机通讯速率设置为所述目标设备的最高通讯速率。
根据本发明的一些实施例,所述根据所述目标设备的地址确定主机通讯速率包括:判断当前通讯的设备地址与上一次通讯的设备地址是否相同;若不是,则根据所述目标设备的地址获取对应的第二结构体,得到所述目标设备的最高通讯速率;将主机通讯速率设置为所述目标设备的最高通讯速率。
根据本发明的一些实施例,所述根据所述目标设备的地址确定主机通讯速率包括:判断当前通讯的设备地址与上一次通讯的设备地址是否相同;若不是,则根据所述目标设备的地址获取对应的第二结构体,得到所述目标设备的最高通讯速率;判断所述目标设备的最高通讯速率是否与当前主机通讯速率相同;若不是,则将主机通讯速率设置为所述目标设备的最高通讯速率。
根据本发明的一些实施例,所述目标设备为I2C设备,所述第一结构体为I2C_client结构。
根据本发明的一些实施例,若所述目标设备的最高通讯速率与当前主机通讯速率相同,则所述主机开始与所述目标设备进行数据传输。
本发明实施例的通讯方法至少包括以下有益效果:通过动态调频机制,充分利用各个设备所支持的最高速率进行通讯,从而提升系统整体的通讯速率,进而提升系统的实时性及用户体验。
本发明实施例另一方面提出一种通讯装置,包括:第一模块,用于在目标设备端获取目标设备的最高通讯速率,并将所述最高通讯速率设置为所述目标设备的通讯速率;第二模块,用于将主机系统内核空间的所述第一结构体进行第一操作,得到第二结构体;所述第一结构体包括所述目标设备的第一信息,所述第二结构体包括所述目标设备的第一信息和所述最高通讯速率,所述第一信息包括所述目标设备的地址;第三模块,用于主机发起与所述目标设备的通讯操作,根据所述目标设备的地址确定主机通讯速率。
本发明实施例的通讯装置至少包括以下有益效果:通过动态调频机制,充分利用各个设备所支持的最高速率进行通讯,从而提升系统整体的通讯速率,进而提升系统的实时性及用户体验。
本发明实施例另一方面提出计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前文所述的通讯方法。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的方法的流程示意图;
图2为本发明另一实施例的方法的流程示意图;
图3为本发明实施例的装置的模块示意框图。
附图标记:
第一模块100、第二模块200、第三模块300。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个及两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
现有技术背景下,其他I2C设备通讯速率无法以其支持的最高速率进行通讯。因此,系统整体通讯速率较低,影响了无人机飞控等多路I2C传感器系统的实时性及用户体验。
针对这些缺点,本发明通过主机I2C总线动态调频机制,充分利用各个I2C传感器设备所支持的最高速率进行通讯,从而提升系统整体的通讯速率,进而提升系统的实时性及用户体验。
本发明的方法可以在无人机上使用,可明显提升无人机飞控实时性及用户体验。
参照图1,本发明实施例提出一种通讯方法,包括以下步骤:
在目标设备端获取目标设备的最高通讯速率,并将最高通讯速率设置为目标设备的通讯速率;
对主机系统内核空间的第一结构体进行第一操作,得到第二结构体;该第一结构体包括目标设备的第一信息,第二结构体包括目标设备的第一信息和最高通讯速率,第一信息包括目标设备的地址;
主机发起与目标设备的通讯操作,根据目标设备的地址确定主机通讯速率。
在一些实施例中,根据目标设备的地址确定主机通讯速率包括:根据目标设备的地址获取对应的第二结构体,得到目标设备的最高通讯速率;将主机通讯速率设置为目标设备的最高通讯速率。
在一些实施例中,根据目标设备的地址确定主机通讯速率包括:判断当前通讯的设备地址与上一次通讯的设备地址是否相同;若不是,则根据目标设备的地址获取对应的第二结构体,得到目标设备的最高通讯速率;将主机通讯速率设置为目标设备的最高通讯速率。
在一些实施例中,根据目标设备的地址确定主机通讯速率包括:判断当前通讯的设备地址与上一次通讯的设备地址是否相同;若不是,则根据目标设备的地址获取对应的第二结构体,得到目标设备的最高通讯速率;判断目标设备的最高通讯速率是否与当前主机通讯速率相同;若不是,则将主机通讯速率设置为目标设备的最高通讯速率。
示例性地,本实施例的目标设备为I2C设备,第一结构体为I2C_client结构。
在一些实施例中,目标设备的最高通讯速率与当前主机通讯速率相同,则主机开始与目标设备进行数据传输。
参照图2,在一实施例中,通讯方法包括以下步骤:
1.设备端i2c_client结构中添加最高通讯速率参数max_speed:
client->max_speed=xxx;
2.将当前设备地址与上一次比较,若不同,则执行步骤3;
3.根据设备端地址获取max_speed,保存本次传输的I2C设备地址:
4.将当前设备端max_speed与上次通讯速率比较,若不同,则执行步骤5;
5.将主机I2C速率设置为max_speed,保存当前通讯速率max_speed:
twi_set_clock(apb_clk,dev_speed.speed,i2c->base_addr);
dev_speed_last[i2c->bus_num].speed=dev_speed.speed;
6.主机开始数据传输。
在一具体实施例中,有A、B、C三种I2C设备,分别传输2400bit数据量,其中A速率为400Kbit/s,B速率为100Kbit/s,C速率为1200Kbit/s。
若采用现有技术方案,只能将主机速率固定设置为各I2C设备中最低者,即100Kbit/s。总传输时间为:
2400÷100x3=72s;
若采用本发明实施例的方案,由于主机速率可以根据当前设备最大通讯速率动态修改,总传输时间为:
(2400÷400)+(2400÷100)+(2400÷1200)=32s;
可见,本发明实施例的传输时间明显低于现有技术方案;并且,随着传输数据量的增加,效果愈明显。
参照图,3,本发明实施例提出一种通讯装置,包括:第一模块100,用于在目标设备端获取目标设备的最高通讯速率,并将最高通讯速率设置为目标设备的通讯速率;第二模块200,用于将主机系统内核空间的第一结构体进行第一操作,得到第二结构体;第一结构体包括目标设备的第一信息,第二结构体包括目标设备的第一信息和最高通讯速率,第一信息包括所述目标设备的地址;第三模块300,用于主机发起与目标设备的通讯操作,根据目标设备的地址确定主机通讯速率。
尽管本文描述了具体实施方案,但是本领域中的普通技术人员将认识到,许多其它修改或另选的实施方案同样处于本公开的范围内。例如,结合特定设备或组件描述的功能和/或处理能力中的任一项可以由任何其它设备或部件来执行。另外,虽然已根据本公开的实施方案描述了各种例示性具体实施和架构,但是本领域中的普通技术人员将认识到,对本文所述的例示性具体实施和架构的许多其它修改也处于本公开的范围内。
上文参考根据示例性实施方案所述的系统、方法、系统和/或计算机程序产品的框图和流程图描述了本公开的某些方面。应当理解,框图和流程图中的一个或多个块以及框图和流程图中的块的组合可分别通过执行计算机可执行程序指令来实现。同样,根据一些实施方案,框图和流程图中的一些块可能无需按示出的顺序执行,或者可以无需全部执行。另外,超出框图和流程图中的块所示的那些部件和/或操作以外的附加部件和/或操作可存在于某些实施方案中。
因此,框图和流程图中的块支持用于执行指定功能的装置的组合、用于执行指定功能的元件或步骤的组合以及用于执行指定功能的程序指令装置。还应当理解,框图和流程图中的每个块以及框图和流程图中的块的组合可以由执行特定功能、元件或步骤的专用硬件计算机系统或者专用硬件和计算机指令的组合来实现。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

Claims (3)

1.一种通讯方法,其特征在于,包括以下步骤:
在目标设备端获取目标设备的最高通讯速率,并将所述最高通讯速率设置为所述目标设备的通讯速率;
对主机系统内核空间的第一结构体进行第一操作,得到第二结构体;所述第一结构体包括所述目标设备的第一信息,所述第二结构体包括所述目标设备的第一信息和所述最高通讯速率,所述第一信息包括所述目标设备的地址;
主机发起与所述目标设备的通讯操作,根据所述目标设备的地址确定主机通讯速率;
其中,所述根据所述目标设备的地址确定主机通讯速率包括:
判断当前通讯的设备地址与上一次通讯的设备地址是否相同;若不是,则根据所述目标设备的地址获取对应的第二结构体,得到所述目标设备的最高通讯速率;
判断所述目标设备的最高通讯速率是否与当前主机通讯速率相同;若不是,则将主机通讯速率设置为所述目标设备的最高通讯速率;若所述目标设备的最高通讯速率与当前主机通讯速率相同,则所述主机开始与所述目标设备进行数据传输;
所述目标设备为I2C设备,所述第一结构体为I2C_client结构。
2.一种通讯装置,其特征在于,包括:
第一模块,用于在目标设备端获取目标设备的最高通讯速率,并将所述最高通讯速率设置为所述目标设备的通讯速率;
第二模块,用于将主机系统内核空间的第一结构体进行第一操作,得到第二结构体;所述第一结构体包括所述目标设备的第一信息,所述第二结构体包括所述目标设备的第一信息和所述最高通讯速率,所述第一信息包括所述目标设备的地址;
第三模块,用于主机发起与所述目标设备的通讯操作,根据所述目标设备的地址确定主机通讯速率;
其中,所述根据所述目标设备的地址确定主机通讯速率包括:
判断当前通讯的设备地址与上一次通讯的设备地址是否相同;若不是,则根据所述目标设备的地址获取对应的第二结构体,得到所述目标设备的最高通讯速率;
判断所述目标设备的最高通讯速率是否与当前主机通讯速率相同;若不是,则将主机通讯速率设置为所述目标设备的最高通讯速率;若所述目标设备的最高通讯速率与当前主机通讯速率相同,则所述主机开始与所述目标设备进行数据传输;
所述目标设备为I2C设备,所述第一结构体为I2C_client结构。
3.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1的方法。
CN202210154163.XA 2022-02-18 一种通讯方法、装置及存储介质 Active CN114676088B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210154163.XA CN114676088B (zh) 2022-02-18 一种通讯方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210154163.XA CN114676088B (zh) 2022-02-18 一种通讯方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN114676088A CN114676088A (zh) 2022-06-28
CN114676088B true CN114676088B (zh) 2024-06-04

Family

ID=

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10215295A (ja) * 1997-01-30 1998-08-11 Matsushita Electric Ind Co Ltd 機器接続構成管理装置
KR20050072502A (ko) * 2004-01-06 2005-07-12 삼성전자주식회사 동작모드 자동전환이 가능한 i2c 버스 컨트롤러
WO2006090344A1 (en) * 2005-02-25 2006-08-31 Koninklijke Philips Electronics, N.V. Edge rate control for i2c bus applications
CN101459659A (zh) * 2007-12-11 2009-06-17 华为技术有限公司 一种地址解析协议报文处理方法及通讯系统以及网元
CN101465838A (zh) * 2007-12-21 2009-06-24 希姆通信息技术(上海)有限公司 一种实现自适应速率模拟i2c总线通信的方法
JP2009272964A (ja) * 2008-05-08 2009-11-19 Seiko Epson Corp 通信システム、ホスト、クライアント、携帯電話機の電話機本体、バッテリおよび通信方法
CN102339267A (zh) * 2010-06-04 2012-02-01 英特赛尔美国股份有限公司 I2c地址转换
CN102339263A (zh) * 2010-07-26 2012-02-01 杭州华三通信技术有限公司 总线传输装置和方法
CN203849731U (zh) * 2014-04-25 2014-09-24 杭州海康威视数字技术股份有限公司 一种基于i2c总线实现的数据处理设备
CN105677598A (zh) * 2016-01-04 2016-06-15 中国科学院嘉兴微电子与系统工程中心 基于i2c接口快速读取多个mems传感器数据的模块和方法
CN106776436A (zh) * 2017-01-12 2017-05-31 烽火通信科技股份有限公司 一种适用于多点互联的高速串行总线结构及其通信方法
CN108983593A (zh) * 2018-06-14 2018-12-11 上海粲高教育设备有限公司 具有数据输出功能的秒表
CN110391960A (zh) * 2018-04-18 2019-10-29 珠海全志科技股份有限公司 总线传输控制装置及方法
CN111078606A (zh) * 2019-11-18 2020-04-28 上海灵动微电子股份有限公司 一种模拟i2c从机及其实现方法、终端设备和存储介质
CN111679993A (zh) * 2020-05-29 2020-09-18 湖南苍树航天科技有限公司 一种多通道并行同步总线控制器

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10215295A (ja) * 1997-01-30 1998-08-11 Matsushita Electric Ind Co Ltd 機器接続構成管理装置
KR20050072502A (ko) * 2004-01-06 2005-07-12 삼성전자주식회사 동작모드 자동전환이 가능한 i2c 버스 컨트롤러
WO2006090344A1 (en) * 2005-02-25 2006-08-31 Koninklijke Philips Electronics, N.V. Edge rate control for i2c bus applications
CN101459659A (zh) * 2007-12-11 2009-06-17 华为技术有限公司 一种地址解析协议报文处理方法及通讯系统以及网元
CN101465838A (zh) * 2007-12-21 2009-06-24 希姆通信息技术(上海)有限公司 一种实现自适应速率模拟i2c总线通信的方法
JP2009272964A (ja) * 2008-05-08 2009-11-19 Seiko Epson Corp 通信システム、ホスト、クライアント、携帯電話機の電話機本体、バッテリおよび通信方法
CN102339267A (zh) * 2010-06-04 2012-02-01 英特赛尔美国股份有限公司 I2c地址转换
CN102339263A (zh) * 2010-07-26 2012-02-01 杭州华三通信技术有限公司 总线传输装置和方法
CN203849731U (zh) * 2014-04-25 2014-09-24 杭州海康威视数字技术股份有限公司 一种基于i2c总线实现的数据处理设备
CN105677598A (zh) * 2016-01-04 2016-06-15 中国科学院嘉兴微电子与系统工程中心 基于i2c接口快速读取多个mems传感器数据的模块和方法
CN106776436A (zh) * 2017-01-12 2017-05-31 烽火通信科技股份有限公司 一种适用于多点互联的高速串行总线结构及其通信方法
CN110391960A (zh) * 2018-04-18 2019-10-29 珠海全志科技股份有限公司 总线传输控制装置及方法
CN108983593A (zh) * 2018-06-14 2018-12-11 上海粲高教育设备有限公司 具有数据输出功能的秒表
CN111078606A (zh) * 2019-11-18 2020-04-28 上海灵动微电子股份有限公司 一种模拟i2c从机及其实现方法、终端设备和存储介质
CN111679993A (zh) * 2020-05-29 2020-09-18 湖南苍树航天科技有限公司 一种多通道并行同步总线控制器

Similar Documents

Publication Publication Date Title
WO2022037664A1 (zh) 非连续接收drx配置方法、装置和设备
US9152459B2 (en) Adjusting thread priority to improve throughput between peer-to-peer (P2P) devices
CN110166186B (zh) 一种确定dci中信息域取值的方法及装置
CN111447155B (zh) 数据传输方法、装置、设备及存储介质
CN111212114B (zh) 一种下载资源文件的方法和装置
CN112491523A (zh) 一种解调参考信号调度方法及装置、电子设备、存储介质
CN111095988A (zh) 搜索空间监视
CN114676088B (zh) 一种通讯方法、装置及存储介质
WO2022078502A1 (zh) 功率确定方法、装置、终端及可读存储介质
CN113784388B (zh) 数据传输的方法、装置、设备、存储介质
WO2016119760A1 (zh) 资源分配的方法及装置和信息反馈的方法及装置
CN113114445B (zh) 用户终端及其控制方法、计算机可读存储介质
CN114676088A (zh) 一种通讯方法、装置及存储介质
CN113259073A (zh) Pusch传输方法、pusch传输控制方法及相关设备
KR20160036846A (ko) 채널 연결 관리 방법 및 장치
CN110637428B (zh) 信道状态信息报告发送
CN113922934A (zh) 用于跨载波调度的方法和网络装置
CN110574318B (zh) 信道状态信息报告传输
RU2753373C1 (ru) Способ и устройство для осуществления информационной обратной связи, а также компьютерный носитель данных
CN107506491B (zh) 一种分布式文件系统的osd数据分发方法及装置
CN112437494A (zh) 一种资源分配方法及装置
CN110634278A (zh) 一种通信方法、设备及控制系统
US20220286502A1 (en) Communication control device, communication system, communication control method, and recording medium
EP4138480A1 (en) Conflicting resource determination method, terminal, and network device
EP2141606A1 (en) Apparatus and method for processing high speed data using hybrid DMA

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant