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

CoolRunner-Ⅱ器件的I2C接口主状态机

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

  i2c接口主状态机如图所示。



  如图 i2c接口主状态机
  无论是主模式,还是从模式,状态机都是相同的。在每个状态,模式都会被检测,以决定输出和下一个状态。如果仲裁失败或 i2c控制器被确定为从模式,控制器会自动由主模式切换到从模式。

  此状态机用到一个位计数器和两个移位寄存器,位计数器对从总线上接收到的位进行计数,其中一个移位寄存器用来存储i2c的header;另一个用来存储接收到的数据或待发送的数据。

  当检测到start信号时,状态机进入header状态。在header状态,如果是主模式,mbdr寄存器中的header被发送。当所有8位数据发送完毕时,状态机转入ack header。

  在ack_header状态,如果coolrunner-ii i2c控制器工作在主模式,将会采样sda,以确认从设备是否有应答。如果没有应答,状态转入stop;如果有应答,lsb=1时进入rcv_data, lsb=0时进入xmit_data。

  i2c header移位寄存器与madr进行比较,如果匹配,则coolrunner-ii i2c为被寻址的从设备。模式立刻切换到从模式,状态寄存器mbsr中maas位被置位,sda线将会按照txak中的设置应答当前主设备。
在rcv_dat状态,sda数据被入i2c移位寄存器,以供uc读取。当所有数据位被接收到,状态机转入ack_data,txak被输出到sda。

  在xmit_data状态,mbdr寄存器中数据被送到sda.当发送整的字节后,状态转入wait_ack.如果检测到ack,则状态再次进入xmit_data,直到产生stop条件或没有收到ack条件.必须注意提,在数据传输过程中uc速率必须跟上i2c控制器收发数据的速率.如果中断使能,则当一个字节的数据发送或接由结束时就会产生一个中断,mcf位将会被置位.在ack状态,数据在uc和控制器之间转输。在此过程中,i2c控制器不会等待uc操作。

  如果coo1runner-ⅱi2c工作在主模式,在stop状态告知scl/start/stop发生器产生一个stop条件,最后状态进入idle。

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



  i2c接口主状态机如图所示。



  如图 i2c接口主状态机
  无论是主模式,还是从模式,状态机都是相同的。在每个状态,模式都会被检测,以决定输出和下一个状态。如果仲裁失败或 i2c控制器被确定为从模式,控制器会自动由主模式切换到从模式。

  此状态机用到一个位计数器和两个移位寄存器,位计数器对从总线上接收到的位进行计数,其中一个移位寄存器用来存储i2c的header;另一个用来存储接收到的数据或待发送的数据。

  当检测到start信号时,状态机进入header状态。在header状态,如果是主模式,mbdr寄存器中的header被发送。当所有8位数据发送完毕时,状态机转入ack header。

  在ack_header状态,如果coolrunner-ii i2c控制器工作在主模式,将会采样sda,以确认从设备是否有应答。如果没有应答,状态转入stop;如果有应答,lsb=1时进入rcv_data, lsb=0时进入xmit_data。

  i2c header移位寄存器与madr进行比较,如果匹配,则coolrunner-ii i2c为被寻址的从设备。模式立刻切换到从模式,状态寄存器mbsr中maas位被置位,sda线将会按照txak中的设置应答当前主设备。
在rcv_dat状态,sda数据被入i2c移位寄存器,以供uc读取。当所有数据位被接收到,状态机转入ack_data,txak被输出到sda。

  在xmit_data状态,mbdr寄存器中数据被送到sda.当发送整的字节后,状态转入wait_ack.如果检测到ack,则状态再次进入xmit_data,直到产生stop条件或没有收到ack条件.必须注意提,在数据传输过程中uc速率必须跟上i2c控制器收发数据的速率.如果中断使能,则当一个字节的数据发送或接由结束时就会产生一个中断,mcf位将会被置位.在ack状态,数据在uc和控制器之间转输。在此过程中,i2c控制器不会等待uc操作。

  如果coo1runner-ⅱi2c工作在主模式,在stop状态告知scl/start/stop发生器产生一个stop条件,最后状态进入idle。

  欢迎转载,信息来自维库电子市场网(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
深圳市碧威特网络技术有限公司
付款方式