系统可分为状态计数器、移位寄存器、移位计数器。SMBUS主机操作有8个状态分别是空闲、启动、发送地址,等待应答,发送数据,接收数据、发送无应答、停止。启动由外部输入写操作信号W或读操作信号R触发,设移位计数器的输出为Q2、Q1、Q0,设变量X1表示计满8,X1 = Q2Q1Q0,应答信号ACK,则基础部分状态转移图如下所示
根据状态图,按二进制编码列出状态转移表,输出信号包括:
SEL:为地址和数据选择信号,SEL=0为地址,SEL=1为数据
EN1:为状态计数器的使能端“ENT”或“ENP”
LD1:为状态计数器的置数端“LD”
EN2:为移位计数器的计数使能端“ENT”或“ENP”
MNACK:主机发送无应答信号
W/R:数据方向判别标识,用于判断主机是处于发送状态还是接收状态
S1、S0:为移位寄存器的控制端,“00”保持、“01”右移、“10”左移、“11”置数
P:移位寄存器时钟极性切换标识信号。在主机发送数据时主机是在每个下降沿移出数据,从机在上升沿采样,而主机接收数据时,从机在下降沿移出数据,主机在上升沿采样,所以最后一个数据位被移出后,要切换移位寄存器的时钟沿 |