UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 60695

Zynq-7000 SoC、I2C - I2C 重复启动时缺少仲裁

描述

I2C 反复启动时缺失仲裁

解决方案

当 I2C 控制器用作多主机总线上的主机时,不能检测到另一个 I2C 控制器重复启动时驱动SDA 为低电平的情况。 

当所有以下条件都符合时,I2C 控制器可能破坏总线上的事务处理

  • 另一个主机同时启动事务处理。
     
  • 另一个主机寻址相同的从机。
     
  • 另一个主机选择相同的事务处理(读或写)。
    写入时另一个主机驱动相同的数据。
    读取时另一个主机同时 ACK。
     
  • 另一个主机读取或写入相同数量的数据。
     
  • 事务处理结束时另一个主机发出重复启动。

 

 
影响

主要影响。
 
在上述情况下,I2C 控制器不会检测到另一个主机 I2C 的重复启动,会在其它主机 I2C 控制器事务处理期间驱动重复启动时的 SDA 为低电平,从而破坏总线上的事务处理。


不过,这种情况发生的可能性非常小。
 
解决方法::

始终清空 HOLD 位为零,禁用重复启动。
 
受影响的配置::

所有采用 I2C 控制器在多主机总线上作为主机的 Zynq 器件。  
 
受影响的器件修订版本:

全部,无计划修复。请参考(Xilinx 答复 47916) - Zynq-7000 SoC 芯片修订版差异。
 
分辨率:                

这是第三方勘误表,不会得到修复。                                                                   

链接问答记录

主要问答记录

Answer Number 问答标题 问题版本 已解决问题的版本
47916 Zynq-7000 SoC 器件:芯片修订差异 N/A N/A
AR# 60695
日期 05/28/2018
状态 Active
Type 设计咨询
器件
的页面