CoolRunner-Ⅱ器件的I2C总线仲裁
发布时间:2008/9/19 0:00:00 访问次数:762
在以下几种情况下,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)
(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)
(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)