跳转到主内容
Knowledgebase
Home
Renesas Electronics China - Knowledgebase

在主发送或者主接收中,如果SDA线被固定为“低”电平,会造成无法通讯。请告知原因及恢复方法。

最新更新:08/04/2009

Question:

在主发送或者主接收中,如果SDA线被固定为“低”电平,会造成无法通讯。请告知原因及恢复方法。

Answer:

当I2C总线的SCL线受噪音等影响时,主机与从机之间的时钟可能会发生不一致。

根据双方器件VIH/VIL特性和消除噪声能力等 差异,SCL线上的噪声会使主机与从机产生时钟判断差异。因双方对时钟的判断差异,SDA线可能被固定为“低”电平。大多数情况为,主机发送过程中,由从 机输出的ACK将SDA固定为“低”电平,或者是主机接收过程中,从机发送数据(输出“0”)导致出现停止状态。

从机将SDA固定为 “低”电平的恢复方法是:首先将主机的SCL/SDA引脚切换为普通端口,然后从与SCL复用的引脚模拟输出时钟(模拟时钟输出为高阻抗和“低”电平), 确认从机的SDA是否被释放。如果通过一次模拟时钟输出,从机的SDA仍没有被释放,请重复输出模拟时钟直到SDA被释放。如果从机的SDA被释放,返回 主机,对I2C总线进行设定,产生开始条件和停止条件,并结束通讯。大部分的从机能够依据这个开始条件或者停止条件,使I2C总线被初始化(复位),再重 新进行通讯。另外,一般从机初始化方法(复位方法)在用户手册有明确记载,请按用户手册将从机初始化(复位)。主机的SDA被固定为“低”电平的恢复方法 请参考 FAQ No.107183.

Suitable Products
R8C/1A
R8C/1B
R8C/20
R8C/21
R8C/22
R8C/23
R8C/24
R8C/25
R8C/26
R8C/27
R8C/28
R8C/29
R8C/2A
R8C/2B
R8C/2C
R8C/2D
R8C/32C
R8C/33C
R8C/35C
R8C/36C
R8C/38C
R8C/3GC
R8C/3JC
R8C/38A