一种I2C主机的数据传输方法、装置、设备及可读介质制造方法及图纸

技术编号:30679748 阅读:16 留言:0更新日期:2021-11-06 09:09
本发明专利技术公开了一种I2C主机的数据传输方法,包括以下步骤:接收从器件发送的I2C数据,并将I2C数据存储到缓存存储中并开始计时;响应于缓存存储中I2C数据在预设时间内未被主器件读取,则向主器件发送超时中断信号以使主器件读取I2C数据;响应于缓存存储中的I2C数据被主器件读取完毕,则重新进行计时;以及统计从器件发送的I2C数据的频率,并基于频率调整预设时间。本发明专利技术还公开了一种I2C主机的数据传输装置、计算机设备和可读存储介质。本发明专利技术在主器件端通过对从器件端发送的数据频率进行统计分析,调整各个从器件端超时发送中断的时间,从而动态调整向主器件端发出中断的频率,不仅可以大大提高主器件端的数据传输效率,还可以提高CPU的执行效率。可以提高CPU的执行效率。可以提高CPU的执行效率。

【技术实现步骤摘要】
一种I2C主机的数据传输方法、装置、设备及可读介质


[0001]本专利技术涉及数据传输
,尤其涉及一种I2C主机的数据传输方法、装置、设备及可读介质。

技术介绍

[0002]I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。
[0003]SDA(串行数据线)和SCL(串行时钟线)都是双线IO(输入输出)线,接口电路为开漏输出,需要通过上拉电阻接电源VCC。当总线空闲时,两根线都是高电平,连接总线的外同器件都是CMOS器件,输出级也是开漏电路。在总线上消耗的电流很小。因此,总线上扩展的器件数量主要由电容负载来决定,因为每个器件的总线接口都有一定的等效电容,而线路中电容会影响总线传输速度。当电容过大时,可能造成传输错误。
[0004]主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主器件要发送数据给从器件,则主器件首先寻址从器件,然后主动发送数据至从器件,最后由主器件终止数据传送;如果主器件要接收从器件的数据,首先由主器件寻址从器件,然后主器件接收从器件发送的数据,最后由主器件终止接收过程,在这种情况下,主机负责产生定时时钟和终止数据传送。
[0005]I2C只能由CPU去找外设索取数据,外设不能主动发送数据给CPU,其中CPU是主器件,外设是从器件。但是CPU不能定期询问外设,因为这样会消耗CPU的计算资源,也消耗电量,且无法进入休眠状态。
[0006]因此需要外设通知CPU,通过I2C配合的中断信号实现外设要发送数据时向CPU发送中断信号,CPU接收到中断信号再通过I2C读取外设发送的数据。
[0007]对于低功耗应用的场景、能够触发的外设场景,都是基于I2C配合中断信号实现的。例如电容触摸屏,平时CPU是休眠的,点击一下就可以唤醒系统;例如G

Sensor运动传感器,一旦被晃动了就唤醒CPU。
[0008]I2C总线接口器件在视频处理、移动通信等领域的应用已经非常普遍。另外,通用的I2C总线接口器件,如带I2C总线的RAM、AD、DA、LCD驱动器等,也越来越多地应用于计算机及自动控制系统中。
[0009]然而现有技术的I2C传输机制,大量的中断信号会为主机造成大量的计算资源,效率较低。

技术实现思路

[0010]有鉴于此,本专利技术实施例的目的在于提出一种I2C主机的数据传输方法、装置、设备及可读介质,在主器件端通过对从器件端发送的数据频率进行统计分析,调整各个从器件端超时发送中断的时间,从而动态调整向主器件端发出中断的频率,不仅可以大大提高
主器件端的数据传输效率,还可以提高CPU的执行效率。
[0011]基于上述目的,本专利技术实施例的一方面提供了一种I2C主机的数据传输方法,包括以下步骤:接收从器件发送的I2C数据,并将所述I2C数据存储到缓存存储中并开始计时;响应于所述缓存存储中所述I2C数据在预设时间内未被主器件读取,则向所述主器件发送超时中断信号以使所述主器件读取所述I2C数据;响应于所述缓存存储中的I2C数据被所述主器件读取完毕,则重新进行计时;以及统计所述从器件发送的I2C数据的频率,并基于所述频率调整所述预设时间。在一些实施方式中,
[0012]在一些实施方式中,还包括:监测所述缓存存储中的所述I2C数据的数量,并判断所述缓存存储中的所述I2C数据的数量是否超过预设数值;响应于所述缓存存储中的所述I2C数据的数量超过预设数值,则向主器件发送中断信号以使所述主器件读取所述I2C数据。
[0013]在一些实施方式中,还包括:响应于所述缓存存储中的I2C数据被所述主器件读取完毕,则重新进行数据统计。
[0014]在一些实施方式中,还包括:统计所述从器件发送的I2C数据的频率,并基于所述频率设置预设数值。
[0015]在一些实施方式中,接收从器件发送的I2C数据,并将所述I2C数据存储到缓存存储中包括:解析I2C协议以将从器件发送的串行数据转换成并行数据,并将所述并行数据存储到缓存存储中;其中,所述缓存存储包括FIFO缓存存储。
[0016]在一些实施方式中,统计所述从器件发送的I2C数据的频率,并基于所述频率调整所述预设时间包括:统计单位时间内接收到的I2C数据的数量,判断与上一个单位时间内接收到的I2C数据的数量的差值是否在预设范围内;响应于与上一个单位时间内接收到的I2C数据的数量的差值在预设范围内,则不对所述预设时间进行调整。
[0017]在一些实施方式中,还包括:响应于与上一个单位时间内接收到的I2C数据的数量的差值不在预设范围内,则进一步比较当前单位时间内接收到的I2C数据的数量与上一单位时间内接收到的I2C数据的数量的大小;响应于当前单位时间内接收到的I2C数据的数量是大于上一单位时间内接收到的I2C数据的数量,则增加时钟频率以使所述预设时间减小;响应于当前单位时间内接收到的I2C数据的数量是小于上一单位时间内接收到的I2C数据的数量,则减少时钟频率以使所述预设时间增大。
[0018]本专利技术实施例的另一方面,还提供了一种I2C主机的数据传输装置,包括:第一模块,配置用于接收从器件发送的I2C数据,并将所述I2C数据存储到缓存存储中并开始计时;第二模块,配置用于响应于所述缓存存储中所述I2C数据在预设时间内未被主器件读取,则向所述主器件发送超时中断信号以使所述主器件读取所述I2C数据;第三模块,配置用于响应于所述缓存存储中的I2C数据被所述主器件读取完毕,则重新进行计时;以及第四模块,配置用于统计所述从器件发送的I2C数据的频率,并基于所述频率调整所述预设时间。
[0019]本专利技术实施例的再一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现方法的步骤包括:接收从器件发送的I2C数据,并将所述I2C数据存储到缓存存储中并开始计时;响应于所述缓存存储中所述I2C数据在预设时间内未被主器件读取,则向所述主器件发送超时中断信号以使所述主器件读取所述I2C数据;响应于所述缓存存储中的I2C数据被所述
主器件读取完毕,则重新进行计时;以及统计所述从器件发送的I2C数据的频率,并基于所述频率调整所述预设时间。在一些实施方式中,
[0020]在一些实施方式中,还包括:监测所述缓存存储中的所述I2C数据的数量,并判断所述缓存存储中的所述I2C数据的数量是否超过预设数值;响应于所述缓存存储中的所述I2C数据的数量超过预设数值,则向主器件发送中断信号以使所述主器件读取所述I2C数据。
[0021]在一些实施方式中,还包括:响应于所述缓存存储中的I2C数据被所述主器件读取完毕,则重新进行数据统计。
[0022]在一些实施方式中,还包括:统计所述从器件发送的I2C数据的频率,并基于所述频率本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种I2C主机的数据传输方法,其特征在于,包括以下步骤:接收从器件发送的I2C数据,并将所述I2C数据存储到缓存存储中并开始计时;响应于所述缓存存储中所述I2C数据在预设时间内未被主器件读取,则向所述主器件发送超时中断信号以使所述主器件读取所述I2C数据;响应于所述缓存存储中的I2C数据被所述主器件读取完毕,则重新进行计时;以及统计所述从器件发送的I2C数据的频率,并基于所述频率调整所述预设时间。2.根据权利要求1所述的I2C主机的数据传输方法,其特征在于,还包括:监测所述缓存存储中的所述I2C数据的数量,并判断所述缓存存储中的所述I2C数据的数量是否超过预设数值;响应于所述缓存存储中的所述I2C数据的数量超过预设数值,则向主器件发送中断信号以使所述主器件读取所述I2C数据。3.根据权利要求2所述的I2C主机的数据传输方法,其特征在于,还包括:响应于所述缓存存储中的I2C数据被所述主器件读取完毕,则重新进行数据统计。4.根据权利要求2所述的I2C主机的数据传输方法,其特征在于,还包括:统计所述从器件发送的I2C数据的频率,并基于所述频率设置所述预设数值。5.根据权利要求1所述的I2C主机的数据传输方法,其特征在于,接收从器件发送的I2C数据,并将所述I2C数据存储到缓存存储中包括:解析I2C协议以将从器件发送的串行数据转换成并行数据,并将所述并行数据存储到缓存存储中;其中,所述缓存存储包括FIFO缓存存储。6.根据权利要求1所述的I2C主机的数据传输方法,其特征在于,统计所述从器件发送的I2C数据的频率,并基于所述频率调整所述预设时间包括:统计单位时间内接收到的I2C数据的数量,判断与上一个单位时间内接收到的I2C数据的数量的差值是否在预设范围内...

【专利技术属性】
技术研发人员:周玉龙刘同强刘刚邹晓峰张贞雷王贤坤
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1