另外,UNI/O总线也考虑了对主器件的中断功能的支持。当主器件与具有保持模式的从器件进行通信时,如果主器件在下一个MAK位周期时间内持续拉低SCIO,从器件就进入了保持模式。要维持在保持模式应继续使SCIO为低电平。当从器件处在保持模式时,主器件就可以进行对其他I/O设备的中断处理工作,中断处理结束后可通过发送MAK来终止保持过程,并继续之前的通信。图2给出了包含保持过程的字节帧结构。
1.3 UNI/O总线的命令序列
UNI/O总线的命令序列是指完成一条指令的执行主从器件,需要在总线上传送的各种信号和字节帧的有序组合。在UNI/O总线系统中,一条指令的执行过程必须包括:总线准备、主从同步、从器件选择、指令传输和指令执行等环节。
1.3.1 总线定义的信号
(1)待机脉冲
待机脉冲是由主器件驱动SCIO到高电平状态,并保持此状态600μs以上形成的脉冲信号。待机脉冲通常用来通知总线上的所有从器件进入待机模式,也可以用来提前终止一条指令的执行。在执行一条指令时,如果是第一条指令,或者要选择的从器件与上一条指令不同,或者上一条指令的执行过程发生了错误,本条指令的执行都必须从产生待机脉冲开始。
(2)TSS信号
TSS信号是由主器件驱动SCIO到高电平状态,并保持此状态10μs以上形成的脉冲信号。在一条指令成功执行之后,若还要执行下一条指令来对同一个从器件进行操作,则后一条指令执行过程的第一步只需产生一个TSS信号,而不需要再产生待机脉冲。这样,通信效率会更高。
1.3.2 特殊功能字节帧
(1)起始头
起始头用来使从器件进入正常工作模式,并同步从器件内的时钟。起始头由5μs以上的持续低电平脉冲和紧跟其后的8位编码“01010 101”组成。所有的从器件都可以从起始头中获知位周期的长短,并以此为依据调整内部时钟,实现主从同步。起始头之后的主应答位应为MAK,从应答位正常情况应为NoSAK。
(2)地址帧
地址帧用于选择总线上特定的从器件进行通信。从器件地址有8位和12位两种类型,由4位系列码和4位或8位从器件码组成。8位地址的传输只需一个地址帧,正常情况,其应答序列由MAK和SAK组成。12位地址的传输需要两个字节帧:高地址字节帧和紧跟其后的低地址字节帧。正常情况,低地址字节帧中的应答序列应该由MAK和SAK组成,高地址字节帧中的应答序列则由MAK和NoSAK组成。