I2C设备的控制方法、装置及终端制造方法及图纸

技术编号:12350422 阅读:228 留言:0更新日期:2015-11-19 01:29
本发明专利技术公开了一种I2C设备的控制方法,包括:检测I2C时钟总线的脉冲信号的脉冲宽度;判定所述脉冲信号为时钟信号或指令脉冲信号;当所述脉冲信号判定为指令脉冲信号时,译码所述指令脉冲信号获得对应的通道控制指令;当所述脉冲信号判定为时钟信号时,返回继续检测I2C时钟总线的脉冲信号的脉冲宽度;以及根据所述通道控制指令打开或关闭相应的I2C从设备通道。相应地,本发明专利技术还公开一种I2C设备的控制装置及终端。本发明专利技术采用的技术方案提高了I2C设备的系统效率,减少了占用的CPU资源,可应用于频繁访问I2C从设备的应用场景。

【技术实现步骤摘要】

本专利技术涉及I2C通信领域,尤其涉及一种I2C设备的控制方法、装置及终端
技术介绍
由于I2C(Inter — Integrated Circuit)总线具有信号线少、控制简单方便等优点,在现今计算机网络通讯设备中,越来越多的设备采用I2C总线实现设备之间的通信。I2C总线由一根串行时钟总线(SCK)和一根串行数据总线(SDA)组成。现有的I2C从设备连接在同一个I2C主设备下,其访问地址为相同固定的地址,由于其不能直接一起挂载在I2C主设备的下方,因此并不能直接访问多个具有同一设备地址的I2C从设备,而必须增加额外的方案来实现对每一 I2C从设备的单独访问。参见图1,现有技术中目前主要采用I2C多路选择芯片做类似的开关电路来物理打开一个I2C从设备并进行访问。所述I2C多路选择芯片采用I2C协议来选通需要访问的I2C从设备,这样I2C主设备就可以访问所述I2C从设备。在本方案中,当需要访问I2C从设备时,每一次都需要先控制所述I2C多路选择芯片将该路I2C从设备通道选通,访问结束后再将该路通道关闭,所述I2C多路选择芯片通道选通和关闭也是通过I2C协议进行的。由于I2C总线接口为一个低速接口,每一次操作至少需要20个时钟周期,I2C从设备的访问效率较低,且如果频繁访问I2C从设备,将会占据大量CPU资源而影响系统性能。
技术实现思路
鉴于此,本专利技术提供一种I2C设备的控制方法、装置及终端,解决现有I2C设备的访问效率低和占据大量CPU资源而影响系统性能技术问题。为此,本专利技术采用以下技术方案:根据本专利技术的一个实施例,提供一种I2C设备的控制方法,包括:检测I2C时钟总线的脉冲信号的脉冲宽度;判定所述脉冲信号为时钟信号或指令脉冲信号;当所述脉冲信号判定为指令脉冲信号时,译码所述指令脉冲信号获得对应的通道控制指令;当所述脉冲信号判定为指令脉冲信号时,返回继续检测I2C时钟总线的脉冲信号的脉冲宽度;以及根据所述通道控制指令打开或关闭相应的I2C从设备通道。优选的,在检测I2C时钟总线的脉冲信号步骤之前还包括:检测I2C总线状态;当检测到所述I2C总线为空闲状态时发送预设脉宽的脉冲信号,所述预设脉宽的脉冲信号对应的通道控制指令设置为打开或关闭预设I2C从设备通道。优选的,所述当检测到所述I2C总线为空闲状态时发送预设脉宽的脉冲信号步骤包括:在I2C时钟总线上发送第一预设脉宽的脉冲信号,所述第一预设脉宽的脉冲信号对应的通道控制指令设置为打开预设I2C从设备通道;在I2C总线上为主设备模拟I2C时序访问I2C从设备;在模拟I2C时序访问I2C从设备结束时在I2C时钟总线上发送第二预设脉宽的脉冲信号,所述第二预设脉宽的脉冲信号对应的通道控制指令设置为关闭所述预设12C从设备通道。优选的,所述检测I2C时钟总线的脉冲信号的脉冲宽度步骤包括:通过可编程器件使用高速时钟在检测I2C时钟信号下降沿到上升沿的计数数值;以及根据所述计数数值获得所述脉冲的宽度。优选的,使用MOS管打开或关闭相应的I2C从设备通道。根据本专利技术的另一实施例,提供一种I2C设备的控制装置,其包括I2C控制器、译码模块和通道控制模块,所述I2C控制器包括用于发送预设脉宽的脉冲信号的脉冲信号发送模块,所述译码模块包括用于检测I2C时钟总线的脉冲信号脉冲宽度的检测模块、用于判定所述脉冲信号为时钟信号或指令脉冲信号的判定模块和用于当所述脉冲信号判定为指令脉冲信号时译码所述指令脉冲信号获得对应的通道控制指令的指令译码模块,所述通道控制模块用于根据所述通道控制指令打开或关闭相应的I2C从设备通道。优选的,所述I2C控制器还包括用于检测I2C总线状态的状态检测模块,当所述状态检测模块检测到所述I2C总线为空闲状态时所述脉冲信号发送模块发送预设脉宽的脉冲信号,所述脉冲信号发送模块配置所述预设脉宽的脉冲信号为打开或关闭预设I2C从设备通道对应的通道控制指令。优选的,所述脉冲信号发送模块在I2C时钟总线上发送第一预设脉宽的脉冲信号,所述第一预设脉宽的脉冲信号配置为打开预设I2C从设备通道对应的通道控制指令,所述脉冲信号发送模块在模拟I2C时序访问I2C从设备结束时在I2C时钟总线上发送第二预设脉宽的脉冲信号,所述第二预设脉宽的脉冲信号配置为关闭所述预设I2C从设备通道对应的通道控制指令,所述I2C控制器还包括用于在所述脉冲信号发送模块发送第一、第二预设脉宽的脉冲信号之间在I2C总线上为主设备模拟I2C时序访问I2C从设备的I2C模拟丰吴块。优选的,所述检测模块包括可编程器件,所述可编程器件使用高速时钟在检测I2C时钟信号下降沿到上升沿的计数数值,并根据所述计数数值获得所述脉冲的宽度。此外,根据本专利技术的又一实施例,提供一种终端,其包括上述的I2C设备的控制装置。本专利技术提供的I2C设备的控制方法、装置及终端,通过检测I2C时钟总线的脉冲信号的脉冲宽度并判定其为指令脉冲信号后,对其进行译码获得通道控制指令,最终根据道控制指令打开或关闭相应的I2C从设备通道,实现对多个具有同一设备地址的I2C从设备的控制。在本专利技术技术方案中,I2C从设备通道的打开或关闭时间只需要不到一个I2C时钟周期,相比于现有技术I2C低速接口至少需要20个时钟周期,提高了 I2C设备的系统效率,降低了对I2C设备CPU资源的占用,可应用于频繁访问I2C从设备的应用场景。此外,本专利技术对于I2C从设备的通道数量不设限制,具有很大的灵活性和适应性,解决了现有技术中专用I2C多路选择芯片通道接口数量有限的技术问题。【附图说明】为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中采用I2C多路选择芯片实现多I2C从设备控制的结构示意图。图2为本专利技术第一实施例中I2C设备的控制方法的流程示意图。图3为本专利技术第一实施例12C设备的控制方法中检测I2C时钟总线的脉冲信号的脉冲宽度的流程示意图。图4为本专利技术第二实施例中I2C设备的控制方法的流程示意图。图5为本专利技术第二实施例12C设备的控制方法中发送预设脉宽的脉冲信号的流程示意图图6为本专利技术第三实施例中I2C设备的控制装置的结构示意图。图7为本专利技术第四实施例中I2C设备的控制装置的结构示意图。图8为本专利技术第五实施例中终端的结构示意图。【具体实施方式】下面结合附图和【具体实施方式】对本专利技术的技术方案作进一步更详细的描述。显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本专利技术保护的范围。为了实现对每一 I2C从设备的单独访问,本专利技术的构思是:利用I2C协议的特性,在I2C总线空闲状态下,首选通过在I2C时钟总线SCK上发送预设宽度的脉宽信号来传输预设的控制预设通道的控制信息,然后利用可编程器件解码该控制信息,并根据该控制信息相应地选通或关闭该路I2C设备,这样就可以达到I2C主设备可以访问多个具有同一设备地址的I2C从设备的目的。图2为本发本文档来自技高网...
I2C设备的控制方法、装置及终端

【技术保护点】
一种I2C设备的控制方法,其特征在于,包括:检测I2C时钟总线的脉冲信号的脉冲宽度;判定所述脉冲信号为时钟信号或指令脉冲信号;当所述脉冲信号判定为指令脉冲信号时,译码所述指令脉冲信号获得对应的通道控制指令;当所述脉冲信号判定为时钟信号时,返回继续检测I2C时钟总线的脉冲信号的脉冲宽度;以及根据所述通道控制指令打开或关闭相应的I2C从设备通道。

【技术特征摘要】

【专利技术属性】
技术研发人员:吴夕周
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

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

1