一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

I2C总线中的数据访问方法、装置、设备及存储介质与流程

2021-11-22 13:44:00 来源:中国专利 TAG:

i2c总线中的数据访问方法、装置、设备及存储介质
技术领域
1.本发明涉及通信技术领域,特别是涉及一种i2c总线中的数据访问方法、装置、设备及计算机可读存储介质。


背景技术:

2.内部集成的串行总线(inter-integrated circuit,i2c)是两线式串行总线,用于连接微控制器及其外围设备,其具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。
3.i2c通过串行数据(sda)线和串行时钟(scl)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别。主器件(master)是初始化总线的数据传输并产生允许传输的时钟信号的器件,任何被寻址的器件都被认为是从器件(slave),上层应用通过i2c总线中的主器件对各从器件进行数据访问。
4.现有的i2c总线中的数据访问方式为在预获取的i2c从器件的适用时钟频率范围中选取一个或多个测试频率,即在一定频率范围内,选取几个频率点进行测试,最终使用一个折中的频率对从器件进行访问。但是,如果总线中存在多个从器件,其占用总线时间较长,费时费力,且该方法只顾通用,对于每个从器件的特殊性没有考虑到,影响数据访问效率。
5.综上所述,如何有效地解决现有的i2c总线中的数据访问方式,占用总线时间长,费时费力,影响数据访问效率等问题,是目前本领域技术人员急需解决的问题。


技术实现要素:

6.本发明的目的是提供一种i2c总线中的数据访问方法,该方法实现了对从器件频率的自适应自动调整,节省人力,提高了总线利用率,提高了数据访问效率,节省了耗时;本发明的另一目的是提供一种i2c总线中的数据访问装置、设备及计算机可读存储介质。
7.为解决上述技术问题,本发明提供如下技术方案:
8.一种i2c总线中的数据访问方法,应用于i2c总线主器件,包括:
9.对接收到的从器件访问请求进行解析,得到待访问的目标从器件;
10.判断所述目标从器件是否支持变频;
11.若是,则从预置的变频表中查找所述目标从器件对应的预置最高频率,并利用所述预置最高频率对所述目标从器件进行数据访问操作;
12.若否,则获取对所述目标从器件进行频率自适应测试得到的频率上限,并利用所述频率上限对所述目标从器件进行数据访问操作。
13.在本发明的一种具体实施方式中,在判断所述目标从器件是否支持变频之前,还包括:
14.从所述变频表中读取所述目标从器件对应待访问数据包大小;
15.判断所述待访问数据包大小是否超出预设数据包大小阈值;
16.若是,则执行所述判断所述目标从器件是否支持变频的步骤;
17.若否,则执行所述获取对所述目标从器件进行频率自适应测试得到的频率上限的步骤。
18.在本发明的一种具体实施方式中,判断所述目标从器件是否支持变频,包括:
19.从所述变频表中读取所述目标从器件对应的目标变频设置标志位;
20.判断所述目标变频设置标志位是否为可支持变频设置。
21.在本发明的一种具体实施方式中,当对多从器件进行访问时,在对所述目标从器件进行数据访问操作之前,还包括:
22.根据所述待访问数据包大小确定所述目标从器件对应的目标访问优先级;
23.对所述目标从器件进行数据访问操作,包括:
24.按照所述目标访问优先级对所述目标从器件进行数据访问操作。
25.在本发明的一种具体实施方式中,对所述目标从器件进行频率自适应测试得到所述频率上限的过程包括:
26.从所述变频表中获取所述目标从器件对应的基准频率;
27.将所述基准频率作为当前通信频率;
28.利用所述当前通信频率与所述目标从器件进行通信;
29.判断是否通信成功;
30.若是,则对所述当前通信频率上调第一预设频率间隔,并将调整后频率确定为当前通信频率;
31.重复执行所述利用所述当前通信频率与所述目标从器件进行通信的步骤,直至通信失败,则将通信失败时的当前通信频率对应的最近邻上调前频率确定为所述频率上限;
32.若否,则对所述当前通信频率下调第二预设频率间隔,并将调整后频率确定为当前通信频率;
33.重复执行所述利用所述当前通信频率与所述目标从器件进行通信的步骤,直至通信成功,将通信成功时的当前通信频率作为所述频率上限。
34.在本发明的一种具体实施方式中,还包括:
35.当对所述当前通信频率下调第二预设频率间隔的次数达到预设次数上限时,将所述变频表中所述目标从器件对应的故障标志位修改为使能状态。
36.在本发明的一种具体实施方式中,还包括:
37.对所述从器件访问请求进行校验操作。
38.一种i2c总线中的数据访问装置,应用于i2c总线主器件,包括:
39.请求解析模块,用于对接收到的从器件访问请求进行解析,得到待访问的目标从器件;
40.第一判断模块,用于判断所述目标从器件是否支持变频;
41.第一访问模块,用于当确定所述目标从器件支持变频时,从预置的变频表中查找所述目标从器件对应的预置最高频率,并利用所述预置最高频率对所述目标从器件进行数据访问操作;
42.第二访问模块,用于当确定所述目标从器件不支持变频时,获取对所述目标从器件进行频率自适应测试得到的频率上限,并利用所述频率上限对所述目标从器件进行数据
访问操作。
43.一种i2c总线中的数据访问设备,包括:
44.存储器,用于存储计算机程序;
45.处理器,用于执行所述计算机程序时实现如前所述i2c总线中的数据访问方法的步骤。
46.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述i2c总线中的数据访问方法的步骤。
47.本发明所提供的i2c总线中的数据访问方法,应用于i2c总线主器件,包括:对接收到的从器件访问请求进行解析,得到待访问的目标从器件;判断目标从器件是否支持变频;若是,则从预置的变频表中查找目标从器件对应的预置最高频率,并利用预置最高频率对目标从器件进行数据访问操作;若否,则获取对目标从器件进行频率自适应测试得到的频率上限,并利用频率上限对目标从器件进行数据访问操作。
48.由上述技术方案可知,通过预先设置变频表,当确定待访问的目标从器件支持变频时,直接从变频表中查找目标从器件对应的预置最高频率,基于预置最高频率对目标从器件进行数据访问操作。并预先对目标从器件进行频率自适应测试,得到目标从器件对应的频率上限,当确定待访问的目标从器件不支持变频时,利用频率上限对目标从器件进行数据访问操作。充分考虑了各从器件的特殊性,实现了对从器件频率的自适应自动调整,节省人力,且通过尽可能地利用目标从器件支持的最大频率对其进行数据访问,提高了总线利用率,提高了数据访问效率,节省了耗时。
49.相应的,本发明还提供了与上述i2c总线中的数据访问方法相对应的i2c总线中的数据访问装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
50.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
51.图1为本发明实施例中i2c总线中的数据访问方法的一种实施流程图;
52.图2为本发明实施例中i2c总线中的数据访问方法的另一种实施流程图;
53.图3为本发明实施例中一种i2c总线中的数据访问系统的结构框图;
54.图4为本发明实施例中一种变频系统与主器件之间的连接结构示意图;
55.图5为本发明实施例中一种i2c总线中的数据访问装置的结构框图;
56.图6为本发明实施例中一种i2c总线中的数据访问设备的结构框图;
57.图7为本实施例提供的一种i2c总线中的数据访问设备的具体结构示意图。
具体实施方式
58.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提
下所获得的所有其他实施例,都属于本发明保护的范围。
59.参见图1,图1为本发明实施例中i2c总线中的数据访问方法的一种实施流程图,应用于i2c总线主器件,该方法可以包括以下步骤:
60.s101:对接收到的从器件访问请求进行解析,得到待访问的目标从器件。
61.当上层应用需要对i2c总线中的从器件进行数据访问时,生成从器件访问请求,从器件访问请求中包含待访问的目标从器件。上层应用在生成从器件访问请求之后,将从器件访问请求发送给i2c总线主器件,i2c总线主器件接收从器件访问请求,并对接收到的从器件访问请求进行解析,得到待访问的目标从器件,从而确定上层应用具体需要对i2c总线中的哪个从器件进行数据访问。
62.s102:判断目标从器件是否支持变频,若是,则执行步骤s103,若否,则执行步骤s104。
63.在解析得到待访问的目标从器件之后,判断目标从器件是否支持变频,若是,则说明先前配置目标从器件支持手动设置变频,如预先设置支持100khz或者400khz,执行步骤s103,若否,则说明先前配置目标从器件不支持手动设置变频,执行步骤s104。
64.s103:从预置的变频表中查找目标从器件对应的预置最高频率,并利用预置最高频率对目标从器件进行数据访问操作。
65.当确定目标从器件支持变频时,说明先前配置目标从器件支持手动设置变频,预先设置有变频表,变频表中存储有目标从器件支持的不同频率值,从目标从器件对应的变频表中查找预置最高频率,并利用预置最高频率对目标从器件进行数据访问操作,从而实现了尽可能地利用目标从器件支持的最大频率对其进行数据访问,提高了总线利用率,提高了数据访问效率,节省了耗时。
66.s104:获取对目标从器件进行频率自适应测试得到的频率上限,并利用频率上限对目标从器件进行数据访问操作。
67.预先对目标从器件进行频率自适应测试,得到目标从器件对应的频率上限。当确定目标从器件不支持变频时,说明先前配置目标从器件不支持手动设置变频,获取对目标从器件进行频率自适应测试得到的频率上限,并利用频率上限对目标从器件进行数据访问操作,从而尽可能地利用目标从器件支持的最大频率对其进行数据访问,提高了总线利用率,提高了数据访问效率,节省了耗时。
68.由上述技术方案可知,通过预先设置变频表,当确定待访问的目标从器件支持变频时,直接从变频表中查找目标从器件对应的预置最高频率,基于预置最高频率对目标从器件进行数据访问操作。并预先对目标从器件进行频率自适应测试,得到目标从器件对应的频率上限,当确定待访问的目标从器件不支持变频时,利用频率上限对目标从器件进行数据访问操作。充分考虑了各从器件的特殊性,实现了对从器件频率的自适应自动调整,节省人力,且通过尽可能地利用目标从器件支持的最大频率对其进行数据访问,提高了总线利用率,提高了数据访问效率,节省了耗时。
69.需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
70.参见图2,图2为本发明实施例中i2c总线中的数据访问方法的另一种实施流程图,
应用于i2c总线主器件,该方法可以包括以下步骤:
71.s201:从变频表中获取目标从器件对应的基准频率。
72.预先建立变频表,变频表中存储有各从器件分别对应的基准频率,如可以设置从器件的基准频率为100khz。在对目标从器件进行频率自适应测试时,从变频表中获取目标从器件对应的基准频率。
73.s202:将基准频率作为当前通信频率。
74.在获取到目标从器件对应的基准频率之后,将基准频率作为当前通信频率,即将基准频率作为目标从器件与i2c总线主器件之间的当前通信频率。
75.s203:利用当前通信频率与目标从器件进行通信。
76.在将基准频率作为当前通信频率之后,i2c总线主器件利用当前通信频率与目标从器件进行通信。
77.s204:判断是否通信成功,若是,则执行步骤s205,若否,则执行步骤s209。
78.在i2c总线主器件利用当前通信频率与目标从器件进行通信之后,判断是否通信成功,如可以设置当i2c总线主器件与目标从器件通信成功时,目标从器件向i2c总线主器件返回确认字符(acknowledge character,ack),i2c总线主器件通过检测是否收到目标从器件的确认字符进而确定是否与目标从器件通信成功,若是,则说明i2c总线主器件能够通过当前通信频率与目标从器件进行成功通信,执行步骤s205,若否,则说明i2c总线主器件不能通过当前通信频率与目标从器件进行成功通信,执行步骤s209。
79.s205:对当前通信频率上调第一预设频率间隔,并将调整后频率确定为当前通信频率。
80.预先设置对目标从器件频率自适应测试时进行频率上调的第一预设频率间隔,当确定i2c总线主器件利用当前通信频率与目标从器件通信成功时,说明目标从器件支持当前通信频率,尝试对当前通信频率进行上调,对当前通信频率上调第一预设频率间隔,并将调整后频率确定为当前通信频率。确定频率的过程中,以正常完成通信为前提,仅在确保该频率能够稳定工作时小福提高时钟频率,避免由于频繁的通信失败导致总线数据频繁丢失。
81.需要说明的是,第一预设频率间隔可以根据实际情况进行设定和调整,本发明实施例对此不做限定。
82.s206:利用当前通信频率与目标从器件进行通信。
83.在进行频率上调第一预设频率间隔得到新的当前通信频率之后,为测试目标从器件对新产生的当前通信频率的支持度,利用当前通信频率与目标从器件进行通信。
84.s207:判断是否通信失败,若是,则执行步骤s208,若否,则执行步骤s205。
85.通过利用新产生的当前通信频率与目标从器件进行通信,判断是否通信失败,若是,则说明目标从器件不支持经频率上调产生的当前通信频率,执行步骤s208,若否,则说明目标从器件仍支持经频率上调产生的当前通信频率,执行步骤s205。
86.s208:将当前通信频率对应的最近邻上调前频率确定为频率上限。
87.当确定新产生的当前通信频率与目标从器件通信失败时,说明目标从器件不支持经频率上调产生的当前通信频率,将当前通信频率对应的最近邻上调前频率确定为频率上限,即将目标通信失败的当前通信频率下调第一预设频率间隔得到的频率值作为目标从器
件的频率上限。
88.s209:对当前通信频率下调第二预设频率间隔,并将调整后频率确定为当前通信频率。
89.预先设置对目标从器件频率自适应测试时进行频率下调的第二预设频率间隔,当确定i2c总线主器件利用当前通信频率与目标从器件通信失败时,说明目标从器件不支持当前通信频率,尝试对当前通信频率进行下调,对当前通信频率下调第二预设频率间隔,并将调整后频率确定为当前通信频率。
90.需要说明的是,第二预设频率间隔可以根据实际情况进行设定和调整,本发明实施例对此不做限定。且第一预设频率间隔与第二预设频率间隔中的第一、第二仅是为了将上调的频率间隔和下调的频率间隔进行区分,并无先后顺序和大小之分,第一预设频率间隔与第二预设频率间隔的值可以相同,也可以不同,本发明实施例对此不做限定。
91.在本发明的一种具体实施方式中,该方法还可以包括以下步骤:
92.当对当前通信频率下调第二预设频率间隔的次数达到预设次数上限时,将变频表中目标从器件对应的故障标志位修改为使能状态。
93.预先设置对目标从器件从基准频率进行频率下调第二预设频率间隔的次数阈值,当对当前通信频率下调第二预设频率间隔的次数达到预设次数上限时,确定目标从器件处于故障状态,预先在变频表中设置故障标志位,将变频表中目标从器件对应的故障标志位修改为使能状态。
94.s210:利用当前通信频率与目标从器件进行通信。
95.在进行频率下调第二预设频率间隔得到新的当前通信频率之后,为测试目标从器件对新产生的当前通信频率的支持度,利用当前通信频率与目标从器件进行通信。
96.s211:判断是否通信成功,若是,则执行步骤s212,若否,则执行步骤s209。
97.通过利用新产生的当前通信频率与目标从器件进行通信,判断是否通信失败,若是,则说明目标从器件支持经频率下调产生的当前通信频率,执行步骤s212,若否,则说明目标从器件仍不支持经频率下调产生的当前通信频率,执行步骤s209。
98.s212:将当前通信频率作为频率上限。
99.当确定新产生的当前通信频率与目标从器件通信成功时,说明目标从器件支持经本次频率下调产生的当前通信频率,将当前通信频率作为频率上限,即新产生的当前通信频率为目标从器件支持的最大频率。
100.s213:接收从器件访问请求。
101.i2c总线主器件接收上层应用发送的从器件访问请求。
102.s214:对从器件访问请求进行校验操作。
103.预先设置对上层应用发送的从器件访问请求进行合法性校验的校验条件,i2c总线主器件在接收到从器件访问请求之后,对从器件访问请求进行校验操作。通过对从器件访问请求进行校验,避免了从器件数据的非法访问,保护了系统的安全性。
104.s215:当对从器件访问请求校验通过时,对从器件访问请求进行解析,得到待访问的目标从器件。
105.当对从器件访问请求校验通过时,对从器件访问请求进行解析,得到待访问的目标从器件。通过在确保对从器件访问请求之后才允许进行后续的具体的数据访问流程,保
证了数据的安全性,避免了数据被非法访问。
106.s216:从预置的变频表中读取目标从器件对应待访问数据包大小。
107.预先在变频表中存储待访问数据包大小,当解析得到待访问的目标从器件之后,从预置的变频表中读取目标从器件对应待访问数据包大小。
108.s217:判断待访问数据包大小是否超出预设数据包大小阈值,若是,则执行步骤s218,若否,则执行步骤s222。
109.预先设置数据包大小阈值,在从预置的变频表中读取到目标从器件对应待访问数据包大小之后,判断待访问数据包大小是否超出预设数据包大小阈值,若是,则说明待访问数据包较大,执行步骤s218,若否,则说明待访问数据包较小,执行步骤s222。
110.需要说明的是,预设数据包大小阈值可以根据实际情况进行设定和调整,本发明实施例对此不做限定。
111.s218:从变频表中读取目标从器件对应的目标变频设置标志位。
112.变频表中预先存储有分别标识各从器件是否可支持变频设置的变频设置标志位,当确定待访问数据包大小超出预设数据包大小阈值时,说明待访问数据包较大,从变频表中读取目标从器件对应的目标变频设置标志位。
113.s219:当对多从器件进行访问时,根据待访问数据包大小确定目标从器件对应的目标访问优先级。
114.当确定当前是对多从器件进行访问时,根据待访问数据包大小确定目标从器件对应的目标访问优先级。如可以设置待访问数据包大小与访问优先级呈反比,即待访问数据包越小,访问优先级越高,从而保证如果有突发的读写操作,或者当有冲突将要出现时,根据预先设置的访问优先级进行相应的数据访问。
115.s220:判断目标变频设置标志位是否为可支持变频设置,若是,则执行步骤s221,若否,则执行步骤s222。
116.在读取到目标从器件对应的目标变频设置标志位之后,判断目标变频设置标志位是否为可支持变频设置,若是,则说明先前配置目标从器件支持手动设置变频,执行步骤s221,若否,则说明先前配置目标从器件不支持手动设置变频,执行步骤s222。
117.s221:从变频表中查找目标从器件对应的预置最高频率,并利用预置最高频率按照目标访问优先级对目标从器件进行数据访问操作。
118.当确定目标变频设置标志位为可支持变频设置时,明先前配置目标从器件支持手动设置变频,从变频表中查找目标从器件对应的预置最高频率,并利用预置最高频率按照目标访问优先级对目标从器件进行数据访问操作。通过按照目标访问优先级对目标从器件进行数据访问,从而在多从器件的情况下有更好的防冲突机制,大大提高了总线利用率,避免了拥塞情况的发生,节省了上层资源。同时安全校验以及故障标记功能极大的提高了总线安全性与稳定性。
119.s222:获取对目标从器件进行频率自适应测试得到的频率上限,并利用频率上限按照目标访问优先级对目标从器件进行数据访问操作。
120.当确定判断目标变频设置标志位为不支持变频设置时,说明先前配置目标从器件不支持手动设置变频,获取对目标从器件进行频率自适应测试得到的频率上限,并利用频率上限按照目标访问优先级对目标从器件进行数据访问操作。
121.如表1所示,表1为系统内置的一个变频表。
122.表1
[0123][0124]
其中,每个序号代表一种i2c读写操作,8位2进制数共计256种操作,远远大于一条i2c总线的常规操作数。每种i2c的操作由从器件地址,以及从器件内部寄存器的偏移地址决定。字节(byte)数表示读操作或者写操作需要占用的字节数,此处不需要区分读操作还是写操作。
[0125]
基准频率可以人工根据从器件手册确定,如果人工没有输入,则按照i2c协议基准频率(100khz或者400khz)。频率上限由系统经过自适应渐变测试得出,并在日常通信中实时更新。
[0126]
从器件状态包含四位,分别是:高优先级(1为高优先级)、故障(1为故障)、忙碌(1为忙碌)、禁用(1为禁用)。优先级是定义当有冲突将要出现时,优先进行哪一个操作,另一个操作的剩余时间将进行调整延后。故障表示该器件无法获得相应。忙碌表示目前该器件正在进行通信。禁用则是拦截所有该器件的通信,写请求不发出或者立即结束,读请求不予回应。
[0127]
通过以上信息,上层应用和底层程序可以精准地得知总线的通信情况,不需要频繁的获取,同时,如果有突发的读写操作,通过axi(advanced extensible interface)总线按照优先级写入,即可实现更新查找表的功能。
[0128]
参见图3,图3为本发明实施例中一种i2c总线中的数据访问系统的结构框图。首先,假设i2c总线上有1个主器件1,两个从器件ab,其中a、b从器件的地址为0x33、0x34。假定主器件1与a从器件偏移地址0x01有写0x88的操作,基准频率为100khz。对b从器件偏移地址0x2有读32字节的操作,基准频率为100khz。b从器件支持通过写寄存器进行变频。则上层应用通过配置变频表形成如表2所示。
[0129]
表2
[0130][0131]
参见图4,图4为本发明实施例中一种变频系统与主器件之间的连接结构示意图。自适应变频系统内部主要由四部分组成:
[0132]
(1)分析模块:负责分析i2c总线传来的数据,并与配置寄存器中的数据进行关联,更新查找表相关信息。此外,如果开启校验功能,将会拦截不满足校验条件的读写操作,保护系统安全。
[0133]
(2)变频表:包含变频表表信息,可供i2c主器件与上层访问。
[0134]
(3)配置寄存器:包含各项常规详细配置,包括各种功能的禁用,比如禁用变频,关闭变频表等。
[0135]
(4)计时器,负责记录总线时序,保证上下时钟频率一致,也用于产生对应频率的i2c时钟信号。
[0136]
通过底层变频表的设计,对整个i2c总线的时钟调度使用进行了重新分配,而且全过程自动进行,节省了人力维护成本。并且多从器件的情况下有更好的防冲突机制,大大提高了总线利用率,避免了拥塞情况的发生,节省了上层资源。同时安全校验以及故障标记功能极大的提高了总线安全性与稳定性。
[0137]
相应于上面的方法实施例,本发明还提供了一种i2c总线中的数据访问装置,应用于i2c总线主器件,下文描述的i2c总线中的数据访问装置与上文描述的i2c总线中的数据访问方法可相互对应参照。
[0138]
参见图5,图5为本发明实施例中一种i2c总线中的数据访问装置的结构框图,该装置可以包括:
[0139]
请求解析模块51,用于对接收到的从器件访问请求进行解析,得到待访问的目标从器件;
[0140]
第一判断模块52,用于判断目标从器件是否支持变频;
[0141]
第一访问模块53,用于当确定目标从器件支持变频时,从预置的变频表中查找目标从器件对应的预置最高频率,并利用预置最高频率对目标从器件进行数据访问操作;
[0142]
第二访问模块54,用于当确定目标从器件不支持变频时,获取对目标从器件进行
频率自适应测试得到的频率上限,并利用频率上限对目标从器件进行数据访问操作。
[0143]
由上述技术方案可知,通过预先设置变频表,当确定待访问的目标从器件支持变频时,直接从变频表中查找目标从器件对应的预置最高频率,基于预置最高频率对目标从器件进行数据访问操作。并预先对目标从器件进行频率自适应测试,得到目标从器件对应的频率上限,当确定待访问的目标从器件不支持变频时,利用频率上限对目标从器件进行数据访问操作。充分考虑了各从器件的特殊性,实现了对从器件频率的自适应自动调整,节省人力,且通过尽可能地利用目标从器件支持的最大频率对其进行数据访问,提高了总线利用率,提高了数据访问效率,节省了耗时。
[0144]
在本发明的一种具体实施方式中,该装置还可以包括:
[0145]
数据包大小读取模块,用于在判断目标从器件是否支持变频之前,从变频表中读取目标从器件对应待访问数据包大小;
[0146]
第二判断模块,用于判断待访问数据包大小是否超出预设数据包大小阈值;
[0147]
第一判断模块具体为当确定待访问数据包大小超出预设数据包大小阈值时,判断目标从器件是否支持变频的模块;
[0148]
第二访问模块,还用于当确定待访问数据包大小未超出预设数据包大小阈值时,获取对目标从器件进行频率自适应测试得到的频率上限,并利用频率上限对目标从器件进行数据访问操作。
[0149]
在本发明的一种具体实施方式中,第一判断模块包括:
[0150]
变频设置标志位读取子模块,用于从变频表中读取目标从器件对应的目标变频设置标志位;
[0151]
第一判断子模块,用于判断目标变频设置标志位是否为可支持变频设置。
[0152]
在本发明的一种具体实施方式中,该装置还可以包括:
[0153]
访问优先级确定模块,用于根据待访问数据包大小确定目标从器件对应的目标访问优先级;
[0154]
第一访问模块具体为按照目标访问优先级对目标从器件进行数据访问操作的模块;
[0155]
第二访问模块具体为按照目标访问优先级对目标从器件进行数据访问操作的模块。
[0156]
在本发明的一种具体实施方式中,该装置包括频率测试模块,频率测试模块包括:
[0157]
基准频率获取子模块,用于从变频表中获取目标从器件对应的基准频率;
[0158]
当前通信频率确定子模块,用于将基准频率作为当前通信频率;
[0159]
通信子模块,用于利用当前通信频率与目标从器件进行通信;
[0160]
第二判断子模块,用于判断是否通信成功;
[0161]
频率上调子模块,用于当确定通信成功时,对当前通信频率上调第一预设频率间隔,并将调整后频率确定为当前通信频率;
[0162]
第一频率上限确定子模块,用于重复执行利用当前通信频率与目标从器件进行通信的步骤,直至通信失败,则将通信失败时的当前通信频率对应的最近邻上调前频率确定为频率上限;
[0163]
频率下调子模块,用于当确定通信失败时,对当前通信频率下调第二预设频率间
隔,并将调整后频率确定为当前通信频率;
[0164]
第二频率上限确定子模块,用于重复执行利用当前通信频率与目标从器件进行通信的步骤,直至通信成功,将通信成功时的当前通信频率作为频率上限。
[0165]
在本发明的一种具体实施方式中,该装置还可以包括:
[0166]
故障标志位修改模块,用于当对当前通信频率下调第二预设频率间隔的次数达到预设次数上限时,将变频表中目标从器件对应的故障标志位修改为使能状态。
[0167]
在本发明的一种具体实施方式中,该装置还可以包括:
[0168]
请求校验模块,用于对从器件访问请求进行校验操作。
[0169]
相应于上面的方法实施例,参见图6,图6为本发明所提供的i2c总线中的数据访问设备的示意图,该设备可以包括:
[0170]
存储器332,用于存储计算机程序;
[0171]
处理器322,用于执行计算机程序时实现上述方法实施例的i2c总线中的数据访问方法的步骤。
[0172]
具体的,请参考图7,图7为本实施例提供的一种i2c总线中的数据访问设备的具体结构示意图,该i2c总线中的数据访问设备可因配置或性能不同而产生比较大的差异,可以包括处理器(central processing units,cpu)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在i2c总线中的数据访问设备301上执行存储器332中的一系列指令操作。
[0173]
i2c总线中的数据访问设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
[0174]
上文所描述的i2c总线中的数据访问方法中的步骤可以由i2c总线中的数据访问设备的结构实现。
[0175]
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
[0176]
对接收到的从器件访问请求进行解析,得到待访问的目标从器件;判断目标从器件是否支持变频;若是,则从预置的变频表中查找目标从器件对应的预置最高频率,并利用预置最高频率对目标从器件进行数据访问操作;若否,则获取对目标从器件进行频率自适应测试得到的频率上限,并利用频率上限对目标从器件进行数据访问操作。
[0177]
该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0178]
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
[0179]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装
置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0180]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献