控制串行数据线的状态转换的定时的方法和设备技术

技术编号:2827165 阅读:409 留言:0更新日期:2012-04-11 18:40
提供了一种用于在I2C控制器中控制串行数据线(SDA)的状态转换的定时的方法和设备。所述设备包括处理器、串行时钟线(SCL)边沿检测器、计数器和SDA发生器。所述处理器控制I2C控制器。所述SCL边沿检测器检测SCL的时钟信号的边沿。如果该SCL边沿检测器检测到SCL的时钟信号的下降沿,则所述计数器对SDA的状态转换的保持时间进行计数。如果保持时间的计数结束,则所述SDA发生器转换SDA的状态。因此,可以在不使用需要大量时间和成本的补偿电路的情况下,防止I2C通信中的故障。

【技术实现步骤摘要】
控制串行数据线的状态转换的定时的方法和设备 相关专利申请的交叉引用本申请要求2007年1月23日在韩国知识产权局提交的韩国专利申请 No.10-2007-0007240的优先权,通过引用将其公开全部合并于此。
符合本专利技术的方法和设备涉及智能接口控制器(I2C),并更具体地,涉 及用于在I2C控制器中控制串行数据线(SDA)的状态转换的定时的方法和— 设备。
技术介绍
I2C总线是通过仅使用两条信号线来连接外围设备而在外围设备之间提 供通信链路的标准双向串行总线。I2C总线包括串行时钟线(SCL)和串行 数据线(SDA)。 12C总线目前是嵌入式装置的实际标准解决方案。图1图示了 I2C总线的基本协议。参考图1,将通过SDA传输的串行数据格式化为包括9比特数据,该9 比特数据包含1比特确认(ACK)和8比特数据。主装置(master)生成用于数据传送的时钟信号。开始信号和结束信号 用于指明数据传送的开始和结束。当主装置从从装置收到每8比特数据传送 的ACK信号时,它确定数据传送成功。当要求在数据传送结束之前再次传 送数据时,可以使用重新开始。当主装置启动开始(START)条件时,连接到I2C总线的从装置等待随 后的数据。在开始条件下,SCL和SDA二者为高的状态转换到SCL为高而 SDA为低的状态。当所有操作结束时,主装置启动停止(STOP)条件。在停止条件下, SDA从低转换到高,同时SCL为高。在实际数据传送中,数据的状态转换必须仅在SCL为低的时间段中发 生,而在SCL为高的时间段中的任何时间都可对SDA信号进行采样。这里,数据是8比特数据,并且首先传送最高有效位(MSB )。图2A和2B图示了其中使用12C总线连接主装置和从装置的电路。 参考图2A和2B,首先在装置内部以数字形式生成与I2C总线相关联的 SDA信号和SCL信号。然而,在传送期间,这些信号由于上拉电阻、串联 电阻、布线电容、和横向沟道(cross channel)电容而失真。该失真主要是 由在每个装置或在电路板中生成的寄生电阻和寄生电容引起的。因此,出现各种问题。例如,所传送数据的状态转换时间过分增加,以 及信号电压不足以被作为数字信号来处理,这是因为电荷没有被充分地充电 和放电。图3是图示了如下情况的时序图,其中当由于在SCL中存在大的RC分 量而使得SCL的时钟信号的下降时间增加时,SCL的状态转换发生在SDA 的状态转换之后。参考图3,图解为好像SDA在SCL为高的时间段中从高转换为低,并 且I2C控制器可将此识別为生成重新开始信号。在传送8比特数据和1比特ACK的时间段中,如果将所传送的数据识 别为数据传送的开始信号或结束信号,则I2C控制器和外围设备不能满足 I2C的定时标准,并因此发生故障或者陷于错误状态。此外,难以精确地预测实际装置的寄生分量。而且,上面的问题通常出 现在完全配置好电路板之后。可能使用补偿电路或替换所述装置,但是这些 方法需要很多时间和成本。
技术实现思路
本专利技术的示范实施例克服了上面的缺点以及上面没有描述的其它缺点。 此外,不需要本专利技术克服上述缺点,并且本专利技术的示范实施例可能没有克服 上述问题中的任一个。本专利技术提供了 一种用于在I2C控制器中控制串行数据线(SDA )的状态 转换的定时的方法和设备,以便通过在I2C控制器中控制SDA的状态转换 的定时来防止I2C通信中的故障,而无需使用需要大量时间和成本的补偿电 路。根据本专利技术的一方面,提供了一种用于控制串行数据线(SDA)的状态 转换的定时的设备,所述设备包括串行时钟线(SCL)边沿检测器,用于检测SCL的时钟信号的边沿;计数器,用于当SCL边沿检测器检测到SCL 的时钟信号的下降沿时,对SDA的状态转换的保持时间进行计数;SDA发 生器,用于如果保持时间的计数结束,则转换SDA的状态;以及处理器, 用于对接SCL边沿检测器、计数器和SDA发生器。所述设备还可包括I2C从接口 ,其通过从中央处理单元(CPU)接收保 持时间来设置计数器的保持时间。所述处理器可确定SDA的状态转换是为了传送数据传送的开始信号或 结束信号、还是为了实际数据传送。如果SDA的状态转换是为了传送数据传送的开始信号或结束信号,则 SDA发生器可转换SDA的状态,而没有对保持时间进行计数。所述计数器可与从I2C控制器的外部接收的系统时钟信号同步地进行 计数。所述计数器可执行从保持时间开始向下计数到0。 如果SCL边沿检测器检测到时钟信号的上升沿,则计数器可初始化保 持时间。所述I2C从接口可包括用于保持时间使能设置的寄存器。 可以根据从装置的传送速度,而将计数器设置为不同的保持时间。 所述保持时间可以小于时钟信号的上升沿与SDA的状态转换之间的时 间间隔。根据本专利技术的又一方面,提供了一种在I2C控制器中控制串行数据线 (SDA)的状态转换的定时的方法,所述方法包括检测串行时钟线(SCL) 的时钟信号的下降沿;如果检测到所述下降沿,则对SDA的状态转换的保 持时间进行计数;以及如果保持时间的计数结束,则转换SDA的状态。根据本专利技术的又一方面,提供了 一种用于存储程序的计算机可读记录介 质,该程序用于运行在I2C控制器中控制串行数据线(SDA)的状态转换的 定时的方法,所述方法包括检测串行时钟线(SCL)的时钟信号的下降沿; 如果4企测到所述下降沿,则对SDA的状态转换的保持时间进行计数;以及 如果保持时间的计数结束,则转换SDA的状态。附图说明通过接下来参考附图详细描述其示范实施例,本专利技术的上面和其它方面有符号打包双字的寄存器内表示515类似于无符号打包双字的寄存器内表示514。注意,符号位(s)是每个双字数据元素的第 32位(MSB)。图6还分别示出了无符号和有符号打包四字的寄存器内格式516 和517。无符号打包四字的寄存器内表示516示出了扩展寄存器210 怎样存储2个四字(每个64位)的数据元素。四字0存储在寄存器 的位63到位0。四字1存储在寄存器的位127到位64。有符号打包四字的寄存器内表示517类似于无符号打包四字的 寄存器内表示516。注意,符号位(s)是每个四字数据元素的第 64位(MSB)。一个(或多个)逻辑比较-和-交换、设置-零-和-进位-标志操作对于本专利技术的至少一个实施例,SRC1寄存器可以保存打包数据 或非打包双四字数据(Sourcel),并且DEST寄存器也可以保存打包 数据或非打包双四字数据(Dest)。对于至少一个实施例,在DEST 寄存器中的Dest值或在SRC1寄存器中的Sourcel值可以是要用作逐 位掩码值的双四字非打包数据。通常,在LCSZC指令的第一步中,执行两个比较操作。通过对 Sourcel中的每个位与Dest的相应位执行独立的逻辑比较(逐位AND 操作),产生第一中间结果。通过对Sourcel中的每个位与Dest的相 应位的反码执行独立的逻辑比较(逐位AND操作),产生第二中间 结果。这些中间结果可以存储在临时存储单元(比如,例如,寄存器) 或者可以根本不由处理器存储。图7a是根据本专利技术的至少一个实施例的执行LCSZC操作的一般 方法700的流程图。这里所公开的处理700和其它处理由多个处理块 来执行,所述处理块可以本文档来自技高网
...

【技术保护点】
一种用于控制串行数据线(SDA)的状态转换的定时的设备,所述设备包括:串行时钟线SCL边沿检测器,用于检测SCL的时钟信号的边沿;计数器,用于当该SCL边沿检测器检测到SCL的时钟信号的下降沿时,对SDA的状态转换的保持时间进行计数;SDA发生器,用于如果保持时间的计数结束,则转换SDA的状态;以及处理器,用于对接所述SCL边沿检测器、计数器和SDA发生器。

【技术特征摘要】
KR 2007-1-23 7240/071.一种用于控制串行数据线(SDA)的状态转换的定时的设备,所述设备包括串行时钟线SCL边沿检测器,用于检测SCL的时钟信号的边沿;计数器,用于当该SCL边沿检测器检测到SCL的时钟信号的下降沿时,对SDA的状态转换的保持时间进行计数;SDA发生器,用于如果保持时间的计数结束,则转换SDA的状态;以及处理器,用于对接所述SCL边沿检测器、计数器和SDA发生器。2. 根据权利要求l的设备,还包括智能接口控制器(I2C)从接口,用 于通过从中央处理单元(CPU)接收保持时间,来设置计数器的保持时间。3. 根据权利要求l的设备,其中所述处理器确定SDA的状态转换是为 了传送数据传送的开始信号或数据传送的结束信号、还是为了实际数据传 送。4. 根据权利要求3的设备,其中,如果SDA的状态转换是为了传送数 据传送的开始信号或数据传送的结束信号,则SDA发生器改变SDA的状态, 而无需对保持时间进行计数。5. 根据权利要求1的设备,其中,所述计数器与从I2C控制器的外部 接收的系统时钟信号同步地进行计数。6. 根据权利要求1的设备,所述计数器执行从保持时间开始向下计数到0。7. 根据权利要求l的设备,其中,如果该SCL边沿检测器检测到时钟 信号的上升沿,则该计数器初始化保持时间。8. 根据权利要求2的设备,其中所述I2C从接口包括用于保持时间使 能设置的寄存器。9. 根据权利要求1的设备,其中根据从装置的传送速度而将计数器设 置为不同的保持时间。10. 根据权利要求l的设备,其中所述保持时间小于时钟信号的上升沿 与SDA的状态转换之间的时间间隔。11. 一种在I2C控制器中控制串行数据线(SDA)的状态转换的定时的方法,所述方法包括检测串行时钟线(SCL )的时钟信号的下降沿;如果检测到SCL的时钟信号的下降沿,则对SDA的状态转换的保持时 间进行计数;以及如果保持时间的计数结束,则传送SDA的状态。12. 根据权利要求11的方法,还包括通过从中央处理单元(CPU)接 收SDA的状态转换的保持时间,来设置该保持时间。13. 根据权利要求ll的方法,还包括确定SDA的状态转换是为了传送 数据传送的开始信号或数据...

【专利技术属性】
技术研发人员:李桐洙金起募
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:KR[韩国]

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

1