CoolRunner-Ⅱ器件的微处理器接口逻辑
时间:12-22
来源:互联网
点击:
uC接口是一个异步接口,与I2C之间的交互流程如图1所示。
如图 uC与I2C之间的交互流程
uC总线协议在Coo1Runner-Ⅱ中是由一个状态机实现的,如图2所示。
在空闲状态,微控制器将地址送上地址总经,并设置R_W、AS和DS状态。如果在定周期,微控制器也会将待写数据送上数据总线。AS有效表示地址总线上的地址有效,DS有效表示数据总线上数据有效;如果是在读周期,微控制器驱动数据总线为三态。同样,AS有效表示地址总线上的地址有效,但是DS有效表示I2C控制器可以将数据送到数据总线。
图2 uC总线接口状态机
在AS有效的情况下,I2C控制器状态进入ADDR状态。在此状态,一方面进行地址译码;另一方面将判断此设备是不是被寻址的设备,并使能内部寄存器。如果被寻址的是CoolRunner-Ⅱ I2C设备,并且DS有效,则I2C控制器将进入DATA_TRS状态。如果是读操作,被请求的数据会被送到数据总线;如果是写操作,则数据总线上的数据被锁存在内部被寻址的寄存器中,CoolRunner-II I2C设备自动进入ASSERT_DTACK状态,DTACK有效。读操作时表示总线上数据准各好,写操作时表示数据已经被接收到。
在DTACK有效的情况下,写操作时,uC将撤销数据;读操作时,uC锁存总线上的数据。R_W信号线被置为读,并且释放AS和DS,表明数据传输完毕。AS和DS的释放会促使CoolRunner-II I2C控制器释放DTACK,状态机进入IDLE状态。
CoolRunner-Ⅱ 微处理器接口逻辑 相关文章:
- CoolRunner-Ⅱ器件的I2C接口主状态机(12-22)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)