用于改进通信错误的通信方法和使用所述方法的电子设备的制作方法

文档序号:7657769阅读:137来源:国知局
专利名称:用于改进通信错误的通信方法和使用所述方法的电子设备的制作方法
用于改进通信错误的通信方法和使用所述方法的电子设备技术领域符合本发明的装置和方法涉及一种用于改进通信错误的通信方法以及使用所述方法的电子设备,更具体地讲,涉及一种用于改进由I2C (被称作IC 间或I平方C)通信中的从设备产生的通信错误的通信方法及使用所述方法 的电子设备。
背景技术
12C通信是最初由飞利浦开发的用于集成电路(ICs)之间的数据通信的 串行通信方法,在所述方法中,称为主设备(master)的发起事务处理 (transaction)或通信的设备通过两条信号线控制很多从设备(slave )。图1是用于说明在I2C通信中使用的基本协议的图。参考图1,在I2C通信中使用的信号线是串行数据(serial data, SDA) 线和串行时钟(serial clock, SCL)线。SDA线用于主设备/从设备对(pairs ) 之间的事务处理,并且所述SCL线用于传输在数据传输中所要求的时钟信号。如果SDA的电平从高变到低而SCL被保持在高电平,则主设备通过发 出开始条件(start condition)来开始将数据传送到从设备。在另一方面,如 果SCL的电平从低变到高而SDA被保持在高电平,则主设备通过发出停止 条件(stop condition )来停止将数据传送到从设备。当主设备完成以最高位(Most Significant Bit, MSB)打头(first)的7 位数据传输时,在第9个时钟其将SDA保持为高。如果从设备从主设备接收 到8位数据,则其在第9个时钟将SDA的电平变到低,并把确认接收(此后 称作ACK信号)发送到主设备。当从设备执行用于从主设备传送的命令的过程(或任务)时,SCL有时 候被强制下拉到低电平,这导致主设备和从设备之间的通信错误。在某些情 况中,由于将在传送ACK信号期间的第9个时钟周期识别为开始条件,从设 备或者整个机组(set)发生故障
发明内容
本发明的示范性实施例克服了上面的缺点以及上面未描述的其他缺点。 而且,本发明未被要求克服上面描述的缺点,并且本发明的示范性实施例可 以不克服上面描述的任何问题。本发明的一个方面是提供一种通信方法以及结合所述通信方法以防止故 障的电子设备,所述通信方法用于通过使主设备提供调整到从设备的工作时 间的时钟来改进通信错误。根据本发明的一个方面,提供了一种电子设备,包含多个从设备;和,费的从设备工作时间的信息,来产生在与所述从设备的数据通信中所要求的 时钟,并且所述主设备将所述时钟提供给所述从设备。在这个方面,所述主设备可以产生调整到所述多个从设备中涉及通信错 误的从设备的工作时间信息的时钟,从而从所述/人设备接收确认(ACK)信此外,所述主设备能够在从设备工作时间期间将用于接收所述ACK信 号所要求的时钟保持在低电平,然后将所述时钟的电平从低变到高。根据本发明的一个方面的所述电子设备还包含存储涉及通信错误的从设 备工作时间信息的存储单元。所述主设备检查串行时钟(SCL)线,从而确定通信错误是否已经发生。而且,如果用于从所述从设备接收ACK信号所要求的时钟在对应于工 作时间信息的时间期间被保持在低电平,则所述主设备确定所述通信错误已 经发生。此外,所述主设备检查所述SCL线预定次,从而确定所述通信错误是否 已经发生。根据本发明的另一个方面,提供了一种与多个从设备通信的主设备,所 述主设备包含数据产生单元,其产生要被提供给所述从设备的数据;时钟 产生单元,其将为了提供所述数据所要求的所述时钟传递到所述从设备;和, 控制单元,其控制所述时钟产生单元根据关于所述从设备处理由所述主设备 发出的命令所花费的工作时间的信息来产生时钟。在这个方面,所述控制单元可以控制所述时钟产生单元根据所述多个从 设备中涉及通信错误的从设备的工作时间信息调整时钟,从而从所述从设备
接收确认(ACK)信号。此外,所述控制单元控制所述时钟产生单元在从设备工作时间内将用于接收所述ACK信号所要求的时钟保持在低电平,然后将所述时钟的电平从低 变到高。根据本发明的另 一 个方面的所述主设备还包含存储涉及通信错误的从设 备的工作时间信息的存储单元。根据本发明的一个方面的所述主设备还包含错误感测单元,其检查串行 时钟(SCL)线,从而确定通信错误是否已经发生,并且将所述确定结果传 递到所述控制单元。在这个方面,如果从所述从设备接收ACK信号所要求的时钟在对应于 工作时间信息的时间期间被保持在低电平,则所述错误感测单元确定所述通 信错误已经发生。'而且,所述错误感测单元检查所述SCL线预定次,从而确定所述通信错误。根据本发明的又一个方面,提供了 一种在主设备和多个从设备之间的通 信方法,包含根据关于所述从设备处理由所述主设备发出的命令所花费的 从设备工作时间的信息,产生在与所述从设备的数据通信中所要求的时钟; 将所述时钟提供给所述从设备;以及,根据所述时钟在所述主设备和所述从 设备之间执行数据通信。在产生时钟时,时钟被调整到所述多个从设备中涉及通信错误的从设备 的工作时间信息,从而使所述主设备能够从所述从设备接收确认(ACK)信此外,为了产生时钟,用于接收所述ACK信号所要求的时钟在从设备 工作时间内被保持在低电平,然后被变到高电平。根据本发明的一个方面的通信方法还包含存储涉及所述通信错误的所述 从设备的工作时间信息。此外,根据本发明的另一个方面的通信方法还包含在所述主设备中检查 串行时钟(SCL)线,从而确定通信错误是否已经发生,其中所述时钟被通 过所述串行时钟(SCL)线提供给从设备。在这个方面,如果用于从所述从设备接收ACK信号所要求的时钟在对 应于工作时间信息的时间期间被保持在低电平,则做出有关发生通信错误的确定。此外,所述SCL线被4企查预定次,从而确定所迷通信4普误。


通过参考附图描述本发明的某些示范性实施例,本发明的上述和/或其它方面将变得更为清晰,在附图中图1是用于解释在相关技术I2C通信中使用的基本协议的图;图2是使用根据本发明的示范性实施例的通信方法的电子设备的示意框图;图3A是用于解释确定在使用根据本发明的示范性实施例的通信方法的 电子设备中从设备的工作时间的方法的图;图3B是示出时钟的图,在图3A中获得的从设备工作时间被应用于所述 时4中;以及图4是用于描述使用根据本发明的示范性实施例的通信方法的电子设备 的搡作的流程图。
具体实施方式
将参考附图详细地描述本发明的示范性实施例。在附图中,相同的元素 始终用相同的参考数字来表示。在下面的描述中,为了简洁和清晰,对这里 所包含的已知功能和结构的详细描述已被省略。参考图2,电子设备包含主设备100和多个从设备200-1、 200-2.....和200-n。主设备100通过串行数据(SDA)和串行时钟(SCL)线与多个从设备200-1、 200-2.....和200-n执行数据通信。通过SDA线传送的串行数据格式由9位数据(9-bit data)组成,该9位数据由8位数据和1位确认 (Acknowledge, ACK )信号构成。SCL线用于根据多个从设备200-1、 200-2、...、和200画n中的每一个的/人i殳备工作时间(slave working time ) (jt匕 后称作SWT)提供在通过SDA线的数据传输中所要求的时钟信号。这里,SWT是从设备处理由主设备IOO发出的命令所要求的一定量的时 间。将使用图3A和图3B详细地解释计算SWT的方法。在图2中,主设备100包含数据产生单元110、时钟产生单元130、错误 感测单元150、控制单元170和存储单元190。数据产生单元110产生要通过SDA线传送到所述多个从设备200-1、200-2.....和200-n中的每一个的数据。即,数据产生单元110将SDA线的电平从高变到低,从而产生对应于T和'0,的数据。时钟产生单元130将SCL线的电平从高变到低,从而产生同步时钟,所 述多个从设备200-1、 200-2、…、和200-n需要该同步时钟来读出数据。错误感测单元150从多个从设备200-1 、 200-2.....和200-n接收ACK信号,并将其传送到下面描述的控制单元170。此外,错误感测单元150检 查被通过SCL线提供给一定从设备的第9个时钟的状态,以便感测通信错误, 并将所述状态传送到控制单元170。具体来说,如果主设备IOO接收ACK信 号所要求的第9个时钟在SWT期间被下拉到低电平,则错误感测单元150 确定在主设备和对应的从设备之间已经发生了通信错误,并通知控制单元170 这个事实。控制单元170控制数据产生单元110以数据形式产生用于控制所述多个从设备200-1、 200-2.....和200-n的命令,并控制时钟产生单元130产生读出数据所要求的同步时钟。而且,控制单元170基于从错误感测单元150接收到的ACK信号来确定所述多个从设备200-1 、 200-2.....和200-n是否已经适时地接收到命令。此外,如果从错误感测单元150提供了与通信错误有关的信息,则控制 单元170通过参考从设备地址来确定哪个从设备导致了所述通信错误。例如, 在主设备100通过SDA线将命令传送到第二从设备200-2,并从第二从设备 200-2接收ACK信号时,错误感测单元150检查SCL线的状态。这里,如果 第9个时钟被保持在低电平超过预定时间周期,则错误感测单元150确定已 经发生通信错误并通知控制单元170。此时,控制单元170确定涉及通信错误的第二从设备200-2的SWT信息 是否存储在存储单元190中,并控制时钟产生单元130根据所存储的SWT信 息调整要提供给第二从设备200-2的时钟信号。同时,如果SWT信息没有存储在存储单元l卯中,则控制单元170获 取第二从设备200-2的SWT信息并将其存储在存储单元190中。这里,即使 涉及通信错误的从设备的SWT信息已经被存储在存储单元190中,对应的 SWT信息也可能被例如温度、湿度等的环境因素所改变。在这种情况下,控 制单元170可以更新从设备的不稳定的SWT信息,并将更新的SWT信息存 储在存储单元190中。而且,当新的从设备被添加到所述电子设备时,控制 单元170可以获取新添加的从设备的SWT信息并将其存储在存储单元190 中。 如上面所解释的那样,存储单元190存储从设备200-1、 200-2.....和200-n中的每一个的SWT信息。部分SWT信息在开发阶段被存储在电子设 备中,并且可以稍后更新。新添加的从设备的SWT信息也可以被存储在存储 单元190中。图3A是用于解释在使用根据本发明的示范性实施例的通信方法的电子 设备中计算S WT信息的方法的图。具体来说,图3A示出了在通过SCL线提供给第二从设备200-2的时钟 中的第8个时钟和第9个时钟。在这个例子中,假设第二从设备200-2涉及通信错误。当主设备100在第8个时钟结尾完成8位数据传输时,主设备100产生 高电平的第9个时钟A,用于从第二从设备200-2接收ACK信号。此时,第 二从设备200-2在SWT期间将第9个时钟A保持在低电平,然后将其变到高 电平B。在产生第9个时钟A以后,控制单元170检查第二从设备200-2将第9 个时钟A改变到高电平B所花费的时间,即,第9个时钟被保持在低电平的 时间,并将结果作为SWT信息存储在存储单元l卯中。此外,控制单元170 控制时钟产生单元130来产生并给第二从设备200-2提供时钟,例如,如图 3B中所示,在图3A中获取的SWT被应用于所述时钟。图3B是示出时钟的图,在图3A中获取的SWT信息被应用于所述时钟。 如图3B中所示,控制单元170控制时钟产生单元130在所计算的SWT期间 将提供给第二从设备200-2的第9个时钟保持在低电平。此时,控制单元170控制数据产生单元110在SWT期间不给从设备200-1、 200-2.....和200-n提供数据。图4是用于解释结合根据本发明的示范性实施例的通信方法的电子设备 的操作的流程图。
根据图4,当电源设备被启动时(S300),主设备100开始呼叫所有的从设备200-1、 200-2.....和200-n ( S305 )。具体来说,主设备100将地址和命令传送到多个从设备200-1、 200-2.....和200-n,从而检查它们是否处于操作模式。
如果发生通信错误(S310),即,如果错误感测单元150使用SCL线检 查第9个时钟是否已经处于低电平预定时间周期,然后4全测到通信错误,则 错误感测单元150通知控制单元170。
控制单元170检查涉及通信错误的从设备的SWT信息是否存储在存储 单元190中(S320)。如果没有存储信息,则控制单元170将开始呼叫操作重 复预定次(S340)。如果通信错误发生了预定次(S345 ),则控制单元170计 算对应从设备的SWT信息,并将该信息存储在存储单元190中(S350)。
接着,该SWT信息被应用于对应的从设备(S360 ),并且主设备100执 行数据通信(S370)。具体来说,控制单元170控制时钟产生单元130在将提 供给对应的从设备的时钟中的第9个时钟保持在低电平SWT持续时间以后产 生时钟,并控制数据产生单元110在SWT期间不给多个从设备200-1、 200-2.....和200-n提供数据。
在操作S320中,如果涉及通信错误的从设备的SWT信息被存储在存储 单元190中,则控制单元170将所存储的SWT信息应用于对应的从设备 (S330)。并且,如果不再发生通信错误(S335 ),则执行数据通信(S370)。 但是,如果在操作S335继续发生通信错误,则控制单元170计算对应从设备 的SWT信息,并将其存储在存储单元190中(S350 ),将所述SWT信息应 用于对应的从设备(S360),从而使主设备100能够执行数据通信(S370)。
在操作S345中,如果通信错误并没有发生预定次,则主设备100照常与多个从设备200-1、 200-2.....和200-n执行数据通信(S370)。在一个示范性实施例中,在电子设备的开发阶段中预先设置和存储被重复的开始呼叫操 作的数量。
通过上述过程,有可能防止在主设备/从设备对之间发生通信错误。 如到目前所解释的那样,主设备(如在本发明的示范性实施例中所建议 的使用I2C协议的电子设备)提供根据对应的从设备的工作时间调整的时钟。 因此,在主设备和从设备之间发生的通信错误可以被显著地改进。前述示范性实施例和优点只是示范性的,并且不应被理解为限制本发明。
当前教导可以被很容易地应用于其他类型的装置。而且,对本发明的示范性 实施例的描述是说明性的、而非限制权利要求书的范围,并且本领域技术人 员将很清楚很多替代、修改和变化。
权利要求
1.一种电子设备,包含多个从设备;以及主设备,所述主设备根据关于所述多个从设备处理由所述主设备发出的命令所花费的从设备工作时间的信息,来产生在与所述多个从设备的数据通信中所要求的时钟,并且所述主设备将所述时钟提供给所述多个从设备。
2. 如权利要求1所述的电子设备,其中,所述主设备产生调整到所述多 个从设备中涉及通信错误的第 一从设备的从设备工作时间信息的时钟,从而 从所述第一从设备接收确认(ACK)信号。
3. 如权利要求2所述的电子设备,其中,所述主设备在第一从设备的工 作时间内将所述时钟保持在低电平,然后将所述时钟的电平从低变到高。
4. 如权利要求1所述的电子设备,其中,所述主设备包含 存储从设备工作时间信息的存储单元。
5.如权利要求1所述的电子设备,其中,所述主设备检查串行时钟(SCL ) 线,以确定通信错误是否已经发生。
6. 如权利要求5所述的电子设备,其中,如果用于从所述从设备接收 ACK信号的时钟在对应于关于从设备工作时间信息的时间期间处于低电平, 则所述主设备确定所述通信错误已经发生。
7. 如权利要求5所述的电子设备,其中,所述主设备检查所述SCL线 预定次,从而确定所述通信错误是否已经发生。
8. —种与多个从设备通信的主设备,所述主设备包含数据产生单元,其产生要被提供给所述多个从设备的数据; 时钟产生单元,其将为了提供所述数据所要求的所述时钟传递到所述多 个,人:&备;和述主设备发出的命令所花费的工作时间的信息来产生时钟。
9. 如权利要求8所述的主设备,其中,所述时钟产生单元根据所述多个 从设备中涉及通信错误的第一从设备的从设备工作时间信息来调整时钟,从 而从所述第一从设备接收确认(ACK)信号。
10. 如权利要求9所述的主设备,其中,所述控制单元控制所述时钟产生单元在第一从设备工作时间内将用于接收所述ACK信号的所述时钟保持 在低电平,然后将所述时钟的电平从低变到高。
11.如权利要求8所述的主设备,还包含存储从设备工作时间信息的存储单元。
12.如权利要求8所述的主设备,还包含错误感测单元,其检查串行时钟(SCL)线以确定通信错误是否已经发 生,并且将所述确定结果传递到所述控制单元。
13. 如权利要求12所述的主设备,其中,如果用于从所述从设备接收 ACK信号的时钟在对应于关于从设备工作时间信息的时间期间处于低电平, 则所述错误感测单元确定所述通信错误已经发生。
14. 如权利要求12所述的主设备,其中,所述错误感测单元检查所述 SCL线预定次,以便确定所述通信错误是否已经发生。
15. —种在主设备和多个从设备之间的通信方法,包含工作时间的信息,来产生在与所述多个从设备的数据通信中所要求的时钟; 将所述时钟提供给所述多个从设备;以及 .根据所述时钟在所述主设备和所述多个从设备之间执行数据通信。
16. 如权利要求15所述的通信方法,其中,时钟被调整到所述多个从设 备中涉及通信错误的第 一从设备的从设备工作时间信息,从而使所述主设备 能够从所述第一从设备接收确认(ACK)信号。
17. 如权利要求16所述的通信方法,其中,用于接收所述ACK信号的 所述时钟在第一从设备工作时间内被保持在低电平,然后被变到高电平。
18. 如权利要求15所述的通信方法,还包含存储涉及所述通信错误的所述第 一从设备的所述从设备工作时间信息。
19. 如权利要求15所述的通信方法,还包含所述主设备检查串行时钟(SCL)线以便确定通信错误是否已经发生, 其中所述时钟通过所述串行时钟(SCL)线提供给所述多个从设备。
20. 如权利要求19所述的通信方法,其中,如果用于从所述多个从设备 接收ACK信号的时钟在对应于关于所述从设备工作时间信息的时间内被保 持在低电平,则存在所述通信错误。
21. 如权利要求19所述的通信方法,其中,所述SCL线被检查预定次,以确定所述通信错误是否已经发生。
全文摘要
提供了一种用于改进通信错误的通信方法及使用所述方法的电子设备。根据本发明的示范性实施例的所述电子设备包括多个从设备,以及主设备,所述主设备根据从设备工作时间信息产生在与所述从设备的数据通信中所要求的时钟,并且所述主设备将所述时钟提供给所述从设备。从设备工作时间是从设备处理由主设备发出的命令所花费的时间。因此,能够防止在主设备/从设备对之间发生通信错误。
文档编号H04L1/24GK101150386SQ20071012836
公开日2008年3月26日 申请日期2007年7月10日 优先权日2006年9月18日
发明者朴汉镇 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1