一种通过时钟信号控制的数据传输方法与流程

文档序号:14714285发布日期:2018-06-16 01:01阅读:918来源:国知局

本发明涉及通讯技术领域,尤其涉及一种通过时钟信号控制的数据传输方法。



背景技术:

I2c总线是一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。

主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件。然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下,主机负责产生定时时钟和终止数据传送。

然而,传统的通过i2c总线通讯的主设备和从设备,从设备再某个时刻点处于繁忙状态,无法响应主设备传输的当前的数据处理任务,则很可能导致此次通讯失败;或者i2c总线上连接的多个从设备之间数据处理速度差别较大,也容易导致通讯失败的情况。传统的解决方法是降低i2c总线的传输速度,或者将速度差别较大的设备连接到不同的总线上,这两种解决方法都存在明显的劣势。



技术实现要素:

针对上述问题,本发明提出了一种通过时钟信号控制的数据传输方法,应用于通过i2c总线连接的主设备和至少一个从设备之间;

所述i2c总线中包括有连接所述主设备和所述从设备的时钟线;

其中,所述数据传输方法包括:

步骤S1,于所述从设备无法响应所述主设备时,将所述时钟线上的电平保持在一第一状态,于所述从设备能够响应所述主设备时,将所述时钟线上的电平转变为一第二状态;

步骤S2,持续检测所述时钟线上的电平;

步骤S3,于检测到所述时钟线上的电平处于所述第一状态时,将所述主设备与对应的所述从设备之间的数据传输保持等待;于检测到所述时钟线上的电平处于所述第二状态时,启动所述主设备与对应的所述从设备之间的数据传输。

上述的数据传输方法,其中,所述第一状态为低电平状态;

所述第二状态为高电平状态。

上述的数据传输方法,其中,所述步骤S1中,每个所述从设备包括一时钟控制端,所述时钟控制端与所述时钟线连接,使得对应的所述从设备能够通过所述时钟控制端控制所述时钟线上的电平的状态。

上述的数据传输方法,其中,所述主设备中包括一检测模块;所述步骤S2中,所述主设备通过所述检测模块持续检测所述时钟线上的电平;

所述检测模块连接一滤波模块,所述滤波模块连接一状态机;

所述步骤S3中,所述主设备通过所述状态机控制所述主设备与对应的所述从设备之间的数据传输的启动与保持等待。

上述的数据传输方法,其中,所述检测模块的输出信号与所述状态机的输出信号之间存在一预设延时值。

上述的数据传输方法,其中,所述预设延时值为2~5ns。

有益效果:本发明提出的一种通过时钟信号控制的数据传输方法,能够在不降低总线传输速率的前提下,克服因从设备繁忙或数据处理速度差异导致的无法及时响应的问题,可靠性高,实现成本低。

附图说明

图1为本发明一实施例中通过时钟信号控制的数据传输方法的步骤流程图。

具体实施方式

下面结合附图和实施例对本发明进行进一步说明。

在一个较佳的实施例中,如图1所示,提出了一种通过时钟信号控制的数据传输方法,应用于通过i2c总线连接的主设备和至少一个从设备之间;

i2c总线中包括有连接主设备和从设备的时钟线;

其中,数据传输方法包括:

步骤S1,于从设备无法响应主设备时,将时钟线上的电平保持在一第一状态,于从设备能够响应主设备时,将时钟线上的电平转变为一第二状态;

步骤S2,持续检测时钟线上的电平;

步骤S3,于检测到时钟线上的电平处于第一状态时,将主设备与对应的从设备之间的数据传输保持等待;于检测到时钟线上的电平处于第二状态时,启动主设备与对应的从设备之间的数据传输。

上述技术方案中,由于在从设备无法响应主设备时,时钟线上的电平会保持为第一状态,此时对时钟线进行检测得到的检测结果对应为时钟线上的电平为第一状态,因此将主设备与对应的从设备之间的数据传输设置为等待状态;如若从设备能够响应主设备,则将时钟线上的电平保持为第二状态,同样通过检测时钟线即可获得从设备处于空闲状态的信息,从而能够开启主从设备之间的数据传输。

在一个较佳的实施例中,第一状态为低电平状态;

第二状态为高电平状态。

上述技术方案中,高电平状态和低电平状态的二进制表示分别为“1”和“0”;但这只是一种优选的情况,不应视为是对本发明的限制,在其他的情况下还可以是第一状态为高电平状态,第二状态为低电平状态等。

在一个较佳的实施例中,步骤S1中,每个从设备包括一时钟控制端,时钟控制端与时钟线连接,使得对应的从设备能够通过时钟控制端控制时钟线上的电平的状态。

上述技术方案中,由于i2c总线上连接有上拉电阻,当从设备的时钟控制端控制时钟线时,可以将上拉电阻短路或断路,从而使得时钟线上的电平保持在第一状态,从设备能够响应主设备时,则可以恢复上拉电阻对电平的拉动,使得时钟线上的电平恢复为第二状态。

在一个较佳的实施例中,主设备中包括一检测模块;步骤S2中,主设备通过检测模块持续检测时钟线上的电平;

检测模块连接一滤波模块,滤波模块连接一状态机;

步骤S3中,主设备通过状态机控制主设备与对应的从设备之间的数据传输的启动与保持等待。

上述实施例中,优选地,检测模块的输出信号与状态机的输出信号之间存在一预设延时值。

上述实施例中,优选地,预设延时值为2~5ns,举例来说,可以是2ns,或3ns,或4ns,或5ns等。

综上所述,本发明提出的一种通过时钟信号控制的数据传输方法,应用于通过i2c总线连接的主设备和至少一个从设备之间;i2c总线中包括有连接主设备和从设备的时钟线;其中,数据传输方法包括:步骤S1,于从设备无法响应主设备时,将时钟线上的电平保持在一第一状态,于从设备能够响应主设备时,将时钟线上的电平转变为一第二状态;步骤S2,持续检测时钟线上的电平;步骤S3,于检测到时钟线上的电平处于第一状态时,将主设备与对应的从设备之间的数据传输保持等待;于检测到时钟线上的电平处于第二状态时,启动主设备与对应的从设备之间的数据传输;能够在不降低总线传输速率的前提下,克服因从设备繁忙或数据处理速度差异导致的无法及时响应的问题,可靠性高,实现成本低。

通过说明和附图,给出了具体实施方式的特定结构的典型实施例,基于本发明精神,还可作其他的转换。尽管上述发明提出了现有的较佳实施例,然而,这些内容并不作为局限。

对于本领域的技术人员而言,阅读上述说明后,各种变化和修正无疑将显而易见。因此,所附的权利要求书应看作是涵盖本发明的真实意图和范围的全部变化和修正。在权利要求书范围内任何和所有等价的范围与内容,都应认为仍属本发明的意图和范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1