位置:51电子网 » 技术资料 » 集成电路

CoolRunner-Ⅱ器件的I2C总线仲裁

发布时间:2008/9/19 0:00:00 访问次数:748

  在以下几种情况下,i2c总线仲裁会失败。
  (1)在地址或数据发送周期,当主设备输出“1”,而sda被采样为“0”。
  (2)在数据接收周期的应答位,当主设备输出“1”,而sda被采样为“0”。
  (3)当总线忙时,企图有一个start。
  (4)在从模式中,企图有一个repeat start。
  (5)检测到一个stop,而主设备并没有stop请求。
  如果i2c控制器工作在主模式,输出sda信号将会与输入sda信号进行比较以确定总线仲裁是甭失效。在数据传输过程中,sda信号仅在scl为高电平的时被检查(ack周期除外),以确保start/stop不会在错误的时间内产生。如果发现输出sda与输入sda不同,则总线仲裁失败,这时mal位被置位。同时coolrunner-ii i2c控制器切换到从模式并复位msta位。
  
  coolrunner-ii fc控制器在总线忙时不会产生start,然而如果在总线忙时,uc依然发出start/repeat start请求,则mal位将会被置位。另外,在主设备没有发出stop请求时,mal仍然因为stop被检测到而置位。这些都被视为仲裁失败,应该避免,并正确处理。

  如果仲裁失败发生在字节传输过程中,sol会一直产生,直到字节传输完成。

  欢迎转载,信息来自维库电子市场网(www.dzsc.com)

  在以下几种情况下,i2c总线仲裁会失败。
  (1)在地址或数据发送周期,当主设备输出“1”,而sda被采样为“0”。
  (2)在数据接收周期的应答位,当主设备输出“1”,而sda被采样为“0”。
  (3)当总线忙时,企图有一个start。
  (4)在从模式中,企图有一个repeat start。
  (5)检测到一个stop,而主设备并没有stop请求。
  如果i2c控制器工作在主模式,输出sda信号将会与输入sda信号进行比较以确定总线仲裁是甭失效。在数据传输过程中,sda信号仅在scl为高电平的时被检查(ack周期除外),以确保start/stop不会在错误的时间内产生。如果发现输出sda与输入sda不同,则总线仲裁失败,这时mal位被置位。同时coolrunner-ii i2c控制器切换到从模式并复位msta位。
  
  coolrunner-ii fc控制器在总线忙时不会产生start,然而如果在总线忙时,uc依然发出start/repeat start请求,则mal位将会被置位。另外,在主设备没有发出stop请求时,mal仍然因为stop被检测到而置位。这些都被视为仲裁失败,应该避免,并正确处理。

  如果仲裁失败发生在字节传输过程中,sol会一直产生,直到字节传输完成。

  欢迎转载,信息来自维库电子市场网(www.dzsc.com)

相关IC型号

Warning: Undefined variable $stockkeys in G:\website_51dzw\www.51dzw.com\code\tech\view.php on line 152

热门点击

 

推荐技术资料

DS2202型示波器试用
    说起数字示波器,普源算是国内的老牌子了,FQP8N60... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式